From b37eac632faf7f26b6f947d8b6792db8828fba6f Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期三, 26 二月 2025 21:57:47 +0800 Subject: [PATCH] 工程管理 --- business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 39 insertions(+), 18 deletions(-) diff --git a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java index 6ce896f..b8bd222 100644 --- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java @@ -203,8 +203,6 @@ SysUser sysUser = SecurityUtils.getLoginUser().getUser(); identityService.setAuthenticatedUserId(sysUser.getUserId().toString()); variables.put(ProcessConstants.PROCESS_INITIATOR, sysUser.getUserId()); - //娴嬭瘯瀹圭己 - variables.put("miss", true); // 灏嗚椤圭洰鐨勭敵璇蜂汉锛堜笟涓绘柟锛変綔涓烘祦绋嬩腑鏌愪簺鐜妭鐨勫鐞嗕汉 variables.put(ProcessConstants.DATA_LAUNCH, "dept:" + createBy); ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefId, projectId + "", variables); @@ -306,9 +304,15 @@ .active() .includeProcessVariables() .orderByTaskCreateTime().desc(); - + List<String> insIds = baseMapper.getNormalInsIds(); + if (CollectionUtils.isEmpty(insIds)) { + result.data(new ArrayList<>()).total(0L); + return; + } else { + taskQuery.processInstanceIdIn(insIds); + } if (StringUtils.isNotBlank(taskName)) { - taskQuery.processDefinitionNameLike(taskName); + taskQuery.taskNameLike(taskName); } if (!SecurityUtils.getLoginUser().getUser().isAdmin()) { taskQuery @@ -413,19 +417,23 @@ if (processCoding != null) { if (StringUtils.isNotBlank(processCoding.getOvertime())) { Long overtime = getTime(processCoding.getOvertime()); - - long durationTime = ((new Date()).getTime() - processCoding.getStartTaskTime().getTime()) / 1000; - - taskVO.setRemainingTime((overtime - durationTime) / 3600 + "灏忔椂"); + long durationTime = 0l; + if (Objects.nonNull(processCoding.getStartTaskTime())) { + durationTime = ((new Date()).getTime() - processCoding.getStartTaskTime().getTime()) / 1000; + } else { + taskVO.setRemainingTime("鏈缃姙鐞嗘椂闂�"); + } + if (overtime > durationTime) { + taskVO.setRemainingTime((overtime - durationTime) / 3600 + "灏忔椂"); + } else { + taskVO.setRemainingTime("宸茶秴鏃�"); + } } else { taskVO.setRemainingTime("-"); } } this.distinctVo(taskVO); vos.add(taskVO); - } - if (vos.size() < pageSize) { - result.total(vos.size()); } result.put("taskList", vos); } @@ -820,7 +828,7 @@ .desc(); if (StringUtils.isNotBlank(taskName)) { - taskQuery.processDefinitionNameLike(taskName); + taskQuery.taskNameLike(taskName); } result.total(taskQuery.count()); List<Task> taskList = taskQuery.listPage(pageSize * (pageNum - 1), pageSize); @@ -912,7 +920,7 @@ SysUser sysUser = sysUserService.selectUserById(Long.parseLong(userTask.getAssignee())); if (Objects.nonNull(sysUser)) { handlerIds.add(sysUser.getUserId()); - handlerNames.add(sysUser.getNickName()); + handlerNames.add(this.getUserShowName(sysUser)); if (Objects.nonNull(sysUser.getDept())) { handlerUnitIds.add(sysUser.getDept().getDeptId()); handlerUnitNames.add(sysUser.getDept().getDeptName()); @@ -960,7 +968,7 @@ SysUser handlerUser = sysUserService.selectUserById(handlerUserId); if (Objects.nonNull(handlerUser)) { handlerIds.add(handlerUserId); - handlerNames.add(handlerUser.getNickName()); + handlerNames.add(this.getUserShowName(handlerUser)); vo.setActualHandlerUserId(historicTasks.get(0).getAssignee()); vo.setActualHandlerUserName(handlerUser.getNickName()); } @@ -994,6 +1002,9 @@ */ private List<CustomerTaskVO> getFinishedProcessTaskInfo(List<UserTask> userTasks, String processInsId, String processDefId) { HistoricProcessInstance hisProcess = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInsId).singleResult(); + if (Objects.isNull(hisProcess)) { + return new ArrayList<>(); + } List<CustomerTaskVO> vos = userTasks.stream().map(userTask -> { CustomerTaskVO vo = new CustomerTaskVO(); vo.setProcessInsId(hisProcess.getId()); @@ -1090,7 +1101,7 @@ SysUser sysUser = sysUserService.selectUserById(Long.parseLong(identityLink.getUserId())); if (Objects.nonNull(sysUser)) { taskVO.getHandlerId().add(sysUser.getUserId()); - taskVO.getHandlerName().add(sysUser.getNickName()); + taskVO.getHandlerName().add(this.getUserShowName(sysUser)); if (Objects.nonNull(sysUser.getDept())) { taskVO.getHandlerUnitId().add(sysUser.getDept().getDeptId()); taskVO.getHandlerUnitName().add(sysUser.getDept().getDeptName()); @@ -1278,9 +1289,9 @@ SysUser handlerUser = sysUserService.selectUserById(handlerUserId); if (Objects.nonNull(handlerUser)) { vo.getHandlerId().add(handlerUserId); - vo.getHandlerName().add(handlerUser.getNickName()); + vo.getHandlerName().add(this.getUserShowName(handlerUser)); vo.setActualHandlerUserId(hisTask.getAssignee()); - vo.setActualHandlerUserName(handlerUser.getNickName()); + vo.setActualHandlerUserName(this.getUserShowName(handlerUser)); } vo.setTaskDefinitionKey(hisTask.getTaskDefinitionKey()); this.setPromoterAndHandler(vo, hisTask.getIdentityLinks()); @@ -1291,6 +1302,16 @@ }).collect(Collectors.toList()); result.data(vos); return vos; + } + + /** + * 鐢ㄦ埛鍚嶇О鍚庨潰璺熺數璇濆彿鐮� + * + * @param user + * @return + */ + private String getUserShowName(SysUser user) { + return user.getNickName() + (StringUtils.isNotBlank(user.getPhonenumber()) ? "(" + user.getPhonenumber() + ")" : ""); } /** @@ -1867,7 +1888,7 @@ return user.getUserId() + ""; }).collect(Collectors.joining("銆�"))); taskVO.setPromoterName(userList.stream().map(user -> { - return user.getNickName(); + return this.getUserShowName(user); }).collect(Collectors.joining("銆�"))); taskVO.setPromoterUnitId(userList.stream().filter(user -> Objects.nonNull(user.getDept())).map(user -> { return user.getDept().getDeptId() + ""; -- Gitblit v1.8.0