From 44dd382faaa45f46a9719d3b032629895ead8850 Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期四, 17 七月 2025 17:52:30 +0800 Subject: [PATCH] yys 修改审批协同bug --- src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java | 35 +++++++++++++++++++++++++++++++++++ src/main/java/com/ruoyi/approve/vo/ApproveGetAndUpdateVo.java | 8 ++++++++ 2 files changed, 43 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java index c461873..9ad4f1e 100644 --- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java +++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java @@ -174,8 +174,43 @@ @Override public void updateByApproveId(ApproveGetAndUpdateVo approveGetAndUpdateVo) { ApproveProcess approve = approveProcessMapper.selectById(approveGetAndUpdateVo.getId()); + approve.setApproveUserIds(approveGetAndUpdateVo.getApproveUserIds()); approve.setApproveReason(approveGetAndUpdateVo.getApproveReason()); + SysUser sysUser = sysUserMapper.selectUserById(approveGetAndUpdateVo.getApproveUser()); + String[] split = approveGetAndUpdateVo.getApproveUserIds().split(","); + if(split.length == 0){ + throw new RuntimeException("璇烽�夋嫨瀹℃壒浜�"); + } + List<SysUser> sysUsers = sysUserMapper.selectUserByIds(Arrays.asList(split).stream().map(Long::parseLong).collect(Collectors.toList())); + if(CollectionUtils.isEmpty(sysUsers)) throw new RuntimeException("璇烽�夋嫨瀹℃壒浜�"); + if(sysUser == null) throw new RuntimeException("鐢宠浜轰笉瀛樺湪"); + approve.setApproveUserName(sysUser.getNickName()); + approve.setApproveUser(sysUser.getUserId()); + //瀹℃牳涓笉鍙互缂栬緫瀹℃牳浜� + if(approve.getApproveStatus() != 1){ + approve.setApproveUserCurrentId(sysUsers.get(0).getUserId()); + approve.setApproveUserCurrentName(sysUsers.get(0).getNickName()); + } updateById(approve); + //淇敼瀹℃壒浜� + LambdaQueryWrapper<ApproveNode> approveNodeLambdaQueryWrapper = new LambdaQueryWrapper<>(); + approveNodeLambdaQueryWrapper.eq(ApproveNode::getApproveProcessId, approve.getApproveId()) + .eq(ApproveNode::getDeleteFlag, 0) + .eq(ApproveNode::getTenantId, SecurityUtils.getLoginUser().getTenantId()) + .orderByAsc(ApproveNode::getApproveNodeOrder); + List<ApproveNode> list = approveNodeMapper.selectList(approveNodeLambdaQueryWrapper); + int i = 0; + for (ApproveNode approveNode : list) { + int finalI = i; + List<SysUser> collect = sysUsers.stream().filter(user -> user.getUserId().equals(Long.parseLong(split[finalI]))).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(collect)){ + throw new RuntimeException("璇烽�夋嫨姝g‘鐨勫鎵逛汉"); + } + approveNode.setApproveNodeUserId(collect.get(0).getUserId()); + approveNode.setApproveNodeUser(collect.get(0).getNickName()); + approveNodeMapper.updateById(approveNode); + i++; + } } diff --git a/src/main/java/com/ruoyi/approve/vo/ApproveGetAndUpdateVo.java b/src/main/java/com/ruoyi/approve/vo/ApproveGetAndUpdateVo.java index bd9ebd9..98c5d52 100644 --- a/src/main/java/com/ruoyi/approve/vo/ApproveGetAndUpdateVo.java +++ b/src/main/java/com/ruoyi/approve/vo/ApproveGetAndUpdateVo.java @@ -12,4 +12,12 @@ //鐢宠浜嬬敱 @NotBlank(message = "鐢宠浜嬬敱涓嶈兘涓虹┖") private String approveReason; + + private String approveUserIds; + + private Long approveUser; + + private String approveTime; + + private Integer approveStatus; } -- Gitblit v1.9.3