From 618030e495a9520291ebfd709c80c4c8a8b73451 Mon Sep 17 00:00:00 2001
From: quxin <592870522@qq.com>
Date: 星期五, 04 九月 2026 11:36:26 +0800
Subject: [PATCH] 修复: 生产领料后的退料应该是选择领料的记录,不是选择库存的记录(同时库存数据需要根据领料退料变动,比如库存100,领用80,然后领用80中退料30,库存应由原来的20变成50)
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/materialstock/MesWmMaterialStockService.java | 71 +++++++++++++++++++++++++++++++++++
1 files changed, 71 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..f58e2a5 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,8 +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.MesWmMaterialStockImportExcelVO;
+import cn.iocoder.yudao.module.mes.controller.admin.wm.materialstock.vo.MesWmMaterialStockImportRespVO;
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.dal.dataobject.wm.materialstock.MesWmMaterialStockDO;
import jakarta.validation.Valid;
@@ -113,6 +117,38 @@
Long batchId, String batchCode, Long vendorId, LocalDateTime receiptTime);
/**
+ * 鍒涘缓鏂扮殑搴撳瓨璁板綍锛堜笉鏌ユ壘宸叉湁璁板綍锛屽缁堝垱寤烘柊璁板綍锛�
+ *
+ * 鐢ㄤ簬閫�鏂欑瓑鍦烘櫙锛岄渶瑕佷负姣忔閫�鏂欏垱寤虹嫭绔嬬殑搴撳瓨璁板綍
+ *
+ * @param itemId 鐗╂枡缂栧彿
+ * @param warehouseId 浠撳簱缂栧彿
+ * @param locationId 搴撳尯缂栧彿
+ * @param areaId 搴撲綅缂栧彿
+ * @param batchId 鎵规缂栧彿
+ * @param batchCode 鎵规鍙�
+ * @param vendorId 渚涘簲鍟嗙紪鍙�
+ * @param receiptTime 鍏ュ簱鏃堕棿锛堜负绌哄垯榛樿褰撳墠鏃堕棿锛�
+ * @return 鏂板垱寤虹殑搴撳瓨璁板綍
+ */
+ MesWmMaterialStockDO createMaterialStock(Long itemId, Long warehouseId, Long locationId, Long areaId,
+ 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);
+
+ /**
* 鏇存柊搴撳瓨鏁伴噺
*
* @param id 搴撳瓨璁板綍缂栧彿
@@ -148,4 +184,39 @@
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);
+
+ /**
+ * 瀵煎叆搴撳瓨鐜版湁閲�
+ * <p>
+ * 姣忚閫氳繃銆屾搷浣滅被鍨嬨�嶆帶鍒讹細澧炲姞/鍑忓皯 鎸夊彉鍔ㄩ噺璋冩暣鍦ㄥ簱鏁伴噺锛涜鐩� 鎸夌洰鏍囧�煎樊棰濊皟鏁淬��
+ * 鎸夈�岀墿鏂欑紪鐮� + 浠撳簱 + 搴撳尯 + 搴撲綅 + 鎵规鍙� + 渚涘簲鍟嗐�嶅畾浣嶅簱瀛樿褰曘��
+ * 姣忚鐙珛浜嬪姟锛氬崟琛屽け璐ヤ笉褰卞搷鍏跺畠琛屻��
+ *
+ * @param importList 瀵煎叆鏁版嵁
+ * @return 瀵煎叆缁撴灉
+ */
+ MesWmMaterialStockImportRespVO importMaterialStockList(List<MesWmMaterialStockImportExcelVO> importList);
+
}
--
Gitblit v1.9.3