From 7e7ac7b568d7b79a65c755bd47d0868835adc8f8 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 06 三月 2025 10:53:01 +0800
Subject: [PATCH] 容缺接口

---
 business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java |   44 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 36 insertions(+), 8 deletions(-)

diff --git a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
index f20ff2b..54fdda2 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -3,7 +3,6 @@
 
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
@@ -483,15 +482,13 @@
             }
 
             // 璁$畻鍔炵悊鏃堕棿
-            ProcessCoding processCoding = processCodingService.getByTaskId(task.getId());
-            if (processCoding != null) {
-                if (StringUtils.isNotBlank(processCoding.getOvertime())) {
-                    Long overtime = getTime(processCoding.getOvertime());
+            ProcessCoding processCoding = processCodingService.getByTaskId(task.getId(), task.getProcessInstanceId());
+            if (Objects.nonNull(processCoding)) {
+                if (StringUtils.isNotBlank(processCoding.getRedTime())) {
+                    Long overtime = getTime(processCoding.getRedTime());
                     long durationTime = 0l;
                     if (Objects.nonNull(processCoding.getStartTaskTime())) {
                         durationTime = ((new Date()).getTime() - processCoding.getStartTaskTime().getTime()) / 1000;
-                    } else {
-                        taskVO.setRemainingTime("鏈缃姙鐞嗘椂闂�");
                     }
                     if (overtime > durationTime) {
                         taskVO.setRemainingTime((overtime - durationTime) / 3600 + "灏忔椂");
@@ -501,6 +498,8 @@
                 } else {
                     taskVO.setRemainingTime("-");
                 }
+            } else {
+                taskVO.setRemainingTime("-");
             }
             this.distinctVo(taskVO);
             vos.add(taskVO);
@@ -738,7 +737,36 @@
                 }
             }
             // 瀹屾垚浠诲姟
-            flowTaskService.completeSubmitForm(form.getTaskId(), data);
+            flowTaskService.completeSubmitForm(form.getTaskId(), data, Boolean.FALSE);
+        }
+        return Result.ok("鎿嶄綔鎴愬姛");
+    }
+
+    @Override
+    public Result taskWait(TaskWaitForm form) {
+        Task task = taskService.createTaskQuery().taskId(form.getTaskId()).processInstanceId(form.getProcessInsId()).singleResult();
+        if (Objects.nonNull(task)) {
+            // 娣诲姞瀹圭己鏃ュ織
+            publisher.publishEvent(new TaskLogEvent(this,
+                    null,
+                    SecurityUtils.getUserId(),
+                    form.getProjectId(),
+                    form.getProcessInsId(),
+                    task.getId(),
+                    task.getTaskDefinitionKey(),
+                    task.getName(),
+                    ProcessLogEventTypeEnum.WAIT,
+                    new WaitData(form.getDesc())));
+            // 鏌ュ嚭璇ヤ换鍔$粦瀹氱殑琛ㄥ崟
+            Map<String, Object> data = new HashMap<>(1);
+            if (StringUtils.isNotBlank(task.getFormKey())) {
+                SysForm sysForm = formService.selectSysFormById(Long.parseLong(task.getFormKey()));
+                if (Objects.nonNull(sysForm)) {
+                    data.put(ProcessConstants.TASK_FORM_KEY, JSONObject.parseObject(sysForm.getFormContent()));
+                }
+            }
+            // 瀹屾垚浠诲姟
+            flowTaskService.completeSubmitForm(form.getTaskId(), data, Boolean.FALSE);
         }
         return Result.ok("鎿嶄綔鎴愬姛");
     }

--
Gitblit v1.8.0