From 61ad48645e045591a0e82df746faba8f70d75674 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 31 三月 2026 17:59:29 +0800
Subject: [PATCH] fix:1.质检增加批号和供应商(区分质检和不质检)

---
 src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java |  144 +++++++++++++++++++++++++++++------------------
 1 files changed, 88 insertions(+), 56 deletions(-)

diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
index 320b286..17f1a29 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -1,29 +1,23 @@
 package com.ruoyi.purchase.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.account.pojo.AccountExpense;
-import com.ruoyi.account.pojo.AccountIncome;
 import com.ruoyi.account.service.AccountExpenseService;
-import com.ruoyi.account.service.AccountIncomeService;
 import com.ruoyi.approve.pojo.ApproveProcess;
 import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
 import com.ruoyi.approve.vo.ApproveProcessVO;
 import com.ruoyi.basic.mapper.ProductMapper;
 import com.ruoyi.basic.mapper.ProductModelMapper;
 import com.ruoyi.basic.mapper.SupplierManageMapper;
-import com.ruoyi.basic.pojo.Customer;
 import com.ruoyi.basic.pojo.Product;
 import com.ruoyi.basic.pojo.ProductModel;
 import com.ruoyi.basic.pojo.SupplierManage;
 import com.ruoyi.common.enums.FileNameType;
 import com.ruoyi.common.exception.base.BaseException;
-import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
@@ -39,22 +33,29 @@
 import com.ruoyi.purchase.dto.PurchaseLedgerImportDto;
 import com.ruoyi.purchase.dto.PurchaseLedgerProductImportDto;
 import com.ruoyi.purchase.mapper.*;
-import com.ruoyi.purchase.pojo.*;
+import com.ruoyi.purchase.pojo.PaymentRegistration;
+import com.ruoyi.purchase.pojo.ProductRecord;
+import com.ruoyi.purchase.pojo.PurchaseLedger;
+import com.ruoyi.purchase.pojo.TicketRegistration;
 import com.ruoyi.purchase.service.IPurchaseLedgerService;
 import com.ruoyi.quality.mapper.*;
-import com.ruoyi.quality.pojo.*;
-import com.ruoyi.sales.dto.SalesLedgerImportDto;
-import com.ruoyi.sales.dto.SalesLedgerProductImportDto;
-import com.ruoyi.sales.mapper.*;
+import com.ruoyi.quality.pojo.QualityInspect;
+import com.ruoyi.quality.pojo.QualityInspectParam;
+import com.ruoyi.quality.pojo.QualityTestStandard;
+import com.ruoyi.quality.pojo.QualityTestStandardParam;
+import com.ruoyi.sales.mapper.CommonFileMapper;
+import com.ruoyi.sales.mapper.InvoiceRegistrationProductMapper;
+import com.ruoyi.sales.mapper.SalesLedgerMapper;
+import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
 import com.ruoyi.sales.pojo.CommonFile;
 import com.ruoyi.sales.pojo.InvoiceRegistrationProduct;
 import com.ruoyi.sales.pojo.SalesLedger;
 import com.ruoyi.sales.pojo.SalesLedgerProduct;
 import com.ruoyi.sales.service.impl.CommonFileServiceImpl;
-import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.io.FilenameUtils;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
@@ -84,52 +85,71 @@
  * @date 2025-05-09
  */
 @Service
