fuliqi
2025-01-03 6c801a82c747fa3e1e4d8358b5e48d5ba862a68e
赋码驳回,定时任务导致的时间差
1个文件已修改
11 ■■■■■ 已修改文件
business/src/main/java/com/ycl/listener/flowable/FlowableOverTimeListener.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/listener/flowable/FlowableOverTimeListener.java
@@ -59,7 +59,16 @@
        processCoding.setTaskId(taskId);
        processCoding.setProcessInsId(processInstanceId);
        processCoding.setTaskDefKey(delegateTask.getTaskDefinitionKey());
        processCoding.setStatus(GREEN);
        //查询是否有这个定义节点的历史数据,取最晚的一条状态码,避免定时任务还未执行的误差
        List<ProcessCoding> processCodings = processCodingMapper.selectList(new QueryWrapper<ProcessCoding>()
                .eq("process_ins_id",processInstanceId)
                .eq("task_def_key", delegateTask.getTaskDefinitionKey())
                .orderByDesc("gmt_create"));
        if(!CollectionUtils.isEmpty(processCodings)){
            processCoding.setStatus(processCodings.get(0).getStatus());
        }else {
            processCoding.setStatus(GREEN);
        }
        if (yellowTime != null && yellowTime.getValue(delegateTask) != null) {
            processCoding.setYellowTime(Integer.parseInt(yellowTime.getValue(delegateTask).toString()));
        }