From fb747de6c40e2aa92d0dd81cca8b9fbc848aeff7 Mon Sep 17 00:00:00 2001
From: hsy <1029150275@qq.com>
Date: 星期三, 19 八月 2026 12:39:59 +0800
Subject: [PATCH] Merge branch 'dev_business' into fix/hsy/20260811

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/task/MesProTaskService.java |   70 ++++++++++++++++++++++++++++++++++
 1 files changed, 69 insertions(+), 1 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/task/MesProTaskService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/task/MesProTaskService.java
index 058ec83..c2e0d11 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/task/MesProTaskService.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/task/MesProTaskService.java
@@ -16,7 +16,7 @@
 /**
  * MES 鐢熶骇浠诲姟 Service 鎺ュ彛
  *
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
  */
 public interface MesProTaskService {
 
@@ -57,6 +57,14 @@
      * @return 鐢熶骇浠诲姟鍒嗛〉
      */
     PageResult<MesProTaskDO> getTaskPage(MesProTaskPageReqVO pageReqVO);
+
+    /**
+     * 鑾峰緱寰呮姤宸ュ彴璐﹀垎椤碉紙杩涜涓笖浠嶆湁寰呮姤宸ラ噺鐨勪换鍔★級
+     *
+     * @param pageReqVO 鍒嗛〉鏌ヨ
+     * @return 寰呮姤宸ヤ换鍔″垎椤�
+     */
+    PageResult<MesProTaskDO> getPendingFeedbackPage(MesProTaskPageReqVO pageReqVO);
 
     /**
      * 鏍规嵁宸ュ崟缂栧彿鍒楄〃锛屾壒閲忚幏寰楃敓浜т换鍔″垪琛�
@@ -115,6 +123,15 @@
     void cancelTaskByOrderId(Long workOrderId);
 
     /**
+     * 鏍规嵁宸ヤ綔绔欑粦瀹氳澶囩殑鐢熶骇鏁堢巼鍜屼紶閫佸饱甯︼紝璁$畻鐢熶骇鏃堕暱锛堝崟浣嶏細灏忔椂锛�
+     *
+     * @param workstationId 宸ヤ綔绔欑紪鍙�
+     * @param quantity      鎺掍骇鏁伴噺
+     * @return 鐢熶骇鏃堕暱锛堝皬鏃讹級锛屾棤璁惧鍒欒繑鍥� 0
+     */
+    Integer calculateDuration(Long workstationId, BigDecimal quantity);
+
+    /**
      * 绱姞浠诲姟鐨勫凡鐢熶骇銆佸悎鏍笺�佷笉鍚堟牸鏁伴噺
      *
      * @param id                    浠诲姟缂栧彿
@@ -127,4 +144,55 @@
                                 BigDecimal incrQualifyQuantity,
                                 BigDecimal incrUnqualifyQuantity);
 
+    /**
+     * 涓�閿帓浜ч瑙�
+     *
+     * @param reqVO 鎺掍骇璇锋眰
+     * @return 棰勭敓鎴愪换鍔″垪琛�
+     */
+    cn.iocoder.yudao.module.mes.controller.admin.pro.task.vo.MesProTaskAutoGeneratePreviewRespVO previewAutoGenerate(
+            cn.iocoder.yudao.module.mes.controller.admin.pro.task.vo.MesProTaskAutoGenerateReqVO reqVO);
+
+    /**
+     * 涓�閿帓浜ф墽琛�
+     *
+     * @param reqVO 鎺掍骇璇锋眰
+     * @return 鐢熸垚鐨勪换鍔D鍒楄〃
+     */
+    List<Long> autoGenerateTasks(
+            cn.iocoder.yudao.module.mes.controller.admin.pro.task.vo.MesProTaskAutoGenerateReqVO reqVO);
+
+    /**
+     * 鐢熶骇浠诲姟鍋滃伐
+     *
+     * @param pauseReqVO 鍋滃伐璇锋眰
+     */
+    void pauseTask(cn.iocoder.yudao.module.mes.controller.admin.pro.task.vo.MesProTaskPauseReqVO pauseReqVO);
+
+    /**
+     * 鐢熶骇浠诲姟澶嶅伐
+     *
+     * @param resumeReqVO 澶嶅伐璇锋眰
+     */
+    void resumeTask(cn.iocoder.yudao.module.mes.controller.admin.pro.task.vo.MesProTaskResumeReqVO resumeReqVO);
+
+    /**
+     * 鑾峰彇鐢熶骇浠诲姟鐨勬寚瀹氭姤宸ヤ汉鍛樺垪琛紝鎸変换鍔$紪鍙峰垎缁�
+     *
+     * @param taskIds 浠诲姟缂栧彿闆嗗悎
+     * @return 浠诲姟鍏宠仈鐨勪汉鍛樺垪琛� Map
+     */
+    default Map<Long, List<cn.iocoder.yudao.module.mes.dal.dataobject.pro.task.MesProTaskAssigneeDO>> getTaskAssigneeMap(Collection<Long> taskIds) {
+        if (cn.hutool.core.collection.CollUtil.isEmpty(taskIds)) {
+            return java.util.Collections.emptyMap();
+        }
+        return cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMultiMap(
+                getTaskAssigneeListByTaskIds(taskIds), cn.iocoder.yudao.module.mes.dal.dataobject.pro.task.MesProTaskAssigneeDO::getTaskId);
+    }
+
+    /**
+     * 鏍规嵁浠诲姟缂栧彿闆嗗悎鑾峰彇鍏宠仈浜哄憳鍒楄〃
+     */
+    List<cn.iocoder.yudao.module.mes.dal.dataobject.pro.task.MesProTaskAssigneeDO> getTaskAssigneeListByTaskIds(Collection<Long> taskIds);
+
 }

--
Gitblit v1.9.3