From 7d2ee3cef2e0d68ba6400bc5957640d2771bbf4c Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期三, 16 九月 2026 18:05:40 +0800
Subject: [PATCH] refactor: 单据审核改为审批配置状态机(新增:audit接口/审核人字段/DB变更脚本)

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskService.java |   63 ++++++++++++++++++++++++-------
 1 files changed, 49 insertions(+), 14 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskService.java
index 25feac0..082c64e 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskService.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskService.java
@@ -6,6 +6,8 @@
 import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.task.MesWmStockTakingTaskDO;
 import jakarta.validation.Valid;
 
+import java.util.Set;
+
 /**
  * MES 鐩樼偣浠诲姟 Service 鎺ュ彛
  *
@@ -36,18 +38,51 @@
     void deleteStockTakingTask(Long id);
 
     /**
-     * 鎻愪氦鐩樼偣浠诲姟
+     * 寮�濮嬬洏鐐癸紙鑽夌 鈫� 鐩樼偣涓級
+     *
+     * <p>浠呰崏绋跨姸鎬佸彲鎵ц锛氭牎楠屼换鍔¤闈炵┖鍚庣疆涓虹洏鐐逛腑锛岃嫢寮�鍚喕缁撳垯鍐荤粨浠诲姟琛岀殑搴撳瓨銆�
+     * 鐩樼偣涓彲褰曞叆瀹炵洏鏁伴噺銆丒xcel 瀵煎叆瀹炵洏銆�
      *
      * @param id 鐩樼偣浠诲姟缂栧彿
      */
     void submitStockTakingTask(Long id);
 
     /**
-     * 瀹屾垚鐩樼偣浠诲姟
+     * 鎻愪氦鐩樼偣缁撴灉瀹℃壒锛堢洏鐐逛腑 鈫� 鐩樼偣涓风粨鏋滃鎵逛腑锛�
+     *
+     * <p>褰曞叆/瀵煎叆瀹屾垚鍚庢彁浜ょ粨鏋滃鎵癸細鏍¢獙鐩樼偣涓瓨鍦ㄤ笖鑷冲皯涓�鏉$洏鐐圭粨鏋溿�佷笖鏈疆缁撴灉瀹℃壒鏈彁浜よ繃锛�
+     * 璁板綍鎻愪氦鏃堕棿鍚庣瓑寰呭鏍搞�傚鏍镐汉鐢便�岀郴缁熺鐞� - 瀹℃壒閰嶇疆銆嶆寜涓氬姟绫诲瀷缁熶竴閰嶇疆
+     * 锛堜笟鍔$紪鐮� stock_taking_result_approve锛夛紝鎻愪氦鏃舵棤闇�鎸囧畾锛�
+     * 鏈惎鐢ㄥ鎵规垨鏈厤缃湁鏁堝鏍镐汉鏃舵姏鍑轰笟鍔″紓甯搞�傚鎵归�氳繃鍚庢墠鎵ц宸紓鏍搁攢骞剁疆涓哄凡瀹屾垚銆�
      *
      * @param id 鐩樼偣浠诲姟缂栧彿
      */
