diff --git a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java index 9f8dfffb..0c6559e6 100644 --- a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java +++ b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java @@ -65,6 +65,7 @@ public interface ErrorCodeConstants { ErrorCode PRODUCTIONLINEITEM_AVAILABLE_NOT_EXISTS = new ErrorCode(1_000_024_005, "是否可用不存在"); ErrorCode PRODUCTIONLINEITEM_NOT_EXIST = new ErrorCode(1_000_024_006, "生产线物料关系不存在【{}】"); //采购价格单ErrorCode + ErrorCode SUPPLIERPRICE_NOT_EXISTS = new ErrorCode(1_023_000_000, "采购价格单不存在"); ErrorCode SUPPLIER_NOT_EXISTS = new ErrorCode(1_000_025_000, "供应商不存在"); ErrorCode SUPPLIER_NOT_EXISTSNO = new ErrorCode(1_000_025_001, "代码已存在"); ErrorCode SUPPLIER_MOUBLE_EXISTSNO = new ErrorCode(1_000_025_002, "代码已存在"); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java index 67cfdcb0..2de7d586 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java @@ -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 { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseprice/PurchasepriceService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseprice/PurchasepriceService.java index 6a96db4d..b812a618 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseprice/PurchasepriceService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseprice/PurchasepriceService.java @@ -5,6 +5,7 @@ import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.purchaseprice.vo.*; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.purchaseprice.PurchasepriceDO; +import com.win.module.wms.dal.dataobject.stdcostprice.StdcostpriceDO; import javax.validation.Valid; import java.util.Collection; @@ -58,7 +59,7 @@ public interface PurchasepriceService { /** * 获得采购价格单列表 * - * @param ids 编号 + * @param conditions * @return 采购价格单列表 */ List getPurchasepriceList(CustomConditions conditions); @@ -80,4 +81,14 @@ public interface PurchasepriceService { List getPurchasepriceList(PurchasepriceExportReqVO exportReqVO); List importPurchasepriceList(List purchaseprices, Integer mode, Boolean updatePart); + + /** + * 查询采购价格是否存在 + * BQ-----QSCP + * @author yejiaxing + * @param supplierCode + * @param pitemCode + * @return + */ + public PurchasepriceDO selectPurchasepriceExist(String supplierCode, String pitemCode); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseprice/PurchasepriceServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseprice/PurchasepriceServiceImpl.java index e6f8afff..2583496d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseprice/PurchasepriceServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseprice/PurchasepriceServiceImpl.java @@ -15,6 +15,7 @@ import com.win.module.wms.convert.purchaseprice.PurchasepriceConvert; import com.win.module.wms.dal.dataobject.bom.BomDO; import com.win.module.wms.dal.dataobject.owner.OwnerDO; import com.win.module.wms.dal.dataobject.purchaseprice.PurchasepriceDO; +import com.win.module.wms.dal.dataobject.stdcostprice.StdcostpriceDO; import com.win.module.wms.dal.mysql.purchaseprice.PurchasepriceMapper; import org.springframework.stereotype.Service; import org.springframework.transaction.interceptor.TransactionAspectSupport; @@ -233,4 +234,16 @@ public class PurchasepriceServiceImpl implements PurchasepriceService { throw exception(PURCHASEPRICE_AVAILABLE_NOT_EXISTS); } } + @Override + public PurchasepriceDO selectPurchasepriceExist(String supplierCode, String pitemCode){ + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("item_code",pitemCode); + queryWrapper.eq("supplier_code",supplierCode); + PurchasepriceDO purchasepriceDO = purchasepriceMapper.selectOne(queryWrapper); + if(purchasepriceDO != null && "TRUE".equals(purchasepriceDO.getAvailable())){ + return purchasepriceDO; + }else { + throw exception(SUPPLIERPRICE_NOT_EXISTS); + } + } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/stdcostprice/StdcostpriceService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/stdcostprice/StdcostpriceService.java index 2891397b..49eed14a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/stdcostprice/StdcostpriceService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/stdcostprice/StdcostpriceService.java @@ -59,7 +59,7 @@ public interface StdcostpriceService { /** * 获得标准成本价格单列表 * - * @param ids 编号 + * @param conditions * @return 标准成本价格单列表 */ List getStdcostpriceList(CustomConditions conditions); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/stdcostprice/StdcostpriceServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/stdcostprice/StdcostpriceServiceImpl.java index f30eab50..6f017d2e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/stdcostprice/StdcostpriceServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/stdcostprice/StdcostpriceServiceImpl.java @@ -242,7 +242,7 @@ public class StdcostpriceServiceImpl implements StdcostpriceService { } @Override public StdcostpriceDO selectStdcostpriceExist(String supplierCode,String pitemCode){ - QueryWrapper queryWrapper = new QueryWrapper(); + QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("item_code",pitemCode); queryWrapper.eq("supplier_code",supplierCode); StdcostpriceDO stdcostpriceDO = stdcostpriceMapper.selectOne(queryWrapper);