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<>();
for (PurchaseMainCreateReqVO createReqVO : datas) {
PurchaseMainDO mainDo = PurchaseMainConvert.INSTANCE.convert(createReqVO);
String messageMain = validatorPurchaseMainImport(mainDo);
List<PurchaseDetailCreateReqVO> subList = createReqVO.getSubList();
@ -263,8 +262,9 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
}
//主表校验 校验供应商基础信息
private void validatorShiftExist(String supplierCode) {
shiftService.selectShiftExist(supplierCode);
private ShiftDO validatorShiftExist(String supplierCode) {
ShiftDO shiftDO = shiftService.selectShiftExist(supplierCode);
return shiftDO;
}
//子表校验 校验供应商基础信息
@ -273,35 +273,64 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
}
//子表校验 校验物品标包信息
private void validatorItemPackagingExist(String itemCode) {
itempackagingService.selectItemPackagingExist(itemCode);
private ItempackagingDO validatorItemPackagingExist(String itemCode) {
ItempackagingDO itempackagingDO = itempackagingService.selectItemPackagingExist(itemCode);
return itempackagingDO;
}
//子表校验 校验供应商物品
private void validatorSupplierItemExist(String supplierCode, String itemCode) {
supplieritemService.selectSupplierItemExist(supplierCode, itemCode);
private SupplieritemDO validatorSupplierItemExist(String supplierCode, String 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);
return stdcostpriceDO;
}
//校验主表公共方法(适用于新增/修改)
private PurchaseMainDO validatorMainMethod(PurchaseMainBaseVO 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, "新增"));
return mainDo;
}
//校验子表公共方法(适用于新增/修改)
private void validatorDetailMethod(PurchaseDetailDO detailDo, PurchaseMainDO mainDo) {
validatorItembasic(detailDo.getItemCode());
validatorItemPackagingExist(detailDo.getItemCode());
validatorSupplierItemExist(mainDo.getSupplierCode(), detailDo.getItemCode());
validatorStdcostpriceExist(mainDo.getSupplierCode(), detailDo.getItemCode());
this.validatorItembasic(detailDo.getItemCode());
this.validatorItemPackagingExist(detailDo.getItemCode());
ItempackagingDO itempackagingDO = itempackagingService.selectItemPackagingExist(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);
for (PurchaseDetailDO purchaseDetailDO : subDOList) {
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);
purchaseDetailMapper.insertBatch(subDOList);

Loading…
Cancel
Save