From 19bd3e436a26731eb82bebd6f82eb39dd79221f0 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 03 六月 2026 09:50:29 +0800
Subject: [PATCH] feat(shipping): 添加审批节点记录功能

---
 src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
index ae8be33..2e50f85 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
@@ -4,7 +4,9 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.approve.mapper.ApproveNodeMapper;
 import com.ruoyi.approve.mapper.ApproveProcessMapper;
+import com.ruoyi.approve.pojo.ApproveNode;
 import com.ruoyi.approve.pojo.ApproveProcess;
 import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
 import com.ruoyi.common.enums.FileNameType;
@@ -66,6 +68,9 @@
 
     @Autowired
     private ApproveProcessMapper approveProcessMapper;
+
+    @Autowired
+    private ApproveNodeMapper approveNodeMapper;
 
     @Autowired
     private ShipmentApprovalMapper shipmentApprovalMapper;
@@ -230,6 +235,24 @@
             approveProcess.setEndDate(new Date());
             approveProcessService.save(approveProcess);
 
+            // 鍒涘缓瀹℃壒鑺傜偣璁板綍锛堝鏍稿畬鎴愮姸鎬侊紝鑺傜偣鐘舵�佷负鍚屾剰锛�
+            if (moonlightUser != null) {
+                ApproveNode approveNode = new ApproveNode();
+                approveNode.setApproveProcessId(approveId);
+                approveNode.setApproveNodeOrder(1);
+                approveNode.setApproveNodeUser(moonlightUser.getNickName());
+                approveNode.setApproveNodeUserId(moonlightUser.getUserId());
+                approveNode.setApproveNodeTime(new Date());
+                approveNode.setApproveNodeStatus(1); // 鍚屾剰
+                approveNode.setTenantId(loginUser.getCurrentDeptId());
+                approveNode.setDeleteFlag(0);
+                approveNode.setCreateUser(loginUser.getUserId());
+                approveNode.setUpdateUser(loginUser.getUserId());
+                approveNode.setCreateTime(LocalDateTime.now());
+                approveNode.setUpdateTime(LocalDateTime.now());
+                approveNodeMapper.insert(approveNode);
+            }
+
             // 鐩存帴鎵e噺搴撳瓨
             stockUtils.substractStock(
                 salesLedgerProduct.getProductModelId(),
@@ -366,7 +389,26 @@
             approveProcess.setTenantId(loginUser.getCurrentDeptId());
             approveProcess.setCreateTime(LocalDateTime.now());
             approveProcess.setEndDate(new Date());
+            approveProcess.setApproveOverTime(new Date());
             approveProcessService.save(approveProcess);
+
+            // 鍒涘缓瀹℃壒鑺傜偣璁板綍锛堝鏍稿畬鎴愮姸鎬侊紝鑺傜偣鐘舵�佷负鍚屾剰锛�
+            if (moonlightUser != null) {
+                ApproveNode approveNode = new ApproveNode();
+                approveNode.setApproveProcessId(approveId);
+                approveNode.setApproveNodeOrder(1);
+                approveNode.setApproveNodeUser(moonlightUser.getNickName());
+                approveNode.setApproveNodeUserId(moonlightUser.getUserId());
+                approveNode.setApproveNodeTime(new Date());
+                approveNode.setApproveNodeStatus(1); // 鍚屾剰
+                approveNode.setTenantId(loginUser.getCurrentDeptId());
+                approveNode.setDeleteFlag(0);
+                approveNode.setCreateUser(loginUser.getUserId());
+                approveNode.setUpdateUser(loginUser.getUserId());
+                approveNode.setCreateTime(LocalDateTime.now());
+                approveNode.setUpdateTime(LocalDateTime.now());
+                approveNodeMapper.insert(approveNode);
+            }
         }
 
         return true;

--
Gitblit v1.9.3