From 7b1da9b7db15333148fbf12a6ac3f1122238b2ab Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 05 六月 2025 09:05:11 +0800
Subject: [PATCH] 数据库备份

---
 business/src/main/java/com/ycl/listener/flowable/FlowableOverTimeListener.java |   40 ++++++++++++++++++++++++++++++----------
 1 files changed, 30 insertions(+), 10 deletions(-)

diff --git a/business/src/main/java/com/ycl/listener/flowable/FlowableOverTimeListener.java b/business/src/main/java/com/ycl/listener/flowable/FlowableOverTimeListener.java
index d2e507c..8a036dd 100644
--- a/business/src/main/java/com/ycl/listener/flowable/FlowableOverTimeListener.java
+++ b/business/src/main/java/com/ycl/listener/flowable/FlowableOverTimeListener.java
@@ -17,6 +17,7 @@
 import java.util.List;
 
 import static com.ycl.common.constant.ProcessOverTimeConstants.GREEN;
+import static com.ycl.common.constant.ProcessOverTimeConstants.NORMAL;
 
 /**
  * 浠诲姟鐩戝惉鍣�
@@ -35,15 +36,19 @@
     /**
      * 榛勭爜鏃堕棿
      */
-    private FixedValue yellowTime;
+    private FixedValue 榛勭爜鏃堕暱;
     /**
      * 绾㈢爜鏃堕棿
      */
-    private FixedValue redTime;
+    private FixedValue 绾㈢爜鏃堕暱;
+    /**
+     * 鍔炵悊鏈熼檺
+     */
+    private FixedValue 鍔炵悊鏈熼檺;
     /**
      * 璁℃椂璧峰鑺傜偣瀹氫箟Id
      */
-    private FixedValue startTaskId;
+    private FixedValue 寮�濮嬭鏃惰妭鐐�;
 
     @Override
     public void notify(DelegateTask delegateTask) {
@@ -59,16 +64,31 @@
         processCoding.setTaskId(taskId);
         processCoding.setProcessInsId(processInstanceId);
         processCoding.setTaskDefKey(delegateTask.getTaskDefinitionKey());
-        processCoding.setStatus(GREEN);
-        if (yellowTime != null && yellowTime.getValue(delegateTask) != null) {
-            processCoding.setYellowTime(Integer.parseInt(yellowTime.getValue(delegateTask).toString()));
+        //璁剧疆鐘舵�侊紝鏌ヨ鏄惁鏈夎繖涓畾涔夎妭鐐圭殑鍘嗗彶鏁版嵁锛屽彇鏈�鏂扮殑涓�鏉$姸鎬佺爜锛岄伩鍏嶅畾鏃朵换鍔¤繕鏈墽琛岀殑璇樊
+        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());
+            processCoding.setOvertimeStatus(processCodings.get(0).getOvertimeStatus());
+        }else {
+            processCoding.setStatus(GREEN);
+            processCoding.setOvertimeStatus(NORMAL);
         }
-        if (redTime != null && redTime.getValue(delegateTask) != null) {
-            processCoding.setRedTime(Integer.parseInt(redTime.getValue(delegateTask).toString()));
+
+        if (榛勭爜鏃堕暱 != null && 榛勭爜鏃堕暱.getValue(delegateTask) != null) {
+            processCoding.setYellowTime(榛勭爜鏃堕暱.getValue(delegateTask).toString());
+        }
+        if (绾㈢爜鏃堕暱 != null && 绾㈢爜鏃堕暱.getValue(delegateTask) != null) {
+            processCoding.setRedTime(绾㈢爜鏃堕暱.getValue(delegateTask).toString());
+        }
+        if (鍔炵悊鏈熼檺 != null && 鍔炵悊鏈熼檺.getValue(delegateTask) != null) {
+            processCoding.setOvertime(鍔炵悊鏈熼檺.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)

--
Gitblit v1.8.0