ソースを参照

feat:添加校验供应商名称是否存在

fangxinjian 3 年 前
コミット
ba70b44ee6

+ 32 - 15
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/FactoryServiceImpl.java

@@ -5,19 +5,26 @@ import com.abi.qms.platform.dao.entity.BaseFactory;
 import com.abi.qms.platform.dao.entity.QrBoxCodeFormat;
 import com.abi.qms.platform.dao.entity.QrPackage;
 import com.abi.qms.platform.dao.entity.UserInfo;
-import com.abi.qms.platform.dao.enums.*;
+import com.abi.qms.platform.dao.enums.DataLimitEnum;
+import com.abi.qms.platform.dao.enums.FactoryTypeEnum;
+import com.abi.qms.platform.dao.enums.FirstFactoryEnum;
+import com.abi.qms.platform.dao.enums.TrueFalseEnum;
+import com.abi.qms.platform.dao.enums.ValidEnum;
 import com.abi.qms.platform.dao.mapper.BaseFactoryMapper;
 import com.abi.qms.platform.dao.mapper.QrBoxCodeFormatMapper;
 import com.abi.qms.platform.dao.mapper.QrPackageMapper;
 import com.abi.qms.platform.dao.mapper.UserInfoMapper;
-import com.abi.qms.platform.dto.req.*;
+import com.abi.qms.platform.dto.req.DisableFactoryReq;
+import com.abi.qms.platform.dto.req.EnableFactoryReq;
+import com.abi.qms.platform.dto.req.GetFactoryDetailReq;
+import com.abi.qms.platform.dto.req.ListFactoryReq;
+import com.abi.qms.platform.dto.req.ListFactorySelectReq;
+import com.abi.qms.platform.dto.req.SaveFactoryReq;
 import com.abi.qms.platform.dto.res.ExcelImportRes;
 import com.abi.qms.platform.dto.res.GetFactoryDetailRes;
-import com.abi.qms.platform.dto.res.ListBeerFactorySelectRes;
 import com.abi.qms.platform.dto.res.ListFactoryEnableRes;
 import com.abi.qms.platform.dto.res.ListFactoryRes;
 import com.abi.qms.platform.dto.res.ListFactorySelectRes;
-import com.abi.qms.platform.dto.res.ListCoverFactorySelectRes;
 import com.abi.qms.platform.infrastructure.util.AssertUtil;
 import com.abi.qms.platform.infrastructure.util.PageUtil;
 import com.abi.qms.platform.infrastructure.util.UserUtil;
@@ -27,7 +34,6 @@ import com.abi.task.common.api.exception.ErrorCodeEnum;
 import com.abi.task.common.excel.preperties.FactoryProperty;
 import com.abi.task.common.utils.IMathUtils;
 import com.abi.task.common.utils.PojoConverterUtils;
-import com.baomidou.mybatisplus.core.conditions.query.Query;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.commons.lang3.StringUtils;
@@ -38,7 +44,6 @@ import org.springframework.transaction.annotation.Transactional;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
-import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -75,6 +80,7 @@ public class FactoryServiceImpl implements FactoryService {
         //code不能重复
         QueryWrapper<BaseFactory> factoryQw = new QueryWrapper<>();
         factoryQw.eq("factory_code", req.getFactoryCode());
+        factoryQw.eq("is_delete",0);
         if (req.getId() != null) {
             factoryQw.ne("id", req.getId());
         }
@@ -82,6 +88,16 @@ public class FactoryServiceImpl implements FactoryService {
         if (CollectionUtil.isNotEmpty(checkFactoryList)) {
             throw new BusinessException(ErrorCodeEnum.ERROR_PARAM.getCode(), "供应商ID已存在");
         }
+        //判断供应商名称是否存在
+        if (req.getFactoryName() != null) {
+            QueryWrapper<BaseFactory> qw = new QueryWrapper<>();
+            qw.eq("factory_name", req.getFactoryName());
+            qw.eq("is_delete",0);
+            List<BaseFactory> checkNameList = baseFactoryMapper.selectList(qw);
+            if (CollectionUtil.isNotEmpty(checkNameList)) {
+                throw new BusinessException(ErrorCodeEnum.ERROR_PARAM.getCode(), "供应商名称已存在");
+            }
+        }
 
         //1-声明对象
         BaseFactory factory = null;
@@ -220,9 +236,9 @@ public class FactoryServiceImpl implements FactoryService {
             }
             //码包
             QueryWrapper<QrPackage> qrPackageQuery = new QueryWrapper<>();
-            if(FactoryTypeEnum.COVER.is(factory.getFactoryType())){
+            if (FactoryTypeEnum.COVER.is(factory.getFactoryType())) {
                 qrPackageQuery.eq("factory_cover_id", id);
-            }else{
+            } else {
                 qrPackageQuery.eq("factory_beer_id", id);
             }
             qrPackageQuery.eq("is_delete", 0);
@@ -301,16 +317,16 @@ public class FactoryServiceImpl implements FactoryService {
     @Override
     @Transactional(rollbackFor = Exception.class)
     public ListFactorySelectRes listFactorySelect(ListFactorySelectReq req) {
-        if(req.getFactoryTypeList().contains(FactoryTypeEnum.BEER.getCode()) && DataLimitEnum.YES.is(req.getDataLimit())){
+        if (req.getFactoryTypeList().contains(FactoryTypeEnum.BEER.getCode()) && DataLimitEnum.YES.is(req.getDataLimit())) {
             throw new BusinessException("啤酒厂的下拉框不做数据隔离");
         }
         QueryWrapper<BaseFactory> param = new QueryWrapper<>();
         //数据权限隔离,如果登录账号是包材厂,只能看账号包材厂的数据。否则看全部
-        if(DataLimitEnum.YES.is(req.getDataLimit())
-                &&!TrueFalseEnum.TRUE.is(userUtil.getWholeUser().getIsAbi())){
+        if (DataLimitEnum.YES.is(req.getDataLimit())
+                && !TrueFalseEnum.TRUE.is(userUtil.getWholeUser().getIsAbi())) {
             param.eq("id", userUtil.getWholeUser().getFactoryId());
         }
-        if(req.getFactoryTypeList().contains(FactoryTypeEnum.COVER.getCode()) && Objects.nonNull(req.getIsFirstFactory())){
+        if (req.getFactoryTypeList().contains(FactoryTypeEnum.COVER.getCode()) && Objects.nonNull(req.getIsFirstFactory())) {
             param.eq("is_first_factory", req.getIsFirstFactory());
         }
         //其他条件
@@ -366,6 +382,7 @@ public class FactoryServiceImpl implements FactoryService {
 
     /**
      * code+类型查询供应商
+     *
      * @param factoryCode
      * @param factoryType
      * @return
@@ -373,9 +390,9 @@ public class FactoryServiceImpl implements FactoryService {
     @Override
     public BaseFactory getFactoryByCode(String factoryCode, Integer factoryType) {
         QueryWrapper<BaseFactory> factoryQw = new QueryWrapper<>();
-        factoryQw.eq("factory_code",factoryCode);
-        factoryQw.eq("factory_type",factoryType);
-        factoryQw.eq("is_delete",0);
+        factoryQw.eq("factory_code", factoryCode);
+        factoryQw.eq("factory_type", factoryType);
+        factoryQw.eq("is_delete", 0);
         BaseFactory factory = baseFactoryMapper.selectOne(factoryQw);
 
         return factory;