From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

---
 jnpf-dms/jnpf-dms-controller/src/main/java/jnpf/dmsController/DmsWenjianBanbenController.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/jnpf-dms/jnpf-dms-controller/src/main/java/jnpf/dmsController/DmsWenjianBanbenController.java b/jnpf-dms/jnpf-dms-controller/src/main/java/jnpf/dmsController/DmsWenjianBanbenController.java
new file mode 100644
index 0000000..74145a4
--- /dev/null
+++ b/jnpf-dms/jnpf-dms-controller/src/main/java/jnpf/dmsController/DmsWenjianBanbenController.java
@@ -0,0 +1,60 @@
+package jnpf.dmsController;
+
+import cn.dev33.satoken.annotation.SaCheckLogin;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
+import jnpf.base.ActionResult;
+import jnpf.dmsEntity.wenjianbianhao.form.DmsFlowEventForm;
+import jnpf.dmsService.DmsWenjianBanbenService;
+import jnpf.exception.DataException;
+import jnpf.flowable.WorkFlowApi;
+import jnpf.flowable.entity.TaskEntity;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Tag(name = "DMS鏂囦欢鐗堟湰鎺у埗鎺ュ彛")
+@RestController
+@SaCheckLogin
+@RequiredArgsConstructor
+@RequestMapping("/biz/wenjian/banben")
+public class DmsWenjianBanbenController {
+
+    private final DmsWenjianBanbenService service;
+    private final WorkFlowApi workFlowApi;
+
+    @Operation(summary = "鍚屾鏂囦欢鏂板瀹℃牳娴佺▼浜嬩欢")
+    @PostMapping("/xinzeng-shenhe/flow-event")
+    public ActionResult<String> syncNewAuditFlowEvent(
+            @Valid @RequestBody DmsFlowEventForm form) throws DataException {
+        service.syncNewAuditFlow(form.getFlowId(), form.getTaskId(),
+                requireWorkflowState(form.getTaskId()), form.getEventType());
+        return ActionResult.success("鏂囦欢鏂板瀹℃牳鐗堟湰鍚屾鎴愬姛", "鏂囦欢鏂板瀹℃牳鐗堟湰鍚屾鎴愬姛");
+    }
+
+    @Operation(summary = "鍚屾鏂囦欢淇瀹℃牳娴佺▼浜嬩欢")
+    @PostMapping("/xiuding-shenhe/flow-event")
+    public ActionResult<String> syncRevisionAuditFlowEvent(
+            @Valid @RequestBody DmsFlowEventForm form) throws DataException {
+        service.syncRevisionAuditFlow(form.getFlowId(), form.getTaskId(),
+                requireWorkflowState(form.getTaskId()), form.getEventType());
+        return ActionResult.success("鏂囦欢淇瀹℃牳鐗堟湰鍚屾鎴愬姛", "鏂囦欢淇瀹℃牳鐗堟湰鍚屾鎴愬姛");
+    }
+
+    private Integer requireWorkflowState(String taskId) throws DataException {
+        TaskEntity task = workFlowApi.getInfoSubmit(taskId.trim());
+        if (task == null || task.getId() == null) {
+            throw new DataException("鏈壘鍒版祦绋嬩换鍔★細" + taskId);
+        }
+        if (!taskId.trim().equals(task.getId())) {
+            throw new DataException("娴佺▼浠诲姟涓庝紶鍏ヤ换鍔D涓嶅尮閰�");
+        }
+        if (task.getStatus() == null) {
+            throw new DataException("娴佺▼浠诲姟鐘舵�佷负绌猴細" + taskId);
+        }
+        return task.getStatus();
+    }
+}

--
Gitblit v1.8.0