-    void finishStockTakingTask(Long id);
+    void submitStockTakingResultApproval(Long id);
+
+    /**
+     * 鑾峰緱鐩樼偣缁撴灉瀹℃壒鐨勫鏍镐汉缂栧彿闆嗗悎
+     *
+     * 渚涘墠绔垽鏂綋鍓嶇櫥褰曠敤鎴锋槸鍚﹀簲灞曠ず銆屽鏍搞�嶆寜閽紱鏈厤缃椂杩斿洖绌洪泦鍚堛��
+     *
+     * @return 瀹℃牳浜虹敤鎴风紪鍙烽泦鍚�
+     */
+    Set<Long> getStockTakingTaskApproverUserIds();
+
+    /**
+     * 瀹℃牳鐩樼偣缁撴灉锛堢洏鐐逛腑路缁撴灉瀹℃壒涓� 鈫� 宸插畬鎴� / 鐩樼偣涓級
+     *
+     * <p>浠呬笟鍔$紪鐮� stock_taking_result_approve 閰嶇疆鐨勫鏍镐汉鍙搷浣滐紙澶氫汉鏃舵垨绛撅級锛�
+     * 涓斾粎鍦ㄧ粨鏋滃鎵瑰凡鎻愪氦銆佸皻鏈鏍告椂鍏佽锛�
+     * <ul>
+     *     <li>瀹℃牳閫氳繃锛氳В鍐诲簱瀛橈紝鍚屼簨鍔¤嚜鍔ㄦ牳閿�鐩樼泩/鐩樹簭骞剁疆涓哄凡瀹屾垚锛�</li>
+     *     <li>瀹℃牳涓嶉�氳繃锛氬繀椤诲~鍐欏師鍥狅紝浠诲姟淇濇寔鐩樼偣涓紝鍙慨鏀瑰疄鐩樺悗閲嶆柊鎻愪氦缁撴灉瀹℃壒銆�</li>
+     * </ul>
+     *
+     * @param id           鐩樼偣浠诲姟缂栧彿
+     * @param pass         鏄惁閫氳繃锛宼rue=閫氳繃 / false=涓嶉�氳繃
+     * @param reviewRemark 瀹℃牳鎰忚锛屽鏍镐笉閫氳繃鏃跺繀濉�
+     */
+    void auditStockTakingResult(Long id, Boolean pass, String reviewRemark);
 
     /**
      * 鍙栨秷鐩樼偣浠诲姟
@@ -55,6 +90,17 @@
      * @param id 鐩樼偣浠诲姟缂栧彿
      */
     void cancelStockTakingTask(Long id);
+
+    /**
+     * 鐢辩洏鐐规柟妗堟寜鍛ㄦ湡鑷姩鐢熸垚鐩樼偣浠诲姟
+     *
+     * <p>渚涘悗鍙板畾鏃朵换鍔¤皟鐢細鍩轰簬宸插惎鐢ㄤ笖寮�鍚嚜鍔ㄧ敓鎴愮殑鏂规鍒涘缓鑽夌鐩樼偣浠诲姟骞剁敓鎴愭槑缁嗚锛�
+     * 浠诲姟缂栫爜鑷姩鐢熸垚銆傚垱寤烘垚鍔熷悗鍥炲啓鏂规涓婃鑷姩鐢熸垚鏃堕棿锛岄伩鍏嶅悓涓�鍛ㄦ湡閲嶅鐢熸垚銆�
+     *
+     * @param planId 鐩樼偣鏂规缂栧彿
+     * @return 鐩樼偣浠诲姟缂栧彿
+     */
+    Long createStockTakingTaskFromPlan(Long planId);
 
     /**
      * 鑾峰緱鐩樼偣浠诲姟
@@ -95,16 +141,5 @@
      * @return 鐩樼偣浠诲姟鍒嗛〉缁撴灉
      */
     PageResult<MesWmStockTakingTaskDO> getStockTakingTaskPage(MesWmStockTakingTaskPageReqVO pageReqVO);
-
-    /**
-     * 澶勭悊鐩樼偣宸紓锛岃皟鏁村簱瀛�
-     *
-     * 璇ユ柟娉曚細姣旇緝鐩樼偣缁撴灉涓庡簱瀛樺彴璐︾殑宸紓锛�
-     * - 鐩樼泩锛氬簱瀛樺鍔狅紝鍒涘缓鍏ュ簱浜嬪姟
-     * - 鐩樹簭锛氬簱瀛樺噺灏戯紝鍒涘缓鍑哄簱浜嬪姟
-     *
-     * @param id 鐩樼偣浠诲姟缂栧彿
-     */
-    void processStockTakingDifference(Long id);
 
 }

--
Gitblit v1.9.3