From 1458532478eedbd82947e6ee8515f881d4a4912a Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期六, 18 七月 2026 16:14:23 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_business' into dev_business
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/mps/MesProMpsService.java | 148 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 148 insertions(+), 0 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/mps/MesProMpsService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/mps/MesProMpsService.java
new file mode 100644
index 0000000..8c6af1f
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/mps/MesProMpsService.java
@@ -0,0 +1,148 @@
+package cn.iocoder.yudao.module.mes.service.pro.mps;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.mes.controller.admin.pro.mps.vo.MesProMpsPageReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.pro.mps.vo.MesProMpsSaveReqVO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.pro.mps.MesProMpsDO;
+import jakarta.validation.Valid;
+
+import java.math.BigDecimal;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * MES 鐢熶骇涓昏鍒掞紙MPS锛塖ervice 鎺ュ彛
+ *
+ * @author 鑺嬮亾婧愮爜
+ */
+public interface MesProMpsService {
+
+ /**
+ * 鍒涘缓 MPS锛堜緵 API 璋冪敤锛岃嚜鍔ㄦ槧灏勭墿鏂欙級
+ *
+ * @param saleOrderId 閿�鍞鍗旾D
+ * @param saleOrderNo 閿�鍞鍗曞彿
+ * @param saleOrderItemId 閿�鍞鍗曟槑缁咺D
+ * @param mdmItemId MDM 鐗╂枡ID
+ * @param productName 浜у搧鍚嶇О锛堢敤浜庨敊璇彁绀猴級
+ * @param quantity 璁″垝鏁伴噺
+ * @param clientId 瀹㈡埛ID
+ * @param requestDate 闇�姹傛棩鏈�
+ * @param remark 澶囨敞
+ * @return MPS 缂栧彿锛屽鏋� MES 浜у搧涓嶅瓨鍦ㄨ繑鍥� null
+ * @throws cn.iocoder.yudao.framework.common.exception.ServiceException 濡傛灉 MES 浜у搧涓嶅瓨鍦�
+ */
+ Long createMps(Long saleOrderId, String saleOrderNo, Long saleOrderItemId,
+ Long mdmItemId, String productName, BigDecimal quantity, Long clientId,
+ String requestDate, String remark);
+
+ /**
+ * 鍒涘缓 MPS
+ *
+ * @param createReqVO 鍒涘缓淇℃伅
+ * @return MPS 缂栧彿
+ */
+ Long createMps(@Valid MesProMpsSaveReqVO createReqVO);
+
+ /**
+ * 鏇存柊 MPS
+ *
+ * @param updateReqVO 鏇存柊淇℃伅
+ */
+ void updateMps(@Valid MesProMpsSaveReqVO updateReqVO);
+
+ /**
+ * 鍒犻櫎 MPS锛堜粎鑽夌鐘舵�侊級
+ *
+ * @param id 缂栧彿
+ */
+ void deleteMps(Long id);
+
+ /**
+ * 涓嬪彂鍗曟潯 MPS
+ *
+ * @param id MPS 缂栧彿
+ * @return 鐢熸垚鐨勫伐鍗� ID
+ */
+ Long issueMps(Long id);
+
+ /**
+ * 鍚堝苟涓嬪彂澶氭潯 MPS
+ * 灏嗗鏉$浉鍚屼骇鍝佺殑 MPS 鍚堝苟鐢熸垚涓�鏉$敓浜у伐鍗�
+ *
+ * @param mpsIds MPS 缂栧彿鍒楄〃
+ * @return 鐢熸垚鐨勫伐鍗� ID
+ */
+ Long mergeAndIssueMps(List<Long> mpsIds);
+
+ /**
+ * 鍙栨秷 MPS
+ *
+ * @param id 缂栧彿
+ */
+ void cancelMps(Long id);
+
+ /**
+ * 瀹屾垚 MPS锛堢敱鐢熶骇宸ュ崟瀹屾垚鏃惰Е鍙戯級
+ *
+ * @param id 缂栧彿
+ */
+ void finishMps(Long id);
+
+ /**
+ * 鏍规嵁閿�鍞鍗曟槑缁嗚幏鍙� MPS
+ *
+ * @param saleOrderItemId 閿�鍞鍗曟槑缁咺D
+ * @return MPS
+ */
+ MesProMpsDO getMpsBySaleOrderItemId(Long saleOrderItemId);
+
+ /**
+ * 鑾峰彇 MPS
+ *
+ * @param id 缂栧彿
+ * @return MPS
+ */
+ MesProMpsDO getMps(Long id);
+
+ /**
+ * 鑾峰彇 MPS 鍒嗛〉
+ *
+ * @param pageReqVO 鍒嗛〉鏌ヨ
+ * @return 鍒嗛〉缁撴灉
+ */
+ PageResult<MesProMpsDO> getMpsPage(MesProMpsPageReqVO pageReqVO);
+
+ /**
+ * 鑾峰彇 MPS 鍒楄〃
+ *
+ * @param ids 缂栧彿鍒楄〃
+ * @return MPS 鍒楄〃
+ */
+ List<MesProMpsDO> getMpsList(Collection<Long> ids);
+
+ /**
+ * 鏍规嵁閿�鍞鍗曟槑缁咺D鍒楄〃鑾峰彇 MPS 鍒楄〃
+ *
+ * @param saleOrderItemIds 閿�鍞鍗曟槑缁咺D鍒楄〃
+ * @return MPS 鍒楄〃
+ */
+ List<MesProMpsDO> getMpsListBySaleOrderItemIds(Collection<Long> saleOrderItemIds);
+
+ /**
+ * 鑾峰彇鍙悎骞剁殑 MPS 鍒楄〃锛堢浉鍚屼骇鍝併�佽崏绋跨姸鎬侊級
+ *
+ * @param productId 浜у搧ID
+ * @return MPS 鍒楄〃
+ */
+ List<MesProMpsDO> getMergeableMpsList(Long productId);
+
+ /**
+ * 鏇存柊宸茬敓浜ф暟閲�
+ *
+ * @param id MPS 缂栧彿
+ * @param incrQuantity 澧為噺
+ */
+ void updateProducedQuantity(Long id, BigDecimal incrQuantity);
+
+}
\ No newline at end of file
--
Gitblit v1.9.3