diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobDetailUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobDetailUpdateReqVO.java index 10c6174f..7436fa84 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobDetailUpdateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobDetailUpdateReqVO.java @@ -3,6 +3,7 @@ package com.win.module.wms.controller.customerreturnJob.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; +import java.math.BigDecimal; import java.util.List; import java.util.Map; @@ -12,4 +13,19 @@ import java.util.Map; @ToString(callSuper = true) public class CustomerreturnJobDetailUpdateReqVO extends CustomerreturnJobDetailBaseVO { + @Schema(description = "实际收货数量") + private BigDecimal handleQty; + + @Schema(description = "到包装") + private String toPackingNumber; + + @Schema(description = "到器具") + private String toContainerNumber; + + @Schema(description = "到批次") + private String toBatch; + + @Schema(description = "到库存状态") + private String toInventoryStatus; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordDetailBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordDetailBaseVO.java index 7e0eb023..14f87135 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordDetailBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRecord/vo/PurchasereceiptRecordDetailBaseVO.java @@ -77,12 +77,10 @@ public class PurchasereceiptRecordDetailBaseVO { @Schema(description = "到库区代码") private String toAreaCode; - @Schema(description = "订单号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "订单号不能为空") + @Schema(description = "订单号") private String poNumber; - @Schema(description = "订单行", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "订单行不能为空") + @Schema(description = "订单行") private String poLine; @Schema(description = "标包数量", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestDetailBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestDetailBaseVO.java index c9322604..ee0e3516 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestDetailBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/vo/PurchasereceiptRequestDetailBaseVO.java @@ -56,12 +56,10 @@ public class PurchasereceiptRequestDetailBaseVO { @Schema(description = "默认库位代码", requiredMode = Schema.RequiredMode.REQUIRED) private String defaultToLocationCode; - @Schema(description = "订单号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotBlank(message = "订单号不能为空") + @Schema(description = "订单号") private String poNumber; - @Schema(description = "订单行", requiredMode = Schema.RequiredMode.REQUIRED) - @NotBlank(message = "订单行不能为空") + @Schema(description = "订单行") private String poLine; @Schema(description = "标包数量", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobDetailBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobDetailBaseVO.java index 3db6ef9b..32e8f1b5 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobDetailBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobDetailBaseVO.java @@ -48,12 +48,10 @@ public class PurchasereturnJobDetailBaseVO { @NotNull(message = "库存状态不能为空") private String inventoryStatus; - @Schema(description = "订单号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "订单号不能为空") + @Schema(description = "订单号") private String poNumber; - @Schema(description = "订单行", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "订单行不能为空") + @Schema(description = "订单行") private String poLine; @Schema(description = "原因", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestDetailBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestDetailBaseVO.java index d7cf6816..4313b5d6 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestDetailBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestDetailBaseVO.java @@ -44,12 +44,10 @@ public class PurchasereturnRequestDetailBaseVO { @NotNull(message = "库存状态不能为空") private String inventoryStatus; - @Schema(description = "订单号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "订单号不能为空") + @Schema(description = "订单号") private String poNumber; - @Schema(description = "订单行", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "订单行不能为空") + @Schema(description = "订单行") private String poLine; @Schema(description = "原因", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/balance/BalanceMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/balance/BalanceMapper.java index cf06a57a..1f9f24b4 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/balance/BalanceMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/balance/BalanceMapper.java @@ -97,6 +97,23 @@ public interface BalanceMapper extends BaseMapperX { return selectOne(queryWrapper); } + /** + * 更新库存余额数量,出库qty是负数 + */ + default List getBalanceListByLocationTypes(String packingNumber, String itemCode, String batch, List inventoryStatusList, List locationTypeList) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("packing_number", packingNumber); + queryWrapper.eq("item_code", itemCode); + queryWrapper.eq("batch", batch); + queryWrapper.in("inventory_status", inventoryStatusList); + StringBuilder type = new StringBuilder(); + for(String str : locationTypeList) { + type.append("'").append(str).append("',"); + } + queryWrapper.inSql("location_code", "SELECT `code` FROM basic_location WHERE `type` IN ("+ type.substring(0, type.length() - 1)+") AND available='TRUE' AND deleted=0"); + return selectList(queryWrapper); + } + /** * 更查找库存余额 * @param packingNumber 包装号 diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRequest/CustomerreceiptRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRequest/CustomerreceiptRequestMainServiceImpl.java index 507c3c68..9d83b480 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRequest/CustomerreceiptRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRequest/CustomerreceiptRequestMainServiceImpl.java @@ -336,22 +336,25 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq //添加库存事务list TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); BeanUtils.copyProperties(customerreceiptRequestDetailDO, transactionCreateReqVO); - TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); - transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); - transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); - transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); - transactionCreateReqVO.setBusinessType(mainDO.getBusinessType()); - transactionCreateReqVO.setOwnerCode(customerreceiptRequestDetailDO.getFromOwnerCode()); - transactionCreateReqVO.setItemCode(customerreceiptRequestDetailDO.getItemCode()); - transactionCreateReqVO.setRecordNumber(number); - transactionCreateReqVO.setId(null); - transactionCreateReqVO.setPackingNumber(customerreceiptRequestDetailDO.getPackingNumber()); - transactionCreateReqVO.setBatch(customerreceiptRequestDetailDO.getBatch()); - transactionCreateReqVO.setContainerNumber(customerreceiptRequestDetailDO.getContainerNumber()); - transactionCreateReqVO.setAmount(BigDecimal.ZERO); - transactionCreateReqVO.setWarehouseCode(mainDO.getFromWarehouseCode()); - transactionCreateReqVO.setLocationCode(customerreceiptRequestDetailDO.getFromLocationCode()); - transactionCreateReqVOList.add(transactionCreateReqVO); + String inTransactionType = businesstypeDO.getInTransactionType(); + if(inTransactionType != null && !"".equals(inTransactionType)){ + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(inTransactionType); + transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); + transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + transactionCreateReqVO.setBusinessType(mainDO.getBusinessType()); + transactionCreateReqVO.setOwnerCode(customerreceiptRequestDetailDO.getFromOwnerCode()); + transactionCreateReqVO.setItemCode(customerreceiptRequestDetailDO.getItemCode()); + transactionCreateReqVO.setRecordNumber(number); + transactionCreateReqVO.setId(null); + transactionCreateReqVO.setPackingNumber(customerreceiptRequestDetailDO.getPackingNumber()); + transactionCreateReqVO.setBatch(customerreceiptRequestDetailDO.getBatch()); + transactionCreateReqVO.setContainerNumber(customerreceiptRequestDetailDO.getContainerNumber()); + transactionCreateReqVO.setAmount(BigDecimal.ZERO); + transactionCreateReqVO.setWarehouseCode(mainDO.getFromWarehouseCode()); + transactionCreateReqVO.setLocationCode(customerreceiptRequestDetailDO.getFromLocationCode()); + transactionCreateReqVOList.add(transactionCreateReqVO); + } } transactionService.createTransaction(transactionCreateReqVOList); trendsApi.createTrends(mainDO.getId(), "CustomerReceiptRecord", "客户收货申请生成客户收货记录", TrendsTypeEnum.CREATE); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnJob/CustomerreturnJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnJob/CustomerreturnJobMainServiceImpl.java index 4194f69c..899dfdeb 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnJob/CustomerreturnJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnJob/CustomerreturnJobMainServiceImpl.java @@ -304,21 +304,48 @@ public class CustomerreturnJobMainServiceImpl implements CustomerreturnJobMainSe //添加库存事务list TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); BeanUtils.copyProperties(customerreturnRecordDetailDO, transactionCreateReqVO); - //增加业务类型 + //入库存事务 transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); - TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); - transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); - transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); - transactionCreateReqVO.setBusinessType(customerreturnRecordMainDO.getBusinessType()); - transactionCreateReqVO.setLocationCode(customerreturnJobDetailDO.getFromLocationCode()); - transactionCreateReqVO.setOwnerCode(customerreturnRecordDetailDO.getFromOwnerCode()); - transactionCreateReqVO.setRecordNumber(number); - transactionCreateReqVO.setBatch(customerreturnRecordDetailDO.getFromBatch()); - transactionCreateReqVO.setPackingNumber(customerreturnRecordDetailDO.getFromPackingNumber()); - transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); - transactionCreateReqVO.setId(null); - transactionCreateReqVO.setAmount(BigDecimal.ZERO); - transactionCreateReqVOList.add(transactionCreateReqVO); + String inTransactionType = businesstypeDO.getInTransactionType(); + if(inTransactionType != null && !"".equals(inTransactionType)){ + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(inTransactionType); + transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + transactionCreateReqVO.setBusinessType(customerreturnRecordMainDO.getBusinessType()); + transactionCreateReqVO.setLocationCode(customerreturnJobDetailDO.getToLocationCode()); + transactionCreateReqVO.setOwnerCode(customerreturnRecordDetailDO.getToOwnerCode()); + transactionCreateReqVO.setRecordNumber(number); + transactionCreateReqVO.setBatch(DetailUpdateItem.getToBatch()); + transactionCreateReqVO.setPackingNumber(DetailUpdateItem.getToPackingNumber()); + transactionCreateReqVO.setInventoryStatus(DetailUpdateItem.getToInventoryStatus()); + transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); + transactionCreateReqVO.setId(null); + transactionCreateReqVO.setQty(DetailUpdateItem.getHandleQty()); + transactionCreateReqVO.setAmount(BigDecimal.ZERO); + transactionCreateReqVOList.add(transactionCreateReqVO); + } + TransactionCreateReqVO outTransactionCreateReqVO = new TransactionCreateReqVO(); + BeanUtils.copyProperties(customerreturnRecordDetailDO, outTransactionCreateReqVO); + //入库存事务 + outTransactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); + String outTransactionType = businesstypeDO.getOutTransactionType(); + if(outTransactionType != null && !"".equals(outTransactionType)){ + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(outTransactionType); + outTransactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + outTransactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + outTransactionCreateReqVO.setBusinessType(customerreturnRecordMainDO.getBusinessType()); + outTransactionCreateReqVO.setLocationCode(customerreturnJobDetailDO.getFromLocationCode()); + outTransactionCreateReqVO.setOwnerCode(customerreturnRecordDetailDO.getFromOwnerCode()); + outTransactionCreateReqVO.setRecordNumber(number); + outTransactionCreateReqVO.setInventoryStatus(customerreturnJobDetailDO.getInventoryStatus()); + outTransactionCreateReqVO.setBatch(customerreturnRecordDetailDO.getFromBatch()); + outTransactionCreateReqVO.setPackingNumber(customerreturnRecordDetailDO.getFromPackingNumber()); + outTransactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); + outTransactionCreateReqVO.setId(null); + outTransactionCreateReqVO.setQty(DetailUpdateItem.getHandleQty()); + outTransactionCreateReqVO.setAmount(BigDecimal.ZERO); + transactionCreateReqVOList.add(outTransactionCreateReqVO); + } } }); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRequest/CustomerreturnRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRequest/CustomerreturnRequestMainServiceImpl.java index 798f7843..d4a67973 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRequest/CustomerreturnRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRequest/CustomerreturnRequestMainServiceImpl.java @@ -769,7 +769,7 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque * @param businesstypeDO */ private Boolean validatorIfInventoryStatuses(String inventoryStatus, BusinesstypeDO businesstypeDO) { - return jobUtils.ifInInventoryStatuses(inventoryStatus, businesstypeDO); + return jobUtils.ifOutInventoryStatuses(inventoryStatus, businesstypeDO); } /** @@ -782,7 +782,7 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque list.add(detailDO.getInventoryStatus()); if ("CUST".equals(detailDO.getFromLocationCode())) { List balance = jobUtils.selectlocationReturnManagementAccuracy(detailDO.getItemCode(), detailDO.getPackingNumber() - , detailDO.getBatch(), detailDO.getToLocationCode(), list); + , detailDO.getBatch(), detailDO.getFromLocationCode(), list); isqty(detailDO.getQty(), balance.get(0).getQty()); } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestMainServiceImpl.java index 41414f1f..8903c15f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestMainServiceImpl.java @@ -291,10 +291,13 @@ public class CustomersettleRequestMainServiceImpl implements CustomersettleReque //添加库存事务list TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); BeanUtils.copyProperties(recordDetailDO, transactionCreateReqVO); - TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType()); + String inTransactionType = businesstypeDO.getInTransactionType(); + if(inTransactionType != null && !"".equals(inTransactionType)){ + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(inTransactionType); + transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + } transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); - transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); - transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); transactionCreateReqVO.setBusinessType(mainDO.getBusinessType()); transactionCreateReqVO.setOwnerCode(recordDetailDO.getOwnerCode()); transactionCreateReqVO.setItemCode(recordDetailDO.getItemCode()); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainServiceImpl.java index 70940a09..6b16fff3 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainServiceImpl.java @@ -370,26 +370,30 @@ public class DeliverJobMainServiceImpl implements DeliverJobMainService { BeanUtils.copyProperties(deliverRecordDetailDO, transactionCreateReqVO); //增加业务类型 transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); - TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType()); - transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); - transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); - transactionCreateReqVO.setBusinessType(deliverRecordMainDO.getBusinessType()); - transactionCreateReqVO.setLocationCode(deliverRecordDetailDO.getFromLocationCode()); - transactionCreateReqVO.setOwnerCode(deliverRecordDetailDO.getFromOwnerCode()); - transactionCreateReqVO.setRecordNumber(number); - transactionCreateReqVO.setBatch(deliverRecordDetailDO.getBatch()); - transactionCreateReqVO.setPackingNumber(deliverRecordDetailDO.getPackingNumber()); - transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); - transactionCreateReqVO.setId(null); - transactionCreateReqVO.setAmount(BigDecimal.ZERO); - transactionCreateReqVOList.add(transactionCreateReqVO); - if(businesstypeDO.getInTransactionType() != null && !"".equals(businesstypeDO.getInTransactionType())){ + String outTransactionType = businesstypeDO.getOutTransactionType(); + String inTransactionType = businesstypeDO.getInTransactionType(); + if(outTransactionType != null && !"".equals(outTransactionType)){ + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(outTransactionType); + transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + transactionCreateReqVO.setBusinessType(deliverRecordMainDO.getBusinessType()); + transactionCreateReqVO.setLocationCode(deliverRecordDetailDO.getFromLocationCode()); + transactionCreateReqVO.setOwnerCode(deliverRecordDetailDO.getFromOwnerCode()); + transactionCreateReqVO.setRecordNumber(number); + transactionCreateReqVO.setBatch(deliverRecordDetailDO.getBatch()); + transactionCreateReqVO.setPackingNumber(deliverRecordDetailDO.getPackingNumber()); + transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); + transactionCreateReqVO.setId(null); + transactionCreateReqVO.setAmount(BigDecimal.ZERO); + transactionCreateReqVOList.add(transactionCreateReqVO); + } + if(inTransactionType != null && !"".equals(inTransactionType)){ //添加库存事务list TransactionCreateReqVO transactionCreateReqVOIn = new TransactionCreateReqVO(); BeanUtils.copyProperties(deliverRecordDetailDO, transactionCreateReqVOIn); //增加业务类型 transactionCreateReqVOIn.setBusinessType(businesstypeDO.getCode()); - TransactiontypeDO transactionCreateReqVOInDo = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); + TransactiontypeDO transactionCreateReqVOInDo = jobUtils.selectDocumentFromTransactionType(inTransactionType); transactionCreateReqVOIn.setInventoryAction(transactionCreateReqVOInDo.getInventoryAction()); transactionCreateReqVOIn.setTransactionType(transactionCreateReqVOInDo.getCode()); transactionCreateReqVOIn.setBusinessType(deliverRecordMainDO.getBusinessType()); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java index 8439e05f..6d96e598 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java @@ -290,7 +290,7 @@ public class InspectJobMainServiceImpl implements InspectJobMainService { BeanUtils.copyProperties(transactionCreateReqVOIn, transactionCreateReqVO); transactionCreateReqVO.setInventoryStatus("SCRAP"); transactionCreateReqVO.setQty(inspectJobDetailUpdateReqVO.getCrackQty()); - transactionCreateReqVO.setLocationCode("HOLD"); + transactionCreateReqVO.setLocationCode("SCRAP"); transactionCreateReqVOList.add(transactionCreateReqVO); } if (inspectJobDetailUpdateReqVO.getFailedQty() != null && inspectJobDetailUpdateReqVO.getFailedQty().compareTo(BigDecimal.ZERO) > 0) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorychangeRequest/InventorychangeRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorychangeRequest/InventorychangeRequestMainServiceImpl.java index d9175509..54172d64 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorychangeRequest/InventorychangeRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorychangeRequest/InventorychangeRequestMainServiceImpl.java @@ -268,29 +268,31 @@ public class InventorychangeRequestMainServiceImpl implements InventorychangeReq inventoryStatus.add(inventorychangeRequestDetailDO.getFromInventoryStatus()); validatorLocationReturnManagementAccuracy(mainDO, inventorychangeRequestDetailDO, inventoryStatus); iinventorychangeRecordDetailCreateReqVOlDOList.add(InventorychangeRecordDetailConvert.INSTANCE.convert(inventorychangeRecordDetailCreateReqVO)); - // 库存事务——出 TransactionCreateReqVO transactionCreateReqVOOut = new TransactionCreateReqVO(); BeanUtils.copyProperties(inventorychangeRequestDetailDO, transactionCreateReqVOOut); transactionCreateReqVOOut.setBusinessType(businesstypeDO.getCode()); - TransactiontypeDO transactiontypeDOOut = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType()); - transactionCreateReqVOOut.setInventoryAction(transactiontypeDOOut.getInventoryAction()); - transactionCreateReqVOOut.setTransactionType(transactiontypeDOOut.getCode()); - transactionCreateReqVOOut.setRecordNumber(number); - transactionCreateReqVOOut.setInventoryStatus(inventorychangeRequestDetailDO.getToInventoryStatus()); - transactionCreateReqVOOut.setWorker(String.valueOf(userRespDTO.getId())); - transactionCreateReqVOOut.setBatch(inventorychangeRequestDetailDO.getToBatch()); - transactionCreateReqVOOut.setPackingNumber(inventorychangeRequestDetailDO.getToPackingNumber()); - transactionCreateReqVOOut.setLocationCode(inventorychangeRequestDetailDO.getLocationCode()); - transactionCreateReqVOOut.setSinglePrice(BigDecimal.ZERO); - transactionCreateReqVOOut.setAmount(BigDecimal.ZERO); - transactionCreateReqVOOut.setQty(inventorychangeRequestDetailDO.getFromQty().subtract(inventorychangeRequestDetailDO.getToQty())); - transactionCreateReqVOOut.setArriveDate(inventorychangeRequestDetailDO.getToArrivdAte()); - transactionCreateReqVOOut.setProduceDate(inventorychangeRequestDetailDO.getToProduceDate()); - transactionCreateReqVOOut.setExpireDate(inventorychangeRequestDetailDO.getToExpireDate()); - transactionCreateReqVOOut.setWarehouseCode(mainDO.getWarehouseCode()); - transactionCreateReqVOOut.setId(null); - transactionCreateReqVOList.add(transactionCreateReqVOOut); + String outTransactionType = businesstypeDO.getOutTransactionType(); + if(outTransactionType != null && !"".equals(outTransactionType)){ + TransactiontypeDO transactiontypeDOOut = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType()); + transactionCreateReqVOOut.setInventoryAction(transactiontypeDOOut.getInventoryAction()); + transactionCreateReqVOOut.setTransactionType(transactiontypeDOOut.getCode()); + transactionCreateReqVOOut.setRecordNumber(number); + transactionCreateReqVOOut.setInventoryStatus(inventorychangeRequestDetailDO.getToInventoryStatus()); + transactionCreateReqVOOut.setWorker(String.valueOf(userRespDTO.getId())); + transactionCreateReqVOOut.setBatch(inventorychangeRequestDetailDO.getToBatch()); + transactionCreateReqVOOut.setPackingNumber(inventorychangeRequestDetailDO.getToPackingNumber()); + transactionCreateReqVOOut.setLocationCode(inventorychangeRequestDetailDO.getLocationCode()); + transactionCreateReqVOOut.setSinglePrice(BigDecimal.ZERO); + transactionCreateReqVOOut.setAmount(BigDecimal.ZERO); + transactionCreateReqVOOut.setQty(inventorychangeRequestDetailDO.getFromQty().subtract(inventorychangeRequestDetailDO.getToQty())); + transactionCreateReqVOOut.setArriveDate(inventorychangeRequestDetailDO.getToArrivdAte()); + transactionCreateReqVOOut.setProduceDate(inventorychangeRequestDetailDO.getToProduceDate()); + transactionCreateReqVOOut.setExpireDate(inventorychangeRequestDetailDO.getToExpireDate()); + transactionCreateReqVOOut.setWarehouseCode(mainDO.getWarehouseCode()); + transactionCreateReqVOOut.setId(null); + transactionCreateReqVOList.add(transactionCreateReqVOOut); + } } inventorychangeRecordDetailMapper.insertBatch(iinventorychangeRecordDetailCreateReqVOlDOList); //增加库存事务 diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorymoveJob/InventorymoveJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorymoveJob/InventorymoveJobMainServiceImpl.java index 54bb6bff..459a6c00 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorymoveJob/InventorymoveJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorymoveJob/InventorymoveJobMainServiceImpl.java @@ -228,8 +228,8 @@ public class InventorymoveJobMainServiceImpl implements InventorymoveJobMainServ @Override @Transactional public String executeInventorymoveJobMain(InventorymoveJobMainUpdateReqVO inventorymoveJobMainUpdateReqVO) { - RecordsettingDO recordsettingDO = null; - BusinesstypeDO businesstypeDO = null; + RecordsettingDO recordsettingDO; + BusinesstypeDO businesstypeDO; String number = ""; //查询数据 InventorymoveJobMainDO inventorymoveJobMainDO = this.validateInventorymoveJobMainExists(inventorymoveJobMainUpdateReqVO.getId()); @@ -328,39 +328,45 @@ public class InventorymoveJobMainServiceImpl implements InventorymoveJobMainServ // 入动作 TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); BeanUtils.copyProperties(inventorymoveRecordDetailDO, transactionCreateReqVO); - TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(inventorymoveRecordMainDO.getInTransactionType()); - transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); - transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); - transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); - transactionCreateReqVO.setBusinessType(inventorymoveJobMainDO.getBusinessType()); - transactionCreateReqVO.setOwnerCode(inventorymoveRecordDetailDO.getToOwnerCode()); - transactionCreateReqVO.setRecordNumber(inventorymoveRecordMainDO.getNumber()); - transactionCreateReqVO.setId(null); - transactionCreateReqVO.setPackingNumber(inventorymoveJobDetailUpdateReqVO.getToPackingNumber()); - transactionCreateReqVO.setBatch(inventorymoveJobDetailUpdateReqVO.getToBatch()); - transactionCreateReqVO.setContainerNumber(inventorymoveJobDetailUpdateReqVO.getToContainerNumber()); - transactionCreateReqVO.setInventoryStatus(inventorymoveJobDetailUpdateReqVO.getToInventoryStatus()); - transactionCreateReqVO.setAmount(BigDecimal.ZERO); - transactionCreateReqVO.setLocationCode(inventorymoveJobDetailUpdateReqVO.getToLocationCode()); - transactionCreateReqVOList.add(transactionCreateReqVO); + String outTransactionType = businesstypeDO.getOutTransactionType(); + String inTransactionType = businesstypeDO.getInTransactionType(); + if(inTransactionType != null && !"".equals(inTransactionType)){ + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(inTransactionType); + transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); + transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + transactionCreateReqVO.setBusinessType(inventorymoveJobMainDO.getBusinessType()); + transactionCreateReqVO.setOwnerCode(inventorymoveRecordDetailDO.getToOwnerCode()); + transactionCreateReqVO.setRecordNumber(inventorymoveRecordMainDO.getNumber()); + transactionCreateReqVO.setId(null); + transactionCreateReqVO.setPackingNumber(inventorymoveJobDetailUpdateReqVO.getToPackingNumber()); + transactionCreateReqVO.setBatch(inventorymoveJobDetailUpdateReqVO.getToBatch()); + transactionCreateReqVO.setContainerNumber(inventorymoveJobDetailUpdateReqVO.getToContainerNumber()); + transactionCreateReqVO.setInventoryStatus(inventorymoveJobDetailUpdateReqVO.getToInventoryStatus()); + transactionCreateReqVO.setAmount(BigDecimal.ZERO); + transactionCreateReqVO.setLocationCode(inventorymoveJobDetailUpdateReqVO.getToLocationCode()); + transactionCreateReqVOList.add(transactionCreateReqVO); + } // 出动作 TransactionCreateReqVO transactionCreateReqVOOut = new TransactionCreateReqVO(); BeanUtils.copyProperties(inventorymoveRecordDetailDO, transactionCreateReqVOOut); - TransactiontypeDO transactiontypeDOOut = jobUtils.selectDocumentFromTransactionType(inventorymoveRecordMainDO.getOutTransactionType()); - transactionCreateReqVOOut.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); - transactionCreateReqVOOut.setInventoryAction(transactiontypeDOOut.getInventoryAction()); - transactionCreateReqVOOut.setTransactionType(transactiontypeDOOut.getCode()); - transactionCreateReqVOOut.setBusinessType(inventorymoveJobMainDO.getBusinessType()); - transactionCreateReqVOOut.setOwnerCode(inventorymoveRecordDetailDO.getFromOwnerCode()); - transactionCreateReqVOOut.setRecordNumber(inventorymoveRecordMainDO.getNumber()); - transactionCreateReqVOOut.setId(null); - transactionCreateReqVOOut.setPackingNumber(inventorymoveJobDetailUpdateReqVO.getPackingNumber()); - transactionCreateReqVOOut.setBatch(inventorymoveJobDetailUpdateReqVO.getBatch()); - transactionCreateReqVOOut.setContainerNumber(inventorymoveJobDetailUpdateReqVO.getContainerNumber()); - transactionCreateReqVOOut.setInventoryStatus(inventorymoveJobDetailUpdateReqVO.getInventoryStatus()); - transactionCreateReqVOOut.setAmount(BigDecimal.ZERO); - transactionCreateReqVOOut.setLocationCode(inventorymoveJobDetailUpdateReqVO.getFromLocationCode()); - transactionCreateReqVOList.add(transactionCreateReqVOOut); + if(outTransactionType != null && !"".equals(outTransactionType)){ + TransactiontypeDO transactiontypeDOOut = jobUtils.selectDocumentFromTransactionType(outTransactionType); + transactionCreateReqVOOut.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); + transactionCreateReqVOOut.setInventoryAction(transactiontypeDOOut.getInventoryAction()); + transactionCreateReqVOOut.setTransactionType(transactiontypeDOOut.getCode()); + transactionCreateReqVOOut.setBusinessType(inventorymoveJobMainDO.getBusinessType()); + transactionCreateReqVOOut.setOwnerCode(inventorymoveRecordDetailDO.getFromOwnerCode()); + transactionCreateReqVOOut.setRecordNumber(inventorymoveRecordMainDO.getNumber()); + transactionCreateReqVOOut.setId(null); + transactionCreateReqVOOut.setPackingNumber(inventorymoveJobDetailUpdateReqVO.getPackingNumber()); + transactionCreateReqVOOut.setBatch(inventorymoveJobDetailUpdateReqVO.getBatch()); + transactionCreateReqVOOut.setContainerNumber(inventorymoveJobDetailUpdateReqVO.getContainerNumber()); + transactionCreateReqVOOut.setInventoryStatus(inventorymoveRecordDetailDO.getFromInventoryStatus()); + transactionCreateReqVOOut.setAmount(BigDecimal.ZERO); + transactionCreateReqVOOut.setLocationCode(inventorymoveJobDetailUpdateReqVO.getFromLocationCode()); + transactionCreateReqVOList.add(transactionCreateReqVOOut); + } }; if(!inventorymoveRecordDetailDOList.isEmpty()){ inventorymoveRecordDetailMapper.insertBatch(inventorymoveRecordDetailDOList); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordDetailServiceImpl.java index 556c332b..feb5cd3e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordDetailServiceImpl.java @@ -3,12 +3,18 @@ package com.win.module.wms.service.purchasereceiptRecord; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailPageReqVO; +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.purchasereceiptRecord.PurchasereceiptRecordDetailDO; +import com.win.module.wms.dal.mysql.balance.BalanceMapper; import com.win.module.wms.dal.mysql.purchasereceiptRecord.PurchasereceiptRecordDetailMapper; +import com.win.module.wms.util.JobUtils; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; /** @@ -22,6 +28,10 @@ public class PurchasereceiptRecordDetailServiceImpl implements PurchasereceiptRe @Resource private PurchasereceiptRecordDetailMapper purchasereceiptRecordDetailMapper; + @Resource + private BalanceMapper balanceMapper; + @Resource + private JobUtils jobUtils; @Override public PageResult getPurchasereceiptRecordDetailSenior(CustomConditions conditions) { @@ -35,7 +45,23 @@ public class PurchasereceiptRecordDetailServiceImpl implements PurchasereceiptRe @Override public List selectList(Long masterId) { - return purchasereceiptRecordDetailMapper.selectList(masterId); + //查询from_locating_code + List purchasereceiptRecordDetailDOList = purchasereceiptRecordDetailMapper.selectList(masterId); + List resultList = new ArrayList<>(); + for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : purchasereceiptRecordDetailDOList) { + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReturnRequest"); + List inventoryStatusList = Arrays.asList(businesstypeDO.getOutInventoryStatuses().split(",")); + List locationTypeList = Arrays.asList(businesstypeDO.getOutLocationTypes().split(",")); + List balanceDOList = balanceMapper.getBalanceListByLocationTypes(purchasereceiptRecordDetailDO.getToPackingNumber(), purchasereceiptRecordDetailDO.getItemCode(), purchasereceiptRecordDetailDO.getToBatch(), inventoryStatusList, locationTypeList); + if(balanceDOList.isEmpty()) { + continue; + } + BalanceDO balanceDO = balanceDOList.get(0); + purchasereceiptRecordDetailDO.setFromLocationCode(balanceDO.getLocationCode()); + purchasereceiptRecordDetailDO.setInventoryStatus(balanceDO.getInventoryStatus()); + resultList.add(purchasereceiptRecordDetailDO); + } + return resultList; } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainServiceImpl.java index 26256e83..0ca445bb 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainServiceImpl.java @@ -36,6 +36,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.*; @@ -301,6 +302,7 @@ public class UnplannedreceiptJobMainServiceImpl implements UnplannedreceiptJobMa transactionCreateReqVO.setRecordNumber(number); transactionCreateReqVO.setQty(unplannedreceiptJobDetailUpdateReqVO.getHandleQty()); transactionCreateReqVO.setId(null); + transactionCreateReqVO.setAmount(BigDecimal.ZERO); transactionCreateReqVOList.add(transactionCreateReqVO); } }