xiangpei
2025-01-21 e0d938f54896e9247aeeccd3a7fe43cc9fadbfd6
business/src/main/java/com/ycl/listener/flowable/FlowableOverTimeListener.java
@@ -35,15 +35,15 @@
    /**
     * 黄码时间
     */
    private FixedValue yellowTime;
    private FixedValue 黄码时长;
    /**
     * 红码时间
     */
    private FixedValue redTime;
    private FixedValue 红码时长;
    /**
     * 计时起始节点定义Id
     */
    private FixedValue startTaskId;
    private FixedValue 开始计时节点;
    @Override
    public void notify(DelegateTask delegateTask) {
@@ -59,7 +59,7 @@
        processCoding.setTaskId(taskId);
        processCoding.setProcessInsId(processInstanceId);
        processCoding.setTaskDefKey(delegateTask.getTaskDefinitionKey());
        //查询是否有这个定义节点的历史数据,取最晚的一条状态码,避免定时任务还未执行的误差
        //设置状态,查询是否有这个定义节点的历史数据,取最新的一条状态码,避免定时任务还未执行的误差
        List<ProcessCoding> processCodings = processCodingMapper.selectList(new QueryWrapper<ProcessCoding>()
                .eq("process_ins_id",processInstanceId)
                .eq("task_def_key", delegateTask.getTaskDefinitionKey())
@@ -69,15 +69,15 @@
        }else {
            processCoding.setStatus(GREEN);
        }
        if (yellowTime != null && yellowTime.getValue(delegateTask) != null) {
            processCoding.setYellowTime(Integer.parseInt(yellowTime.getValue(delegateTask).toString()));
        if (黄码时长 != null && 黄码时长.getValue(delegateTask) != null) {
            processCoding.setYellowTime(黄码时长.getValue(delegateTask).toString());
        }
        if (redTime != null && redTime.getValue(delegateTask) != null) {
            processCoding.setRedTime(Integer.parseInt(redTime.getValue(delegateTask).toString()));
        if (红码时长 != null && 红码时长.getValue(delegateTask) != null) {
            processCoding.setRedTime(红码时长.getValue(delegateTask).toString());
        }
        //设置开始节点
        if (startTaskId != null && startTaskId.getValue(delegateTask) != null) {
            String taskDefKey = startTaskId.getValue(delegateTask).toString();
        if (开始计时节点 != null && 开始计时节点.getValue(delegateTask) != null) {
            String taskDefKey = 开始计时节点.getValue(delegateTask).toString();
            //开始节点从历史节点查询 取多条中最早的一条
            List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery()
                    .processInstanceId(processInstanceId)