-@RequiredArgsConstructor
 @Slf4j
 public class PurchaseLedgerServiceImpl extends ServiceImpl<PurchaseLedgerMapper, PurchaseLedger> implements IPurchaseLedgerService {
-    private final AccountExpenseService accountExpenseService;
-    private final PurchaseLedgerMapper purchaseLedgerMapper;
+    @Autowired
+    private  AccountExpenseService accountExpenseService;
+    @Autowired
+    private  PurchaseLedgerMapper purchaseLedgerMapper;
 
-    private final SalesLedgerMapper salesLedgerMapper;
-    private final SalesLedgerProductMapper salesLedgerProductMapper;
+    @Autowired
+    private  SalesLedgerMapper salesLedgerMapper;
+    @Autowired
+    private  SalesLedgerProductMapper salesLedgerProductMapper;
 
-    private final SysUserMapper userMapper;
+    @Autowired
+    private  SysUserMapper userMapper;
 
-    private final TempFileMapper tempFileMapper;
+    @Autowired
+    private  TempFileMapper tempFileMapper;
 
-    private final CommonFileMapper commonFileMapper;
+    @Autowired
+    private  CommonFileMapper commonFileMapper;
 
-    private final SupplierManageMapper supplierManageMapper;
+    @Autowired
+    private  SupplierManageMapper supplierManageMapper;
 
-    private final ProductMapper productMapper;
+    @Autowired
+    private  ProductMapper productMapper;
 
-    private final ProductModelMapper productModelMapper;
+    @Autowired
+    private  ProductModelMapper productModelMapper;
 
-    private final SysUserMapper sysUserMapper;
+    @Autowired
+    private  SysUserMapper sysUserMapper;
 
-    private final TicketRegistrationMapper ticketRegistrationMapper;
+    @Autowired
+    private  TicketRegistrationMapper ticketRegistrationMapper;
 
-    private final ProductRecordMapper productRecordMapper;
+    @Autowired
+    private  ProductRecordMapper productRecordMapper;
 
-    private final PaymentRegistrationMapper paymentRegistrationMapper;
-
-    private final InvoiceRegistrationProductMapper invoiceRegistrationProductMapper;
-
-    private final StringRedisTemplate redisTemplate;
-    private final QualityInspectMapper qualityInspectMapper;
-    private final CommonFileServiceImpl commonFileService;
-    private final QualityTestStandardBindingMapper qualityTestStandardBindingMapper;
-    private final QualityTestStandardParamMapper qualityTestStandardParamMapper;
-    private final QualityTestStandardMapper qualityTestStandardMapper;
-    private final QualityInspectParamMapper qualityInspectParamMapper;
-
-    private final ApproveProcessServiceImpl approveProcessService;
-
-    private final ProcurementRecordMapper procurementRecordStorageMapper;
-
-    private final PurchaseLedgerTemplateMapper purchaseLedgerTemplateMapper;
-
-    private final SalesLedgerProductTemplateMapper salesLedgerProductTemplateMapper;
+    @Autowired
+    private  PaymentRegistrationMapper paymentRegistrationMapper;
+    @Autowired
+    private  InvoiceRegistrationProductMapper invoiceRegistrationProductMapper;
+    @Autowired
+    private  StringRedisTemplate redisTemplate;
+    @Autowired
+    private  QualityInspectMapper qualityInspectMapper;
+    @Autowired
+    private  CommonFileServiceImpl commonFileService;
+    @Autowired
+    private  QualityTestStandardBindingMapper qualityTestStandardBindingMapper;
+    @Autowired
+    private  QualityTestStandardParamMapper qualityTestStandardParamMapper;
+    @Autowired
+    private  QualityTestStandardMapper qualityTestStandardMapper;
+    @Autowired
+    private  QualityInspectParamMapper qualityInspectParamMapper;
+    @Autowired
+    private  ApproveProcessServiceImpl approveProcessService;
+    @Autowired
+    private  ProcurementRecordMapper procurementRecordStorageMapper;
+    @Autowired
+    private  PurchaseLedgerTemplateMapper purchaseLedgerTemplateMapper;
+    @Autowired
+    private  SalesLedgerProductTemplateMapper salesLedgerProductTemplateMapper;
     @Value("${file.upload-dir}")
     private String uploadDir;
 
@@ -187,17 +207,17 @@
         // 4. 澶勭悊瀛愯〃鏁版嵁
         List<SalesLedgerProduct> productList = purchaseLedgerDto.getProductData();
         if (productList != null && !productList.isEmpty()) {
-            handleSalesLedgerProducts(purchaseLedger.getId(), productList, purchaseLedgerDto.getType());
+            handleSalesLedgerProducts(purchaseLedger.getId(), productList, purchaseLedgerDto.getType(),supplierManage);
         }
-        //鏂板鍘熸潗鏂欐楠�
-        if (productList != null) {
-            for (SalesLedgerProduct saleProduct : productList) {
-                //鏄惁鎺ㄩ�佽川妫�锛屽鏋渢rue灏辨坊鍔�
-                if (saleProduct.getIsChecked()) {
-                    addQualityInspect(purchaseLedger, saleProduct);
-                }
-            }
-        }
+        //鏂板鍘熸潗鏂欐楠�  瀹℃壒涔嬪悗鎵嶇敓鎴愭楠�
+//        if (productList != null) {
+//            for (SalesLedgerProduct saleProduct : productList) {
+//                //鏄惁鎺ㄩ�佽川妫�锛屽鏋渢rue灏辨坊鍔�
+//                if (saleProduct.getIsChecked()) {
+//                    addQualityInspect(purchaseLedger, saleProduct);
+//                }
+//            }
+//        }
         // 5. 杩佺Щ涓存椂鏂囦欢鍒版寮忕洰褰�
         if (purchaseLedgerDto.getTempFileIds() != null && !purchaseLedgerDto.getTempFileIds().isEmpty()) {
             migrateTempFilesToFormal(purchaseLedger.getId(), purchaseLedgerDto.getTempFileIds());
@@ -210,6 +230,7 @@
         QualityInspect qualityInspect = new QualityInspect();
         qualityInspect.setInspectType(0);
         qualityInspect.setSupplier(purchaseLedger.getSupplierName());
+        qualityInspect.setBatchNo(saleProduct.getBatchNo());
         qualityInspect.setPurchaseLedgerId(purchaseLedger.getId());
         qualityInspect.setProductId(saleProduct.getProductId());
         qualityInspect.setProductName(saleProduct.getProductCategory());
@@ -234,7 +255,7 @@
         }
     }
 
