From d09c672bbb00e318991e74e1d286630807b87f20 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 28 五月 2026 13:12:50 +0800
Subject: [PATCH] refactor(account): 重构财务模块DTO包结构并添加总账科目功能

---
 src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java |   46 +++++++++++++++++++++++++++++++---------------
 1 files changed, 31 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
index ff1bb29..e5838b3 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
@@ -11,10 +11,10 @@
 import com.ruoyi.approve.pojo.ApproveNode;
 import com.ruoyi.approve.pojo.ApproveProcess;
 import com.ruoyi.approve.service.IApproveNodeService;
-import com.ruoyi.approve.vo.ApproveProcessVO;
 import com.ruoyi.common.enums.FileNameType;
-import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum;
+import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.device.mapper.DeviceRepairMapper;
 import com.ruoyi.device.pojo.DeviceRepair;
 import com.ruoyi.other.service.impl.TempFileServiceImpl;
@@ -25,13 +25,17 @@
 import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
 import com.ruoyi.purchase.pojo.PurchaseLedger;
 import com.ruoyi.purchase.service.impl.PurchaseLedgerServiceImpl;
-import com.ruoyi.sales.mapper.*;
+import com.ruoyi.sales.dto.ShippingInfoDto;
+import com.ruoyi.sales.mapper.CommonFileMapper;
+import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
+import com.ruoyi.sales.mapper.SalesQuotationMapper;
+import com.ruoyi.sales.mapper.ShippingInfoMapper;
 import com.ruoyi.sales.pojo.CommonFile;
 import com.ruoyi.sales.pojo.SalesLedgerProduct;
 import com.ruoyi.sales.pojo.SalesQuotation;
 import com.ruoyi.sales.pojo.ShippingInfo;
 import com.ruoyi.sales.service.impl.CommonFileServiceImpl;
-import lombok.RequiredArgsConstructor;
+import com.ruoyi.sales.service.impl.ShippingInfoServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -44,7 +48,7 @@
 import java.util.List;
 
 @Service
-@RequiredArgsConstructor
+//@RequiredArgsConstructor
 public class ApproveNodeServiceImpl extends ServiceImpl<ApproveNodeMapper, ApproveNode> implements IApproveNodeService {
 
     @Autowired
@@ -72,6 +76,9 @@
 
     @Autowired
     private ShippingInfoMapper shippingInfoMapper;
+
+    @Autowired
+    private ShippingInfoServiceImpl shippingInfoService;
 
     @Autowired
     private CommonFileServiceImpl commonFileService;
@@ -123,12 +130,14 @@
         LambdaQueryWrapper<ApproveNode> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(ApproveNode::getApproveProcessId, id);
         queryWrapper.eq(ApproveNode::getDeleteFlag, 0);
+//        queryWrapper.eq(ApproveNode::getApproveNodeStatus, 0);
         List<ApproveNode> list = list(queryWrapper);
         // 鎸夌収 approveNodeOrder 瀛楁鍗囧簭鎺掑簭
         list.sort(Comparator.comparingInt(ApproveNode::getApproveNodeOrder));
         LambdaQueryWrapper<ApproveProcess> approveProcessLambdaQueryWrapper = new LambdaQueryWrapper<>();
         approveProcessLambdaQueryWrapper.eq(ApproveProcess::getApproveId, id)
                 .eq(ApproveProcess::getApproveDelete, 0)
+//                .eq(ApproveProcess::getApproveStatus, 0)
                 .last("limit 1");
         ApproveProcess approveProcess = approveProcessMapper.selectOne(approveProcessLambdaQueryWrapper);
         if(approveProcess != null && approveProcess.getApproveStatus() == 3){
@@ -161,6 +170,7 @@
         approveNodeLambdaQueryWrapper.eq(ApproveNode::getApproveProcessId, approveNode.getApproveProcessId())
                 .eq(ApproveNode::getApproveNodeOrder, approveNode.getApproveNodeOrder() + 1)
                 .eq(ApproveNode::getDeleteFlag, 0)
+                .eq(ApproveNode::getApproveNodeStatus, 0)
                 .last("limit 1");
         ApproveNode approveNode1 = approveNodeMapper.selectOne(approveNodeLambdaQueryWrapper);
         approveProcess.setApproveStatus(status);
@@ -173,16 +183,18 @@
         }
         approveProcessMapper.updateById(approveProcess);
 
-        DeviceRepair deviceRepair = deviceRepairMapper.selectById(approveProcess.getDeviceRepairId());
-        if(ObjectUtils.isNotNull(deviceRepair)) {
-            if(approveProcess.getApproveStatus().equals(2)){
-                // 鍚屾剰
-                deviceRepair.setStatus(1);
-            }else if(approveProcess.getApproveStatus().equals(3)){
-                // 鎷掔粷
-                deviceRepair.setStatus(2);
+        if (ObjectUtils.isNotNull(approveProcess.getDeviceRepairId())){
+            DeviceRepair deviceRepair = deviceRepairMapper.selectById(approveProcess.getDeviceRepairId());
+            if(ObjectUtils.isNotNull(deviceRepair)) {
+                if(approveProcess.getApproveStatus().equals(2)){
+                    // 鍚屾剰
+                    deviceRepair.setStatus(1);
+                }else if(approveProcess.getApproveStatus().equals(3)){
+                    // 鎷掔粷
+                    deviceRepair.setStatus(2);
+                }
+                deviceRepairMapper.updateById(deviceRepair);
             }
-            deviceRepairMapper.updateById(deviceRepair);
         }
 
         //閲囪喘瀹℃牳
@@ -202,7 +214,7 @@
                             purchaseLedgerServiceImpl.addQualityInspect(purchaseLedger, salesLedgerProduct);
                         }else {
                             //鐩存帴鍏ュ簱
-                            stockUtils.addStock(salesLedgerProduct.getProductModelId(), salesLedgerProduct.getQuantity(), StockQualifiedRecordTypeEnum.PURCHASE_STOCK_IN.getCode(), purchaseLedger.getId());
+                            stockUtils.addStock(salesLedgerProduct.getProductModelId(), salesLedgerProduct.getQuantity(), StockInQualifiedRecordTypeEnum.PURCHASE_STOCK_IN.getCode(), purchaseLedger.getId());
                         }
                     }
                 } else if (status.equals(3)) {
@@ -240,6 +252,10 @@
             if(shippingInfo != null){
                 if(status.equals(2)){
                     shippingInfo.setStatus("瀹℃牳閫氳繃");
+                    ShippingInfoDto shippingInfoDto = new ShippingInfoDto();
+                    BeanUtils.copyProperties(shippingInfo, shippingInfoDto);
+                    shippingInfoService.deductStock(shippingInfoDto);
+                    shippingInfo.setStatus("宸插彂璐�");
                 }else if(status.equals(3)){
                     shippingInfo.setStatus("瀹℃牳鎷掔粷");
                 }else if(status.equals(1)){

--
Gitblit v1.9.3