From e0aaf2a1884e344d484adad5c3e5a271b9ced0d0 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期四, 29 一月 2026 15:31:30 +0800
Subject: [PATCH] yys  修改注入方式

---
 src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java |   67 ++++++++++++++++++++++++++++++---
 1 files changed, 60 insertions(+), 7 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 ddc3718..4205818 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ruoyi.approve.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -12,18 +13,21 @@
 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.utils.SecurityUtils;
 import com.ruoyi.device.mapper.DeviceRepairMapper;
 import com.ruoyi.device.pojo.DeviceRepair;
 import com.ruoyi.other.service.impl.TempFileServiceImpl;
+import com.ruoyi.procurementrecord.utils.StockUtils;
 import com.ruoyi.project.system.domain.SysUser;
 import com.ruoyi.project.system.mapper.SysUserMapper;
 import com.ruoyi.project.system.service.ISysNoticeService;
-import com.ruoyi.sales.mapper.CommonFileMapper;
-import com.ruoyi.sales.mapper.SalesQuotationMapper;
-import com.ruoyi.sales.mapper.SalesQuotationProductMapper;
-import com.ruoyi.sales.mapper.ShippingInfoMapper;
+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.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;
@@ -40,7 +44,7 @@
 import java.util.List;
 
 @Service
-@RequiredArgsConstructor
+//@RequiredArgsConstructor
 public class ApproveNodeServiceImpl extends ServiceImpl<ApproveNodeMapper, ApproveNode> implements IApproveNodeService {
 
     @Autowired
@@ -61,11 +65,23 @@
     private DeviceRepairMapper deviceRepairMapper;
 
     @Autowired
+    private PurchaseLedgerMapper purchaseLedgerMapper;
+
+    @Autowired
     private SalesQuotationMapper salesQuotationMapper;
 
     @Autowired
     private ShippingInfoMapper shippingInfoMapper;
 
+    @Autowired
+    private CommonFileServiceImpl commonFileService;
+    @Autowired
+    private StockUtils stockUtils;
+    @Autowired
+    private SalesLedgerProductMapper salesLedgerProductMapper;
+
+    @Autowired
+    private PurchaseLedgerServiceImpl purchaseLedgerServiceImpl;
 
 
     public ApproveProcess getApproveById(String id) {
@@ -168,6 +184,37 @@
             }
             deviceRepairMapper.updateById(deviceRepair);
         }
+
+        //閲囪喘瀹℃牳
+        if(approveProcess.getApproveType().equals(5)){
+            PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectOne(new LambdaQueryWrapper<PurchaseLedger>()
+                    .eq(PurchaseLedger::getPurchaseContractNumber, approveProcess.getApproveReason())
+                    .last("limit 1"));
+            if(purchaseLedger != null) {
+                if (status.equals(2)) {
+                    // 鍚屾剰
+                    purchaseLedger.setApprovalStatus(3);
+                    List<SalesLedgerProduct> salesLedgerProducts = salesLedgerProductMapper.selectList(new QueryWrapper<SalesLedgerProduct>()
+                            .lambda().eq(SalesLedgerProduct::getSalesLedgerId, purchaseLedger.getId()).eq(SalesLedgerProduct::getType, 2));
+                    for (SalesLedgerProduct salesLedgerProduct : salesLedgerProducts) {
+                        // 璐ㄦ
+                        if (salesLedgerProduct.getIsChecked()) {
+                            purchaseLedgerServiceImpl.addQualityInspect(purchaseLedger, salesLedgerProduct);
+                        }else {
+                            //鐩存帴鍏ュ簱
+                            stockUtils.addStock(salesLedgerProduct.getProductModelId(), salesLedgerProduct.getQuantity(), StockQualifiedRecordTypeEnum.PURCHASE_STOCK_IN.getCode(), purchaseLedger.getId());
+                        }
+                    }
+                } else if (status.equals(3)) {
+                    // 鎷掔粷
+                    purchaseLedger.setApprovalStatus(4);
+                } else if (status.equals(1)) {
+                    // 瀹℃牳涓�
+                    purchaseLedger.setApprovalStatus(2);
+                }
+                purchaseLedgerMapper.updateById(purchaseLedger);
+            }
+        }
         // 閿�鍞姤浠风姸鎬佷慨鏀�
         if(approveProcess.getApproveType().equals(6)){
             SalesQuotation salesQuote = salesQuotationMapper.selectOne(new LambdaQueryWrapper<SalesQuotation>()
@@ -194,7 +241,7 @@
                 if(status.equals(2)){
                     shippingInfo.setStatus("瀹℃牳閫氳繃");
                 }else if(status.equals(3)){
-                    shippingInfo.setType("瀹℃牳鎷掔粷");
+                    shippingInfo.setStatus("瀹℃牳鎷掔粷");
                 }else if(status.equals(1)){
                     shippingInfo.setStatus("瀹℃牳涓�");
                 }
@@ -237,11 +284,17 @@
     }
 
     @Override
-    public void delApproveNodeByApproveId(Long id) {
+    public void delApproveNodeByApproveId(String id) {
+        List<ApproveNode> approveNodes = approveNodeMapper.selectList(new LambdaQueryWrapper<ApproveNode>()
+                .eq(ApproveNode::getApproveProcessId, id));
         UpdateWrapper<ApproveNode> queryWrapper = new UpdateWrapper<>();
         queryWrapper.lambda().set(ApproveNode::getDeleteFlag, 1)
                 .eq(ApproveNode::getApproveProcessId, id);
         update(queryWrapper);
+        // 鍒犻櫎闄勪欢
+        for (ApproveNode approveNode : approveNodes) {
+            commonFileService.deleteByBusinessId(approveNode.getId(), FileNameType.ApproveNode.getValue());
+        }
     }
 
     //瀹℃壒绫诲瀷鑾峰彇(涓庡墠绔〉闈㈠搴�)

--
Gitblit v1.9.3