-    private void handleSalesLedgerProducts(Long salesLedgerId, List<SalesLedgerProduct> products, Integer type) {
+    private void handleSalesLedgerProducts(Long salesLedgerId, List<SalesLedgerProduct> products, Integer type,SupplierManage supplierManage) {
         if (products == null || products.isEmpty()) {
             throw new BaseException("浜у搧淇℃伅涓嶅瓨鍦�");
         }
@@ -304,6 +325,8 @@
                 salesLedgerProduct.setFutureTickets(salesLedgerProduct.getQuantity());
                 salesLedgerProduct.setFutureTicketsAmount(salesLedgerProduct.getTaxInclusiveTotalPrice());
                 salesLedgerProduct.setPendingTicketsTotal(salesLedgerProduct.getTaxInclusiveTotalPrice());
+                salesLedgerProduct.setCustomer(supplierManage.getSupplierName());
+                salesLedgerProduct.setBatchNo(salesLedgerProduct.getBatchNo());
                 salesLedgerProductMapper.insert(salesLedgerProduct);
             }
         }
@@ -491,6 +514,15 @@
         productWrapper.eq(SalesLedgerProduct::getSalesLedgerId, purchaseLedger.getId())
                 .eq(SalesLedgerProduct::getType, purchaseLedgerDto.getType());
         List<SalesLedgerProduct> products = salesLedgerProductMapper.selectList(productWrapper);
+        // 鏌ヨ鍏宠仈浜у搧鐨刄ID
+        for (SalesLedgerProduct product : products) {
+            if (product.getProductModelId() != null) {
+                ProductModel productModel = productModelMapper.selectById(product.getProductModelId());
+                if (productModel != null) {
+                    product.setUidNo(productModel.getUidNo());
+                }
+            }
+        }
 
         // 3.鏌ヨ涓婁紶鏂囦欢
         LambdaQueryWrapper<CommonFile> salesLedgerFileWrapper = new LambdaQueryWrapper<>();

--
Gitblit v1.9.3