Browse Source

BUG修改

master
叶佳兴 2 years ago
parent
commit
2474880583
  1. 65
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java

65
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java

@ -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);

Loading…
Cancel
Save