From 0da8464afe907ed91ab03eebc7613666353bd7e5 Mon Sep 17 00:00:00 2001
From: hsy <1029150275@qq.com>
Date: 星期三, 19 八月 2026 11:54:08 +0800
Subject: [PATCH] feat(mes): 新增工作台报工数据隔离与生产订单BPM审批动态控制
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/task/MesProTaskService.java | 44 +++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 43 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 f3180d5..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 {
@@ -123,6 +123,15 @@
void cancelTaskByOrderId(Long workOrderId);
/**
+ * 鏍规嵁宸ヤ綔绔欑粦瀹氳澶囩殑鐢熶骇鏁堢巼鍜屼紶閫佸饱甯︼紝璁$畻鐢熶骇鏃堕暱锛堝崟浣嶏細灏忔椂锛�
+ *
+ * @param workstationId 宸ヤ綔绔欑紪鍙�
+ * @param quantity 鎺掍骇鏁伴噺
+ * @return 鐢熶骇鏃堕暱锛堝皬鏃讹級锛屾棤璁惧鍒欒繑鍥� 0
+ */
+ Integer calculateDuration(Long workstationId, BigDecimal quantity);
+
+ /**
* 绱姞浠诲姟鐨勫凡鐢熶骇銆佸悎鏍笺�佷笉鍚堟牸鏁伴噺
*
* @param id 浠诲姟缂栧彿
@@ -153,4 +162,37 @@
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