From 2d1e904f3049218474318cb1e2fe5c3a3869cfb0 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 29 一月 2026 16:47:34 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New

---
 src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java |   50 +++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 39 insertions(+), 11 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 5ff767c..55d2ed0 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,20 +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.purchase.mapper.PurchaseLedgerMapper;
 import com.ruoyi.purchase.pojo.PurchaseLedger;
-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.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;
@@ -42,7 +44,7 @@
 import java.util.List;
 
 @Service
-@RequiredArgsConstructor
+//@RequiredArgsConstructor
 public class ApproveNodeServiceImpl extends ServiceImpl<ApproveNodeMapper, ApproveNode> implements IApproveNodeService {
 
     @Autowired
@@ -73,7 +75,13 @@
 
     @Autowired
     private CommonFileServiceImpl commonFileService;
+    @Autowired
+    private StockUtils stockUtils;
+    @Autowired
+    private SalesLedgerProductMapper salesLedgerProductMapper;
 
+    @Autowired
+    private PurchaseLedgerServiceImpl purchaseLedgerServiceImpl;
 
 
     public ApproveProcess getApproveById(String id) {
@@ -186,6 +194,17 @@
                 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);
@@ -222,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("瀹℃牳涓�");
                 }
@@ -248,10 +267,17 @@
                         .eq(ApproveProcess::getApproveId, approveNode.getApproveProcessId())).get(0);
                 if (approveProcess.getApproveUserIds().split(",").length > nodeOrder){
                     String id = approveProcess.getApproveUserIds().split(",")[nodeOrder];
-                    sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcess.getApproveType()),
-                            approveNode.getApproveProcessId()+"娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
-                            Arrays.asList(Long.valueOf(id)),
-                            "/collaborativeApproval/approvalProcess?approveType="+approveProcess.getApproveType()+"&approveId="+approveNode.getApproveProcessId());
+                    if (approveProcess.getApproveType()==8){
+                        sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcess.getApproveType()),
+                                approveProcess.getApproveId() + "娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
+                                Arrays.asList(Long.valueOf(id)),
+                                "/safeProduction/safeWorkApproval?approveType=" + approveProcess.getApproveType() + "&approveId=" + approveProcess.getApproveId());
+                    }else {
+                        sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcess.getApproveType()),
+                                approveProcess.getApproveId() + "娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
+                                Arrays.asList(Long.valueOf(id)),
+                                "/collaborativeApproval/approvalProcess?approveType=" + approveProcess.getApproveType() + "&approveId=" + approveProcess.getApproveId());
+                    }
                 }
                 break;
             case 2:
@@ -294,7 +320,9 @@
             case 6:
                 return "鎶ヤ环瀹℃壒";
             case 7:
-                return "鍑哄簱瀹℃壒";
+                return "鍙戣揣瀹℃壒";
+            case 8:
+                return "鍗遍櫓浣滀笟瀹℃壒";
         }
         return null;
     }

--
Gitblit v1.9.3