From b852254d90e7d1955db31db154193ec8ee84d8b3 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 09 九月 2026 10:57:59 +0800
Subject: [PATCH] feat(hrm): 新增员工用工性质、班组归属字段及考勤异常处理优化

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskService.java |   67 ++++++++++++++++++++++++++-------
 1 files changed, 52 insertions(+), 15 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..a83c2a6 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,12 +6,20 @@
 import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.task.MesWmStockTakingTaskDO;
 import jakarta.validation.Valid;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * MES 鐩樼偣浠诲姟 Service 鎺ュ彛
  *
  * @author 瓒呯骇绠$悊鍛�
  */
 public interface MesWmStockTakingTaskService {
+
+    /**
+     * 鐩樼偣缁撴灉瀹℃壒 BPM 鍒嗙被缂栫爜
+     */
+    String APPROVE_CATEGORY_CODE = "stock_taking_result_approve";
 
     /**
      * 鍒涘缓鐩樼偣浠诲姟
@@ -36,18 +44,47 @@
     void deleteStockTakingTask(Long id);
 
     /**
-     * 鎻愪氦鐩樼偣浠诲姟
+     * 寮�濮嬬洏鐐癸紙鑽夌 鈫� 鐩樼偣涓級
+     *
+     * <p>浠呰崏绋跨姸鎬佸彲鎵ц锛氭牎楠屼换鍔¤闈炵┖鍚庣疆涓虹洏鐐逛腑锛岃嫢寮�鍚喕缁撳垯鍐荤粨浠诲姟琛岀殑搴撳瓨銆�
+     * 鐩樼偣涓彲褰曞叆瀹炵洏鏁伴噺銆丒xcel 瀵煎叆瀹炵洏銆�
      *
      * @param id 鐩樼偣浠诲姟缂栧彿
      */
     void submitStockTakingTask(Long id);
 
     /**
-     * 瀹屾垚鐩樼偣浠诲姟
+     * 鎻愪氦鐩樼偣缁撴灉瀹℃壒锛堢洏鐐逛腑 鈫� 鐩樼偣涓� + 鍒涘缓 BPM 娴佺▼瀹炰緥锛�
      *
-     * @param id 鐩樼偣浠诲姟缂栧彿
+     * <p>褰曞叆/瀵煎叆瀹屾垚鍚庢彁浜ょ粨鏋滃鎵癸細鏍¢獙鐩樼偣涓瓨鍦ㄤ笖鑷冲皯涓�鏉$洏鐐圭粨鏋溿�佷笖缁撴灉瀹℃壒鏈彁浜よ繃锛�
+     * 鍒涘缓 BPM 娴佺▼瀹炰緥骞跺洖鍐� {@code processInstanceId}銆傚鎵归�氳繃鍚庢墠鎵ц宸紓鏍搁攢骞剁疆涓哄凡瀹屾垚銆�
+     *
+     * @param id                  鐩樼偣浠诲姟缂栧彿
+     * @param processDefinitionKey BPM 娴佺▼瀹氫箟 Key
      */
-    void finishStockTakingTask(Long id);
+    void submitStockTakingResultApproval(Long id, String processDefinitionKey);
+
+    /**
+     * 鏇存柊鐩樼偣浠诲姟缁撴灉瀹℃壒鐘舵�侊紙BPM 瀹℃壒鍥炶皟锛�
+     *
+     * <p>浠呯洏鐐逛腑鐘舵�佸鐞嗭細
+     * <ul>
+     *     <li>瀹℃壒閫氳繃锛氳В鍐诲簱瀛橈紝鍚屼簨鍔¤嚜鍔ㄦ牳閿�鐩樼泩/鐩樹簭骞剁疆涓哄凡瀹屾垚锛�</li>
+     *     <li>瀹℃壒椹冲洖锛氭竻绌烘祦绋嬪疄渚嬬紪鍙凤紝浠诲姟淇濇寔鐩樼偣涓紝鍙慨鏀瑰疄鐩樺悗閲嶆柊鎻愪氦锛�</li>
+     *     <li>瀹℃壒鍙栨秷锛氳В鍐诲簱瀛樺苟缃负宸插彇娑堛��</li>
+     * </ul>
+     *
+     * @param id        鐩樼偣浠诲姟缂栧彿
+     * @param bpmResult BPM 瀹℃壒缁撴灉锛堥�氳繃/椹冲洖/鍙栨秷锛�
+     */
+    void updateStockTakingTaskResultAuditStatus(Long id, Integer bpmResult);
+
+    /**
+     * 鑾峰彇鐩樼偣缁撴灉瀹℃壒鍙敤鐨� BPM 娴佺▼瀹氫箟鍒楄〃
+     *
+     * @return 娴佺▼瀹氫箟鍒楄〃锛坕d/key/name锛�
+     */
+    List<Map<String, Object>> getStockTakingTaskResultApprovalProcessDefinitionList();
 
     /**
      * 鍙栨秷鐩樼偣浠诲姟
@@ -55,6 +92,17 @@
      * @param id 鐩樼偣浠诲姟缂栧彿
      */
     void cancelStockTakingTask(Long id);
+
+    /**
+     * 鐢辩洏鐐规柟妗堟寜鍛ㄦ湡鑷姩鐢熸垚鐩樼偣浠诲姟
+     *
+     * <p>渚涘悗鍙板畾鏃朵换鍔¤皟鐢細鍩轰簬宸插惎鐢ㄤ笖寮�鍚嚜鍔ㄧ敓鎴愮殑鏂规鍒涘缓鑽夌鐩樼偣浠诲姟骞剁敓鎴愭槑缁嗚锛�
+     * 浠诲姟缂栫爜鑷姩鐢熸垚銆傚垱寤烘垚鍔熷悗鍥炲啓鏂规涓婃鑷姩鐢熸垚鏃堕棿锛岄伩鍏嶅悓涓�鍛ㄦ湡閲嶅鐢熸垚銆�
+     *
+     * @param planId 鐩樼偣鏂规缂栧彿
+     * @return 鐩樼偣浠诲姟缂栧彿
+     */
+    Long createStockTakingTaskFromPlan(Long planId);
 
     /**
      * 鑾峰緱鐩樼偣浠诲姟
@@ -95,16 +143,5 @@
      * @return 鐩樼偣浠诲姟鍒嗛〉缁撴灉
      */
     PageResult<MesWmStockTakingTaskDO> getStockTakingTaskPage(MesWmStockTakingTaskPageReqVO pageReqVO);
-
-    /**
-     * 澶勭悊鐩樼偣宸紓锛岃皟鏁村簱瀛�
-     *
-     * 璇ユ柟娉曚細姣旇緝鐩樼偣缁撴灉涓庡簱瀛樺彴璐︾殑宸紓锛�
-     * - 鐩樼泩锛氬簱瀛樺鍔狅紝鍒涘缓鍏ュ簱浜嬪姟
-     * - 鐩樹簭锛氬簱瀛樺噺灏戯紝鍒涘缓鍑哄簱浜嬪姟
-     *
-     * @param id 鐩樼偣浠诲姟缂栧彿
-     */
-    void processStockTakingDifference(Long id);
 
 }

--
Gitblit v1.9.3