From 9cbad80abaabd430de6a9739fb2c898d3b10193a Mon Sep 17 00:00:00 2001 From: 青城 <1662047068@qq.com> Date: 星期四, 10 七月 2025 16:58:24 +0800 Subject: [PATCH] 协调审批对接修改后 --- src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java | 64 ++++++++++++++++++++++---------- 1 files changed, 44 insertions(+), 20 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 a07be20..dd04916 100644 --- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java +++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java @@ -13,7 +13,9 @@ import com.ruoyi.approve.vo.ApproveGetAndUpdateVo; import com.ruoyi.approve.vo.ApproveNodeVo; import com.ruoyi.approve.vo.ApproveProcessVO; +import com.ruoyi.basic.pojo.Customer; import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.project.system.domain.SysDept; import com.ruoyi.project.system.domain.SysUser; import com.ruoyi.project.system.mapper.SysDeptMapper; @@ -27,10 +29,7 @@ import java.time.LocalDate; import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; +import java.util.*; @Service @RequiredArgsConstructor @@ -46,11 +45,14 @@ private final SysUserMapper sysUserMapper; private final ApproveProcessMapper approveProcessMapper; + @Override public void addApprove(ApproveProcessVO approveProcessVO) { Long userId = SecurityUtils.getUserId(); + String nickName = SecurityUtils.getLoginUser().getNickName(); //绉熸埛id Long tenantId = SecurityUtils.getLoginUser().getTenantId(); + String deptName = sysDeptMapper.selectDeptById(approveProcessVO.getApproveDeptId()).getDeptName(); String today = LocalDate.now().format(DATE_FORMAT); Long approveId = dailyRedisCounter.incrementAndGet("approveId"); @@ -59,17 +61,18 @@ String approveID = today + formattedCount; //瀹℃壒浜哄鍚嶅鐞� - String approverIds = approveProcessVO.getApproverIds(); + String approverIds = approveProcessVO.getApproveUserIds(); String[] idArray = approverIds.split(","); - String approverNames = getApproverNames(approveProcessVO.getApproverIds()); - String[] namdArray = approverIds.split(","); + String approverNames = getApproverNames(approveProcessVO.getApproveUserIds()); + String[] namdArray = approverNames.split(","); ApproveProcess approveProcess = new ApproveProcess(); approveProcess.setApproveId(approveID); approveProcess.setApproveUser(userId); + approveProcess.setApproveUserName(nickName); approveProcess.setApproveDeptId(approveProcessVO.getApproveDeptId()); - // approveProcess.setApproveDeptName(approveProcessVO.getDeptName()); - approveProcess.setApproveUserIds(approveProcessVO.getApproverIds()); + approveProcess.setApproveDeptName(deptName); + approveProcess.setApproveUserIds(approveProcessVO.getApproveUserIds()); approveProcess.setApproveUserNames(approverNames); approveProcess.setApproveUserCurrentId(Long.parseLong(idArray[0])); approveProcess.setApproveUserCurrentName(namdArray[0]); @@ -82,7 +85,7 @@ save(approveProcess); //鍒濆鍖栧鎵硅妭鐐� - approveNodeService.initApproveNodes(approveID); + approveNodeService.initApproveNodes(approveID,0); } private String getApproverNames(String approverIds) { @@ -91,13 +94,14 @@ Integer[] ids = Arrays.stream(idArray) .map(Integer::parseInt) .toArray(Integer[]::new); - String names = ""; - StringBuilder stringBuilder = new StringBuilder(); + List<String> names = new ArrayList<String>(); + for (Integer id : ids) { SysUser sysUser = sysUserMapper.selectUserById(id.longValue()); - names = stringBuilder + "," + sysUser.getUserName(); + names.add(sysUser.getNickName()); } - return names; + + return String.join(",", names); } @@ -112,9 +116,16 @@ } @Override - public IPage<ApproveProcess> listAll(Page page) { + public IPage<ApproveProcess> listAll(Page page,String id) { + // 1. 澶勭悊绌哄�煎満鏅紙鍙傛暟鏍¢獙锛� + if (page == null) { + page = Page.of(1, 10); // 榛樿绗�1椤碉紝姣忛〉10鏉℃暟鎹� + } LambdaQueryWrapper<ApproveProcess> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ApproveProcess::getApproveDelete, 0); + if (StringUtils.isNotBlank(id)) { + queryWrapper.like(ApproveProcess::getApproveId, id); + } return approveProcessMapper.selectPage(page, queryWrapper); } @@ -122,8 +133,10 @@ public void delApprove(Long[] ids) { for (Long id : ids) { LambdaQueryWrapper<ApproveProcess> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(ApproveProcess::getApproveDelete, 1); - update(queryWrapper); + queryWrapper.eq(ApproveProcess::getApproveId, id); + ApproveProcess process = getOne(queryWrapper); + process.setApproveDelete(1); + saveOrUpdate(process); } } @@ -143,9 +156,16 @@ String[] idArray = approveProcess.getApproveUserIds().split(","); String[] nameArray = approveProcess.getApproveUserNames().split(","); + Integer noderOrder = approveNodeVo.getApproveNodeOrder(); - approveProcess.setApproveUserCurrentId(Long.parseLong(idArray[noderOrder])); - approveProcess.setApproveUserCurrentName(nameArray[noderOrder]); + //璁剧疆褰撳墠瀹℃壒浜� + if (noderOrder ==idArray.length){ + approveProcess.setApproveUserCurrentId(null); + approveProcess.setApproveUserCurrentName(null); + }else { + approveProcess.setApproveUserCurrentId(Long.parseLong(idArray[noderOrder])); + approveProcess.setApproveUserCurrentName(nameArray[noderOrder]); + } if(noderOrder.equals(1)){ if(approveNodeVo.getApproveNodeStatus() == 1){ @@ -155,12 +175,16 @@ if(noderOrder.equals(idArray.length)){ if(approveNodeVo.getApproveNodeStatus() == 1){ approveProcess.setApproveStatus(2); + approveProcess.setApproveOverTime(new Date()); } } - updateById(approveProcess); + // updateById(approveProcess); + approveProcessMapper.updateApproveDeptId(approveProcess); + } + @Override public void updateByApproveId(ApproveGetAndUpdateVo approveGetAndUpdateVo) { ApproveProcess approve = getApproveById(approveGetAndUpdateVo.getId()); -- Gitblit v1.9.3