From beb2d0d7f4bb20606be8a36772f84205ebefb0cd Mon Sep 17 00:00:00 2001 From: wanghao Date: Fri, 9 Jan 2026 17:27:00 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E5=85=A5=E5=BA=93=E7=89=A9?= =?UTF-8?q?=E6=96=99=E9=80=89=E6=8B=A9=E5=90=8E=E6=98=BE=E7=A4=BA=E5=BA=93?= =?UTF-8?q?=E5=AD=98=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WmsInventoryDetailsController.java | 6 +++++- .../wms/service/IWmsInventoryDetailsService.java | 2 ++ .../impl/WmsInventoryDetailsServiceImpl.java | 13 ++++++++++++- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/controller/WmsInventoryDetailsController.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/controller/WmsInventoryDetailsController.java index 09847a68..b1ac52cf 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/controller/WmsInventoryDetailsController.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/controller/WmsInventoryDetailsController.java @@ -117,5 +117,9 @@ public class WmsInventoryDetailsController extends BaseController { List list = wmsInventoryDetailsService.queryList(bo); return R.ok(list); } - + @GetMapping("/getWmsInventoryDetailbyProductId") + public R getWmsInventoryDetailbyProductId(@RequestParam("productId") Long productId) { + WmsInventoryDetailsVo vo = wmsInventoryDetailsService.getWmsInventoryDetailbyProductId(productId); + return R.ok(vo); + } } diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/IWmsInventoryDetailsService.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/IWmsInventoryDetailsService.java index 9341d835..180e93bf 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/IWmsInventoryDetailsService.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/IWmsInventoryDetailsService.java @@ -80,4 +80,6 @@ public interface IWmsInventoryDetailsService { Boolean inStoreAddInventoryAmount(Long warehouseId, Long projectId, String batchNumber, Long materialId, Double unitPrice, String unitName, Double inStockAmount,String changeType); Boolean outStoreLossInventoryAmount(Long inventoryId, Double outStockAmount, Long warehouseId, String batchNumber, Long materielId, String changeType); + + WmsInventoryDetailsVo getWmsInventoryDetailbyProductId(Long productId); } diff --git a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsInventoryDetailsServiceImpl.java b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsInventoryDetailsServiceImpl.java index db200d0e..b80c7ffe 100644 --- a/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsInventoryDetailsServiceImpl.java +++ b/ruoyi-modules/ruoyi-wms/src/main/java/org/dromara/wms/service/impl/WmsInventoryDetailsServiceImpl.java @@ -78,7 +78,7 @@ public class WmsInventoryDetailsServiceImpl implements IWmsInventoryDetailsServi .leftJoin(WmsBaseProduct.class, WmsBaseProduct::getProductId, WmsInventoryDetails::getMaterielId) // 物料 .select(WmsBaseProduct::getProductName, WmsBaseProduct::getProductCode, WmsBaseProduct::getExternalBrand, WmsBaseProduct::getProductSpe) // 物料名称、编码、品牌 .leftJoin(WmsWarehouseInfo.class, WmsWarehouseInfo::getWarehouseId, WmsInventoryDetails::getWarehouseId) // 仓库 - .select(WmsWarehouseInfo::getWarehouseName) + .select(WmsWarehouseInfo::getWarehouseName, WmsWarehouseInfo::getWarehouseCode) .eq(bo.getWarehouseId() != null, WmsInventoryDetails::getWarehouseId, bo.getWarehouseId()) // 仓库id .like(StringUtils.isNotBlank(bo.getProductCode()), WmsBaseProduct::getProductCode, bo.getProductCode()) // 物料编码 .like(StringUtils.isNotBlank(bo.getProductName()), WmsBaseProduct::getProductName, bo.getProductName()) // 物料名称 @@ -268,4 +268,15 @@ public class WmsInventoryDetailsServiceImpl implements IWmsInventoryDetailsServi wmsInventoryLedgerMapper.insert(wmsInventoryLedger); return true; } + + @Override + public WmsInventoryDetailsVo getWmsInventoryDetailbyProductId(Long productId) { + + MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsInventoryDetails.class) + .select(WmsInventoryDetails::getMaterielId) + .selectSum(WmsInventoryDetails::getInventoryAmount, "inventoryAmount") + .eq(WmsInventoryDetails::getDelFlag, "0") + .eq(WmsInventoryDetails::getMaterielId, productId); + return baseMapper.selectVoOne(lqw); + } }