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/domain/json/WaitData.java                        |   22 +++++++++++
 business/src/main/java/com/ycl/domain/form/TaskJumpForm.java                    |    2 
 business/src/main/java/com/ycl/domain/form/TaskWaitForm.java                    |   34 +++++++++++++++++
 business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java      |   29 ++++++++++++++
 business/src/main/java/com/ycl/controller/ProjectProcessController.java         |    7 +++
 business/src/main/java/com/ycl/service/ProjectProcessService.java               |    8 ++++
 common/src/main/java/com/ycl/common/enums/business/ProcessLogEventTypeEnum.java |    1 
 7 files changed, 102 insertions(+), 1 deletions(-)

diff --git a/business/src/main/java/com/ycl/controller/ProjectProcessController.java b/business/src/main/java/com/ycl/controller/ProjectProcessController.java
index 5c3fde6..ad5a07b 100644
--- a/business/src/main/java/com/ycl/controller/ProjectProcessController.java
+++ b/business/src/main/java/com/ycl/controller/ProjectProcessController.java
@@ -95,6 +95,13 @@
         return projectProcessService.taskJump(form);
     }
 
+    @PostMapping("/detail/task/wait")
+    @ApiOperation(value = "瀹圭己浠诲姟", notes = "瀹圭己浠诲姟锛屼笉甯﹁〃鍗曟暟鎹殑瀹屾垚浠诲姟")
+//    @PreAuthorize("@ss.hasPermi('projectProcess:detail')")
+    public Result taskWait(@RequestBody TaskWaitForm form) {
+        return projectProcessService.taskWait(form);
+    }
+
     @GetMapping("/to_do_task")
     @ApiOperation(value = "鍒嗛〉", notes = "鍒嗛〉")
 //    @PreAuthorize("@ss.hasPermi('projectProcess:page')")
diff --git a/business/src/main/java/com/ycl/domain/form/TaskJumpForm.java b/business/src/main/java/com/ycl/domain/form/TaskJumpForm.java
index 792184e..3781bf7 100644
--- a/business/src/main/java/com/ycl/domain/form/TaskJumpForm.java
+++ b/business/src/main/java/com/ycl/domain/form/TaskJumpForm.java
@@ -14,7 +14,7 @@
  * @date锛�2024/12/13 13:51
  */
 @Data
-@ApiModel("浠诲姟璺宠繃/缂虹渷琛ㄥ崟")
+@ApiModel("浠诲姟璺宠繃琛ㄥ崟")
 public class TaskJumpForm {
 
     /**
diff --git a/business/src/main/java/com/ycl/domain/form/TaskWaitForm.java b/business/src/main/java/com/ycl/domain/form/TaskWaitForm.java
new file mode 100644
index 0000000..eb32afb
--- /dev/null
+++ b/business/src/main/java/com/ycl/domain/form/TaskWaitForm.java
@@ -0,0 +1,34 @@
+package com.ycl.domain.form;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * 浠诲姟璺宠繃/缂虹渷
+ *
+ * @author锛歺p
+ * @date锛�2024/12/13 13:51
+ */
+@Data
+@ApiModel("浠诲姟瀹圭己琛ㄥ崟")
+public class TaskWaitForm {
+
+    /**
+     * 褰撳墠浠诲姟id
+     *
+     */
+    @NotBlank(message = "浠诲姟id涓嶈兘涓虹┖")
+    private String taskId;
+
+    @ApiModelProperty("椤圭洰id锛岀敤浜庝繚瀛樻棩蹇�")
+    private String projectId;
+
+    @ApiModelProperty("娴佺▼瀹炰緥id锛岀敤浜庝繚瀛樻棩蹇�")
+    private String processInsId;
+
+    @ApiModelProperty("璇存槑")
+    private String desc;
+}
diff --git a/business/src/main/java/com/ycl/domain/json/WaitData.java b/business/src/main/java/com/ycl/domain/json/WaitData.java
new file mode 100644
index 0000000..15cdc99
--- /dev/null
+++ b/business/src/main/java/com/ycl/domain/json/WaitData.java
@@ -0,0 +1,22 @@
+package com.ycl.domain.json;
+
+import lombok.Data;
+
+/**
+ * 瀹圭己浠诲姟
+ *
+ * @author锛歺p
+ * @date锛�2025/2/12 13:43
+ */
+@Data
+public class WaitData {
+
+
+    /** 鎯呭喌璇存槑 */
+    private String desc;
+
+
+    public WaitData(String desc) {
+        this.desc = desc;
+    }
+}
diff --git a/business/src/main/java/com/ycl/service/ProjectProcessService.java b/business/src/main/java/com/ycl/service/ProjectProcessService.java
index c2279ce..1c29cf5 100644
--- a/business/src/main/java/com/ycl/service/ProjectProcessService.java
+++ b/business/src/main/java/com/ycl/service/ProjectProcessService.java
@@ -104,6 +104,14 @@
     Result taskJump(TaskJumpForm form);
 
     /**
+     * 瀹圭己浠诲姟
+     *
+     * @param form
+     * @return
+     */
+    Result taskWait(TaskWaitForm form);
+
+    /**
      * 鐫e姙浠诲姟
      *
      * @param form
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 2209646..54fdda2 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -743,6 +743,35 @@
     }
 
     @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("鎿嶄綔鎴愬姛");
+    }
+
+    @Override
     public Result taskSupervise(TaskSuperviseForm form) {
         Task task = taskService.createTaskQuery().taskId(form.getTaskId()).singleResult();
         if (Objects.isNull(task)) {
diff --git a/common/src/main/java/com/ycl/common/enums/business/ProcessLogEventTypeEnum.java b/common/src/main/java/com/ycl/common/enums/business/ProcessLogEventTypeEnum.java
index ff8d254..da908eb 100644
--- a/common/src/main/java/com/ycl/common/enums/business/ProcessLogEventTypeEnum.java
+++ b/common/src/main/java/com/ycl/common/enums/business/ProcessLogEventTypeEnum.java
@@ -18,6 +18,7 @@
     REJECT("REJECT", "椹冲洖"),
     TEAM_WORK("TEAM_WORK", "鍗忓悓鍔炵悊"),
     JUMP("JUMP", "璺宠繃"),
+    WAIT("WAIT", "瀹圭己"),
     SUPERVISE("SUPERVISE", "鐫e姙"),
     HANGUP("HANGUP", "鎸傝捣"),
     CANCEL_HANGUP("CANCEL_HANGUP", "鍙栨秷鎸傝捣"),

--
Gitblit v1.8.0