Przeglądaj źródła

调整二级包材厂逻辑

tanzhongran 3 lat temu
rodzic
commit
097604e95a

+ 14 - 7
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/QrPackageServiceImpl.java

@@ -297,19 +297,26 @@ public class QrPackageServiceImpl implements QrPackageService {
             }
         }
 
-        //若当前登录用户为包材厂用户,则该选项默认选择该用户所在的包材厂,不可修改
+        //若当前登录用户为包材厂用户,则
         UserInfo wholeUser = userUtil.getWholeUser();
-        if(wholeUser.getFactoryId() != null
-                && FactoryTypeEnum.COVER.is(wholeUser.getFactoryType())
-                && !req.getFactoryCoverId().equals(wholeUser.getFactoryId())){
-            throw new BusinessException("包材厂用户只能选择自己的包材厂");
-        }
-        //如果选择的是一级包材厂(而不是无等级包材厂),那么二级包材厂必填
         BaseFactory factoryCover = baseFactoryMapper.selectById(req.getFactoryCoverId());
+        //如果选择的是一级包材厂(而不是无等级包材厂),那么二级包材厂必填
         if(FactoryLevelEnum.ONE.is(factoryCover.getFactoryLevel())
                 &&req.getFactoryCoverLevelTwoId()==null){
             throw new BusinessException("选择了一级包材厂,则二级包材厂必填");
         }
+        if(wholeUser.getFactoryId() != null&& FactoryTypeEnum.COVER.is(wholeUser.getFactoryType())){
+            //1.他不是二级包材厂,包材厂必须为该用户所在的包材厂,不可修改
+            if(!FactoryLevelEnum.TWO.is(factoryCover.getFactoryLevel())
+                    &&!req.getFactoryCoverId().equals(wholeUser.getFactoryId())){
+                throw new BusinessException("包材厂只能选择登录用户的包材厂");
+            }
+            //2.他是二级包材厂,二级包菜场必须为用户所在的包材厂,不可修改
+            if(FactoryLevelEnum.TWO.is(factoryCover.getFactoryLevel())
+                    &&!req.getFactoryCoverLevelTwoId().equals(wholeUser.getFactoryId())){
+                throw new BusinessException("二级包材厂只能选择登录用户的包材厂");
+            }
+        }
 
         //校验批次号
         if (CollectionUtil.isNotEmpty(req.getPackageBatchBeanList())) {