From 1ba0dbfde5634c8bf2ec20891d6b226b996f6b59 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 02 九月 2026 14:24:38 +0800
Subject: [PATCH] refactor(mes): 优化MES生产扫码入库功能支持多类型扫码
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/materialstock/MesWmMaterialStockService.java | 80 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 80 insertions(+), 0 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/materialstock/MesWmMaterialStockService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/materialstock/MesWmMaterialStockService.java
index a6e667c..8d9a29d 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/materialstock/MesWmMaterialStockService.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/materialstock/MesWmMaterialStockService.java
@@ -1,9 +1,12 @@
package cn.iocoder.yudao.module.mes.service.wm.materialstock;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.mes.controller.admin.wm.materialstock.vo.MesWmMaterialStockAdjustReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.wm.materialstock.vo.MesWmMaterialStockFreezeReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.wm.materialstock.vo.MesWmMaterialStockListReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.wm.materialstock.vo.MesWmMaterialStockMoveReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.wm.materialstock.vo.MesWmMaterialStockPageReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.wm.materialstock.vo.MesWmStockSummaryRespVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.materialstock.MesWmMaterialStockDO;
import jakarta.validation.Valid;
@@ -113,6 +116,34 @@
Long batchId, String batchCode, Long vendorId, LocalDateTime receiptTime);
/**
+ * 鎸夌粍鍚堥敭鏌ユ壘搴撳瓨璁板綍锛堝彧鏌ヤ笉鍒涘缓锛�
+ *
+ * @param itemId 鐗╂枡缂栧彿
+ * @param warehouseId 浠撳簱缂栧彿
+ * @param locationId 搴撳尯缂栧彿
+ * @param areaId 搴撲綅缂栧彿
+ * @param batchId 鎵规缂栧彿
+ * @param vendorId 渚涘簲鍟嗙紪鍙�
+ * @return 搴撳瓨璁板綍锛堜笉瀛樺湪杩斿洖 null锛�
+ */
+ MesWmMaterialStockDO getMaterialStockByCompositeKey(Long itemId, Long warehouseId, Long locationId, Long areaId,
+ Long batchId, Long vendorId);
+
+ List<MesWmMaterialStockDO> getMaterialStockListByItemAndBatch(Long itemId, Long batchId);
+
+ /**
+ * 鏌ヨ鐗╂枡/鎵规鐨勫悎鏍煎簱搴撳瓨璁板綍锛堜粎 stock_state=20锛�
+ *
+ * <p>鍚屾壒娆″彲鑳藉悓鏃跺瓨鍦ㄦ殏瀛樺簱涓庡悎鏍煎簱涓ゆ潯璁板綍锛堢瀛愯川妫�鎸夎鎷嗘暟閲忥級锛�
+ * 閿�鍞嚭搴撻�夊簱瀛樺繀椤讳粠鍚堟牸搴撹褰曚腑閫夛紝閬垮厤閫変腑鏈川妫�鐨勬殏瀛樺簱瀛樸��</p>
+ *
+ * @param itemId 鐗╂枡缂栧彿
+ * @param batchId 鎵规缂栧彿
+ * @return 鍚堟牸搴撳簱瀛樿褰曞垪琛�
+ */
+ List<MesWmMaterialStockDO> getQualifiedMaterialStockListByItemAndBatch(Long itemId, Long batchId);
+
+ /**
* 鏇存柊搴撳瓨鏁伴噺
*
* @param id 搴撳瓨璁板綍缂栧彿
@@ -120,6 +151,32 @@
* @param checkFlag 鏄惁鏍¢獙搴撳瓨鍏呰冻锛堜负 true 涓旀墸鍑忓悗涓鸿礋鍒欐姤閿欙級
*/
void updateMaterialStockQuantity(Long id, BigDecimal quantity, boolean checkFlag);
+
+ void updateMaterialStockState(Long id, Integer stockState);
+
+ /**
+ * 鎸夊搧绉嶇淮搴︽眹鎬诲簱瀛樻暟閲忥紙鍐呭瓨鑱氬悎锛屾敮鎸� stockState 绛夎繃婊ゆ潯浠讹級
+ *
+ * @param reqVO 杩囨护鏉′欢
+ * @return 鍝佺姹囨�诲垪琛�
+ */
+ List<MesWmStockSummaryRespVO> getStockSummaryByItem(MesWmMaterialStockListReqVO reqVO);
+
+ /**
+ * 鎸夋壒娆$淮搴︽眹鎬诲簱瀛樻暟閲忥紙鍐呭瓨鑱氬悎锛屾敮鎸� stockState 绛夎繃婊ゆ潯浠讹級
+ *
+ * @param reqVO 杩囨护鏉′欢
+ * @return 鎵规姹囨�诲垪琛�
+ */
+ List<MesWmStockSummaryRespVO> getStockSummaryByBatch(MesWmMaterialStockListReqVO reqVO);
+
+ /**
+ * 鎸変粨搴撶淮搴︽眹鎬诲簱瀛樻暟閲忥紙鍐呭瓨鑱氬悎锛屾敮鎸� stockState 绛夎繃婊ゆ潯浠讹級
+ *
+ * @param reqVO 杩囨护鏉′欢
+ * @return 浠撳簱姹囨�诲垪琛�
+ */
+ List<MesWmStockSummaryRespVO> getStockSummaryByWarehouse(MesWmMaterialStockListReqVO reqVO);
/**
* 搴撲綅娣锋斁瑙勫垯鏍¢獙
@@ -148,4 +205,27 @@
MesWmMaterialStockDO validateSelectedStock(Long materialStockId, Long itemId, Long batchId, String batchCode,
Long warehouseId, Long locationId, Long areaId, BigDecimal quantity);
+ /**
+ * 鑷畾涔夊叆搴�
+ *
+ * @param reqVO 鍏ュ簱璇锋眰
+ * @return 搴撳瓨璁板綍ID
+ */
+ Long adjustMaterialStockIn(@Valid MesWmMaterialStockAdjustReqVO reqVO);
+
+ /**
+ * 鑷畾涔夊嚭搴�
+ *
+ * @param reqVO 鍑哄簱璇锋眰
+ * @return 搴撳瓨璁板綍ID
+ */
+ Long adjustMaterialStockOut(@Valid MesWmMaterialStockAdjustReqVO reqVO);
+
+ /**
+ * 搴撳瓨绉诲簱
+ *
+ * @param reqVO 绉诲簱璇锋眰
+ */
+ void moveMaterialStock(@Valid MesWmMaterialStockMoveReqVO reqVO);
+
}
--
Gitblit v1.9.3