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/DmsWenjianBianhaoController.java |  105 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 105 insertions(+), 0 deletions(-)

diff --git a/jnpf-dms/jnpf-dms-controller/src/main/java/jnpf/dmsController/DmsWenjianBianhaoController.java b/jnpf-dms/jnpf-dms-controller/src/main/java/jnpf/dmsController/DmsWenjianBianhaoController.java
new file mode 100644
index 0000000..93c4dce
--- /dev/null
+++ b/jnpf-dms/jnpf-dms-controller/src/main/java/jnpf/dmsController/DmsWenjianBianhaoController.java
@@ -0,0 +1,105 @@
+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.base.Pagination;
+import jnpf.base.vo.PageListVO;
+import jnpf.base.vo.PaginationVO;
+import jnpf.dmsEntity.wenjianbianhao.form.DmsFlowEventForm;
+import jnpf.dmsEntity.wenjianbianhao.form.DmsWenjianBianhaoPreviewForm;
+import jnpf.dmsEntity.wenjianbianhao.vo.DmsWenjianBianhaoOptionVO;
+import jnpf.dmsEntity.wenjianbianhao.vo.DmsWenjianBianhaoPreviewVO;
+import jnpf.dmsEntity.wenjianbianhao.vo.DmsWenjianBianhaoRuleVO;
+import jnpf.dmsService.DmsWenjianBianhaoApplicationService;
+import jnpf.exception.DataException;
+import jnpf.flowable.WorkFlowApi;
+import jnpf.flowable.entity.TaskEntity;
+import jnpf.util.JsonUtil;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.GetMapping;
+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.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@Tag(name = "DMS鏂囦欢缂栧彿鐢宠鎺ュ彛")
+@RestController
+@SaCheckLogin
+@RequiredArgsConstructor
+@RequestMapping("/biz/wenjian/bianhao")
+public class DmsWenjianBianhaoController {
+
+    private final DmsWenjianBianhaoApplicationService service;
+    private final WorkFlowApi workFlowApi;
+
+    @Operation(summary = "鍙敵璇风殑鏂囦欢缂栧彿瑙勫垯")
+    @GetMapping("/guize/enabled")
+    public ActionResult<PageListVO<DmsWenjianBianhaoRuleVO>> enabledRules(
+            Pagination pagination,
+            @RequestParam(name = "guize_id", required = false) String guizeId,
+            @RequestParam(name = "search_val", required = false) String searchValue)
+            throws DataException {
+        List<DmsWenjianBianhaoRuleVO> list = service.enabledRules(
+                pagination, guizeId, searchValue);
+        PaginationVO paginationVO = JsonUtil.getJsonToBean(pagination, PaginationVO.class);
+        return ActionResult.page(list, paginationVO);
+    }
+
+    @Operation(summary = "棰勮鏂囦欢缂栧彿锛屼笉鍗犵敤娴佹按鍙�")
+    @PostMapping("/preview")
+    public ActionResult<DmsWenjianBianhaoPreviewVO> preview(
+            @Valid @RequestBody DmsWenjianBianhaoPreviewForm form) throws DataException {
+        return ActionResult.success(service.preview(form.getGuizeId()));
+    }
+
+    @Operation(summary = "鍙叧鑱旂殑浣跨敤涓枃浠剁紪鍙�")
+    @GetMapping("/using")
+    public ActionResult<PageListVO<DmsWenjianBianhaoOptionVO>> usingNumbers(
+            Pagination pagination,
+            @RequestParam(name = "bianhao_id", required = false) String bianhaoId,
+            @RequestParam(name = "search_val", required = false) String searchValue)
+            throws DataException {
+        List<DmsWenjianBianhaoOptionVO> list = service.usingNumbers(
+                pagination, bianhaoId, searchValue);
+        PaginationVO paginationVO = JsonUtil.getJsonToBean(pagination, PaginationVO.class);
+        return ActionResult.page(list, paginationVO);
+    }
+
+    @Operation(summary = "鍚屾鏂囦欢缂栧彿鐢宠娴佺▼浜嬩欢")
+    @PostMapping("/shenqing/flow-event")
+    public ActionResult<String> syncApplicationFlowEvent(
+            @Valid @RequestBody DmsFlowEventForm form) throws DataException {
+        service.syncApplicationFlow(form.getFlowId(), form.getTaskId(),
+                requireWorkflowState(form.getTaskId()), form.getEventType());
+        return ActionResult.success("鏂囦欢缂栧彿鐢宠娴佺▼鐘舵�佸悓姝ユ垚鍔�", "鏂囦欢缂栧彿鐢宠娴佺▼鐘舵�佸悓姝ユ垚鍔�");
+    }
+
+    @Operation(summary = "鍚屾鏂囦欢鍚嶇О鍙樻洿娴佺▼浜嬩欢")
+    @PostMapping("/mingcheng-biangeng/flow-event")
+    public ActionResult<String> syncNameChangeFlowEvent(
+            @Valid @RequestBody DmsFlowEventForm form) throws DataException {
+        service.syncNameChangeFlow(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