From 80662b34fe93b4ede00c7fc03fbd9f01355c94e2 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期一, 07 四月 2025 13:52:17 +0800 Subject: [PATCH] 修改任务接口 --- business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java | 61 +++++++++++++++++++++++------- 1 files changed, 46 insertions(+), 15 deletions(-) diff --git a/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java index 0ad7599..5b075c8 100644 --- a/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java @@ -11,10 +11,7 @@ import com.ycl.common.enums.business.HandlerTypeEnum; import com.ycl.common.enums.business.ProcessLogEventTypeEnum; import com.ycl.domain.entity.ProcessLog; -import com.ycl.domain.json.DelegateData; -import com.ycl.domain.json.JumpData; -import com.ycl.domain.json.RejectData; -import com.ycl.domain.json.SuperviseData; +import com.ycl.domain.json.*; import com.ycl.domain.query.ProcessLogQuery; import com.ycl.domain.vo.ProcessLogVO; import com.ycl.framework.utils.PageUtil; @@ -58,7 +55,7 @@ * @param eventDataJson json鎵╁睍鍐呭 */ @Override - public void add(String taskId, String flowInsId, ProcessLogEventTypeEnum eventType, Long projectId, String eventDataJson) { + public void add(String taskId, String flowInsId, ProcessLogEventTypeEnum eventType, String projectId, String eventDataJson) { ProcessLog log = new ProcessLog(); log.setTaskId(taskId); log.setProcessInsId(flowInsId); @@ -148,6 +145,26 @@ } @Override + public Boolean taskIsWait(String taskId, String processInsId) { + List<ProcessLog> list = new LambdaQueryChainWrapper<>(baseMapper) + .eq(ProcessLog::getProcessInsId, processInsId) + .eq(ProcessLog::getTaskId, taskId) + .list(); + return list.stream().anyMatch(log -> ProcessLogEventTypeEnum.WAIT.equals(log.getEventType())) + && list.stream().filter(log -> ProcessLogEventTypeEnum.FINISHED.equals(log.getEventType())).count() < 1; + } + + @Override + public Boolean taskIsJump(String taskId, String processInsId) { + List<ProcessLog> list = new LambdaQueryChainWrapper<>(baseMapper) + .eq(ProcessLog::getProcessInsId, processInsId) + .eq(ProcessLog::getTaskId, taskId) + .eq(ProcessLog::getEventType, ProcessLogEventTypeEnum.JUMP) + .list(); + return list.size() > 0; + } + + @Override public Boolean taskIsTeamwork(String taskId, String processInsId) { ProcessLog log = new LambdaQueryChainWrapper<>(baseMapper) .eq(ProcessLog::getProcessInsId, processInsId) @@ -163,8 +180,8 @@ } @Override - public Result projectProcessLogPage(ProcessLogQuery query) { - List<ProcessLogVO> list = baseMapper.projectProcessLogPage(query); + public Result projectProcessLogList(ProcessLogQuery query) { + List<ProcessLogVO> list = baseMapper.projectProcessLogList(query); // json鍙嶅簭鍒楀寲 list.stream().forEach(log -> { if (StringUtils.isNotBlank(log.getEventDataJson())) { @@ -178,19 +195,33 @@ log.setEventDataObj(delegateData); } else if (ProcessLogEventTypeEnum.JUMP.equals(log.getEventType())) { log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), JumpData.class)); + } else if (ProcessLogEventTypeEnum.WAIT.equals(log.getEventType())) { + log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), WaitData.class)); } else if (ProcessLogEventTypeEnum.REJECT.equals(log.getEventType())) { log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), RejectData.class)); } else if (ProcessLogEventTypeEnum.SUPERVISE.equals(log.getEventType())) { - SuperviseData superviseData = JSON.parseObject(log.getEventDataJson(), SuperviseData.class); - SysUser user = userService.selectUserById(Long.parseLong(superviseData.getSenderId())); - if (Objects.nonNull(user)) { - superviseData.setSenderName(user.getNickName() + "(" + (Objects.nonNull(user.getDept()) ? user.getDept().getDeptName() : "鏃犻儴闂�") + ")"); + List<SuperviseData> superviseDataList = JSON.parseArray(log.getEventDataJson(), SuperviseData.class); + if (CollectionUtils.isNotEmpty(superviseDataList)) { + SysUser user = userService.selectUserById(Long.parseLong(superviseDataList.get(0).getSenderId())); + if (Objects.nonNull(user)) { + superviseDataList.get(0).setSenderName(user.getNickName() + "(" + (Objects.nonNull(user.getDept()) ? user.getDept().getDeptName() : "鏃犻儴闂�") + ")"); + } + log.setEventDataObj(superviseDataList.get(0)); } - log.setEventDataObj(superviseData); + + } else if (ProcessLogEventTypeEnum.HANGUP.equals(log.getEventType())) { + log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), HangupData.class)); } } }); return Result.ok().data(list); + } + + @Override + public Result projectProcessLogPage(ProcessLogQuery query) { + IPage<ProcessLogVO> page = PageUtil.getPage(query, ProcessLogVO.class); + baseMapper.projectProcessLogPage(page, query); + return Result.ok().data(page.getRecords()).total(page.getTotal()); } /** @@ -208,13 +239,13 @@ } } else if (HandlerTypeEnum.USER.equals(handlerType)) { List<SysUser> users = userService.selectUserByIds(ids); - names = users.stream().map(user -> user.getNickName() + "(" + (Objects.nonNull(user.getDept()) ? user.getDept().getDeptName() : "鏃犻儴闂�") + ")").collect(Collectors.toList()); + names.addAll(users.stream().map(user -> user.getNickName() + "(" + (Objects.nonNull(user.getDept()) ? user.getDept().getDeptName() : "鏃犻儴闂�") + ")").collect(Collectors.toList())); } else if (HandlerTypeEnum.DEPT.equals(handlerType)) { List<SysDept> depts = deptService.selectDeptByIds(ids); - names = depts.stream().map(SysDept::getDeptName).collect(Collectors.toList()); + names.addAll(depts.stream().map(SysDept::getDeptName).collect(Collectors.toList())); } else if (HandlerTypeEnum.ROLE.equals(handlerType)) { List<SysRole> roles = roleService.selectRoleByIds(ids); - names = roles.stream().map(SysRole::getRoleName).collect(Collectors.toList()); + names.addAll(roles.stream().map(SysRole::getRoleName).collect(Collectors.toList())); } } } -- Gitblit v1.8.0