|
@ -110,32 +110,25 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public Long createPurchasereturnRequestMain(PurchasereturnRequestMainCreateReqVO createReqVO) { |
|
|
public Long createPurchasereturnRequestMain(PurchasereturnRequestMainCreateReqVO createReqVO) { |
|
|
PurchasereturnRequestMainDO purchasereturnRequestMain = PurchasereturnRequestMainConvert.INSTANCE.convert(createReqVO); |
|
|
PurchasereturnRequestMainDO mainDO = PurchasereturnRequestMainConvert.INSTANCE.convert(createReqVO); |
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode()); |
|
|
|
|
|
purchasereturnRequestMain.setNumber(number); |
|
|
|
|
|
PurchasereturnRequestMainDO purchasereturnRequestMainDO = validatorToCreate(createReqVO); |
|
|
|
|
|
List<PurchasereturnRequestDetailDO> subDOList = PurchasereturnRequestDetailConvert.INSTANCE.convertList03(createReqVO.getSubList()); |
|
|
List<PurchasereturnRequestDetailDO> subDOList = PurchasereturnRequestDetailConvert.INSTANCE.convertList03(createReqVO.getSubList()); |
|
|
|
|
|
validatorToCreate(mainDO, subDOList); |
|
|
|
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode()); |
|
|
|
|
|
mainDO.setNumber(number); |
|
|
for (PurchasereturnRequestDetailDO detailDO : subDOList) { |
|
|
for (PurchasereturnRequestDetailDO detailDO : subDOList) { |
|
|
detailDO.setMasterId(purchasereturnRequestMain.getId()); |
|
|
detailDO.setId(null); |
|
|
|
|
|
detailDO.setMasterId(mainDO.getId()); |
|
|
detailDO.setNumber(number); |
|
|
detailDO.setNumber(number); |
|
|
} |
|
|
} |
|
|
|
|
|
purchasereturnRequestMainMapper.insert(mainDO); |
|
|
purchasereturnRequestDetailMapper.insertBatch(subDOList); |
|
|
purchasereturnRequestDetailMapper.insertBatch(subDOList); |
|
|
//调用自动执行方法
|
|
|
//调用自动执行方法
|
|
|
if (RequestStatusEnum.HANDLING.getCode().equals(purchasereturnRequestMainDO.getStatus())) { |
|
|
if (RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { |
|
|
this.generateJob(purchasereturnRequestMain, subDOList); |
|
|
this.generateJob(mainDO, subDOList); |
|
|
} |
|
|
} |
|
|
trendsApi.createTrends(purchasereturnRequestMain.getId(), "purchasereturnRequest", "增加了采购退货申请", TrendsTypeEnum.CREATE); |
|
|
trendsApi.createTrends(mainDO.getId(), "purchasereturnRequest", "增加了采购退货申请", TrendsTypeEnum.CREATE); |
|
|
// 返回
|
|
|
// 返回
|
|
|
return purchasereturnRequestMain.getId(); |
|
|
return mainDO.getId(); |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public void updatePurchasereturnRequestMain(PurchasereturnRequestMainUpdateReqVO updateReqVO) { |
|
|
|
|
|
// 校验存在
|
|
|
|
|
|
validatePurchasereturnRequestMainExists(updateReqVO.getId()); |
|
|
|
|
|
// 更新主表
|
|
|
|
|
|
PurchasereturnRequestMainDO purchasereturnRequestMainDO = validatorToUpdate(updateReqVO); |
|
|
|
|
|
trendsApi.createTrends(purchasereturnRequestMainDO.getId(), "purchasereturnRequest", "增加了采购退货申请", TrendsTypeEnum.CREATE); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
@ -433,38 +426,13 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 新增校验
|
|
|
// 新增校验
|
|
|
private PurchasereturnRequestMainDO validatorToCreate(PurchasereturnRequestMainCreateReqVO createReqVO) { |
|
|
private void validatorToCreate(PurchasereturnRequestMainDO mainDO, List<PurchasereturnRequestDetailDO> subDOList) { |
|
|
PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = new PurchasereceiptRecordMainDO(); |
|
|
requestsettingAndBusinesstypeSet(mainDO); |
|
|
PurchasereturnRequestMainDO purchasereturnRequestMainDO = validatorMainMethod(createReqVO); |
|
|
|
|
|
//子表校验
|
|
|
//子表校验
|
|
|
List<PurchasereturnRequestDetailCreateReqVO> subList = createReqVO.getSubList(); |
|
|
|
|
|
List<PurchasereturnRequestDetailDO> subDOList = PurchasereturnRequestDetailConvert.INSTANCE.convertList03(subList); |
|
|
|
|
|
for (PurchasereturnRequestDetailDO purchasereturnRequestDetailDO : subDOList) { |
|
|
for (PurchasereturnRequestDetailDO purchasereturnRequestDetailDO : subDOList) { |
|
|
validatorDetailMethod(purchasereturnRequestDetailDO,purchasereturnRequestMainDO,purchasereceiptRecordMainDO); |
|
|
purchasereturnRequestDetailDO.setId(null); |
|
|
} |
|
|
validatorDetailMethod(purchasereturnRequestDetailDO,mainDO); |
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode()); |
|
|
|
|
|
purchasereturnRequestMainDO.setNumber(number); |
|
|
|
|
|
purchasereturnRequestMainDO.setPpNumber(purchasereceiptRecordMainDO.getPpNumber()); |
|
|
|
|
|
purchasereturnRequestMainDO.setAsnNumber(purchasereceiptRecordMainDO.getAsnNumber()); |
|
|
|
|
|
purchasereturnRequestMainDO.setRequestTime(LocalDateTime.now()); |
|
|
|
|
|
purchasereturnRequestMainMapper.insert(purchasereturnRequestMainDO); |
|
|
|
|
|
purchasereturnRequestDetailMapper.insertBatch(subDOList); |
|
|
|
|
|
return purchasereturnRequestMainDO; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//修改校验
|
|
|
|
|
|
private PurchasereturnRequestMainDO validatorToUpdate(PurchasereturnRequestMainUpdateReqVO updateReqVO) { |
|
|
|
|
|
PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = new PurchasereceiptRecordMainDO(); |
|
|
|
|
|
PurchasereturnRequestMainDO purchaseclaimRequestMainDO = validatorMainMethod(updateReqVO); |
|
|
|
|
|
//子表校验
|
|
|
|
|
|
List<PurchasereturnRequestDetailUpdateReqVO> subList = updateReqVO.getSubList(); |
|
|
|
|
|
List<PurchasereturnRequestDetailDO> subDOList = PurchasereturnRequestDetailConvert.INSTANCE.convertList05(subList); |
|
|
|
|
|
for (PurchasereturnRequestDetailDO purchaseclaimRequestDetailDO : subDOList) { |
|
|
|
|
|
validatorDetailMethod(purchaseclaimRequestDetailDO,purchaseclaimRequestMainDO,purchasereceiptRecordMainDO); |
|
|
|
|
|
} |
|
|
} |
|
|
purchasereturnRequestMainMapper.updateById(purchaseclaimRequestMainDO); |
|
|
|
|
|
purchasereturnRequestDetailMapper.updateBatch(subDOList); |
|
|
|
|
|
return purchaseclaimRequestMainDO; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private PurchasereturnRequestMainDO validatePurchasereturnRequestMainExists(Long id) { |
|
|
private PurchasereturnRequestMainDO validatePurchasereturnRequestMainExists(Long id) { |
|
@ -483,7 +451,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//校验子表公共方法(适用于新增/修改)
|
|
|
//校验子表公共方法(适用于新增/修改)
|
|
|
private void validatorDetailMethod(PurchasereturnRequestDetailDO detailDo, PurchasereturnRequestMainDO mainDo, PurchasereceiptRecordMainDO purchasereceiptRecordMainDO) { |
|
|
private void validatorDetailMethod(PurchasereturnRequestDetailDO detailDo, PurchasereturnRequestMainDO mainDo) { |
|
|
ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode()); |
|
|
ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode()); |
|
|
detailDo.setItemDesc1(itembasicDO.getDesc1()); |
|
|
detailDo.setItemDesc1(itembasicDO.getDesc1()); |
|
|
detailDo.setItemDesc2(itembasicDO.getDesc2()); |
|
|
detailDo.setItemDesc2(itembasicDO.getDesc2()); |
|
@ -492,7 +460,9 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque |
|
|
this.ifUomSuccess(itembasicDO.getUom(), detailDo.getUom()); |
|
|
this.ifUomSuccess(itembasicDO.getUom(), detailDo.getUom()); |
|
|
validatorLocation(detailDo.getFromLocationCode()); |
|
|
validatorLocation(detailDo.getFromLocationCode()); |
|
|
PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = purchasereceiptRecordMainService.selectPurchasereceiptExist(detailDo.getPoNumber(), mainDo.getSupplierCode(), mainDo.getPurchaseReceiptRecordNumber(), detailDo.getPoLine(), detailDo.getItemCode()); |
|
|
PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = purchasereceiptRecordMainService.selectPurchasereceiptExist(detailDo.getPoNumber(), mainDo.getSupplierCode(), mainDo.getPurchaseReceiptRecordNumber(), detailDo.getPoLine(), detailDo.getItemCode()); |
|
|
purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectById(purchasereceiptRecordDetailDO.getMasterId()); |
|
|
PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectById(purchasereceiptRecordDetailDO.getMasterId()); |
|
|
|
|
|
mainDo.setPpNumber(purchasereceiptRecordMainDO.getPpNumber()); |
|
|
|
|
|
mainDo.setAsnNumber(purchasereceiptRecordMainDO.getAsnNumber()); |
|
|
ifdetailQtyBigThanQty(purchasereceiptRecordDetailDO.getQty(), detailDo.getQty()); |
|
|
ifdetailQtyBigThanQty(purchasereceiptRecordDetailDO.getQty(), detailDo.getQty()); |
|
|
BigDecimal bigDecimal = validatorBalance(detailDo,mainDo); |
|
|
BigDecimal bigDecimal = validatorBalance(detailDo,mainDo); |
|
|
ifdetailQtyBigThanQty(detailDo.getQty(),bigDecimal); |
|
|
ifdetailQtyBigThanQty(detailDo.getQty(),bigDecimal); |
|
|