Explorar o código

重复规则更改

yzc hai 1 ano
pai
achega
61cc73b082

+ 15 - 8
hx-item/src/main/java/com/fjhx/item/service/product/impl/ProductInfoServiceImpl.java

@@ -234,23 +234,36 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
     @DSTransactional
     @Override
     public void add(ProductInfoDto productInfoDto) {
+        //赋值产品归属公司
+        if (ObjectUtil.isEmpty(productInfoDto.getCompanyId())) {
+            productInfoDto.setCountryId(SecurityUtils.getCompanyId());
+        }
+        Long companyId = productInfoDto.getCompanyId();
+
         // 赋值产品编号
         productInfoDto.setCode(CodeEnum.PRODUCT.getCode());
         //检查【产品名称】和【规格型号】不能同时重复,但可以单项重复。
         long nameAndSpecCount = this.count(q -> q
                 .eq(ProductInfo::getName, productInfoDto.getName())
                 .eq(ProductInfo::getSpec, productInfoDto.getSpec())
+                .eq(ProductInfo::getCompanyId, companyId)
         );
         if (nameAndSpecCount != 0) {
             throw new ServiceException("同名称同规格的产品已存在");
         }
         // 排除不为空的自定义编码重复
-        long count = this.count(q -> q.eq(ProductInfo::getCustomCode, productInfoDto.getCustomCode()).ne(ProductInfo::getCustomCode, ""));
+        long count = this.count(q -> q.eq(ProductInfo::getCustomCode, productInfoDto.getCustomCode())
+                .ne(ProductInfo::getCustomCode, "")
+                .eq(ProductInfo::getCompanyId, companyId)
+        );
         if (count != 0) {
             throw new ServiceException("产品自定义编码重复");
         }
         // 排除不为空的条码编号重复
-        long count1 = this.count(q -> q.eq(ProductInfo::getBarCode, productInfoDto.getBarCode()).ne(ProductInfo::getBarCode, ""));
+        long count1 = this.count(q -> q.eq(ProductInfo::getBarCode, productInfoDto.getBarCode())
+                .ne(ProductInfo::getBarCode, "")
+                .eq(ProductInfo::getCompanyId, companyId)
+        );
         if (count1 != 0) {
             throw new ServiceException("产品条码编码重复");
         }
@@ -258,12 +271,6 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
         //操作ftp文件
         editFtpFile(productInfoDto);
 
-        //赋值产品归属公司
-        Long companyId = productInfoDto.getCompanyId();
-        if (ObjectUtil.isEmpty(companyId)) {
-            productInfoDto.setCountryId(SecurityUtils.getCompanyId());
-        }
-
         this.save(productInfoDto);
         ObsFileUtil.saveFile(productInfoDto.getFileList(), productInfoDto.getId());
     }