|
@ -217,7 +217,6 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { |
|
|
} |
|
|
} |
|
|
List<PurchaseMainImportErrorVO> errorList = new ArrayList<>(); |
|
|
List<PurchaseMainImportErrorVO> errorList = new ArrayList<>(); |
|
|
for (PurchaseMainCreateReqVO createReqVO : datas) { |
|
|
for (PurchaseMainCreateReqVO createReqVO : datas) { |
|
|
|
|
|
|
|
|
PurchaseMainDO mainDo = PurchaseMainConvert.INSTANCE.convert(createReqVO); |
|
|
PurchaseMainDO mainDo = PurchaseMainConvert.INSTANCE.convert(createReqVO); |
|
|
String messageMain = validatorPurchaseMainImport(mainDo); |
|
|
String messageMain = validatorPurchaseMainImport(mainDo); |
|
|
List<PurchaseDetailCreateReqVO> subList = createReqVO.getSubList(); |
|
|
List<PurchaseDetailCreateReqVO> subList = createReqVO.getSubList(); |
|
@ -263,8 +262,9 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//主表校验 校验供应商基础信息
|
|
|
//主表校验 校验供应商基础信息
|
|
|
private void validatorShiftExist(String supplierCode) { |
|
|
private ShiftDO validatorShiftExist(String supplierCode) { |
|
|
shiftService.selectShiftExist(supplierCode); |
|
|
ShiftDO shiftDO = shiftService.selectShiftExist(supplierCode); |
|
|
|
|
|
return shiftDO; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//子表校验 校验供应商基础信息
|
|
|
//子表校验 校验供应商基础信息
|
|
@ -273,35 +273,64 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//子表校验 校验物品标包信息
|
|
|
//子表校验 校验物品标包信息
|
|
|
private void validatorItemPackagingExist(String itemCode) { |
|
|
private ItempackagingDO validatorItemPackagingExist(String itemCode) { |
|
|
itempackagingService.selectItemPackagingExist(itemCode); |
|
|
ItempackagingDO itempackagingDO = itempackagingService.selectItemPackagingExist(itemCode); |
|
|
|
|
|
return itempackagingDO; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//子表校验 校验供应商物品
|
|
|
//子表校验 校验供应商物品
|
|
|
private void validatorSupplierItemExist(String supplierCode, String itemCode) { |
|
|
private SupplieritemDO validatorSupplierItemExist(String supplierCode, String itemCode) { |
|
|
supplieritemService.selectSupplierItemExist(supplierCode, itemCode); |
|
|
SupplieritemDO supplieritemDO = supplieritemService.selectSupplierItemExist(supplierCode, itemCode); |
|
|
|
|
|
return supplieritemDO; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//子表校验 校验标准成本价格
|
|
|
//子表校验 校验标准成本价格
|
|
|
private void validatorStdcostpriceExist(String supplierCode, String itemCode) { |
|
|
private StdcostpriceDO validatorStdcostpriceExist(String supplierCode, String itemCode) { |
|
|
StdcostpriceDO stdcostpriceDO = stdcostpriceService.selectStdcostpriceExist(supplierCode, itemCode); |
|
|
StdcostpriceDO stdcostpriceDO = stdcostpriceService.selectStdcostpriceExist(supplierCode, itemCode); |
|
|
|
|
|
return stdcostpriceDO; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//校验主表公共方法(适用于新增/修改)
|
|
|
//校验主表公共方法(适用于新增/修改)
|
|
|
private PurchaseMainDO validatorMainMethod(PurchaseMainBaseVO baseVO) { |
|
|
private PurchaseMainDO validatorMainMethod(PurchaseMainBaseVO baseVO) { |
|
|
PurchaseMainDO mainDo = PurchaseMainConvert.INSTANCE.convert(baseVO); |
|
|
PurchaseMainDO mainDo = PurchaseMainConvert.INSTANCE.convert(baseVO); |
|
|
this.validatorShiftExist(mainDo.getSupplierCode()); |
|
|
ShiftDO shiftDO = this.validatorShiftExist(mainDo.getSupplierCode()); |
|
|
|
|
|
if (shiftDO == null) { |
|
|
|
|
|
throw exception(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS); |
|
|
|
|
|
} |
|
|
mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); |
|
|
mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); |
|
|
return mainDo; |
|
|
return mainDo; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//校验子表公共方法(适用于新增/修改)
|
|
|
//校验子表公共方法(适用于新增/修改)
|
|
|
private void validatorDetailMethod(PurchaseDetailDO detailDo, PurchaseMainDO mainDo) { |
|
|
private void validatorDetailMethod(PurchaseDetailDO detailDo, PurchaseMainDO mainDo) { |
|
|
validatorItembasic(detailDo.getItemCode()); |
|
|
this.validatorItembasic(detailDo.getItemCode()); |
|
|
validatorItemPackagingExist(detailDo.getItemCode()); |
|
|
this.validatorItemPackagingExist(detailDo.getItemCode()); |
|
|
validatorSupplierItemExist(mainDo.getSupplierCode(), detailDo.getItemCode()); |
|
|
ItempackagingDO itempackagingDO = itempackagingService.selectItemPackagingExist(detailDo.getItemCode()); |
|
|
validatorStdcostpriceExist(mainDo.getSupplierCode(), detailDo.getItemCode()); |
|
|
if(itempackagingDO != null){ |
|
|
|
|
|
detailDo.setStdPackUnit(itempackagingDO.getStdPackUnit()); |
|
|
|
|
|
detailDo.setStdPackQty(itempackagingDO.getStdPackQty()); |
|
|
|
|
|
} |
|
|
|
|
|
SupplieritemDO supplieritemDO = this.validatorSupplierItemExist(mainDo.getSupplierCode(), detailDo.getItemCode()); |
|
|
|
|
|
if(supplieritemDO != null){ |
|
|
|
|
|
detailDo.setSupplierUom(supplieritemDO.getSupplierUom()); |
|
|
|
|
|
detailDo.setSupplierQty(supplieritemDO.getPackQty()); |
|
|
|
|
|
detailDo.setConvertRate(supplieritemDO.getConvertRate()); |
|
|
|
|
|
}else { |
|
|
|
|
|
throw exception(SUPPLIERITEM_NOT_EXISTS); |
|
|
|
|
|
} |
|
|
|
|
|
StdcostpriceDO stdcostpriceDO = this.validatorStdcostpriceExist(mainDo.getSupplierCode(), detailDo.getItemCode()); |
|
|
|
|
|
if(stdcostpriceDO!=null){ |
|
|
|
|
|
detailDo.setSinglePrice(stdcostpriceDO.getPrice()); |
|
|
|
|
|
if ("CNY".equals(stdcostpriceDO.getCurrency())) { |
|
|
|
|
|
detailDo.setAmount(detailDo.getSinglePrice().multiply(detailDo.getOrderQty())); |
|
|
|
|
|
} else { |
|
|
|
|
|
CurrencyexchangeDO currencyexchangeDO = currencyexchangeService.selectCurrencyexchangeExist(stdcostpriceDO.getCurrency(), "CNY"); |
|
|
|
|
|
detailDo.setAmount(detailDo.getSinglePrice().multiply(detailDo.getOrderQty()).multiply(currencyexchangeDO.getRate())); |
|
|
|
|
|
} |
|
|
|
|
|
}else { |
|
|
|
|
|
throw exception(STDCOSTPRICE_NOT_EXISTS); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//新增校验
|
|
|
//新增校验
|
|
@ -312,6 +341,16 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { |
|
|
List<PurchaseDetailDO> subDOList = PurchaseDetailConvert.INSTANCE.convertList03(subList); |
|
|
List<PurchaseDetailDO> subDOList = PurchaseDetailConvert.INSTANCE.convertList03(subList); |
|
|
for (PurchaseDetailDO purchaseDetailDO : subDOList) { |
|
|
for (PurchaseDetailDO purchaseDetailDO : subDOList) { |
|
|
validatorDetailMethod(purchaseDetailDO, purchaseMainDO); |
|
|
validatorDetailMethod(purchaseDetailDO, purchaseMainDO); |
|
|
|
|
|
purchaseDetailDO.setMasterId(purchaseMainDO.getId()); |
|
|
|
|
|
purchaseDetailDO.setNumber(purchaseMainDO.getNumber()); |
|
|
|
|
|
purchaseDetailDO.setPlannedQty(BigDecimal.ZERO); |
|
|
|
|
|
purchaseDetailDO.setShippedQty(BigDecimal.ZERO); |
|
|
|
|
|
purchaseDetailDO.setReceivedQty(BigDecimal.ZERO); |
|
|
|
|
|
purchaseDetailDO.setReturnedQty(BigDecimal.ZERO); |
|
|
|
|
|
purchaseDetailDO.setPutawayQty(BigDecimal.ZERO); |
|
|
|
|
|
purchaseDetailDO.setErpLocationCode(null); |
|
|
|
|
|
purchaseDetailDO.setAvailable("TRUE"); |
|
|
|
|
|
purchaseDetailDO.setStatus(OrderStatusEnum.READY.getCode()); |
|
|
} |
|
|
} |
|
|
purchaseMainMapper.insert(purchaseMainDO); |
|
|
purchaseMainMapper.insert(purchaseMainDO); |
|
|
purchaseDetailMapper.insertBatch(subDOList); |
|
|
purchaseDetailMapper.insertBatch(subDOList); |
|
|