From 81f7d381c300f6b0a22c00f98517b2619d0094f4 Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期三, 23 七月 2025 16:00:27 +0800 Subject: [PATCH] yys 释放javaWork资源路径 --- src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java | 73 ++++++++++++++++++++++++++++++++---- 1 files changed, 65 insertions(+), 8 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 b6c37b3..201ccb5 100644 --- a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java +++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java @@ -4,17 +4,15 @@ 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.mapper.ApproveProcessMapper; import com.ruoyi.approve.pojo.ApproveNode; import com.ruoyi.approve.pojo.ApproveProcess; 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; @@ -29,15 +27,25 @@ @Autowired private ApproveNodeMapper approveNodeMapper; @Autowired - private IApproveProcessService approveProcessService; + private ApproveProcessMapper approveProcessMapper; @Autowired private SysUserMapper sysUserMapper; + public ApproveProcess getApproveById(String id) { + LambdaQueryWrapper<ApproveProcess> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ApproveProcess::getApproveId, id); + queryWrapper.eq(ApproveProcess::getApproveDelete, 0); + queryWrapper.eq(ApproveProcess::getTenantId, SecurityUtils.getLoginUser().getTenantId()); + queryWrapper.last("limit 1"); + ApproveProcess one = approveProcessMapper.selectOne(queryWrapper); + return one; + } + @Override public void initApproveNodes(String approveUserIds,String approveID,Long tenantId) { Long userId = SecurityUtils.getLoginUser().getUser().getUserId(); - ApproveProcess approve = approveProcessService.getApproveById(approveID); + ApproveProcess approve = getApproveById(approveID); String[] names = approveUserIds.split(","); String approveId = approve.getApproveId(); for (int i = 0; i < names.length; i++) { @@ -64,18 +72,67 @@ public List<ApproveNode> details(String id) { LambdaQueryWrapper<ApproveNode> queryWrapper = new LambdaQueryWrapper<>(); 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 = approveProcessMapper.selectOne(approveProcessLambdaQueryWrapper); + if(approveProcess != null && approveProcess.getApproveStatus() == 3){ + return list; + } + for (ApproveNode approveNode : list) { + if(approveNode.getApproveNodeStatus() == 1){ + continue; + } + approveNode.setIsShen(true); + break; + } return list; + } + + public void updateApproveProcessStatus(ApproveNode approveNode,Integer status) { + LambdaQueryWrapper<ApproveProcess> approveProcessLambdaQueryWrapper = new LambdaQueryWrapper<>(); + approveProcessLambdaQueryWrapper.eq(ApproveProcess::getApproveId, approveNode.getApproveProcessId()) + .eq(ApproveProcess::getApproveDelete, 0) + .eq(ApproveProcess::getTenantId, SecurityUtils.getLoginUser().getTenantId()) + .last("limit 1"); + ApproveProcess approveProcess = approveProcessMapper.selectOne(approveProcessLambdaQueryWrapper); + if(approveProcess == null) throw new RuntimeException("瀹℃壒涓嶅瓨鍦�"); + LambdaQueryWrapper<ApproveNode> approveNodeLambdaQueryWrapper = new LambdaQueryWrapper<>(); + approveNodeLambdaQueryWrapper.eq(ApproveNode::getApproveProcessId, approveNode.getApproveProcessId()) + .eq(ApproveNode::getApproveNodeOrder, approveNode.getApproveNodeOrder() + 1) + .eq(ApproveNode::getDeleteFlag, 0) + .eq(ApproveNode::getTenantId, SecurityUtils.getLoginUser().getTenantId()) + .last("limit 1"); + ApproveNode approveNode1 = approveNodeMapper.selectOne(approveNodeLambdaQueryWrapper); + approveProcess.setApproveStatus(status); + if(approveNode1 != null){ + approveProcess.setApproveUserCurrentId(approveNode.getApproveNodeUserId()); + approveProcess.setApproveUserCurrentName(approveNode1.getApproveNodeUser()); + } + approveProcessMapper.updateById(approveProcess); } @Override public void updateApproveNode(ApproveNode approveNode) { - approveProcessService.updateApproveProcessStatus(approveNode); - + // 瀹℃壒鑺傜偣鐘舵��:1鍚屾剰锛�2鎷掔粷锛�0灏氭湭瀹℃牳 + switch (approveNode.getApproveNodeStatus()){ + case 1: + updateApproveProcessStatus(approveNode, Boolean.TRUE.equals(approveNode.getIsLast()) ? 2 : 1); + break; + case 2: + updateApproveProcessStatus(approveNode, 3); + break; + default: + break; + } approveNode.setApproveNodeTime(new Date()); - approveNodeMapper.updateById(approveNode); } -- Gitblit v1.9.3