xiangpei
2025-03-17 52e9ef7d0a66500d596c2d4a3e8fc635c9f3e742
流程图查看,容缺、跳过显示
4个文件已修改
54 ■■■■■ 已修改文件
business/src/main/java/com/ycl/service/ProcessLogService.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flowable/src/main/java/com/ycl/domain/dto/FlowViewerDto.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
}