Browse Source

包材厂按权限查添加入参,支持只查询非二级包材场

tanzhongran 3 years ago
parent
commit
6f3abb7cf8

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

@@ -1,10 +1,6 @@
 package com.abi.qms.platform.controller.console;
 
-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.SaveFactoryReq;
+import com.abi.qms.platform.dto.req.*;
 import com.abi.qms.platform.dto.res.*;
 import com.abi.qms.platform.service.FactoryService;
 import com.abi.task.common.api.base.BaseResponse;
@@ -116,9 +112,9 @@ public class FactoryController {
 
     @ApiOperation("包材厂下拉框数据权限隔离")
     @GetMapping("listPackageFactorySelect")
-    public BaseResponse<ListPackageFactorySelectRes> listPackageFactorySelect() {
+    public BaseResponse<ListPackageFactorySelectRes> listPackageFactorySelect(ListCoverFactorySelectReq req) {
         //包材厂下拉框
-        ListPackageFactorySelectRes result = factoryService.listPackageFactorySelect();
+        ListPackageFactorySelectRes result = factoryService.listPackageFactorySelect(req);
         //包装出参
         return BaseResponse.create(result);
     }

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

@@ -0,0 +1,20 @@
+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;
+
+}

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

@@ -1,11 +1,7 @@
 package com.abi.qms.platform.service;
 
 
-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.SaveFactoryReq;
+import com.abi.qms.platform.dto.req.*;
 import com.abi.qms.platform.dto.res.ExcelImportRes;
 import com.abi.qms.platform.dto.res.GetFactoryDetailRes;
 import com.abi.qms.platform.dto.res.ListBeerFactorySelectRes;
@@ -56,7 +52,7 @@ public interface FactoryService {
      *
      * @return
      */
-    ListPackageFactorySelectRes listPackageFactorySelect();
+    ListPackageFactorySelectRes listPackageFactorySelect(ListCoverFactorySelectReq req);
 
     /**
      * 啤酒厂下拉列表

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

@@ -5,19 +5,12 @@ 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.FactoryLevelEnum;
-import com.abi.qms.platform.dao.enums.FactoryTypeEnum;
-import com.abi.qms.platform.dao.enums.LoginTypeEnum;
-import com.abi.qms.platform.dao.enums.ValidEnum;
+import com.abi.qms.platform.dao.enums.*;
 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.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.SaveFactoryReq;
+import com.abi.qms.platform.dto.req.*;
 import com.abi.qms.platform.dto.res.ExcelImportRes;
 import com.abi.qms.platform.dto.res.GetFactoryDetailRes;
 import com.abi.qms.platform.dto.res.ListBeerFactorySelectRes;
@@ -42,6 +35,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -298,26 +292,32 @@ public class FactoryServiceImpl implements FactoryService {
     }
 
     @Override
-    public ListPackageFactorySelectRes listPackageFactorySelect() {
+    public ListPackageFactorySelectRes listPackageFactorySelect(ListCoverFactorySelectReq req) {
+        //1-判断是否包材厂用户
         Integer loginType;
-
-        //查询数据库
-        QueryWrapper<BaseFactory> param = new QueryWrapper<>();
-        //数据权限隔离,如果登录账号是包材厂,只能看账号包材厂的数据。否则看全部
         if (userUtil.getWholeUser().getFactoryId() != null && userUtil.getWholeUser().getFactoryType() != null && FactoryTypeEnum.COVER.is(userUtil.getWholeUser().getFactoryType()) ) {
-            param.eq("id", userUtil.getWholeUser().getFactoryId());
             loginType = LoginTypeEnum.PACKAGE.getCode();
         } else {
             loginType = LoginTypeEnum.NOT_PACKAGE.getCode();
         }
-        //不查询二级供应商,因为下拉创建码包的时候不需要二级
-        param.in("factory_level", FactoryLevelEnum.ONE.getCode(),null);
+
+        //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());
+        }
+
         //包装出参
         ListPackageFactorySelectRes res = new ListPackageFactorySelectRes();
         List<ListPackageFactorySelectRes.FactoryBean> factoryBeans = PojoConverterUtils.copyList(factoryList, ListPackageFactorySelectRes.FactoryBean.class);