|
|
@ -28,6 +28,7 @@ import com.win.module.wms.dal.dataobject.purchase.PurchaseDetailDO; |
|
|
|
import com.win.module.wms.dal.dataobject.purchase.PurchaseMainDO; |
|
|
|
import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanDetailDO; |
|
|
|
import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanMainDO; |
|
|
|
import com.win.module.wms.dal.dataobject.purchaseprice.PurchasepriceDO; |
|
|
|
import com.win.module.wms.dal.dataobject.stdcostprice.StdcostpriceDO; |
|
|
|
import com.win.module.wms.dal.dataobject.supplier.SupplierDO; |
|
|
|
import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO; |
|
|
@ -45,6 +46,7 @@ import com.win.module.wms.service.currencyexchange.CurrencyexchangeService; |
|
|
|
import com.win.module.wms.service.documentSwitch.SwitchService; |
|
|
|
import com.win.module.wms.service.itembasic.ItembasicService; |
|
|
|
import com.win.module.wms.service.itempackaging.ItempackagingService; |
|
|
|
import com.win.module.wms.service.purchaseprice.PurchasepriceService; |
|
|
|
import com.win.module.wms.service.requestsetting.RequestsettingService; |
|
|
|
import com.win.module.wms.service.rule.RuleService; |
|
|
|
import com.win.module.wms.service.shift.ShiftService; |
|
|
@ -112,6 +114,9 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { |
|
|
|
private SupplierService supplierService; |
|
|
|
@Resource |
|
|
|
private DictDataApi dictDataApi; |
|
|
|
@Resource |
|
|
|
private PurchasepriceService purchasepriceService; |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public Long createPurchaseMain(PurchaseMainCreateReqVO createReqVO) { |
|
|
@ -289,8 +294,8 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { |
|
|
|
} |
|
|
|
|
|
|
|
//子表校验 校验标准成本价格
|
|
|
|
private StdcostpriceDO validatorStdcostpriceExist(String supplierCode, String itemCode) { |
|
|
|
return stdcostpriceService.selectStdcostpriceExist(supplierCode, itemCode); |
|
|
|
private PurchasepriceDO validatorStdcostpriceExist(String supplierCode, String itemCode) { |
|
|
|
return purchasepriceService.selectPurchasepriceExist(supplierCode, itemCode); |
|
|
|
} |
|
|
|
|
|
|
|
//校验主表公共方法(适用于新增/修改)
|
|
|
@ -321,13 +326,13 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { |
|
|
|
} 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())) { |
|
|
|
PurchasepriceDO purchasepriceDO = this.validatorStdcostpriceExist(mainDo.getSupplierCode(), detailDo.getItemCode()); |
|
|
|
if (purchasepriceDO != null) { |
|
|
|
detailDo.setSinglePrice(purchasepriceDO.getPrice()); |
|
|
|
if ("CNY".equals(purchasepriceDO.getCurrency())) { |
|
|
|
detailDo.setAmount(detailDo.getSinglePrice().multiply(detailDo.getOrderQty())); |
|
|
|
} else { |
|
|
|
CurrencyexchangeDO currencyexchangeDO = currencyexchangeService.selectCurrencyexchangeExist(stdcostpriceDO.getCurrency(), "CNY"); |
|
|
|
CurrencyexchangeDO currencyexchangeDO = currencyexchangeService.selectCurrencyexchangeExist(purchasepriceDO.getCurrency(), "CNY"); |
|
|
|
detailDo.setAmount(detailDo.getSinglePrice().multiply(detailDo.getOrderQty()).multiply(currencyexchangeDO.getRate())); |
|
|
|
} |
|
|
|
} else { |
|
|
|