From 212c77fabe6ed86321a10facf61067af299d7631 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=96=AA=E5=90=8D?= <942005050@qq.com> Date: Wed, 20 Dec 2023 11:06:46 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E7=94=9F=E6=88=90=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=20=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IssueRecordMainServiceImpl.java | 24 +++++++++++++++---- ...ProductdismantleRecordMainServiceImpl.java | 22 +++++++++++++++-- ...ProductionreturnRecordMainServiceImpl.java | 24 +++++++++++++++---- .../ProductputawayRecordMainServiceImpl.java | 24 +++++++++++++++---- .../ProductreceiptJobMainServiceImpl.java | 14 ++++++++++- .../ProductreceiptRecordMainServiceImpl.java | 17 +++++++++++-- .../RepleinshRecordMainServiceImpl.java | 24 +++++++++++++++---- 7 files changed, 128 insertions(+), 21 deletions(-) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRecord/IssueRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRecord/IssueRecordMainServiceImpl.java index 35ffb277..41b5b25f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRecord/IssueRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRecord/IssueRecordMainServiceImpl.java @@ -13,12 +13,14 @@ import com.win.module.wms.controller.issueRecord.vo.IssueRecordMainPageReqVO; import com.win.module.wms.controller.issueRecord.vo.IssueRecordMainUpdateReqVO; import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; import com.win.module.wms.convert.issueRecord.IssueRecordDetailConvert; +import com.win.module.wms.dal.dataobject.balance.BalanceDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.issueRecord.IssueRecordDetailDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.location.LocationDO; import com.win.module.wms.dal.dataobject.recordsetting.RecordsettingDO; import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; +import com.win.module.wms.dal.mysql.balance.BalanceMapper; import com.win.module.wms.dal.mysql.issueRecord.IssueRecordDetailMapper; import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.location.LocationService; @@ -55,6 +57,8 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*; @Validated public class IssueRecordMainServiceImpl implements IssueRecordMainService { + @Resource + private BalanceMapper balanceMapper; @Resource private IssueRecordDetailMapper issueRecordDetailMapper; @Resource @@ -89,6 +93,7 @@ public class IssueRecordMainServiceImpl implements IssueRecordMainService { mainDO.setExecuteTime(LocalDateTime.now()); mainDO.setActiveDate(LocalDateTime.now()); mainDO.setAvailable("TRUE"); + mainDO.setId(null); // 业务类型 BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("RepleinmentRecord"); mainDO.setToLocationTypes(businesstypeDO.getInLocationTypes()); @@ -132,6 +137,11 @@ public class IssueRecordMainServiceImpl implements IssueRecordMainService { } else { throw exception(ITEMBASIC_NOT_EXISTS); } + //查询库存余额 + BalanceDO balanceDO = balanceMapper.getBalanceQty(detailDO.getFromPackingNumber(), detailDO.getItemCode(), detailDO.getFromBatch(), detailDO.getInventoryStatus(), detailDO.getFromLocationCode()); + if (balanceDO == null) { + throw exception(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } // 库存事务——入 TransactionCreateReqVO transactionCreateReqVOIn = new TransactionCreateReqVO(); BeanUtils.copyProperties(detailDO, transactionCreateReqVOIn); @@ -144,8 +154,11 @@ public class IssueRecordMainServiceImpl implements IssueRecordMainService { transactionCreateReqVOIn.setPackingNumber(detailDO.getToPackingNumber()); transactionCreateReqVOIn.setInventoryStatus(detailDO.getInventoryStatus()); transactionCreateReqVOIn.setLocationCode(detailDO.getToLocationCode()); - transactionCreateReqVOIn.setSinglePrice(BigDecimal.ZERO); - transactionCreateReqVOIn.setAmount(BigDecimal.ZERO); + transactionCreateReqVOIn.setSinglePrice(balanceDO.getSinglePrice()); + transactionCreateReqVOIn.setAmount(balanceDO.getAmount()); + transactionCreateReqVOIn.setArriveDate(balanceDO.getArriveDate()); + transactionCreateReqVOIn.setProduceDate(balanceDO.getProduceDate()); + transactionCreateReqVOIn.setExpireDate(balanceDO.getExpireDate()); transactionCreateReqVOIn.setWarehouseCode(mainDO.getFromWarehouseCode()); transactionCreateReqVOIn.setRecordNumber(number); transactionCreateReqVOIn.setId(null); @@ -163,8 +176,11 @@ public class IssueRecordMainServiceImpl implements IssueRecordMainService { transactionCreateReqVOOut.setBatch(detailDO.getFromBatch()); transactionCreateReqVOOut.setPackingNumber(detailDO.getFromPackingNumber()); transactionCreateReqVOOut.setLocationCode(detailDO.getFromLocationCode()); - transactionCreateReqVOOut.setSinglePrice(BigDecimal.ZERO); - transactionCreateReqVOOut.setAmount(BigDecimal.ZERO); + transactionCreateReqVOOut.setSinglePrice(balanceDO.getSinglePrice()); + transactionCreateReqVOOut.setAmount(balanceDO.getAmount()); + transactionCreateReqVOOut.setArriveDate(balanceDO.getArriveDate()); + transactionCreateReqVOOut.setProduceDate(balanceDO.getProduceDate()); + transactionCreateReqVOOut.setExpireDate(balanceDO.getExpireDate()); transactionCreateReqVOOut.setWarehouseCode(mainDO.getFromWarehouseCode()); transactionCreateReqVOOut.setId(null); transactionCreateReqVOList.add(transactionCreateReqVOOut); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productdismantleRecord/ProductdismantleRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productdismantleRecord/ProductdismantleRecordMainServiceImpl.java index a45ea2a5..484f5dc0 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productdismantleRecord/ProductdismantleRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productdismantleRecord/ProductdismantleRecordMainServiceImpl.java @@ -17,6 +17,7 @@ import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; import com.win.module.wms.convert.productdismantleRecord.ProductdismantleRecordDetailaConvert; import com.win.module.wms.convert.productdismantleRecord.ProductdismantleRecordMainConvert; import com.win.module.wms.convert.repleinshRecord.RepleinshRecordDetailConvert; +import com.win.module.wms.dal.dataobject.balance.BalanceDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.location.LocationDO; @@ -29,6 +30,7 @@ import com.win.module.wms.dal.dataobject.recordsetting.RecordsettingDO; import com.win.module.wms.dal.dataobject.repleinshRecord.RepleinshRecordDetailDO; import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; import com.win.module.wms.dal.dataobject.workstation.WorkstationDO; +import com.win.module.wms.dal.mysql.balance.BalanceMapper; import com.win.module.wms.dal.mysql.productdismantleRecord.ProductdismantleRecordDetailaMapper; import com.win.module.wms.dal.mysql.productdismantleRecord.ProductdismantleRecordDetailbMapper; import com.win.module.wms.dal.mysql.productdismantleRecord.ProductdismantleRecordMainMapper; @@ -64,6 +66,8 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*; @Validated public class ProductdismantleRecordMainServiceImpl implements ProductdismantleRecordMainService { + @Resource + private BalanceMapper balanceMapper; @Resource private ProductdismantleRecordDetailbMapper productdismantleRecordDetailbMapper; @Resource @@ -104,6 +108,7 @@ public class ProductdismantleRecordMainServiceImpl implements ProductdismantleRe mainDO.setExecuteTime(LocalDateTime.now()); mainDO.setActiveDate(LocalDateTime.now()); mainDO.setAvailable("TRUE"); + mainDO.setId(null); // 业务类型 BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ProductDisassemble"); mainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); @@ -125,6 +130,11 @@ public class ProductdismantleRecordMainServiceImpl implements ProductdismantleRe productdismantleRecordDetailaDO.setFromLocationGroupCode(locationDO.getLocationGroupCode()); productdismantleRecordDetailaDO.setMasterId(mainDO.getId()); productdismantleRecordDetailaMapper.insert(productdismantleRecordDetailaDO); + //查询库存余额 + BalanceDO balanceDO = balanceMapper.getBalanceQty(productdismantleRecordDetailaDO.getPackingNumber(), productdismantleRecordDetailaDO.getItemCode(), productdismantleRecordDetailaDO.getBatch(), productdismantleRecordDetailaDO.getInventoryStatus(), productdismantleRecordDetailaDO.getFromLocationCode()); + if (balanceDO == null) { + throw exception(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } //添加库存事务list // 出动作 TransactionCreateReqVO transactionCreateReqVOOut = new TransactionCreateReqVO(); @@ -140,7 +150,11 @@ public class ProductdismantleRecordMainServiceImpl implements ProductdismantleRe transactionCreateReqVOOut.setPackingNumber(productdismantleRecordDetailaDO.getPackingNumber()); transactionCreateReqVOOut.setBatch(productdismantleRecordDetailaDO.getBatch()); transactionCreateReqVOOut.setContainerNumber(productdismantleRecordDetailaDO.getContainerNumber()); - transactionCreateReqVOOut.setAmount(BigDecimal.ZERO); + transactionCreateReqVOOut.setSinglePrice(balanceDO.getSinglePrice()); + transactionCreateReqVOOut.setAmount(balanceDO.getAmount()); + transactionCreateReqVOOut.setArriveDate(balanceDO.getArriveDate()); + transactionCreateReqVOOut.setProduceDate(balanceDO.getProduceDate()); + transactionCreateReqVOOut.setExpireDate(balanceDO.getExpireDate()); transactionCreateReqVOOut.setWarehouseCode(mainDO.getFromWarehouseCode()); transactionCreateReqVOOut.setLocationCode(productdismantleRecordDetailaDO.getFromLocationCode()); transactionCreateReqVOList.add(transactionCreateReqVOOut); @@ -183,7 +197,11 @@ public class ProductdismantleRecordMainServiceImpl implements ProductdismantleRe transactionCreateReqVO.setPackingNumber(productdismantleRecordDetailbDO.getPackingNumber()); transactionCreateReqVO.setBatch(productdismantleRecordDetailbDO.getBatch()); transactionCreateReqVO.setContainerNumber(""); - transactionCreateReqVO.setAmount(BigDecimal.ZERO); + transactionCreateReqVO.setSinglePrice(balanceDO.getSinglePrice()); + transactionCreateReqVO.setAmount(balanceDO.getAmount()); + transactionCreateReqVO.setArriveDate(balanceDO.getArriveDate()); + transactionCreateReqVO.setProduceDate(balanceDO.getProduceDate()); + transactionCreateReqVO.setExpireDate(balanceDO.getExpireDate()); transactionCreateReqVO.setWarehouseCode(mainDO.getFromWarehouseCode()); transactionCreateReqVO.setLocationCode(productdismantleRecordDetailbDO.getToLocationCode()); transactionCreateReqVOList.add(transactionCreateReqVO); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreturnRecord/ProductionreturnRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreturnRecord/ProductionreturnRecordMainServiceImpl.java index 8f065140..a34a7f23 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreturnRecord/ProductionreturnRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreturnRecord/ProductionreturnRecordMainServiceImpl.java @@ -17,6 +17,7 @@ import com.win.module.wms.convert.issueRecord.IssueRecordDetailConvert; import com.win.module.wms.convert.productionreturnRecord.ProductionreturnRecordDetailConvert; import com.win.module.wms.convert.productionreturnRecord.ProductionreturnRecordMainConvert; import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO; +import com.win.module.wms.dal.dataobject.balance.BalanceDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.issueRecord.IssueRecordDetailDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; @@ -26,6 +27,7 @@ import com.win.module.wms.dal.dataobject.productionreturnRecord.Productionreturn import com.win.module.wms.dal.dataobject.recordsetting.RecordsettingDO; import com.win.module.wms.dal.dataobject.repleinshRecord.RepleinshRecordDetailDO; import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; +import com.win.module.wms.dal.mysql.balance.BalanceMapper; import com.win.module.wms.dal.mysql.productionreturnRecord.ProductionreturnRecordDetailMapper; import com.win.module.wms.dal.mysql.productionreturnRecord.ProductionreturnRecordMainMapper; import com.win.module.wms.service.itembasic.ItembasicService; @@ -58,6 +60,8 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*; @Validated public class ProductionreturnRecordMainServiceImpl implements ProductionreturnRecordMainService { + @Resource + private BalanceMapper balanceMapper; @Resource private ProductionreturnRecordDetailMapper productionreturnRecordDetailMapper; @Resource @@ -102,6 +106,7 @@ public class ProductionreturnRecordMainServiceImpl implements ProductionreturnRe mainDO.setExecuteTime(LocalDateTime.now()); mainDO.setActiveDate(LocalDateTime.now()); mainDO.setAvailable("TRUE"); + mainDO.setId(null); // 业务类型 mainDO.setToLocationTypes(businesstypeDO.getInLocationTypes()); mainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); @@ -143,6 +148,11 @@ public class ProductionreturnRecordMainServiceImpl implements ProductionreturnRe } else { throw exception(ITEMBASIC_NOT_EXISTS); } + //查询库存余额 + BalanceDO balanceDO = balanceMapper.getBalanceQty(detailDO.getFromPackingNumber(), detailDO.getItemCode(), detailDO.getFromBatch(), detailDO.getInventoryStatus(), detailDO.getFromLocationCode()); + if (balanceDO == null) { + throw exception(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } // 库存事务——入 TransactionCreateReqVO transactionCreateReqVOIn = new TransactionCreateReqVO(); BeanUtils.copyProperties(detailDO, transactionCreateReqVOIn); @@ -155,8 +165,11 @@ public class ProductionreturnRecordMainServiceImpl implements ProductionreturnRe transactionCreateReqVOIn.setPackingNumber(detailDO.getToPackingNumber()); transactionCreateReqVOIn.setInventoryStatus(detailDO.getInventoryStatus()); transactionCreateReqVOIn.setLocationCode(detailDO.getToLocationCode()); - transactionCreateReqVOIn.setSinglePrice(BigDecimal.ZERO); - transactionCreateReqVOIn.setAmount(BigDecimal.ZERO); + transactionCreateReqVOIn.setSinglePrice(balanceDO.getSinglePrice()); + transactionCreateReqVOIn.setAmount(balanceDO.getAmount()); + transactionCreateReqVOIn.setArriveDate(balanceDO.getArriveDate()); + transactionCreateReqVOIn.setProduceDate(balanceDO.getProduceDate()); + transactionCreateReqVOIn.setExpireDate(balanceDO.getExpireDate()); transactionCreateReqVOIn.setWarehouseCode(mainDO.getFromWarehouseCode()); transactionCreateReqVOIn.setRecordNumber(number); transactionCreateReqVOIn.setId(null); @@ -174,8 +187,11 @@ public class ProductionreturnRecordMainServiceImpl implements ProductionreturnRe transactionCreateReqVOOut.setBatch(detailDO.getFromBatch()); transactionCreateReqVOOut.setPackingNumber(detailDO.getFromPackingNumber()); transactionCreateReqVOOut.setLocationCode(detailDO.getFromLocationCode()); - transactionCreateReqVOOut.setSinglePrice(BigDecimal.ZERO); - transactionCreateReqVOOut.setAmount(BigDecimal.ZERO); + transactionCreateReqVOOut.setSinglePrice(balanceDO.getSinglePrice()); + transactionCreateReqVOOut.setAmount(balanceDO.getAmount()); + transactionCreateReqVOOut.setArriveDate(balanceDO.getArriveDate()); + transactionCreateReqVOOut.setProduceDate(balanceDO.getProduceDate()); + transactionCreateReqVOOut.setExpireDate(balanceDO.getExpireDate()); transactionCreateReqVOOut.setWarehouseCode(mainDO.getFromWarehouseCode()); transactionCreateReqVOOut.setId(null); transactionCreateReqVOList.add(transactionCreateReqVOOut); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRecord/ProductputawayRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRecord/ProductputawayRecordMainServiceImpl.java index 70d9436c..d612e5b1 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRecord/ProductputawayRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRecord/ProductputawayRecordMainServiceImpl.java @@ -15,6 +15,7 @@ import com.win.module.wms.controller.productputawayRecord.vo.ProductputawayRecor import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; import com.win.module.wms.convert.productputawayRecord.ProductputawayRecordDetailConvert; import com.win.module.wms.convert.productputawayRecord.ProductputawayRecordMainConvert; +import com.win.module.wms.dal.dataobject.balance.BalanceDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.location.LocationDO; @@ -22,6 +23,7 @@ import com.win.module.wms.dal.dataobject.productputawayRecord.ProductputawayReco import com.win.module.wms.dal.dataobject.productputawayRecord.ProductputawayRecordMainDO; import com.win.module.wms.dal.dataobject.recordsetting.RecordsettingDO; import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; +import com.win.module.wms.dal.mysql.balance.BalanceMapper; import com.win.module.wms.dal.mysql.productputawayRecord.ProductputawayRecordDetailMapper; import com.win.module.wms.dal.mysql.productputawayRecord.ProductputawayRecordMainMapper; import com.win.module.wms.service.itembasic.ItembasicService; @@ -54,6 +56,8 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*; @Validated public class ProductputawayRecordMainServiceImpl implements ProductputawayRecordMainService { + @Resource + private BalanceMapper balanceMapper; @Resource private ProductputawayRecordDetailMapper productputawayRecordDetailMapper; @Resource @@ -88,6 +92,7 @@ public class ProductputawayRecordMainServiceImpl implements ProductputawayRecord mainDO.setExecuteTime(LocalDateTime.now()); mainDO.setActiveDate(LocalDateTime.now()); mainDO.setAvailable("TRUE"); + mainDO.setId(null); // 业务类型 BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ProductPutawayRecord"); mainDO.setToLocationTypes(businesstypeDO.getInLocationTypes()); @@ -130,6 +135,11 @@ public class ProductputawayRecordMainServiceImpl implements ProductputawayRecord } else { throw exception(ITEMBASIC_NOT_EXISTS); } + //查询库存余额 + BalanceDO balanceDO = balanceMapper.getBalanceQty(detailDO.getFromPackingNumber(), detailDO.getItemCode(), detailDO.getFromBatch(), detailDO.getInventoryStatus(), detailDO.getFromLocationCode()); + if (balanceDO == null) { + throw exception(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } // 库存事务——入 TransactionCreateReqVO transactionCreateReqVOIn = new TransactionCreateReqVO(); BeanUtils.copyProperties(detailDO, transactionCreateReqVOIn); @@ -142,8 +152,11 @@ public class ProductputawayRecordMainServiceImpl implements ProductputawayRecord transactionCreateReqVOIn.setPackingNumber(detailDO.getToPackingNumber()); transactionCreateReqVOIn.setInventoryStatus(detailDO.getInventoryStatus()); transactionCreateReqVOIn.setLocationCode(detailDO.getToLocationCode()); - transactionCreateReqVOIn.setSinglePrice(BigDecimal.ZERO); - transactionCreateReqVOIn.setAmount(BigDecimal.ZERO); + transactionCreateReqVOIn.setSinglePrice(balanceDO.getSinglePrice()); + transactionCreateReqVOIn.setAmount(balanceDO.getAmount()); + transactionCreateReqVOIn.setArriveDate(balanceDO.getArriveDate()); + transactionCreateReqVOIn.setProduceDate(balanceDO.getProduceDate()); + transactionCreateReqVOIn.setExpireDate(balanceDO.getExpireDate()); transactionCreateReqVOIn.setWarehouseCode(mainDO.getFromWarehouseCode()); transactionCreateReqVOIn.setRecordNumber(number); transactionCreateReqVOIn.setId(null); @@ -161,8 +174,11 @@ public class ProductputawayRecordMainServiceImpl implements ProductputawayRecord transactionCreateReqVOOut.setBatch(detailDO.getFromBatch()); transactionCreateReqVOOut.setPackingNumber(detailDO.getFromPackingNumber()); transactionCreateReqVOOut.setLocationCode(detailDO.getFromLocationCode()); - transactionCreateReqVOOut.setSinglePrice(BigDecimal.ZERO); - transactionCreateReqVOOut.setAmount(BigDecimal.ZERO); + transactionCreateReqVOOut.setSinglePrice(balanceDO.getSinglePrice()); + transactionCreateReqVOOut.setAmount(balanceDO.getAmount()); + transactionCreateReqVOOut.setArriveDate(balanceDO.getArriveDate()); + transactionCreateReqVOOut.setProduceDate(balanceDO.getProduceDate()); + transactionCreateReqVOOut.setExpireDate(balanceDO.getExpireDate()); transactionCreateReqVOOut.setWarehouseCode(mainDO.getFromWarehouseCode()); transactionCreateReqVOOut.setId(null); transactionCreateReqVOList.add(transactionCreateReqVOOut); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptJob/ProductreceiptJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptJob/ProductreceiptJobMainServiceImpl.java index 22d1632d..ca8f182a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptJob/ProductreceiptJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptJob/ProductreceiptJobMainServiceImpl.java @@ -43,6 +43,7 @@ import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO; import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; import com.win.module.wms.dal.dataobject.workstation.WorkstationDO; import com.win.module.wms.dal.mysql.backflushRequest.BackflushRequestDetailbMapper; +import com.win.module.wms.dal.mysql.balance.BalanceMapper; import com.win.module.wms.dal.mysql.offlinesettlementRecord.OfflinesettlementRecordDetailMapper; import com.win.module.wms.dal.mysql.offlinesettlementRecord.OfflinesettlementRecordMainMapper; import com.win.module.wms.dal.mysql.productreceiptJob.ProductreceiptJobMainMapper; @@ -93,6 +94,8 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*; @Validated public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainService { + @Resource + private BalanceMapper balanceMapper; @Resource private ProductputawayRequestMainService productputawayRequestMainService; @Resource @@ -483,6 +486,11 @@ public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainSe BigDecimal qty = productreceiptRecordDetailDO.getQty().multiply(backflushRecordDetailbDO.getQty()); backflushRecordDetailbDO.setQty(qty); backflushRecordDetailbDOList.add(backflushRecordDetailbDO); + //查询库存余额 + BalanceDO balanceDO = balanceMapper.getBalanceQty(productreceiptRecordDetailDO.getPackingNumber(), productreceiptRecordDetailDO.getItemCode(), productreceiptRecordDetailDO.getBatch(), productreceiptRecordDetailDO.getInventoryStatus(), productreceiptRecordDetailDO.getToLocationCode()); + if (balanceDO == null) { + throw exception(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } //添加库存事务list // 出动作 TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); @@ -499,7 +507,11 @@ public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainSe transactionCreateReqVO.setPackingNumber(backflushRecordDetailbDO.getPackingNumber()); transactionCreateReqVO.setBatch(backflushRecordDetailbDO.getBatch()); transactionCreateReqVO.setContainerNumber(""); - transactionCreateReqVO.setAmount(BigDecimal.ZERO); + transactionCreateReqVO.setSinglePrice(balanceDO.getSinglePrice()); + transactionCreateReqVO.setAmount(balanceDO.getAmount()); + transactionCreateReqVO.setArriveDate(balanceDO.getArriveDate()); + transactionCreateReqVO.setProduceDate(balanceDO.getProduceDate()); + transactionCreateReqVO.setExpireDate(balanceDO.getExpireDate()); transactionCreateReqVO.setWarehouseCode(""); transactionCreateReqVO.setLocationCode(backflushRecordDetailbDO.getFromLocationCode()); transactionCreateReqVO.setQty(qty); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptRecord/ProductreceiptRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptRecord/ProductreceiptRecordMainServiceImpl.java index d6443e6f..29d1a0df 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptRecord/ProductreceiptRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptRecord/ProductreceiptRecordMainServiceImpl.java @@ -17,6 +17,7 @@ import com.win.module.wms.convert.productreceiptRecord.ProductreceiptRecordDetai import com.win.module.wms.convert.productreceiptRecord.ProductreceiptRecordMainConvert; import com.win.module.wms.convert.repleinshRecord.RepleinshRecordDetailConvert; import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO; +import com.win.module.wms.dal.dataobject.balance.BalanceDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.location.LocationDO; @@ -25,6 +26,7 @@ import com.win.module.wms.dal.dataobject.productreceiptRecord.ProductreceiptReco import com.win.module.wms.dal.dataobject.recordsetting.RecordsettingDO; import com.win.module.wms.dal.dataobject.repleinshRecord.RepleinshRecordDetailDO; import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; +import com.win.module.wms.dal.mysql.balance.BalanceMapper; import com.win.module.wms.dal.mysql.productreceiptRecord.ProductreceiptRecordDetailMapper; import com.win.module.wms.dal.mysql.productreceiptRecord.ProductreceiptRecordMainMapper; import com.win.module.wms.service.itembasic.ItembasicService; @@ -58,6 +60,8 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*; @Validated public class ProductreceiptRecordMainServiceImpl implements ProductreceiptRecordMainService { + @Resource + private BalanceMapper balanceMapper; @Resource private ProductreceiptJobMainService productreceiptJobMainService; @Resource @@ -94,6 +98,7 @@ public class ProductreceiptRecordMainServiceImpl implements ProductreceiptRecord mainDO.setExecuteTime(LocalDateTime.now()); mainDO.setActiveDate(LocalDateTime.now()); mainDO.setAvailable("TRUE"); + mainDO.setId(null); // 业务类型 BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ProductReceiptRecord"); mainDO.setToLocationTypes(businesstypeDO.getInLocationTypes()); @@ -128,6 +133,11 @@ public class ProductreceiptRecordMainServiceImpl implements ProductreceiptRecord throw exception(ITEMBASIC_NOT_EXISTS); } productreceiptRecordDetailMapper.insert(detailDO); + //查询库存余额 + BalanceDO balanceDO = balanceMapper.getBalanceQty(detailDO.getPackingNumber(), detailDO.getItemCode(), detailDO.getBatch(), detailDO.getInventoryStatus(), detailDO.getToLocationCode()); + if (balanceDO == null) { + throw exception(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } // 库存事务——入 TransactionCreateReqVO transactionCreateReqVOIn = new TransactionCreateReqVO(); BeanUtils.copyProperties(detailDO, transactionCreateReqVOIn); @@ -140,8 +150,11 @@ public class ProductreceiptRecordMainServiceImpl implements ProductreceiptRecord transactionCreateReqVOIn.setPackingNumber(detailDO.getPackingNumber()); transactionCreateReqVOIn.setInventoryStatus(detailDO.getInventoryStatus()); transactionCreateReqVOIn.setLocationCode(detailDO.getToLocationCode()); - transactionCreateReqVOIn.setSinglePrice(BigDecimal.ZERO); - transactionCreateReqVOIn.setAmount(BigDecimal.ZERO); + transactionCreateReqVOIn.setSinglePrice(balanceDO.getSinglePrice()); + transactionCreateReqVOIn.setAmount(balanceDO.getAmount()); + transactionCreateReqVOIn.setArriveDate(balanceDO.getArriveDate()); + transactionCreateReqVOIn.setProduceDate(balanceDO.getProduceDate()); + transactionCreateReqVOIn.setExpireDate(balanceDO.getExpireDate()); transactionCreateReqVOIn.setWarehouseCode(mainDO.getToWarehouseCode()); transactionCreateReqVOIn.setRecordNumber(number); transactionCreateReqVOIn.setId(null); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/repleinshRecord/RepleinshRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/repleinshRecord/RepleinshRecordMainServiceImpl.java index 3559ea10..71601898 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/repleinshRecord/RepleinshRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/repleinshRecord/RepleinshRecordMainServiceImpl.java @@ -11,6 +11,7 @@ import com.win.module.wms.controller.repleinshRecord.vo.*; import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; import com.win.module.wms.convert.purchasereturnRecord.PurchasereturnRecordDetailConvert; import com.win.module.wms.convert.repleinshRecord.RepleinshRecordDetailConvert; +import com.win.module.wms.dal.dataobject.balance.BalanceDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.issueRecord.IssueRecordMainDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; @@ -19,6 +20,7 @@ import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnReco import com.win.module.wms.dal.dataobject.recordsetting.RecordsettingDO; import com.win.module.wms.dal.dataobject.repleinshRecord.RepleinshRecordDetailDO; import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; +import com.win.module.wms.dal.mysql.balance.BalanceMapper; import com.win.module.wms.dal.mysql.repleinshRecord.RepleinshRecordDetailMapper; import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.location.LocationService; @@ -55,6 +57,8 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*; @Validated public class RepleinshRecordMainServiceImpl implements RepleinshRecordMainService { + @Resource + private BalanceMapper balanceMapper; @Resource private TransactionService transactionService; @Resource @@ -89,6 +93,7 @@ public class RepleinshRecordMainServiceImpl implements RepleinshRecordMainServic mainDO.setExecuteTime(LocalDateTime.now()); mainDO.setActiveDate(LocalDateTime.now()); mainDO.setAvailable("TRUE"); + mainDO.setId(null); // 业务类型 BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("RepleinmentRecord"); mainDO.setToLocationTypes(businesstypeDO.getInLocationTypes()); @@ -131,6 +136,11 @@ public class RepleinshRecordMainServiceImpl implements RepleinshRecordMainServic } else { throw exception(ITEMBASIC_NOT_EXISTS); } + //查询库存余额 + BalanceDO balanceDO = balanceMapper.getBalanceQty(detailDO.getFromPackingNumber(), detailDO.getItemCode(), detailDO.getFromBatch(), detailDO.getInventoryStatus(), detailDO.getFromLocationCode()); + if (balanceDO == null) { + throw exception(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } // 库存事务——入 TransactionCreateReqVO transactionCreateReqVOIn = new TransactionCreateReqVO(); BeanUtils.copyProperties(detailDO, transactionCreateReqVOIn); @@ -143,8 +153,11 @@ public class RepleinshRecordMainServiceImpl implements RepleinshRecordMainServic transactionCreateReqVOIn.setPackingNumber(detailDO.getToPackingNumber()); transactionCreateReqVOIn.setInventoryStatus(detailDO.getInventoryStatus()); transactionCreateReqVOIn.setLocationCode(detailDO.getToLocationCode()); - transactionCreateReqVOIn.setSinglePrice(BigDecimal.ZERO); - transactionCreateReqVOIn.setAmount(BigDecimal.ZERO); + transactionCreateReqVOIn.setSinglePrice(balanceDO.getSinglePrice()); + transactionCreateReqVOIn.setAmount(balanceDO.getAmount()); + transactionCreateReqVOIn.setArriveDate(balanceDO.getArriveDate()); + transactionCreateReqVOIn.setProduceDate(balanceDO.getProduceDate()); + transactionCreateReqVOIn.setExpireDate(balanceDO.getExpireDate()); transactionCreateReqVOIn.setWarehouseCode(mainDO.getFromWarehouseCode()); transactionCreateReqVOIn.setRecordNumber(number); transactionCreateReqVOIn.setId(null); @@ -162,8 +175,11 @@ public class RepleinshRecordMainServiceImpl implements RepleinshRecordMainServic transactionCreateReqVOOut.setBatch(detailDO.getFromBatch()); transactionCreateReqVOOut.setPackingNumber(detailDO.getFromPackingNumber()); transactionCreateReqVOOut.setLocationCode(detailDO.getFromLocationCode()); - transactionCreateReqVOOut.setSinglePrice(BigDecimal.ZERO); - transactionCreateReqVOOut.setAmount(BigDecimal.ZERO); + transactionCreateReqVOOut.setSinglePrice(balanceDO.getSinglePrice()); + transactionCreateReqVOOut.setAmount(balanceDO.getAmount()); + transactionCreateReqVOOut.setArriveDate(balanceDO.getArriveDate()); + transactionCreateReqVOOut.setProduceDate(balanceDO.getProduceDate()); + transactionCreateReqVOOut.setExpireDate(balanceDO.getExpireDate()); transactionCreateReqVOOut.setWarehouseCode(mainDO.getFromWarehouseCode()); transactionCreateReqVOOut.setId(null); transactionCreateReqVOList.add(transactionCreateReqVOOut);