diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/vo/PutawayRecordDetailBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/vo/PutawayRecordDetailBaseVO.java index 1e4050f0..76d1b398 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/vo/PutawayRecordDetailBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/vo/PutawayRecordDetailBaseVO.java @@ -1,13 +1,13 @@ package com.win.module.wms.controller.putawayRecord.vo; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.math.BigDecimal; -import javax.validation.constraints.*; +import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDateTime; + import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; /** @@ -20,8 +20,7 @@ public class PutawayRecordDetailBaseVO { @Schema(description = "id", example = "id") private Long id; - @Schema(description = "从包装号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "从包装号不能为空") + @Schema(description = "从包装号") private String fromPackingNumber; @Schema(description = "到包装号") @@ -67,7 +66,8 @@ public class PutawayRecordDetailBaseVO { @Schema(description = "单据号") private String number; - @Schema(description = "物品代码") + @Schema(description = "物品代码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "物品代码不能为空") private String itemCode; @Schema(description = "备注") diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/vo/PutawayRecordMainBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/vo/PutawayRecordMainBaseVO.java index d280eb15..eb0daa89 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/vo/PutawayRecordMainBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRecord/vo/PutawayRecordMainBaseVO.java @@ -1,16 +1,11 @@ package com.win.module.wms.controller.putawayRecord.vo; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import javax.validation.constraints.*; +import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; /** @@ -23,8 +18,7 @@ public class PutawayRecordMainBaseVO { @Schema(description = "id", example = "id") private Long id; - @Schema(description = "申请单号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "申请单号不能为空") + @Schema(description = "申请单号") private String requestNumber; @Schema(description = "任务单号") diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countadjustRequest/CountadjustRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countadjustRequest/CountadjustRequestMainServiceImpl.java index f5593c8f..93662c29 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countadjustRequest/CountadjustRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countadjustRequest/CountadjustRequestMainServiceImpl.java @@ -203,6 +203,9 @@ public class CountadjustRequestMainServiceImpl implements CountadjustRequestMain countadjustRecordDetailMapper.insert(CountadjustRecordDetailConvert.INSTANCE.convert(countadjustRecordDetailCreateReqVO)); //添加库存事务list BalanceDO balanceDO = balanceMapper.getBalanceQty(countadjustRecordDetailCreateReqVO.getPackingNumber(), countadjustRecordDetailCreateReqVO.getItemCode(), countadjustRecordDetailCreateReqVO.getBatch(), countadjustRecordDetailCreateReqVO.getInventoryStatus(), countadjustRecordDetailCreateReqVO.getLocationCode()); + if(balanceDO == null) { + throw new ServiceException(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); BeanUtils.copyProperties(countadjustRecordDetailCreateReqVO, transactionCreateReqVO); //增加业务类型 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 95735b30..13ed8ba3 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 @@ -51,8 +51,7 @@ import java.util.*; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; -import static com.win.module.wms.enums.ErrorCodeConstants.INSPECT_JOB_MAIN_NOT_EXISTS; -import static com.win.module.wms.enums.ErrorCodeConstants.INSPECT_JOB_MAIN_STATUS_ERROR; +import static com.win.module.wms.enums.ErrorCodeConstants.*; /** * 检验任务主 Service 实现类 @@ -222,6 +221,12 @@ public class InspectJobMainServiceImpl implements InspectJobMainService { BeanUtils.copyProperties(inspectJobMainDO, inspectRecordMainDO); String number = serialNumberApi.generateCode(RuleCodeEnum.INSPECT_RECORD.getCode()); inspectRecordMainDO.setNumber(number); + BusinesstypeDO businesstypeDORecord = jobUtils.selectDocumentSettingFromBusinessType("InspectRecord"); + inspectRecordMainDO.setBusinessType(businesstypeDORecord.getCode()); + inspectRecordMainDO.setFromLocationTypes(businesstypeDORecord.getOutLocationTypes()); + inspectRecordMainDO.setInTransactionType(businesstypeDORecord.getInTransactionType()); + inspectRecordMainDO.setOutTransactionType(businesstypeDORecord.getOutTransactionType()); + inspectRecordMainDO.setFromAreaCodes(businesstypeDORecord.getOutAreaCodes()); inspectRecordMainDO.setJobNumber(inspectJobMainDO.getNumber()); inspectRecordMainDO.setFromWarehouseCode(inspectJobMainDO.getWarehouseCode()); inspectRecordMainDO.setId(null).setCreator(null).setCreateTime(null).setUpdater(null).setUpdateTime(null); @@ -250,6 +255,9 @@ public class InspectJobMainServiceImpl implements InspectJobMainService { inspectRecordDetailDOList.add(inspectRecordDetailDO); //查询库存余额 BalanceDO balanceDO = balanceMapper.getBalanceQty(inspectJobDetailUpdateReqVO.getPackingNumber(), inspectJobMainUpdateReqVO.getItemCode(), inspectJobMainUpdateReqVO.getBatch(), inspectJobDetailUpdateReqVO.getInventoryStatus(), inspectJobDetailUpdateReqVO.getFromLocationCode()); + if(balanceDO == null) { + throw new ServiceException(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } //添加库存事务入list TransactionCreateReqVO transactionCreateReqVOIn = new TransactionCreateReqVO(); BeanUtils.copyProperties(inspectRecordDetailDO, transactionCreateReqVOIn); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java index d98f6873..fdbd0521 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java @@ -387,6 +387,10 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService //增加业务类型 BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("InspectRecord"); inspectRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode()); + inspectRecordMainCreateReqVO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); + inspectRecordMainCreateReqVO.setInTransactionType(businesstypeDO.getInTransactionType()); + inspectRecordMainCreateReqVO.setOutTransactionType(businesstypeDO.getOutTransactionType()); + inspectRecordMainCreateReqVO.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); inspectRecordMainCreateReqVO.setId(null); inspectRecordMainMapper.insert(InspectRecordMainConvert.INSTANCE.convert(inspectRecordMainCreateReqVO)); for(InspectRequestDetailDO inspectRequestDetailDO : detailDOList) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java index f2889a86..98530bf6 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java @@ -250,12 +250,15 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain purchasereceiptJobMainDO.setCompleteUserName(userRespDTO.getNickname()); //更新任务表状态 purchasereceiptJobMainMapper.updateById(purchasereceiptJobMainDO); + BusinesstypeDO businesstypeDORecord = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReceiptRecord"); //创建采购收货记录主表 PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = new PurchasereceiptRecordMainDO(); BeanUtils.copyProperties(purchasereceiptJobMainDO, purchasereceiptRecordMainDO); - BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReceiptJob"); - purchasereceiptRecordMainDO.setOutTransaction(businesstypeDO.getOutTransactionType()); - purchasereceiptRecordMainDO.setInTransaction(businesstypeDO.getInTransactionType()); + purchasereceiptRecordMainDO.setBusinessType(businesstypeDORecord.getCode()); + purchasereceiptRecordMainDO.setFromLocationTypes(businesstypeDORecord.getOutLocationTypes()); + purchasereceiptRecordMainDO.setToLocationTypes(businesstypeDORecord.getInLocationTypes()); + purchasereceiptRecordMainDO.setFromAreaCodes(businesstypeDORecord.getOutAreaCodes()); + purchasereceiptRecordMainDO.setToAreaCodes(businesstypeDORecord.getInAreaCodes()); String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_RECORD.getCode()); purchasereceiptRecordMainDO.setNumber(number); purchasereceiptRecordMainDO.setJobNumber(purchasereceiptJobMainDO.getNumber()); @@ -265,6 +268,7 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain purchasereceiptRecordMainDO.setAvailable("TRUE"); purchasereceiptRecordMainDO.setId(null).setCreator(null).setCreateTime(null).setUpdater(null).setUpdateTime(null); purchasereceiptRecordMainMapper.insert(purchasereceiptRecordMainDO); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReceiptJob"); List purchasereceiptJobDetailUpdateReqVOList = purchasereceiptJobMainUpdateReqVO.getSubList(); //收货记录子 List purchasereceiptRecordDetailDOList = new ArrayList<>(); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainServiceImpl.java index d9c3fda9..f8e609ae 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainServiceImpl.java @@ -68,8 +68,12 @@ public class PurchasereceiptRecordMainServiceImpl implements PurchasereceiptReco List subDOList = PurchasereceiptRecordDetailConvert.INSTANCE.convertList03(createReqVO.getSubList()); String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_RECORD.getCode()); mainDO.setNumber(number); - BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("InspectRecord"); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReceiptRecord"); mainDO.setBusinessType(businesstypeDO.getCode()); + mainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); + mainDO.setToLocationTypes(businesstypeDO.getInLocationTypes()); + mainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); + mainDO.setToAreaCodes(businesstypeDO.getInAreaCodes()); purchasereceiptRecordMainMapper.insert(mainDO); for (PurchasereceiptRecordDetailDO detailDO : subDOList) { detailDO.setMasterId(mainDO.getId()); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java index 212a867a..794f2cef 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java @@ -431,6 +431,10 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq //增加业务类型 BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReceiptRecord"); purchasereceiptRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode()); + purchasereceiptRecordMainCreateReqVO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); + purchasereceiptRecordMainCreateReqVO.setToLocationTypes(businesstypeDO.getInLocationTypes()); + purchasereceiptRecordMainCreateReqVO.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); + purchasereceiptRecordMainCreateReqVO.setToAreaCodes(businesstypeDO.getInAreaCodes()); purchasereceiptRecordMainMapper.insert(PurchasereceiptRecordMainConvert.INSTANCE.convert(purchasereceiptRecordMainCreateReqVO)); for(PurchasereceiptRequestDetailDO purchasereceiptRequestDetailDO : detailDOList) { PurchasereceiptRecordDetailCreateReqVO purchasereceiptRecordDetailCreateReqVO = new PurchasereceiptRecordDetailCreateReqVO(); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainServiceImpl.java index e017fd3e..fb7e8d59 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainServiceImpl.java @@ -229,6 +229,14 @@ public class PurchasereturnJobMainServiceImpl implements PurchasereturnJobMainSe BeanUtils.copyProperties(purchasereturnJobMainDO, purchasereturnRecordMainDO); String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RETURN_RECORD.getCode()); purchasereturnRecordMainDO.setNumber(number); + BusinesstypeDO businesstypeDORecord = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReturnRecord"); + purchasereturnRecordMainDO.setBusinessType(businesstypeDORecord.getCode()); + purchasereturnRecordMainDO.setFromLocationTypes(businesstypeDORecord.getOutLocationTypes()); + purchasereturnRecordMainDO.setToLocationTypes(businesstypeDORecord.getInLocationTypes()); + purchasereturnRecordMainDO.setInTransactionType(businesstypeDORecord.getInTransactionType()); + purchasereturnRecordMainDO.setOutTransactionType(businesstypeDORecord.getOutTransactionType()); + purchasereturnRecordMainDO.setFromAreaCodes(businesstypeDORecord.getOutAreaCodes()); + purchasereturnRecordMainDO.setToAreaCodes(businesstypeDORecord.getInAreaCodes()); purchasereturnRecordMainDO.setJobNumber(purchasereturnJobMainDO.getNumber()); purchasereturnRecordMainDO.setId(null).setCreator(null).setCreateTime(null).setUpdater(null).setUpdateTime(null); purchasereturnRecordMainMapper.insert(purchasereturnRecordMainDO); @@ -259,6 +267,9 @@ public class PurchasereturnJobMainServiceImpl implements PurchasereturnJobMainSe purchaseMainService.updateOrderPurchaseReturnQty(purchasereturnRecordDetailDO.getPoNumber(), purchasereturnRecordDetailDO.getPoLine(), purchasereturnRecordDetailDO.getItemCode(), purchasereturnRecordDetailDO.getQty()); //查询库存余额 BalanceDO balanceDO = balanceMapper.getBalanceQty(purchasereturnRecordDetailDO.getFromPackingNumber(), purchasereturnRecordDetailDO.getItemCode(), purchasereturnRecordDetailDO.getFromBatch(), purchasereturnRecordDetailDO.getInventoryStatus(), purchasereturnRecordDetailDO.getFromLocationCode()); + if(balanceDO == null) { + throw new ServiceException(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } //添加库存事务list TransactionCreateReqVO transactionCreateReqVOOut = new TransactionCreateReqVO(); BeanUtils.copyProperties(purchasereturnRecordDetailDO, transactionCreateReqVOOut); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordMainServiceImpl.java index ad6692de..709df7e8 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordMainServiceImpl.java @@ -1,5 +1,6 @@ package com.win.module.wms.service.purchasereturnRecord; +import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.module.infra.api.trends.TrendsApi; @@ -34,6 +35,7 @@ import java.util.ArrayList; import java.util.List; import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; +import static com.win.module.wms.enums.ErrorCodeConstants.UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS; /** * 采购退货记录主 Service 实现类 @@ -91,6 +93,9 @@ public class PurchasereturnRecordMainServiceImpl implements PurchasereturnRecord BeanUtils.copyProperties(detailDO, transactionCreateReqVOIn); //查询库存余额 BalanceDO balanceDO = balanceMapper.getBalanceQty(detailDO.getFromPackingNumber(), detailDO.getItemCode(), detailDO.getFromBatch(), detailDO.getInventoryStatus(), detailDO.getFromLocationCode()); + if(balanceDO == null) { + throw new ServiceException(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } //添加库存事务出list TransactionCreateReqVO transactionCreateReqVOOut = new TransactionCreateReqVO(); BeanUtils.copyProperties(detailDO, transactionCreateReqVOOut); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainServiceImpl.java index cecdadeb..7e86db1a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainServiceImpl.java @@ -12,9 +12,13 @@ import com.win.module.system.api.dict.DictDataApi; import com.win.module.system.api.serialnumber.SerialNumberApi; import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.wms.controller.expectout.vo.ExpectoutCreateReqVO; +import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailCreateReqVO; +import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainCreateReqVO; import com.win.module.wms.controller.purchasereturnRequest.vo.*; import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobDetailConvert; import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobMainConvert; +import com.win.module.wms.convert.purchasereturnRecord.PurchasereturnRecordDetailConvert; +import com.win.module.wms.convert.purchasereturnRecord.PurchasereturnRecordMainConvert; import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestDetailConvert; import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestMainConvert; import com.win.module.wms.dal.dataobject.balance.BalanceDO; @@ -32,6 +36,7 @@ import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; import com.win.module.wms.dal.mysql.purchasereceiptRecord.PurchasereceiptRecordMainMapper; import com.win.module.wms.dal.mysql.purchasereturnJob.PurchasereturnJobDetailMapper; import com.win.module.wms.dal.mysql.purchasereturnJob.PurchasereturnJobMainMapper; +import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordDetailMapper; import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordMainMapper; import com.win.module.wms.dal.mysql.purchasereturnRequest.PurchasereturnRequestDetailMapper; import com.win.module.wms.dal.mysql.purchasereturnRequest.PurchasereturnRequestMainMapper; @@ -97,6 +102,8 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque @Resource private PurchasereturnRecordMainMapper purchasereturnRecordMainMapper; @Resource + private PurchasereturnRecordDetailMapper purchasereturnRecordDetailMapper; + @Resource private ExpectoutService expectoutService; @Resource private SerialNumberApi serialNumberApi; @@ -356,6 +363,31 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque * @param detailDOList 采购收货子 */ private void generateJob(PurchasereturnRequestMainDO mainDO, List detailDOList) { + //跳过任务直接生成记录 + if("TRUE".equals(mainDO.getDirectCreateRecord())) { + PurchasereturnRecordMainCreateReqVO purchasereturnRecordMainCreateReqVO = new PurchasereturnRecordMainCreateReqVO(); + BeanUtils.copyProperties(mainDO, purchasereturnRecordMainCreateReqVO); + purchasereturnRecordMainCreateReqVO.setRequestNumber(mainDO.getNumber()); + String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RETURN_RECORD.getCode()); + purchasereturnRecordMainCreateReqVO.setNumber(number); + //增加业务类型 + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchasePutawayRecord"); + purchasereturnRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode()); + purchasereturnRecordMainCreateReqVO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); + purchasereturnRecordMainCreateReqVO.setToLocationTypes(businesstypeDO.getInLocationTypes()); + purchasereturnRecordMainCreateReqVO.setInTransactionType(businesstypeDO.getInTransactionType()); + purchasereturnRecordMainCreateReqVO.setOutTransactionType(businesstypeDO.getOutTransactionType()); + purchasereturnRecordMainCreateReqVO.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); + purchasereturnRecordMainCreateReqVO.setToAreaCodes(businesstypeDO.getInAreaCodes()); + purchasereturnRecordMainMapper.insert(PurchasereturnRecordMainConvert.INSTANCE.convert(purchasereturnRecordMainCreateReqVO)); + for(PurchasereturnRequestDetailDO purchasereturnRequestDetailDO : detailDOList) { + PurchasereturnRecordDetailCreateReqVO purchasereturnRecordDetailCreateReqVO = new PurchasereturnRecordDetailCreateReqVO(); + BeanUtils.copyProperties(purchasereturnRequestDetailDO, purchasereturnRecordDetailCreateReqVO); + purchasereturnRecordDetailCreateReqVO.setNumber(number); + purchasereturnRecordDetailMapper.insert(PurchasereturnRecordDetailConvert.INSTANCE.convert(purchasereturnRecordDetailCreateReqVO)); + } + return; + } PurchasereturnJobMainDO purchasereturnJobMainDO = PurchasereturnJobMainConvert.INSTANCE.convert(mainDO); purchasereturnJobMainDO.setRequestNumber(mainDO.getNumber()); purchasereturnJobMainDO.setStatus(JobStatusEnum.PENDING.getCode()); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayJob/PutawayJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayJob/PutawayJobMainServiceImpl.java index b9682a82..b86b1204 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayJob/PutawayJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayJob/PutawayJobMainServiceImpl.java @@ -192,6 +192,14 @@ public class PutawayJobMainServiceImpl implements PutawayJobMainService { BeanUtils.copyProperties(putawayJobMainDO, putawayRecordMainDO); String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_PUTAWAY_RECORD.getCode()); putawayRecordMainDO.setNumber(number); + BusinesstypeDO businesstypeDORecord = jobUtils.selectDocumentSettingFromBusinessType("PurchasePutawayRecord"); + putawayRecordMainDO.setBusinessType(businesstypeDORecord.getCode()); + putawayRecordMainDO.setFromLocationTypes(businesstypeDORecord.getOutLocationTypes()); + putawayRecordMainDO.setToLocationTypes(businesstypeDORecord.getInLocationTypes()); + putawayRecordMainDO.setInTransactionType(businesstypeDORecord.getInTransactionType()); + putawayRecordMainDO.setOutTransactionType(businesstypeDORecord.getOutTransactionType()); + putawayRecordMainDO.setFromAreaCodes(businesstypeDORecord.getOutAreaCodes()); + putawayRecordMainDO.setToAreaCodes(businesstypeDORecord.getInAreaCodes()); putawayRecordMainDO.setJobNumber(putawayJobMainDO.getNumber()); putawayRecordMainDO.setId(null).setCreator(null).setCreateTime(null).setUpdater(null).setUpdateTime(null); putawayRecordMainMapper.insert(putawayRecordMainDO); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRecord/PutawayRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRecord/PutawayRecordMainServiceImpl.java index 6372451d..70666724 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRecord/PutawayRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRecord/PutawayRecordMainServiceImpl.java @@ -1,5 +1,6 @@ package com.win.module.wms.service.putawayRecord; +import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.module.infra.api.trends.TrendsApi; @@ -34,6 +35,7 @@ import java.util.ArrayList; import java.util.List; import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; +import static com.win.module.wms.enums.ErrorCodeConstants.UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS; /** * 上架记录主 Service 实现类 @@ -68,7 +70,7 @@ public class PutawayRecordMainServiceImpl implements PutawayRecordMainService { List subDOList = PutawayRecordDetailConvert.INSTANCE.convertList03(createReqVO.getSubList()); String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode()); mainDO.setNumber(number); - BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PutawayRecord"); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchasePutawayRecord"); mainDO.setBusinessType(businesstypeDO.getCode()); mainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); mainDO.setToLocationTypes(businesstypeDO.getInLocationTypes()); @@ -89,6 +91,9 @@ public class PutawayRecordMainServiceImpl implements PutawayRecordMainService { BeanUtils.copyProperties(detailDO, transactionCreateReqVOIn); //查询库存余额 BalanceDO balanceDO = balanceMapper.getBalanceQty(detailDO.getFromPackingNumber(), detailDO.getItemCode(), detailDO.getFromBatch(), detailDO.getInventoryStatus(), detailDO.getFromLocationCode()); + if(balanceDO == null) { + throw new ServiceException(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } //增加业务入类型 transactionCreateReqVOIn.setBusinessType(businesstypeDO.getCode()); TransactiontypeDO transactiontypeDOIn = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java index 3261c9ac..13e89dd3 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java @@ -329,6 +329,12 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService //增加业务类型 BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchasePutawayRecord"); putawayRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode()); + putawayRecordMainCreateReqVO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); + putawayRecordMainCreateReqVO.setToLocationTypes(businesstypeDO.getInLocationTypes()); + putawayRecordMainCreateReqVO.setInTransactionType(businesstypeDO.getInTransactionType()); + putawayRecordMainCreateReqVO.setOutTransactionType(businesstypeDO.getOutTransactionType()); + putawayRecordMainCreateReqVO.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); + putawayRecordMainCreateReqVO.setToAreaCodes(businesstypeDO.getInAreaCodes()); putawayRecordMainMapper.insert(PutawayRecordMainConvert.INSTANCE.convert(putawayRecordMainCreateReqVO)); for(PutawayRequestDetailDO putawayRequestDetailDO : detailDOList) { PutawayRecordDetailCreateReqVO putawayRecordDetailCreateReqVO = new PutawayRecordDetailCreateReqVO(); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainServiceImpl.java index 7d76446a..c786b4d9 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainServiceImpl.java @@ -1,5 +1,6 @@ package com.win.module.wms.service.scrapRecord; +import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.module.infra.api.trends.TrendsApi; @@ -36,6 +37,7 @@ import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; import static com.win.module.wms.enums.ErrorCodeConstants.SCRAP_RECORD_MAIN_NOT_EXISTS; +import static com.win.module.wms.enums.ErrorCodeConstants.UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS; /** * 报废出库记录主 Service 实现类 @@ -96,10 +98,11 @@ public class ScrapRecordMainServiceImpl implements ScrapRecordMainService { recordDetailDO.setMasterId(scrapRecordMainDO.getId()); recordDetailDO.setId(null); scrapRecordDetailMapper.insert(recordDetailDO); - //查询库存余额 BalanceDO balanceDO = balanceMapper.getBalanceQty(recordDetailDO.getPackingNumber(), recordDetailDO.getItemCode(), recordDetailDO.getBatch(), recordDetailDO.getInventoryStatus(), recordDetailDO.getFromLocationCode()); - + if(balanceDO == null) { + throw new ServiceException(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } //添加库存事务list TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); BeanUtils.copyProperties(recordDetailDO, transactionCreateReqVO); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueJob/TransferissueJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueJob/TransferissueJobMainServiceImpl.java index b76fbb68..139ad812 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueJob/TransferissueJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueJob/TransferissueJobMainServiceImpl.java @@ -51,8 +51,7 @@ import java.util.*; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; -import static com.win.module.wms.enums.ErrorCodeConstants.TRANSFERISSUE_JOB_MAIN_NOT_EXISTS; -import static com.win.module.wms.enums.ErrorCodeConstants.TRANSFERISSUE_JOB_MAIN_STATUS_ERROR; +import static com.win.module.wms.enums.ErrorCodeConstants.*; /** * 调拨出库任务主 Service 实现类 @@ -318,7 +317,9 @@ public class TransferissueJobMainServiceImpl implements TransferissueJobMainServ transferreceiptReqSubList.add(transferreceiptRequestDetailCreateReqVO); //查询库存余额 BalanceDO balanceDO = balanceMapper.getBalanceQty(transferissueJobDetailDO.getPackingNumber(), transferissueJobDetailDO.getItemCode(), transferissueJobDetailDO.getBatch(), transferissueJobDetailDO.getInventoryStatus(), transferissueJobDetailDO.getFromLocationCode()); - + if(balanceDO == null) { + throw new ServiceException(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } //添加库存事务list TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); BeanUtils.copyProperties(transferissueRecordDetailDO, transactionCreateReqVO); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainServiceImpl.java index 89f8d32f..219702c6 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainServiceImpl.java @@ -1,5 +1,6 @@ package com.win.module.wms.service.transferissueRecord; +import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.module.infra.api.trends.TrendsApi; @@ -37,6 +38,7 @@ import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; import static com.win.module.wms.enums.ErrorCodeConstants.TRANSFERISSUE_RECORD_MAIN_NOT_EXISTS; +import static com.win.module.wms.enums.ErrorCodeConstants.UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS; /** * 调拨出库记录主 Service 实现类 @@ -99,10 +101,11 @@ public class TransferissueRecordMainServiceImpl implements TransferissueRecordMa recordDetailDO.setMasterId(transferissueRecordMainDO.getId()); recordDetailDO.setId(null); transferissueRecordDetailMapper.insert(recordDetailDO); - //查询库存余额 BalanceDO balanceDO = balanceMapper.getBalanceQty(recordDetailDO.getFromPackingNumber(), recordDetailDO.getItemCode(), recordDetailDO.getFromBatch(), recordDetailDO.getInventoryStatus(), recordDetailDO.getFromLocationCode()); - + if(balanceDO == null) { + throw new ServiceException(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } //添加库存事务list TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); BeanUtils.copyProperties(recordDetailDO, transactionCreateReqVO); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestMainServiceImpl.java index 8eefbd4d..96d07c96 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestMainServiceImpl.java @@ -626,10 +626,11 @@ public class TransferissueRequestMainServiceImpl implements TransferissueRequest transferissueRecordDetailCreateReqVO.setFromAreaCode(transferissueRequestDetailDO.getFromLocationCode()); TransferissueRecordDetailDO transferissueRecordDetailDO = TransferissueRecordDetailConvert.INSTANCE.convert(transferissueRecordDetailCreateReqVO); transferissueRecordDetailMapper.insert(transferissueRecordDetailDO); - //查询库存余额 BalanceDO balanceDO = balanceMapper.getBalanceQty(transferissueRecordDetailDO.getFromPackingNumber(), transferissueRecordDetailDO.getItemCode(), transferissueRecordDetailDO.getFromBatch(), transferissueRecordDetailDO.getInventoryStatus(), transferissueRecordDetailDO.getFromLocationCode()); - + if(balanceDO == null) { + throw new ServiceException(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } //添加库存事务list TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); BeanUtils.copyProperties(transferissueRecordDetailDO, transactionCreateReqVO); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRecord/TransferreceiptRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRecord/TransferreceiptRecordMainServiceImpl.java index 7203b7b1..4f8f0f1a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRecord/TransferreceiptRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRecord/TransferreceiptRecordMainServiceImpl.java @@ -1,5 +1,6 @@ package com.win.module.wms.service.transferreceiptRecord; +import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.module.infra.api.trends.TrendsApi; @@ -36,6 +37,7 @@ import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; import static com.win.module.wms.enums.ErrorCodeConstants.TRANSFERRECEIPT_RECORD_MAIN_NOT_EXISTS; +import static com.win.module.wms.enums.ErrorCodeConstants.UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS; /** * 调拨入库记录主 Service 实现类 @@ -97,10 +99,11 @@ public class TransferreceiptRecordMainServiceImpl implements TransferreceiptReco recordDetailDO.setMasterId(transferreceiptRecordMainDO.getId()); recordDetailDO.setId(null); transferreceiptRecordDetailMapper.insert(recordDetailDO); - //查询库存余额 BalanceDO balanceDO = balanceMapper.getBalanceQty(recordDetailDO.getFromPackingNumber(), recordDetailDO.getItemCode(), recordDetailDO.getFromBatch(), recordDetailDO.getInventoryStatus(), recordDetailDO.getFromLocationCode()); - + if(balanceDO == null) { + throw new ServiceException(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } //添加库存事务list TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); BeanUtils.copyProperties(recordDetailDO, transactionCreateReqVO); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRequest/TransferreceiptRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRequest/TransferreceiptRequestMainServiceImpl.java index 82598b9f..cb78cde7 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRequest/TransferreceiptRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRequest/TransferreceiptRequestMainServiceImpl.java @@ -22,9 +22,7 @@ import com.win.module.wms.convert.transferreceiptRequest.TransferreceiptRequestD import com.win.module.wms.convert.transferreceiptRequest.TransferreceiptRequestMainConvert; 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.jobsetting.JobsettingDO; -import com.win.module.wms.dal.dataobject.location.LocationDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; import com.win.module.wms.dal.dataobject.transferreceiptJob.TransferreceiptJobDetailDO; @@ -44,9 +42,7 @@ import com.win.module.wms.enums.job.JobStatusEnum; import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.enums.request.RequestStatusState; import com.win.module.wms.service.expectin.ExpectinService; -import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.jobsetting.JobsettingService; -import com.win.module.wms.service.location.LocationService; import com.win.module.wms.service.recordsetting.RecordsettingService; import com.win.module.wms.service.requestsetting.RequestsettingService; import com.win.module.wms.service.transaction.TransactionService; @@ -169,9 +165,11 @@ public class TransferreceiptRequestMainServiceImpl implements TransferreceiptReq transferreceiptRecordDetailCreateReqVO.setFromAreaCode(transferreceiptRequestDetailDO.getFromLocationCode()); TransferreceiptRecordDetailDO transferreceiptRecordDetailDO = TransferreceiptRecordDetailConvert.INSTANCE.convert(transferreceiptRecordDetailCreateReqVO); transferreceiptRecordDetailMapper.insert(transferreceiptRecordDetailDO); - //添加库存事务list BalanceDO balanceDO = balanceMapper.getBalanceQty(transferreceiptRequestDetailDO.getPackingNumber(), transferreceiptRequestDetailDO.getItemCode(), transferreceiptRequestDetailDO.getBatch(), transferreceiptRequestDetailDO.getInventoryStatus(), transferreceiptRequestDetailDO.getFromLocationCode()); + if(balanceDO == null) { + throw new ServiceException(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); BeanUtils.copyProperties(transferreceiptRecordDetailDO, transactionCreateReqVO); //增加业务类型 diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainServiceImpl.java index 72d1b14e..5b5beb4a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainServiceImpl.java @@ -1,5 +1,6 @@ package com.win.module.wms.service.unplannedissueRecord; +import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.module.infra.api.trends.TrendsApi; @@ -36,6 +37,7 @@ import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; import static com.win.module.wms.enums.ErrorCodeConstants.UNPLANNEDISSUE_RECORD_MAIN_NOT_EXISTS; +import static com.win.module.wms.enums.ErrorCodeConstants.UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS; /** * 计划外出库记录主 Service 实现类 @@ -100,10 +102,11 @@ public class UnplannedissueRecordMainServiceImpl implements UnplannedissueRecord recordDetailDO.setBatch(unplannedissueRecordDetailCreateReqVO.getFromBatch()); recordDetailDO.setFromLocationCode(unplannedissueRecordDetailCreateReqVO.getFromLocationCode()); unplannedissueRecordDetailMapper.insert(recordDetailDO); - //查询库存余额 BalanceDO balanceDO = balanceMapper.getBalanceQty(recordDetailDO.getPackingNumber(), recordDetailDO.getItemCode(), recordDetailDO.getBatch(), recordDetailDO.getInventoryStatus(), recordDetailDO.getFromLocationCode()); - + if(balanceDO == null) { + throw new ServiceException(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } //添加库存事务list TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); BeanUtils.copyProperties(recordDetailDO, transactionCreateReqVO); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainServiceImpl.java index e475fd43..8ba58717 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainServiceImpl.java @@ -1,5 +1,6 @@ package com.win.module.wms.service.unplannedreceiptRecord; +import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.module.infra.api.trends.TrendsApi; @@ -35,6 +36,7 @@ import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; +import static com.win.module.wms.enums.ErrorCodeConstants.UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS; import static com.win.module.wms.enums.ErrorCodeConstants.UNPLANNEDRECEIPT_RECORD_MAIN_NOT_EXISTS; /** @@ -104,10 +106,11 @@ public class UnplannedreceiptRecordMainServiceImpl implements UnplannedreceiptRe recordDetailDO.setBatch(unplannedreceiptRecordDetailCreateReqVO.getToBatch()); recordDetailDO.setId(null); unplannedreceiptRecordDetailMapper.insert(recordDetailDO); - //查询库存余额 BalanceDO balanceDO = balanceMapper.getBalanceQty(recordDetailDO.getPackingNumber(), recordDetailDO.getItemCode(), recordDetailDO.getBatch(), recordDetailDO.getInventoryStatus(), recordDetailDO.getToLocationCode()); - + if(balanceDO == null) { + throw new ServiceException(UNPLANNEDISSUE_REQUEST_DETAIL_BALANCE_NOT_EXISTS); + } //添加库存事务list TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); BeanUtils.copyProperties(recordDetailDO, transactionCreateReqVO);