From ba4af275c3b8d073f863be7b12e43974b3ef14a2 Mon Sep 17 00:00:00 2001 From: liyong <18434998025@163.com> Date: 星期六, 12 七月 2025 10:27:06 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/product-inventory-management-after into pim_ly --- src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java | 72 ++++++++++++++++++++++++++++------- 1 files changed, 57 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 1bc54ed..04adc4b 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.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.approve.mapper.ApproveNodeMapper; import com.ruoyi.approve.pojo.ApproveNode; @@ -8,12 +9,15 @@ import com.ruoyi.approve.service.IApproveNodeService; import com.ruoyi.approve.service.IApproveProcessService; import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.project.system.domain.SysUser; +import com.ruoyi.project.system.mapper.SysUserMapper; import lombok.AllArgsConstructor; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; import java.util.Comparator; import java.util.Date; import java.util.List; @@ -26,49 +30,87 @@ private ApproveNodeMapper approveNodeMapper; @Autowired private IApproveProcessService approveProcessService; + @Autowired + private SysUserMapper sysUserMapper; @Override - public void initApproveNodes(String id) { - //绉熸埛id - Long tenantId = SecurityUtils.getLoginUser().getTenantId(); - - ApproveProcess approve = approveProcessService.getApproveById(id); - String[] names = approve.getApproveUserNames().split(","); - Long approveId = approve.getId(); + public void initApproveNodes(String approveUserIds,String approveID,Long tenantId) { + Long userId = SecurityUtils.getLoginUser().getUser().getUserId(); + ApproveProcess approve = approveProcessService.getApproveById(approveID); + String[] names = approveUserIds.split(","); + String approveId = approve.getApproveId(); for (int i = 0; i < names.length; i++) { + SysUser sysUser = sysUserMapper.selectUserById(Long.parseLong(names[i])); + if (sysUser == null) continue; ApproveNode approveNode = new ApproveNode(); approveNode.setApproveProcessId(approveId); approveNode.setApproveNodeOrder(i +1); - approveNode.setApproveNodeUser(names[i]); + approveNode.setApproveNodeUser(sysUser.getNickName()); + approveNode.setApproveNodeUserId(sysUser.getUserId()); approveNode.setApproveNodeTime(new Date()); approveNode.setApproveNodeStatus(0); approveNode.setTenantId(tenantId); approveNode.setDeleteFlag(0); + approveNode.setCreateUser(userId); + approveNode.setUpdateUser(userId); + approveNode.setCreateTime(LocalDateTime.now()); + approveNode.setUpdateTime(LocalDateTime.now()); approveNodeMapper.insert(approveNode); } } @Override public List<ApproveNode> details(String id) { - ApproveProcess approve = approveProcessService.getApproveById(id); - Long approveId = approve.getId(); - LambdaQueryWrapper<ApproveNode> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(ApproveNode::getApproveProcessId, approveId); + queryWrapper.eq(ApproveNode::getApproveProcessId, id); + queryWrapper.eq(ApproveNode::getDeleteFlag, 0); + queryWrapper.eq(ApproveNode::getTenantId, SecurityUtils.getLoginUser().getTenantId()); 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::getTenantId, SecurityUtils.getLoginUser().getTenantId()) + .last("limit 1"); + ApproveProcess approveProcess = approveProcessService.getOne(approveProcessLambdaQueryWrapper); + if(approveProcess != null && approveProcess.getApproveStatus() == 3){ + return list; + } + for (ApproveNode approveNode : list) { + if(approveNode.getApproveNodeStatus() == 1){ + continue; + } + approveNode.setIsShen(true); + break; + } return list; } @Override public void updateApproveNode(ApproveNode approveNode) { - approveProcessService.updateApproveProcessStatus(approveNode); - + // 瀹℃壒鑺傜偣鐘舵��:1鍚屾剰锛�2鎷掔粷锛�0灏氭湭瀹℃牳 + switch (approveNode.getApproveNodeStatus()){ + case 1: + approveProcessService.updateApproveProcessStatus(approveNode, Boolean.TRUE.equals(approveNode.getIsLast()) ? 2 : 1); + break; + case 2: + approveProcessService.updateApproveProcessStatus(approveNode, 3); + break; + default: + break; + } approveNode.setApproveNodeTime(new Date()); - approveNodeMapper.updateById(approveNode); } + @Override + public void delApproveNodeByApproveId(Long id) { + UpdateWrapper<ApproveNode> queryWrapper = new UpdateWrapper<>(); + queryWrapper.lambda().set(ApproveNode::getDeleteFlag, 1) + .eq(ApproveNode::getApproveProcessId, id); + update(queryWrapper); + } + } -- Gitblit v1.9.3