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()));
        }