Browse Source

Merge branch 'feature/1.0.0' of github.com:ab-inbev-apac/abi-cloud-qr-platform into feature/1.0.0

tanzhongran 3 years ago
parent
commit
d9e44a4e4a
17 changed files with 282 additions and 151 deletions
  1. 3 3
      abi-cloud-qr-platform-common/src/main/java/com/abi/task/common/excel/preperties/FactoryProperty.java
  2. 22 20
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/FactoryController.java
  3. 3 3
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/entity/BaseFactory.java
  4. 49 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/enums/DataLimitEnum.java
  5. 2 1
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/enums/FactoryTypeEnum.java
  6. 49 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/enums/FirstFactoryEnum.java
  7. 0 20
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/ListCoverFactorySelectReq.java
  8. 1 4
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/ListFactoryReq.java
  9. 27 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/ListFactorySelectReq.java
  10. 3 3
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/SaveFactoryReq.java
  11. 3 3
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/GetFactoryDetailRes.java
  12. 1 4
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/ListFactoryRes.java
  13. 1 8
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/ListPackageFactorySelectRes.java
  14. 24 19
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/FactoryService.java
  15. 85 52
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/FactoryServiceImpl.java
  16. 7 9
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/QrPackageServiceImpl.java
  17. 2 2
      abi-cloud-qr-platform-server/src/main/resources/dao/mapper/BaseFactoryMapper.xml

+ 3 - 3
abi-cloud-qr-platform-common/src/main/java/com/abi/task/common/excel/preperties/FactoryProperty.java

