فهرست منبع

Merge branch 'feature/1.0.0' of D:\works\abi-cloud-qr-platform with conflicts.

v_KaixiangGuo 3 سال پیش
والد
کامیت
aa688dc43d

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

@@ -1,6 +1,7 @@
 package com.abi.qms.platform.service.impl;
 
 import cn.hutool.core.collection.CollectionUtil;
+import com.abi.qms.platform.dao.entity.*;
 import cn.hutool.json.JSONUtil;
 import com.abi.base.foundation.util.JsonUtil;
 import com.abi.qms.platform.dao.entity.BaseFactory;
@@ -12,10 +13,7 @@ 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.dao.mapper.*;
 import com.abi.qms.platform.dto.req.DisableFactoryReq;
 import com.abi.qms.platform.dto.req.EnableFactoryReq;
 import com.abi.qms.platform.dto.req.GetFactoryDetailReq;
@@ -75,6 +73,12 @@ public class FactoryServiceImpl implements FactoryService {
     @Autowired
     private UserUtil userUtil;
 
+    @Autowired
+    private BaseSapCoverFactoryMapper baseSapCoverFactoryMapper;
+
+    @Autowired
+    private BaseSapBeerFactoryMapper baseSapBeerFactoryMapper;
+
     /**
      * 供应商新增修改
      **/
@@ -371,6 +375,7 @@ public class FactoryServiceImpl implements FactoryService {
             if(FactoryTypeEnum.getCode(factoryProperty.getFactoryType()) == null){
                 errorMessage.append("供应商类型").append("枚举值不正确,");
             }else {
+                //包材厂校验
                 if (FactoryTypeEnum.COVER.is(FactoryTypeEnum.getCode(factoryProperty.getFactoryType()))){
                     if (StringUtils.isNotBlank(factoryProperty.getIsFirstFactory())) {
                         if(FirstFactoryEnum.getCode(factoryProperty.getIsFirstFactory()) == null){
@@ -379,13 +384,40 @@ public class FactoryServiceImpl implements FactoryService {
                     }else {
                         errorMessage.append("是否一级供应商").append("为空,");
                     }
+                    //查询包材厂id名称是否匹配
+                    if (!StringUtils.isBlank(factoryProperty.getFactoryCode())) {
+                        QueryWrapper<BaseSapCoverFactory> sapCoverFactoryQW = new QueryWrapper<>();
+                        sapCoverFactoryQW.eq("sap_cover_factory_id", factoryProperty.getFactoryCode());
+                        sapCoverFactoryQW.eq("is_delete", 0);
+                        BaseSapCoverFactory baseSapCoverFactory = baseSapCoverFactoryMapper.selectOne(sapCoverFactoryQW);
+                        if (ObjectUtils.isEmpty(baseSapCoverFactory)){
+                            errorMessage.append("供应商id").append("不存在,");
+                        }else {
+                            if (!StringUtils.isBlank(factoryProperty.getFactoryName())
+                                    && !factoryProperty.getFactoryName().equals(baseSapCoverFactory.getSapCoverFactoryName())){
+                                errorMessage.append("供应商名称").append("与供应商id不匹配,");
+                            }
+                        }
+                    }
                 }
+                //二级包材厂ID格式校验
+                if (FactoryTypeEnum.TWO_COVER.is(FactoryTypeEnum.getCode(factoryProperty.getFactoryType()))
+                        && !StringUtils.isBlank(factoryProperty.getFactoryCode())){
+                    String factoryCodeFormatString = "[0-9]*";
+                    Pattern factoryCodeFormat = Pattern.compile(factoryCodeFormatString);
+                    if (!factoryCodeFormat.matcher(factoryProperty.getFactoryCode()).matches()) {
+                        errorMessage.append("包材厂ID").append("格式不正确,");
+                    }
+                }
+
+                //包材厂与二级包材厂参数校验
                 if (!FactoryTypeEnum.BEER.is(FactoryTypeEnum.getCode(factoryProperty.getFactoryType()))) {
                     //邮箱判空或格式校验
                     if (StringUtils.isBlank(factoryProperty.getEmail())) {
                         errorMessage.append("邮箱").append("为空,");
                     }else {
-                        Pattern emailFormat = Pattern.compile("^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$");
+                        String emailFormatString = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
+                        Pattern emailFormat = Pattern.compile(emailFormatString);
                         if (!emailFormat.matcher(factoryProperty.getEmail()).matches()) {
                             errorMessage.append("邮箱").append("格式不正确,");
                         }
@@ -402,7 +434,9 @@ public class FactoryServiceImpl implements FactoryService {
                     if (StringUtils.isBlank(factoryProperty.getKeymanMobile())) {
                         errorMessage.append("联系人手机号").append("为空,");
                     }else {
-                        Pattern keymanMobileFormat = Pattern.compile("^1[0-9]{10}$");
+                        //手机号格式校验
+                        String keymanMobileFormatString = "^1[0-9]{10}$";
+                        Pattern keymanMobileFormat = Pattern.compile(keymanMobileFormatString);
                         if (!keymanMobileFormat.matcher(factoryProperty.getKeymanMobile()).matches()){
                             errorMessage.append("联系人手机号").append("格式不正确,");
                         }
@@ -419,6 +453,22 @@ public class FactoryServiceImpl implements FactoryService {
                     if (StringUtils.isBlank(factoryProperty.getKeymanName())) {
                         errorMessage.append("联系人姓名").append("为空,");
                     }
+                }else {
+                    //查询啤酒厂id名称是否匹配
+                    if (!StringUtils.isBlank(factoryProperty.getFactoryCode())) {
+                        QueryWrapper<BaseSapBeerFactory> sapBeerFactoryQW = new QueryWrapper<>();
+                        sapBeerFactoryQW.eq("sap_beer_factory_id", factoryProperty.getFactoryCode());
+                        sapBeerFactoryQW.eq("is_delete", 0);
+                        BaseSapBeerFactory baseSapBeerFactory = baseSapBeerFactoryMapper.selectOne(sapBeerFactoryQW);
+                        if (ObjectUtils.isEmpty(baseSapBeerFactory)){
+                            errorMessage.append("供应商id").append("不存在");
+                        }else {
+                            if (!StringUtils.isBlank(factoryProperty.getFactoryName())
+                                    && !factoryProperty.getFactoryName().equals(baseSapBeerFactory.getSapBeerFactoryName())){
+                                errorMessage.append("供应商名称").append("与供应商id不匹配");
+                            }
+                        }
+                    }
                 }
             }
         }else {