From 6d910029b6c81db0a2b66caa66952781397b153a Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期六, 29 八月 2026 13:45:52 +0800
Subject: [PATCH] feat(mes): 实现H5溯源页面与二维码内容集成

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/materialstock/MesWmMaterialStockService.java |   77 ++++++++++++++++++++++++++++++++++++--
 1 files changed, 73 insertions(+), 4 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 cc8b761..2e6a51f 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
@@ -4,7 +4,9 @@
 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;
 
@@ -114,6 +116,22 @@
                                                   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);
+
+    /**
      * 鏇存柊搴撳瓨鏁伴噺
      *
      * @param id 搴撳瓨璁板綍缂栧彿
@@ -121,6 +139,42 @@
      * @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);
+
+    /**
+     * 鎸変粨搴撴壒娆℃洿鏂板簱瀛樼姸鎬侊紙鐢ㄤ簬绉嶅瓙璐ㄦ鍚堟牸鍚庯紝灏嗘殏瀛樺簱鏁存壒杞负鍚堟牸搴擄級
+     *
+     * @param batchId   浠撳簱鎵规ID
+     * @param toState   鐩爣搴撳瓨鐘舵��
+     * @param fromState 鍘熷簱瀛樼姸鎬侊紙闄愬畾鍙洿鏂拌鐘舵�佺殑璁板綍锛�
+     * @return 褰卞搷琛屾暟
+     */
+    int updateStockStateByBatchId(Long batchId, Integer toState, Integer fromState);
 
     /**
      * 搴撲綅娣锋斁瑙勫垯鏍¢獙
@@ -150,11 +204,26 @@
                                                Long warehouseId, Long locationId, Long areaId, BigDecimal quantity);
 
     /**
-     * 搴撳瓨璋冩暣锛堣嚜瀹氫箟鍑哄叆搴擄級
+     * 鑷畾涔夊叆搴�
      *
-     * @param reqVO 璋冩暣璇锋眰
-     * @return 搴撳瓨浜嬪姟娴佹按ID
+     * @param reqVO 鍏ュ簱璇锋眰
+     * @return 搴撳瓨璁板綍ID
      */
-    Long adjustMaterialStock(@Valid MesWmMaterialStockAdjustReqVO reqVO);
+    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