2026-06-03 19bd3e436a26731eb82bebd6f82eb39dd79221f0
feat(shipping): 添加审批节点记录功能

- 引入 ApproveNodeMapper 和 ApproveNode 实体类依赖
- 注入 approveNodeMapper 实例用于数据库操作
- 在审核完成时创建审批节点记录并设置同意状态
- 添加审批节点时间、用户信息和租户ID等字段
- 设置审批节点的创建和更新时间戳
- 执行审批节点数据的插入操作
已修改1个文件
42 ■■■■■ 文件已修改
src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
            }
            // 直接扣减库存
            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;