business/src/main/java/com/ycl/service/ProcessLogService.java
@@ -79,6 +79,24 @@ Boolean taskIsHangup(String taskId, String processInsId); /** * 检查任务是否容缺 * * @param taskId * @param processInsId * @return */ Boolean taskIsWait(String taskId, String processInsId); /** * 检查任务是否跳过 * * @param taskId * @param processInsId * @return */ Boolean taskIsJump(String taskId, String processInsId); /** * 检查任务是否协同办理了 * * @param taskId 任务id business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
@@ -1336,6 +1336,8 @@ if (StringUtils.isBlank(s.getDeleteReason())) { flowViewerList.add(flowViewerDto); } flowViewerDto.setHasJump(processLogService.taskIsJump(s.getTaskId(), procInsId)); flowViewerDto.setHasWait(processLogService.taskIsWait(s.getTaskId(), procInsId)); }); // 获取代办节点 @@ -1353,9 +1355,11 @@ // 扩展内容 代办的通过当前时间作为endTime ProcessCoding processCoding = processCodingMap.get(s.getTaskId()); //如果有监控数据 不反的话前端默认是进行中(蓝色) if (processCoding != null && (RED.equals(processCoding.getStatus()) || YELLOW.equals(processCoding.getStatus()))) { if (Objects.nonNull(processCoding)) { if (RED.equals(processCoding.getStatus()) || YELLOW.equals(processCoding.getStatus())) { flowViewerDto.setOvertime(processCoding.getStatus()); } } flowViewerList.add(flowViewerDto); }); Map<String, Object> result = new HashMap(); business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java
@@ -145,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) flowable/src/main/java/com/ycl/domain/dto/FlowViewerDto.java
@@ -25,4 +25,14 @@ * 项目超时颜色码 green/yellow/red */ private String overtime; /** * 是否容缺了 */ private Boolean hasWait; /** * 是否跳过了 */ private Boolean hasJump; }