From 69af9b4bd1cf6e75a848c70a0fe1964e08d91b7a Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期五, 12 十二月 2025 17:05:20 +0800
Subject: [PATCH] yys  大屏分析修改

---
 src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java |   42 +++++++++++++++++++++++++++++++-----------
 1 files changed, 31 insertions(+), 11 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 79041dc..6a41de5 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -24,6 +24,9 @@
 import com.ruoyi.framework.security.LoginUser;
 import com.ruoyi.other.mapper.TempFileMapper;
 import com.ruoyi.other.pojo.TempFile;
+import com.ruoyi.procurementrecord.dto.Details;
+import com.ruoyi.procurementrecord.dto.ProcurementAddDto;
+import com.ruoyi.procurementrecord.service.ProcurementRecordService;
 import com.ruoyi.project.system.domain.SysUser;
 import com.ruoyi.project.system.mapper.SysUserMapper;
 import com.ruoyi.purchase.dto.PurchaseLedgerDto;
@@ -43,6 +46,7 @@
 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;
@@ -110,6 +114,9 @@
         return purchaseLedgerMapper.selectList(queryWrapper);
     }
 
+    @Autowired
+    private ProcurementRecordService procurementRecordService;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int addOrEditPurchase(PurchaseLedgerDto purchaseLedgerDto) throws IOException {
@@ -153,18 +160,20 @@
         } else {
             purchaseLedgerMapper.updateById(purchaseLedger);
             PurchaseLedger purchaseLedgerDB = purchaseLedgerMapper.selectById(purchaseLedger.getId());
-            AccountExpense accountExpenseDB = accountExpenseService.getByInvoiceNumber(purchaseLedger.getPurchaseContractNumber());
-            if (ObjectUtils.isEmpty(accountExpenseDB)) {
-                throw new BaseException("鏀嚭绠$悊鏃犺閲囪喘鍚堝悓鐨勬敮鍑鸿褰�");
+            List<AccountExpense> accountExpenseDBs = accountExpenseService.getByInvoiceNumberList(purchaseLedger.getPurchaseContractNumber());
+            if (!CollectionUtils.isEmpty(accountExpenseDBs)) {
+                accountExpenseDBs.forEach(accountExpenseDB ->{
+                    accountExpenseDB.setExpenseDate(purchaseLedgerDB.getEntryDate());
+                    accountExpenseDB.setExpenseType("0");
+                    accountExpenseDB.setSupplierName(purchaseLedgerDB.getSupplierName());
+                    accountExpenseDB.setExpenseMoney(purchaseLedgerDB.getContractAmount());
+                    accountExpenseDB.setExpenseDescribed("閲囪喘鍚堝悓锛�" + purchaseLedgerDB.getPurchaseContractNumber());
+                    accountExpenseDB.setExpenseMethod("0");
+                    accountExpenseDB.setInvoiceNumber(purchaseLedgerDB.getPurchaseContractNumber());
+                    accountExpenseService.updateById(accountExpenseDB);
+                });
             }
-            accountExpenseDB.setExpenseDate(purchaseLedgerDB.getEntryDate());
-            accountExpenseDB.setExpenseType("0");
-            accountExpenseDB.setSupplierName(purchaseLedgerDB.getSupplierName());
-            accountExpenseDB.setExpenseMoney(purchaseLedgerDB.getContractAmount());
-            accountExpenseDB.setExpenseDescribed("閲囪喘鍚堝悓锛�" + purchaseLedgerDB.getPurchaseContractNumber());
-            accountExpenseDB.setExpenseMethod("0");
-            accountExpenseDB.setInvoiceNumber(purchaseLedgerDB.getPurchaseContractNumber());
-            accountExpenseService.updateById(accountExpenseDB);
+
         }
 
         // 4. 澶勭悊瀛愯〃鏁版嵁
@@ -242,6 +251,7 @@
         }
         // 鎵ц鎻掑叆鎿嶄綔
         if (!insertList.isEmpty()) {
+            List<Details> details = new ArrayList<>();
             for (SalesLedgerProduct salesLedgerProduct : insertList) {
                 salesLedgerProduct.setType(type);
                 Date entryDate = purchaseLedger.getEntryDate();
@@ -249,7 +259,17 @@
                 LocalDateTime localDateTime = entryDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
                 salesLedgerProduct.setRegisterDate(localDateTime);
                 salesLedgerProductMapper.insert(salesLedgerProduct);
+                Details details1 = new Details();
+                details1.setId(salesLedgerProduct.getId().intValue());
+                details1.setInboundQuantity(salesLedgerProduct.getQuantity());
+                details1.setWarnNum(salesLedgerProduct.getWarnNum());
+                details.add(details1);
             }
+            // 鏂板閲囪喘鍏ュ簱
+            ProcurementAddDto dto = new ProcurementAddDto();
+            dto.setDetails(details);
+            dto.setNickName("瀛欏啀绾�");
+            procurementRecordService.add(dto);
         }
 
         // 璁$畻鎬诲惈绋庨噾棰�

--
Gitblit v1.9.3