From 228bf672466ab9c4879b162a47d839828c2c63cc Mon Sep 17 00:00:00 2001 From: zhang_li <2235006734@qqq.com> Date: Wed, 22 Nov 2023 18:22:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=87=E5=87=86=E6=88=90=E6=9C=AC=E4=BB=B7?= =?UTF-8?q?=E6=A0=BC=E5=8D=95=E7=AE=A1=E7=90=86=E7=9A=84=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=94=AF=E4=B8=80=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../win/module/wms/enums/ErrorCodeConstants.java | 2 +- .../mysql/stdcostprice/StdcostpriceMapper.java | 6 +++--- .../stdcostprice/StdcostpriceServiceImpl.java | 16 +++++++++++----- 3 files changed, 15 insertions(+), 9 deletions(-) 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 98287379..6226d4f5 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 @@ -52,7 +52,7 @@ public interface ErrorCodeConstants { ErrorCode STDCOSTPRICE_NOT_EXISTS = new ErrorCode(1_023_000_000, "标准成本价格单不存在"); ErrorCode STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS = new ErrorCode(1_023_000_001, "供应商代码不存在"); ErrorCode STDCOSTPRICE_ITEN_CODE_NOT_EXISTS = new ErrorCode(1_023_000_002, "物料代码不存在"); - ErrorCode STDCOSTPRICE_ITEN_CODE_EXISTS = new ErrorCode(1_023_000_003, "物料代码已存在"); + ErrorCode STDCOSTPRICE_ITEN_CODE_EXISTS = new ErrorCode(1_023_000_003, "供应商代码和物料代码已存在"); ErrorCode STDCOSTPRICE_CURRENCY_NOT_EXISTS = new ErrorCode(1_023_000_004, "货币不存在"); ErrorCode STDCOSTPRICE_AVAILABLE_NOT_EXISTS = new ErrorCode(1_023_000_005, "是否可用不存在"); ErrorCode STDCOSTPRICE_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_023_000_006, "导入标准成本价格单不能为空"); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/stdcostprice/StdcostpriceMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/stdcostprice/StdcostpriceMapper.java index 6c3df105..1839c32b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/stdcostprice/StdcostpriceMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/stdcostprice/StdcostpriceMapper.java @@ -10,6 +10,7 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.module.wms.controller.stdcostprice.vo.StdcostpriceExportReqVO; import com.win.module.wms.controller.stdcostprice.vo.StdcostpricePageReqVO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; +import com.win.module.wms.dal.dataobject.itempackaging.ItempackagingDO; import com.win.module.wms.dal.dataobject.stdcostprice.StdcostpriceDO; import org.apache.ibatis.annotations.Mapper; @@ -21,10 +22,9 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface StdcostpriceMapper extends BaseMapperX { - default StdcostpriceDO selectByStdcostpriceCode(String suppliercode) { - return selectOne( StdcostpriceDO::getSupplierCode,suppliercode); + default StdcostpriceDO selectByStdcostpriceCode(String suppliercode, String itemCode) { + return selectOne(StdcostpriceDO::getSupplierCode,suppliercode, StdcostpriceDO::getItemCode, itemCode); } - default PageResult selectSenior(CustomConditions conditions) { return selectPage(conditions, QueryWrapperUtils.structure(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 91466065..b28a87ab 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 @@ -105,7 +105,7 @@ public class StdcostpriceServiceImpl implements StdcostpriceService { massage += ex.getMessage() + ","; } try { - validateCodeExists(null,stdcostprice.getItemCode()); + validateCodeExists(null,stdcostprice.getSupplierCode(),stdcostprice.getItemCode()); } catch (ServiceException ex) { massage += ex.getMessage() + ","; } @@ -137,7 +137,7 @@ public class StdcostpriceServiceImpl implements StdcostpriceService { if(errorList == null) { // 判断如果不存在,在进行插入 - StdcostpriceDO existStdcostprice = stdcostpriceMapper.selectByStdcostpriceCode(stdcostprice.getSupplierCode()); + StdcostpriceDO existStdcostprice = stdcostpriceMapper.selectByStdcostpriceCode(stdcostprice.getSupplierCode(),stdcostprice.getItemCode()); if (existStdcostprice == null && mode != 3) { stdcostpriceMapper.insert(StdcostpriceConvert.INSTANCE.convert(stdcostprice)); } else if (existStdcostprice != null && mode != 2) {// 如果存在,判断是否允许更新 @@ -162,7 +162,7 @@ public class StdcostpriceServiceImpl implements StdcostpriceService { DataPermissionUtils.executeIgnore(() -> { validateStdcostpriceExists(id); // 校验code唯一 - validateCodeExists(id,itemcode); + validateCodeExists(id,itemcode,suppercode); validateSuppercodeExists(suppercode); validateCurrencyExists(currency); validatePriceExists(price); @@ -181,14 +181,20 @@ public class StdcostpriceServiceImpl implements StdcostpriceService { } @VisibleForTesting - private void validateCodeExists(Long id,String itemcode) { + private void validateCodeExists(Long id,String itemcode,String suppercode) { if (itemcode.isEmpty()) { throw exception(STDCOSTPRICE_ITEN_CODE_NOT_EXISTS); } + if (suppercode.isEmpty()) { + throw exception(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS); + } if (StrUtil.isBlank(itemcode)) { return; } - StdcostpriceDO stdcostprice = stdcostpriceMapper.selectByStdcostpriceCode(itemcode); + if (StrUtil.isBlank(suppercode)) { + return; + } + StdcostpriceDO stdcostprice = stdcostpriceMapper.selectByStdcostpriceCode(suppercode, itemcode); if (stdcostprice == null) { return; }