@@ -18,11 +18,11 @@ public class FactoryProperty implements AbstractExcelProperty {
     @ExcelHeadAlias(value = "供应商名称(必填)")
     private String factoryName;
 
-    @ExcelHeadAlias(value = "供应商类型(必填) 枚举值:包材厂,啤酒厂")
+    @ExcelHeadAlias(value = "供应商类型(必填) 枚举值:包材厂,啤酒厂,二级包材厂")
     private String factoryType;
 
-    @ExcelHeadAlias(value = "供应商级别 1-一级供应商 2-二级供应商")
-    private String factoryLevel;
+    @ExcelHeadAlias(value = "是否一级包材厂(必填) 枚举值:不是,是")
+    private String isFirstFactory;
 
     @ExcelHeadAlias(value = "省")
     private String province;

+ 22 - 20
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/FactoryController.java

@@ -110,32 +110,34 @@ public class FactoryController {
         return BaseResponse.create(result);
     }
 
-    @ApiOperation("包材厂下拉框数据权限隔离")
-    @GetMapping("listPackageFactorySelect")
-    public BaseResponse<ListPackageFactorySelectRes> listPackageFactorySelect(ListCoverFactorySelectReq req) {
+    @ApiOperation("供应商下拉框(包材厂,二级包材厂,啤酒厂)")
+    @GetMapping("listFactorySelectRes")
+    public BaseResponse<ListFactorySelectRes> listFactorySelectRes(ListFactorySelectReq req) {
         //包材厂下拉框
-        ListPackageFactorySelectRes result = factoryService.listPackageFactorySelect(req);
+        ListFactorySelectRes result = factoryService.listFactorySelectRes(req);
         //包装出参
         return BaseResponse.create(result);
     }
 
-    @ApiOperation("啤酒厂下拉框")
-    @GetMapping("listBeerFactorySelect")
-    public BaseResponse<ListBeerFactorySelectRes> listBeerFactorySelect() {
-        //啤酒厂下拉框
-        ListBeerFactorySelectRes result = factoryService.listBeerFactorySelect();
-        //包装出参
-        return BaseResponse.create(result);
-    }
 
-    @ApiOperation("包材厂下拉框")
-    @GetMapping("listCoverFactorySelect")
-    public BaseResponse<ListCoverFactorySelectRes> listCoverFactorySelect() {
-        //包材厂下拉框
-        ListCoverFactorySelectRes result = factoryService.listCoverFactorySelect();
-        //包装出参
-        return BaseResponse.create(result);
-    }
+    //    6.03已废弃
+//    @ApiOperation("啤酒厂下拉框")
+//    @GetMapping("listBeerFactorySelect")
+//    public BaseResponse<ListBeerFactorySelectRes> listBeerFactorySelect() {
+//        //啤酒厂下拉框
+//        ListBeerFactorySelectRes result = factoryService.listBeerFactorySelect();
+//        //包装出参
+//        return BaseResponse.create(result);
+//    }
+//
+//    @ApiOperation("包材厂下拉框")
+//    @GetMapping("listCoverFactorySelect")
+//    public BaseResponse<ListCoverFactorySelectRes> listCoverFactorySelect() {
+//        //包材厂下拉框
+//        ListCoverFactorySelectRes result = factoryService.listCoverFactorySelect();
+//        //包装出参
+//        return BaseResponse.create(result);
+//    }
 
 }
 

+ 3 - 3
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/entity/BaseFactory.java

@@ -33,11 +33,11 @@ public class BaseFactory {
     @ApiModelProperty(value = "供应商名称")
     private String factoryName;
 
-    @ApiModelProperty(value = "供应商类型 1-包材厂 2-啤酒厂")
+    @ApiModelProperty(value = "供应商类型 1-包材厂 2-啤酒厂 3-二级包材厂")
     private Integer factoryType;
 
-    @ApiModelProperty(value = "供应商级别 1-一级供应商 2-二级供应商")
-    private Integer factoryLevel;
+    @ApiModelProperty(value = "是否一级包材厂")
+    private Integer isFirstFactory;
 
     @ApiModelProperty(value = "省")
     private String province;

+ 49 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/enums/DataLimitEnum.java

@@ -0,0 +1,49 @@
+package com.abi.qms.platform.dao.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.EnumSet;
+import java.util.Set;
+
+/**
+ * @author Eurus
+ * @date 2021/6/4 16:15
+ * @Description: 是否数据隔离
+ */
+@Getter
+@AllArgsConstructor
+@JsonFormat(shape = JsonFormat.Shape.OBJECT)
+public enum DataLimitEnum {
+
+    //是否数据隔离: 0-不是 1-是
+    NOT(0, "不是"),
+    YES(1, "是");
+
+    @EnumValue
+    private Integer code;
+    private String name;
+
+    private static final Set<DataLimitEnum> ALL = EnumSet.allOf(DataLimitEnum.class);
+
+    public static String getName(Integer code) {
+        return ALL.stream()
+                .filter(o -> o.code.equals(code))
+                .map(DataLimitEnum::getName)
+                .findAny().orElse(null);
+    }
+
+    public static Integer getCode(String name) {
+        return ALL.stream()
+                .filter(o -> o.name.equals(name))
+                .map(DataLimitEnum::getCode)
+                .findAny().orElse(null);
+    }
+
+    public boolean is(Integer code) {
+        return getCode().equals(code);
+    }
+
+}

+ 2 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/enums/FactoryTypeEnum.java

@@ -20,7 +20,8 @@ public enum FactoryTypeEnum {
 
     //供应商类型: 1-包材厂 2-啤酒厂
     COVER(1, "包材厂"),
-    BEER(2, "啤酒厂");
+    BEER(2, "啤酒厂"),
+    TWO_COVER(3, "二级包材厂");
 
     @EnumValue
     private Integer code;

+ 49 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/enums/FirstFactoryEnum.java

@@ -0,0 +1,49 @@
+package com.abi.qms.platform.dao.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.EnumSet;
+import java.util.Set;
+
+/**
+ * @author Eurus
+ * @date 2021/6/4 15:07
+ * @Description: 是否一级包材厂
+ */
+@Getter
+@AllArgsConstructor
+@JsonFormat(shape = JsonFormat.Shape.OBJECT)
+public enum FirstFactoryEnum {
+
+    //是否一级包材厂: 0-不是 1-是
+    NOT(0, "不是"),
+    YES(1, "是");
+
+    @EnumValue
+    private Integer code;
+    private String name;
+
+    private static final Set<FirstFactoryEnum> ALL = EnumSet.allOf(FirstFactoryEnum.class);
+
+    public static String getName(Integer code) {
+        return ALL.stream()
+                .filter(o -> o.code.equals(code))
+                .map(FirstFactoryEnum::getName)
+                .findAny().orElse(null);
+    }
+
+    public static Integer getCode(String name) {
+        return ALL.stream()
+                .filter(o -> o.name.equals(name))
+                .map(FirstFactoryEnum::getCode)
+                .findAny().orElse(null);
+    }
+
+    public boolean is(Integer code) {
+        return getCode().equals(code);
+    }
+
+}

+ 0 - 20
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/ListCoverFactorySelectReq.java

@@ -1,20 +0,0 @@
-package com.abi.qms.platform.dto.req;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.io.Serializable;
-
-/**
- * @author:Andy.Tan
- * @Description: 供应商新增修改入参
- */
-@Data
-@ApiModel
-public class ListCoverFactorySelectReq implements Serializable {
-
-    @ApiModelProperty(value = "是否过滤2级供应商")
-    private Integer filterLevelTwo;
-
-}

+ 1 - 4
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/ListFactoryReq.java

@@ -18,13 +18,10 @@ public class ListFactoryReq extends PageReq implements Serializable {
     @ApiModelProperty(value = "供应商名称")
     private String factoryName;
 
-    @ApiModelProperty(value = "供应商类型 1-包材厂 2-啤酒厂")
+    @ApiModelProperty(value = "供应商类型 1-包材厂 2-啤酒厂 3-二级包材厂")
     private Integer factoryType;
 
     @ApiModelProperty(value = "是否有效 0-无效 1-有效")
     private Integer valid;
 
-    @ApiModelProperty(value = "供应商级别 1-一级供应商 2-二级供应商")
-    private Integer factoryLevel;
-
 }

+ 27 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/ListFactorySelectReq.java

@@ -0,0 +1,27 @@
+package com.abi.qms.platform.dto.req;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author:Andy.Tan
+ * @Description: 供应商新增修改入参
+ */
+@Data
+@ApiModel
+public class ListFactorySelectReq implements Serializable {
+
+    @NotNull(message = "请提供你要查找的供应商类型")
+    @ApiModelProperty(value = "供应商类型 1-包材厂 2-啤酒厂 3-二级包材厂")
+    private List<Long> factoryTypeList;
+
+    @NotNull(message = "是否数据隔离为空")
+    @ApiModelProperty(value = "是否数据隔离")
+    private Integer dataLimit;
+
+}

+ 3 - 3
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/SaveFactoryReq.java

@@ -23,11 +23,11 @@ public class SaveFactoryReq implements Serializable {
     @ApiModelProperty(value = "供应商名称")
     private String factoryName;
 
-    @ApiModelProperty(value = "供应商类型 1-包材厂 2-啤酒厂")
+    @ApiModelProperty(value = "供应商类型 1-包材厂 2-啤酒厂 3-二级包材厂")
     private Integer factoryType;
 
-    @ApiModelProperty(value = "供应商级别 1-一级供应商 2-二级供应商")
-    private Integer factoryLevel;
+    @ApiModelProperty(value = "是否一级包材厂")
+    private Integer isFirstFactory;
 
     @ApiModelProperty(value = "省")
     private String province;

+ 3 - 3
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/GetFactoryDetailRes.java

@@ -25,11 +25,11 @@ public class GetFactoryDetailRes implements Serializable {
     @ApiModelProperty(value = "供应商名称")
     private String factoryName;
 
-    @ApiModelProperty(value = "供应商类型 1-包材厂 2-啤酒厂")
+    @ApiModelProperty(value = "供应商类型 1-包材厂 2-啤酒厂 3-二级包材厂")
     private Integer factoryType;
 
-    @ApiModelProperty(value = "供应商级别 1-一级供应商 2-二级供应商")
-    private Integer factoryLevel;
+    @ApiModelProperty(value = "是否一级包材厂")
+    private Integer isFirstFactory;
 
     @ApiModelProperty(value = "省")
     private String province;

+ 1 - 4
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/ListFactoryRes.java

@@ -43,12 +43,9 @@ public class ListFactoryRes extends PageResp implements Serializable {
         @ApiModelProperty(value = "供应商名称")
         private String factoryName;
 
-        @ApiModelProperty(value = "供应商类型 1-包材厂 2-啤酒厂")
+        @ApiModelProperty(value = "供应商类型 1-包材厂 2-啤酒厂 3-二级包材厂")
         private Integer factoryType;
 
-        @ApiModelProperty(value = "供应商级别 1-一级供应商 2-二级供应商")
-        private Integer factoryLevel;
-
         @ApiModelProperty(value = "省")
         private String province;
 

+ 1 - 8
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/ListPackageFactorySelectRes.java

@@ -17,15 +17,11 @@ import java.util.List;
  */
 @Data
 @ApiModel
-public class ListPackageFactorySelectRes implements Serializable {
+public class ListFactorySelectRes implements Serializable {
 
     @ApiModelProperty("包材厂列表")
     private List<FactoryBean> factoryBeanList;
 
-    @ApiModelProperty("账号类型(1:包材厂 2:非包材厂)")
-    private Integer loginType;
-
-
 
     /**
      * 供应商bean
@@ -45,8 +41,5 @@ public class ListPackageFactorySelectRes implements Serializable {
 
         @ApiModelProperty(value = "供应商名称")
         private String factoryName;
-
-        @ApiModelProperty(value = "供应商级别 1-一级供应商 2-二级供应商")
-        private Integer factoryLevel;
     }
 }

+ 24 - 19
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/FactoryService.java

@@ -7,7 +7,7 @@ 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.ListPackageFactorySelectRes;
+import com.abi.qms.platform.dto.res.ListFactorySelectRes;
 import com.abi.qms.platform.dto.res.ListCoverFactorySelectRes;
 import com.abi.task.common.excel.preperties.FactoryProperty;
 
@@ -47,24 +47,29 @@ public interface FactoryService {
      */
     ListFactoryEnableRes listFactoryEnable();
 
-    /**
-     * 包材厂下拉列表(数据权限隔离)
-     *
-     * @return
-     */
-    ListPackageFactorySelectRes listPackageFactorySelect(ListCoverFactorySelectReq req);
+    ListFactorySelectRes listFactorySelectRes(ListFactorySelectReq req);
 
-    /**
-     * 啤酒厂下拉列表
-     *
-     * @return
-     */
-    ListBeerFactorySelectRes listBeerFactorySelect();
 
-    /**
-     * 所有包材厂数据
-     *
-     * @return
-     */
-    ListCoverFactorySelectRes listCoverFactorySelect();
+
+    //    6.03已废弃
+//    /**
+//     * 包材厂下拉列表(数据权限隔离)
+//     *
+//     * @return
+//     */
+//    ListFactorySelectRes listPackageFactorySelect(ListFactorySelectReq req);
+//
+//    /**
+//     * 啤酒厂下拉列表
+//     *
+//     * @return
+//     */
+//    ListBeerFactorySelectRes listBeerFactorySelect();
+//
+//    /**
+//     * 所有包材厂数据
+//     *
+//     * @return
+//     */
+//    ListCoverFactorySelectRes listCoverFactorySelect();
 }

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

@@ -16,7 +16,7 @@ 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.ListPackageFactorySelectRes;
+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;
@@ -95,11 +95,13 @@ public class FactoryServiceImpl implements FactoryService {
         factory.setFactoryType(req.getFactoryType());
         factory.setDescription(req.getDescription());
         if (FactoryTypeEnum.COVER.is(req.getFactoryType())) {
+            factory.setIsFirstFactory(req.getIsFirstFactory());
+        }
+        if (!FactoryTypeEnum.BEER.is(req.getFactoryType())) {
             factory.setKeymanName(req.getKeymanName());
             factory.setKeymanMobile(req.getKeymanMobile());
             factory.setEmail(req.getEmail());
             factory.setMaxFileCount(req.getMaxFileCount());
-            factory.setFactoryLevel(req.getFactoryLevel());
             factory.setProvince(req.getProvince());
             factory.setCity(req.getCity());
             factory.setDistrict(req.getDistrict());
@@ -125,7 +127,6 @@ public class FactoryServiceImpl implements FactoryService {
         factoryQw.like(StringUtils.isNotBlank(req.getFactoryName()), "factory_name", "%" + req.getFactoryName() + "%");
         factoryQw.eq(req.getFactoryType() != null, "factory_type", req.getFactoryType());
         factoryQw.eq(req.getValid() != null, "valid", req.getValid());
-        factoryQw.eq(req.getFactoryLevel() != null, "factory_level", req.getFactoryLevel());
 
         //2-分页查询
         IPage<BaseFactory> iPage = baseFactoryMapper.selectPage(PageUtil.createPage(req), factoryQw);
@@ -256,6 +257,9 @@ public class FactoryServiceImpl implements FactoryService {
                 req.setFactoryName(factoryProperty.getFactoryName());
                 req.setFactoryType(FactoryTypeEnum.getCode(factoryProperty.getFactoryType()));
                 if (FactoryTypeEnum.COVER.is(FactoryTypeEnum.getCode(factoryProperty.getFactoryType()))) {
+                    req.setIsFirstFactory(FirstFactoryEnum.getCode(factoryProperty.getIsFirstFactory()));
+                }
+                if (!FactoryTypeEnum.BEER.is(FactoryTypeEnum.getCode(factoryProperty.getFactoryType()))) {
                     req.setKeymanName(factoryProperty.getKeymanName());
                     req.setKeymanMobile(factoryProperty.getKeymanMobile());
                     req.setEmail(factoryProperty.getEmail());
@@ -292,66 +296,25 @@ public class FactoryServiceImpl implements FactoryService {
     }
 
     @Override
-    public ListPackageFactorySelectRes listPackageFactorySelect(ListCoverFactorySelectReq req) {
-        //1-判断是否包材厂用户
-        Integer loginType;
-        if (userUtil.getWholeUser().getFactoryId() != null && userUtil.getWholeUser().getFactoryType() != null && FactoryTypeEnum.COVER.is(userUtil.getWholeUser().getFactoryType()) ) {
-            loginType = LoginTypeEnum.PACKAGE.getCode();
-        } else {
-            loginType = LoginTypeEnum.NOT_PACKAGE.getCode();
+    @Transactional(rollbackFor = Exception.class)
+    public ListFactorySelectRes listFactorySelectRes(ListFactorySelectReq req) {
+        if(req.getFactoryTypeList().contains(FactoryTypeEnum.BEER.getCode()) && DataLimitEnum.YES.is(req.getDataLimit())){
+            throw new BusinessException("啤酒厂的下拉框不做数据隔离");
         }
-
-        //2-查询数据库
         QueryWrapper<BaseFactory> param = new QueryWrapper<>();
         //数据权限隔离,如果登录账号是包材厂,只能看账号包材厂的数据。否则看全部
-        if (LoginTypeEnum.PACKAGE.is(loginType)) {
+        if(DataLimitEnum.YES.is(req.getDataLimit())){
             param.eq("id", userUtil.getWholeUser().getFactoryId());
         }
         //其他条件
-        param.eq("factory_type", FactoryTypeEnum.COVER.getCode());
+        param.in("factory_type", req.getFactoryTypeList());
         param.eq("is_delete", 0);
         param.eq("valid", 1);
         List<BaseFactory> factoryList = baseFactoryMapper.selectList(param);
-
-        //3-根据条件过滤二级包材厂
-        if(TrueFalseEnum.TRUE.is(req.getFilterLevelTwo())){
-            factoryList = factoryList.stream().filter(baseFactory -> !FactoryLevelEnum.TWO.is(baseFactory.getFactoryLevel())).collect(Collectors.toList());
-        }
-
         //包装出参
-        ListPackageFactorySelectRes res = new ListPackageFactorySelectRes();
-        List<ListPackageFactorySelectRes.FactoryBean> factoryBeans = PojoConverterUtils.copyList(factoryList, ListPackageFactorySelectRes.FactoryBean.class);
+        ListFactorySelectRes res = new ListFactorySelectRes();
+        List<ListFactorySelectRes.FactoryBean> factoryBeans = PojoConverterUtils.copyList(factoryList, ListFactorySelectRes.FactoryBean.class);
         res.setFactoryBeanList(factoryBeans);
-        res.setLoginType(loginType);
-
-        return res;
-    }
-
-    @Override
-    public ListBeerFactorySelectRes listBeerFactorySelect() {
-        QueryWrapper<BaseFactory> param = new QueryWrapper<>();
-        param.eq("factory_type", FactoryTypeEnum.BEER.getCode());
-        param.eq("is_delete", 0);
-        param.eq("valid", 1);
-        List<BaseFactory> baseDepartments = baseFactoryMapper.selectList(param);
-        ListBeerFactorySelectRes listBeerFactorySelectRes = new ListBeerFactorySelectRes();
-        List<ListBeerFactorySelectRes.FactoryBean> factoryBeans = PojoConverterUtils.copyList(baseDepartments, ListBeerFactorySelectRes.FactoryBean.class);
-        listBeerFactorySelectRes.setFactoryBeanList(factoryBeans);
-        return listBeerFactorySelectRes;
-    }
-
-    @Override
-    public ListCoverFactorySelectRes listCoverFactorySelect() {
-
-        ListCoverFactorySelectRes res = new ListCoverFactorySelectRes();
-        QueryWrapper<BaseFactory> qw = new QueryWrapper<>();
-        qw.eq("factory_type", FactoryTypeEnum.COVER.getCode());
-        qw.eq("is_delete", 0);
-        qw.eq("valid", 1);
-
-        List<BaseFactory> baseFactoryList = baseFactoryMapper.selectList(qw);
-        List<ListCoverFactorySelectRes.CoverFactoryBean> beanList = PojoConverterUtils.copyList(baseFactoryList, ListCoverFactorySelectRes.CoverFactoryBean.class);
-        res.setFactoryBeanList(beanList);
         return res;
     }
 
@@ -377,6 +340,10 @@ public class FactoryServiceImpl implements FactoryService {
                 && FactoryTypeEnum.getCode(factoryProperty.getFactoryType()) == null) {
             errorMessage.append("供应商类型").append("枚举值不正确,");
         }
+        if (StringUtils.isNotBlank(factoryProperty.getIsFirstFactory())
+                && FirstFactoryEnum.getCode(factoryProperty.getIsFirstFactory()) == null) {
+            errorMessage.append("是否一级供应商").append("枚举值不正确,");
+        }
         if (StringUtils.isBlank(factoryProperty.getKeymanName())) {
             errorMessage.append("联系人姓名").append("为空,");
         }
@@ -391,4 +358,70 @@ public class FactoryServiceImpl implements FactoryService {
     }
 
 
+    //    6.03已废弃
+//    @Override
+//    public ListFactorySelectRes listPackageFactorySelect(ListFactorySelectReq req) {
+//        //1-判断是否包材厂用户
+//        Integer loginType;
+//        if (userUtil.getWholeUser().getFactoryId() != null && userUtil.getWholeUser().getFactoryType() != null && FactoryTypeEnum.COVER.is(userUtil.getWholeUser().getFactoryType()) ) {
+//            loginType = LoginTypeEnum.PACKAGE.getCode();
+//        } else {
+//            loginType = LoginTypeEnum.NOT_PACKAGE.getCode();
+//        }
+//
+//        //2-查询数据库
+//        QueryWrapper<BaseFactory> param = new QueryWrapper<>();
+//        //数据权限隔离,如果登录账号是包材厂,只能看账号包材厂的数据。否则看全部
+//        if (LoginTypeEnum.PACKAGE.is(loginType)) {
+//            param.eq("id", userUtil.getWholeUser().getFactoryId());
+//        }
+//        //其他条件
+//        param.eq("factory_type", FactoryTypeEnum.COVER.getCode());
+//        param.eq("is_delete", 0);
+//        param.eq("valid", 1);
+//        List<BaseFactory> factoryList = baseFactoryMapper.selectList(param);
+//
+//        //3-根据条件过滤二级包材厂
+//        if(TrueFalseEnum.TRUE.is(req.getFilterLevelTwo())){
+//            factoryList = factoryList.stream().filter(baseFactory -> !FactoryLevelEnum.TWO.is(baseFactory.getFactoryLevel())).collect(Collectors.toList());
+//        }
+//
+//        //包装出参
+//        ListFactorySelectRes res = new ListFactorySelectRes();
+//        List<ListFactorySelectRes.FactoryBean> factoryBeans = PojoConverterUtils.copyList(factoryList, ListFactorySelectRes.FactoryBean.class);
+//        res.setFactoryBeanList(factoryBeans);
+//        res.setLoginType(loginType);
+//
+//        return res;
+//    }
+//
+//    @Override
+//    public ListBeerFactorySelectRes listBeerFactorySelect() {
+//        QueryWrapper<BaseFactory> param = new QueryWrapper<>();
+//        param.eq("factory_type", FactoryTypeEnum.BEER.getCode());
+//        param.eq("is_delete", 0);
+//        param.eq("valid", 1);
+//        List<BaseFactory> baseDepartments = baseFactoryMapper.selectList(param);
+//        ListBeerFactorySelectRes listBeerFactorySelectRes = new ListBeerFactorySelectRes();
+//        List<ListBeerFactorySelectRes.FactoryBean> factoryBeans = PojoConverterUtils.copyList(baseDepartments, ListBeerFactorySelectRes.FactoryBean.class);
+//        listBeerFactorySelectRes.setFactoryBeanList(factoryBeans);
+//        return listBeerFactorySelectRes;
+//    }
+//
+//    @Override
+//    public ListCoverFactorySelectRes listCoverFactorySelect() {
+//
+//        ListCoverFactorySelectRes res = new ListCoverFactorySelectRes();
+//        QueryWrapper<BaseFactory> qw = new QueryWrapper<>();
+//        qw.eq("factory_type", FactoryTypeEnum.COVER.getCode());
+//        qw.eq("is_delete", 0);
+//        qw.eq("valid", 1);
+//
+//        List<BaseFactory> baseFactoryList = baseFactoryMapper.selectList(qw);
+//        List<ListCoverFactorySelectRes.CoverFactoryBean> beanList = PojoConverterUtils.copyList(baseFactoryList, ListCoverFactorySelectRes.CoverFactoryBean.class);
+//        res.setFactoryBeanList(beanList);
+//        return res;
+//    }
+
+
 }

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

@@ -12,13 +12,11 @@ import com.abi.qms.platform.dao.entity.UserInfo;
 import com.abi.qms.platform.dao.enums.*;
 import com.abi.qms.platform.dao.mapper.*;
 import com.abi.qms.platform.dao.entity.*;
-import com.abi.qms.platform.dao.enums.FactoryLevelEnum;
 import com.abi.qms.platform.dao.enums.FactoryTypeEnum;
 import com.abi.qms.platform.dao.enums.InvalidEnum;
 import com.abi.qms.platform.dao.enums.QrPackageApplyStatusEnum;
 import com.abi.qms.platform.dao.enums.QrPackageGenerateStatusEnum;
 import com.abi.qms.platform.dao.enums.QrRepertoryTypeEnum;
-import com.abi.qms.platform.dao.mapper.*;
 import com.abi.qms.platform.dao.tablestore.entity.QrCode;
 import com.abi.qms.platform.dao.vo.result.*;
 import com.abi.qms.platform.dto.req.*;
@@ -337,18 +335,18 @@ public class QrPackageServiceImpl implements QrPackageService {
         UserInfo wholeUser = userUtil.getWholeUser();
         BaseFactory factoryCover = baseFactoryMapper.selectById(req.getFactoryCoverId());
         //如果选择的是一级包材厂(而不是无等级包材厂),那么二级包材厂必填
-        if (FactoryLevelEnum.ONE.is(factoryCover.getFactoryLevel())
+        if (FirstFactoryEnum.YES.is(factoryCover.getIsFirstFactory())
                 && req.getFactoryCoverLevelTwoId() == null) {
             throw new BusinessException("选择了一级包材厂,则二级包材厂必填");
         }
         if (wholeUser.getFactoryId() != null && FactoryTypeEnum.COVER.is(wholeUser.getFactoryType())) {
-            //1.他二级包材厂,包材厂必须为该用户所在的包材厂,不可修改
-            if (!FactoryLevelEnum.TWO.is(factoryCover.getFactoryLevel())
+            //1.他是包材厂,包材厂必须为该用户所在的包材厂,不可修改
+            if (FactoryTypeEnum.COVER.is(factoryCover.getFactoryType())
                     && !req.getFactoryCoverId().equals(wholeUser.getFactoryId())) {
                 throw new BusinessException("包材厂只能选择登录用户的包材厂");
             }
-            //2.他是二级包材厂,二级包菜场必须为用户所在的包材厂,不可修改
-            if (FactoryLevelEnum.TWO.is(factoryCover.getFactoryLevel())
+            //2.他是二级包材厂,二级包材厂必须为用户所在的包材厂,不可修改
+            if (FactoryTypeEnum.TWO_COVER.is(factoryCover.getFactoryType())
                     && !req.getFactoryCoverLevelTwoId().equals(wholeUser.getFactoryId())) {
                 throw new BusinessException("二级包材厂只能选择登录用户的包材厂");
             }
@@ -356,11 +354,11 @@ public class QrPackageServiceImpl implements QrPackageService {
 
         if (!isAdd && wholeUser.getFactoryId() != null) {
             //一级包材厂不允许修改码包
-            if (FactoryLevelEnum.ONE.is(factoryCover.getFactoryLevel())) {
+            if (FirstFactoryEnum.YES.is(factoryCover.getIsFirstFactory())) {
                 throw new BusinessException("一级包材厂不允许修改码包");
             }
             //二级包材厂or无级包材厂,只能改自己得码包
-            if (!FactoryLevelEnum.ONE.is(factoryCover.getFactoryLevel())
+            if (FirstFactoryEnum.NOT.is(factoryCover.getIsFirstFactory())
                     && !wholeUser.getFactoryId().equals(qrPackage.getFactoryCoverLevelTwoId())) {
                 throw new BusinessException("包材厂只允许修改自己的码包");
             }

+ 2 - 2
abi-cloud-qr-platform-server/src/main/resources/dao/mapper/BaseFactoryMapper.xml

@@ -8,7 +8,7 @@
         <result column="factory_code" property="factoryCode"/>
         <result column="factory_name" property="factoryName"/>
         <result column="factory_type" property="factoryType"/>
-        <result column="factory_level" property="factoryLevel"/>
+        <result column="is_first_factory" property="isFirstFactory"/>
         <result column="province" property="province"/>
         <result column="city" property="city"/>
         <result column="district" property="district"/>
@@ -27,7 +27,7 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, factory_code, factory_name, factory_type, factory_level, province, city, district, address, keyman_name, keyman_mobile, email, max_file_count, description, create_time, create_by, update_time, is_delete,update_by
+        id, factory_code, factory_name, factory_type, is_first_factory, province, city, district, address, keyman_name, keyman_mobile, email, max_file_count, description, create_time, create_by, update_time, is_delete,update_by
     </sql>
 
 </mapper>