From c96748a795cccb279acff9960a13a628e7b35bc4 Mon Sep 17 00:00:00 2001 From: wanghao Date: Tue, 4 Mar 2025 08:39:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E5=8E=9F=E6=9D=90?= =?UTF-8?q?=E6=96=99=E5=87=BA=E5=BA=93=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/controller/WmsPdaApiController.java | 18 +++++++---- .../org/dromara/wms/domain/WmsInventory.java | 2 +- .../wms/service/IWmsPdaApiService.java | 2 ++ .../service/impl/WmsPdaApiServiceImpl.java | 32 ++++++++++++++++--- 4 files changed, 43 insertions(+), 11 deletions(-) diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsPdaApiController.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsPdaApiController.java index e8734a3c..4b491054 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsPdaApiController.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsPdaApiController.java @@ -3,6 +3,7 @@ package org.dromara.wms.controller; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; import org.dromara.common.web.core.BaseController; +import org.dromara.wms.domain.WmsInventory; import org.dromara.wms.domain.bo.WmsReturnOrderBo; import org.dromara.wms.domain.vo.*; import org.dromara.wms.service.*; @@ -46,7 +47,9 @@ public class WmsPdaApiController extends BaseController { } return toAjax(result); } + private final IWmsBaseLocationService baseLocationService; + @PostMapping("/raw/inSelectCode") public R inSelectCode(String code) { @@ -60,32 +63,35 @@ public class WmsPdaApiController extends BaseController { @PostMapping("/raw/inSubmit") public R inSubmit(@RequestBody WmsInstockPrintVo vo) { - WmsBaseLocationVo wmsBaseLocationVo=baseLocationService.selectLocationVoByCode( vo.getLocationCode()); + WmsBaseLocationVo wmsBaseLocationVo = baseLocationService.selectLocationVoByCode(vo.getLocationCode()); if (wmsBaseLocationVo == null) { return R.fail("库位条码扫描错误"); } - vo.setWarehouseId( wmsBaseLocationVo.getWarehouseId()); + vo.setWarehouseId(wmsBaseLocationVo.getWarehouseId()); Boolean result = apiService.inSubmit(vo); return result ? R.ok() : R.fail(); } /** * 查询出库单物料 + * * @param orderCode 出库单号 * @return 物料 */ @PostMapping("/raw/outSelectByOrderCode") - public R< List> outSelectByOrderCode(String orderCode) { - List wmsOutstockDetailVo=apiService.outSelectByOrderCode(orderCode); + public R> outSelectByOrderCode(String orderCode) { + List wmsOutstockDetailVo = apiService.outSelectByOrderCode(orderCode); if (wmsOutstockDetailVo == null) { return R.fail("出库单号不正确"); } return R.ok(wmsOutstockDetailVo); } - @PostMapping("/raw/selectInVentoryByBatchCode") - public void rawSelectInVentoryByBatchCode(String batchCode){ + @PostMapping("/raw/selectInVentoryByBatchCode") + public void rawSelectInVentoryByBatchCode(String bacthCode, String locationCode) { + WmsInventoryVo wmsInventoryVo=apiService.selectInVentoryByBatchCode(bacthCode,locationCode); } + /** * 成品跟载具绑定 * diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsInventory.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsInventory.java index 74ac0e8c..01543df6 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsInventory.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsInventory.java @@ -95,7 +95,7 @@ public class WmsInventory{ private String warehouseCode;//字段映射 // @TableField(exist = false) private String materialCode;//字段映射 - private String warehouseId; + private Long warehouseId; } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsPdaApiService.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsPdaApiService.java index 9d3ab948..56c76101 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsPdaApiService.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsPdaApiService.java @@ -28,4 +28,6 @@ public interface IWmsPdaApiService { Boolean inSubmit(WmsInstockPrintVo vo); List outSelectByOrderCode(String orderCode); + + WmsInventoryVo selectInVentoryByBatchCode(String bacthCode, String locationCode); } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java index 916d8a5c..bf32c05c 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java @@ -1,11 +1,14 @@ package org.dromara.wms.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; import lombok.RequiredArgsConstructor; import org.dromara.common.core.utils.DateUtils; +import org.dromara.common.core.utils.StringUtils; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.translation.annotation.Translation; import org.dromara.wms.domain.*; @@ -15,6 +18,7 @@ import org.dromara.wms.service.IWmsPdaApiService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.List; @RequiredArgsConstructor @@ -182,10 +186,21 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService { WmsInstockRecord wmsInstockRecord = new WmsInstockRecord(); BeanUtils.copyProperties(vo, wmsInstockRecord); wmsInstockRecordMapper.insert(wmsInstockRecord); - // 插入库存 - WmsInventory inventory = new WmsInventory(); - BeanUtils.copyProperties(vo, inventory); - wmsInventoryMapper.insert(inventory); + // 查询 + WmsInventoryVo wmsInventoryVo = selectInVentoryByBatchCode(vo.getBatchCode(), vo.getLocationCode()); + if (wmsInventoryVo == null) { + // 插入库存 + WmsInventory inventory = new WmsInventory(); + BeanUtils.copyProperties(vo, inventory); + inventory.setInventoryQty(BigDecimal.valueOf(vo.getInstockQty())); + wmsInventoryMapper.insert(inventory); + }else { + WmsInventory inventory = new WmsInventory(); + inventory.setInventoryId(wmsInventoryVo.getInventoryId()); + inventory.setInventoryQty(wmsInventoryVo.getInventoryQty().add(BigDecimal.valueOf(wmsInstockRecord.getInstockQty())) ); + wmsInventoryMapper.updateById(inventory); + } + return true; } @@ -200,4 +215,13 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService { .eq(WmsOutstockDetail::getOutstockCode, orderCode); return wmsOutstockDetailMapper.selectVoList(lqw); } + + @Override + public WmsInventoryVo selectInVentoryByBatchCode(String bacthCode, String locationCode) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(WmsInventory::getBatchCode, bacthCode) + .eq(WmsInventory::getLocationCode, locationCode); + return wmsInventoryMapper.selectVoOne(lqw); + } + }