From 9d87d6fc2b53c7cbe78a69f87a80dbb9deb7e82a Mon Sep 17 00:00:00 2001 From: wanghao Date: Thu, 14 Aug 2025 09:28:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=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 --- .../controller/api/WmsPdaApiController.java | 21 +++++++++++++-- .../wms/service/IWmsPdaApiService.java | 4 ++- .../service/impl/WmsPdaApiServiceImpl.java | 27 ++++++++++++++++--- 3 files changed, 46 insertions(+), 6 deletions(-) diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/api/WmsPdaApiController.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/api/WmsPdaApiController.java index ae40e71..04a4bf9 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/api/WmsPdaApiController.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/api/WmsPdaApiController.java @@ -7,6 +7,7 @@ import org.dromara.wms.domain.*; import org.dromara.wms.domain.bo.WmsReturnOrderBo; import org.dromara.wms.domain.vo.*; import org.dromara.wms.service.*; +import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -99,8 +100,6 @@ public class WmsPdaApiController extends BaseController { public R rawSelectInVentoryByBatchCode(WmsOutstockRecord outstockRecord) { // 验证库存 WmsInventory wmsInventory = apiService.outSelectInVentoryByBatch(outstockRecord); - - // WmsInventoryVo wmsInventoryVo=apiService.selectInVentoryByBatchCode(outstockRecord.getBatchCode(),outstockRecord.getLocationCode()); if (wmsInventory == null) { R.fail("物料不在待出库列表内"); @@ -112,6 +111,24 @@ public class WmsPdaApiController extends BaseController { Boolean result = apiService.rawOutSubmit(outstockRecord, wmsInventory); return result ? R.ok() : R.fail(); } + /** + * 特殊出库提交 + */ + @PostMapping("/raw/specialOutSubmit") + public R specialOutSubmit(@RequestBody WmsOutstockRecord outstockRecord) { + // 验证库存 + WmsInventoryVo WmsInventoryVo=apiService.selectInVentoryByBatchCode(outstockRecord.getBatchCode(),outstockRecord.getLocationCode()); + if (WmsInventoryVo == null) { + R.fail("条码扫描错误"); + } + if (WmsInventoryVo.getInventoryQty().compareTo(outstockRecord.getOutstockQty()) < 0) { + R.fail("无法出库,当前库位库存为:" + WmsInventoryVo.getInventoryQty()); + } + WmsInventory wmsInventory=new WmsInventory(); + BeanUtils.copyProperties(WmsInventoryVo, wmsInventory); + Boolean result = apiService.specialOutSubmit(outstockRecord, wmsInventory); + return result ? R.ok() : R.fail(); + } @PostMapping("/product/selectVehicle") public R productBindSelectVehicle(String code) { 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 3a56e18..2eed425 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 @@ -37,7 +37,7 @@ public interface IWmsPdaApiService { Boolean shiftChangeSubmit(ShiftChange shiftChange); Boolean rawOutSubmit(WmsOutstockRecord outstockRecord, WmsInventory wmsInventoryVo); - + Boolean specialOutSubmit(WmsOutstockRecord outstockRecord, WmsInventory wmsInventory); WmsInventory outSelectInVentoryByBatch(WmsOutstockRecord outstockRecord); List selectStoreInfo(String type); @@ -68,4 +68,6 @@ public interface IWmsPdaApiService { WmsOutstockRecordVo setHppOutRecord(String code); int semiDeleteErrorCode(String code); + + } 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 33d5b32..ebcfa63 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 @@ -221,8 +221,21 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService { return i > 0; } + /** + * 出库提交 + * @param outstockRecord 数据 + * @param wmsInventory 库存 + * @return + */ @Override public Boolean rawOutSubmit(WmsOutstockRecord outstockRecord, WmsInventory wmsInventory) { + outStoreOperation(outstockRecord, wmsInventory); + // 修改子表出库数量 + wmsOutstockDetailMapper.updateOutNumberByObjId(wmsInventory.getOutstockDetailId(), outstockRecord.getOutstockQty()); + return null; + } + // 出库操作 + private void outStoreOperation(WmsOutstockRecord outstockRecord, WmsInventory wmsInventory) { // 出库数量 BigDecimal outstockQty = outstockRecord.getOutstockQty(); // 库存 @@ -241,10 +254,18 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService { outstockRecord.setCreateBy(LoginHelper.getUserId()); outstockRecord.setCreateTime(DateUtils.getNowDate()); wmsOutstockRecordMapper.insert(outstockRecord); - // 修改子表出库数量 - wmsOutstockDetailMapper.updateOutNumberByObjId(wmsInventory.getOutstockDetailId(), outstockRecord.getOutstockQty()); - + } + /** + * 特殊出库提交 少了子表操作 + * @param outstockRecord + * @param wmsInventory + * @return + */ + @Override + public Boolean specialOutSubmit(WmsOutstockRecord outstockRecord, WmsInventory wmsInventory) { + // 出库数量 + outStoreOperation(outstockRecord, wmsInventory); return null; }