From 6557589b21c34c072b9a671d268d85c52b4bf841 Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期五, 08 十二月 2023 14:47:05 +0800
Subject: [PATCH] 出入库只能查看下级

---
 consum-base/src/main/java/com/consum/base/service/BaseWarehouseService.java          |    3 +
 consum-base/src/main/java/com/consum/base/service/impl/BaseWarehouseServiceImpl.java |   71 ++++++++++++++++++++---------------
 consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java    |    3 +
 consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java    |   21 ++++------
 4 files changed, 54 insertions(+), 44 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java b/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java
index 9e95db5..228d85a 100644
--- a/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java
@@ -40,7 +40,6 @@
     @Autowired
     private LWhGoodsService lWhGoodsService;
 
-
     /**
      * @Description 鏂板
      * @Author 鍗㈠簡闃�
@@ -56,7 +55,7 @@
         if (StringUtils.isEmpty(param.getWarehouseName())) {
             return ResponseValue.error("浠撳簱鍚嶇О涓虹┖");
         }
-        //TODO 鍔犳潈闄� 鐪佺骇绠$悊鍛樺綍鍏ユ墍鏈変粨搴撲俊鎭�
+        // TODO 鍔犳潈闄� 鐪佺骇绠$悊鍛樺綍鍏ユ墍鏈変粨搴撲俊鎭�
 
         int result = this.baseWarehouseService.add(param);
         if (result > 0) {
@@ -77,12 +76,12 @@
         CommonUtil.copyProperties(param, param2);
         param = param2;
 
-        FinSysTenantUser sysInfo = this.getSysInfo();
-        if (sysInfo == null) {
+        FinSysTenantUser currentUser = this.getSysInfo();
+        if (currentUser == null) {
             return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
-        param.setAgencyId(Long.valueOf(sysInfo.getTenantId()));
-        GenericPager<BaseWarehouse> pager = this.baseWarehouseService.queryList(param);
+        param.setAgencyId(Long.valueOf(currentUser.getTenantId()));
+        GenericPager<BaseWarehouse> pager = this.baseWarehouseService.queryList(param, currentUser);
         return ResponseValue.success(pager);
     }
 
@@ -180,9 +179,8 @@
     }
 
     @ApiOperation(value = "鏍规嵁浠撳簱id鍜屽瀷鍙穒d 鏌ヨ搴撳瓨", notes = "鏍规嵁浠撳簱id鍜屽瀷鍙穒d 鏌ヨ搴撳瓨")
-    @ApiImplicitParams({
-        @ApiImplicitParam(name = "warehouseQry", value = "浠撳簱id鍜屽瀷鍙穒d", required = true, dataType = "WarehouseQry", paramType = "query")
-    })
+    @ApiImplicitParams({@ApiImplicitParam(name = "warehouseQry", value = "浠撳簱id鍜屽瀷鍙穒d", required = true,
+        dataType = "WarehouseQry", paramType = "query")})
     @GetMapping("/select/number")
     public ResponseValue selectNumber() {
         WarehouseQry warehouseQry = CommonUtil.getObjFromReq(WarehouseQry.class);
@@ -193,7 +191,8 @@
         Long warehouseId = warehouseQry.getWarehouseId();
         if (warehouseId == null) {
             Long agencyId = warehouseQry.getAgencyId();
-            BaseWarehouse defaultWarehouseByAgencyId = this.baseWarehouseService.getDefaultWarehouseByAgencyId(agencyId);
+            BaseWarehouse defaultWarehouseByAgencyId =
+                this.baseWarehouseService.getDefaultWarehouseByAgencyId(agencyId);
             warehouseId = defaultWarehouseByAgencyId.getId();
         }
         Long baseGoodsModelsId = warehouseQry.getBaseGoodsModelsId();
@@ -205,6 +204,4 @@
         return ResponseValue.success(num);
     }
 
-
 }
-
diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java
index 55f8dcc..0a5dff4 100644
--- a/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java
@@ -203,10 +203,11 @@
     @GetMapping("/detail/list")
     public ResponseValue queryFormOutputDetailList() {
         LWhFormOutputQry formOutputQry = CommonUtil.getObjFromReq(LWhFormOutputQry.class);
-        S_user_core currentUser = this.getCurrentUser();
+        FinSysTenantUser currentUser = this.getSysInfo();
         if (currentUser == null) {
             return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
+        formOutputQry.setAgencyId(Long.valueOf(currentUser.getTenantId()));
         PageUtil genericPager = lWarehouseFlowService.queryAllBusinessFlow(formOutputQry);
         return ResponseValue.success(genericPager);
     }
diff --git a/consum-base/src/main/java/com/consum/base/service/BaseWarehouseService.java b/consum-base/src/main/java/com/consum/base/service/BaseWarehouseService.java
index 5476972..b5d7ed3 100644
--- a/consum-base/src/main/java/com/consum/base/service/BaseWarehouseService.java
+++ b/consum-base/src/main/java/com/consum/base/service/BaseWarehouseService.java
@@ -2,6 +2,7 @@
 
 import com.consum.base.pojo.BaseWarehouseParam;
 import com.consum.model.po.BaseWarehouse;
+import com.consum.model.po.FinSysTenantUser;
 import com.walker.db.page.GenericPager;
 import com.walker.jdbc.service.BaseService;
 import java.util.List;
@@ -15,7 +16,7 @@
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/26
      */
-    GenericPager<BaseWarehouse> queryList(BaseWarehouseParam param);
+    GenericPager<BaseWarehouse> queryList(BaseWarehouseParam param, FinSysTenantUser currentUser);
 
     /**
      * @Description 缂栬緫(淇敼鐘舵��)
diff --git a/consum-base/src/main/java/com/consum/base/service/impl/BaseWarehouseServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/BaseWarehouseServiceImpl.java
index c2e08b0..68e3c76 100644
--- a/consum-base/src/main/java/com/consum/base/service/impl/BaseWarehouseServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/impl/BaseWarehouseServiceImpl.java
@@ -1,5 +1,16 @@
 package com.consum.base.service.impl;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
 import com.consum.base.Constants;
 import com.consum.base.core.CodeGeneratorService;
 import com.consum.base.core.utils.IdUtil;
@@ -11,20 +22,12 @@
 import com.consum.model.po.BaseWarehouse;
 import com.consum.model.po.FinSysTenant;
 import com.consum.model.po.FinSysTenantDepartment;
+import com.consum.model.po.FinSysTenantUser;
 import com.consum.model.po.SDictData;
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.Set;
-import java.util.stream.Collectors;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
 
 /**
  * @Description 浠撳簱绠$悊
@@ -55,13 +58,13 @@
         baseWarehouse.setId(IdUtil.generateId());
         baseWarehouse.setWarehouseType(Constants.WAREHOUSE_TYPE_TENANT);
         baseWarehouse.setWarehouseCode(codeGeneratorService.createWarehouseCode());
-        //鏍规嵁鏈烘瀯id鏌ヨ鏈烘瀯
+        // 鏍规嵁鏈烘瀯id鏌ヨ鏈烘瀯
         FinSysTenant finSysTenant = finSysTenantService.get(new FinSysTenant(baseWarehouse.getAgencyId()));
         if (finSysTenant != null) {
             baseWarehouse.setParentAgencyId(finSysTenant.getParentId());
             baseWarehouse.setAgencyName(finSysTenant.getName());
         }
-        //鏍规嵁CLASSIFICATION_CODE鏌ヨCLASSIFICATION_NAME
+        // 鏍规嵁CLASSIFICATION_CODE鏌ヨCLASSIFICATION_NAME
         SDictData dictData = this.sDictDataService.get(new SDictData(Long.valueOf(param.getClassificationCode())));
         if (dictData != null) {
             baseWarehouse.setClassificationName(dictData.getDict_label());
@@ -77,26 +80,34 @@
      * @Date 2023/10/26
      */
     @Override
-    public GenericPager<BaseWarehouse> queryList(BaseWarehouseParam param) {
+    public GenericPager<BaseWarehouse> queryList(BaseWarehouseParam param, FinSysTenantUser currentUser) {
         StringBuilder sql = new StringBuilder("SELECT * FROM base_warehouse WHERE 1 = 1 ");
         HashMap<String, Object> paramts = new HashMap<>();
 
-        //浠撳簱鍚嶇О
+        // 浠撳簱鍚嶇О
         if (!StringUtils.isEmpty(param.getWarehouseName())) {
             sql.append(" and WAREHOUSE_NAME like:WAREHOUSE_NAME ");
-            paramts.put("WAREHOUSE_NAME", StringUtils.CHAR_PERCENT + param.getWarehouseName() + StringUtils.CHAR_PERCENT);
+            paramts.put("WAREHOUSE_NAME",
+                StringUtils.CHAR_PERCENT + param.getWarehouseName() + StringUtils.CHAR_PERCENT);
         }
-        //绫诲瀷
+        // 绫诲瀷
         if (!StringUtils.isEmpty(param.getClassificationCode())) {
             sql.append(" and CLASSIFICATION_CODE =:CLASSIFICATION_CODE ");
             paramts.put("CLASSIFICATION_CODE", param.getClassificationCode());
         }
-        //鏈烘瀯id
+        // 鏈烘瀯id
+        // 鍥犱负浠撳簱鏄渷鍏徃缁熶竴缁存姢鐨勶紝鐪佸彲浠ョ湅鍒板叏閮紝鍦板競鍜屽幙鍖虹湅鑷繁鐨�
         if (param.getAgencyId() != null) {
-            sql.append(" and AGENCY_ID =:AGENCY_ID ");
-            paramts.put("AGENCY_ID", param.getAgencyId());
+            Integer lv = currentUser.getLv();
+            if (lv != 1) {
+                sql.append(" and AGENCY_ID =:AGENCY_ID ");
+                paramts.put("AGENCY_ID", param.getAgencyId());
+            } else {
+                sql.append(" and AGENCY_ID like :AGENCY_ID ");
+                paramts.put("AGENCY_ID", param.getAgencyId() + StringUtils.CHAR_PERCENT);
+            }
         }
-        //鐘舵��
+        // 鐘舵��
         if (param.getStates() != null) {
             sql.append(" and states =:states ");
             paramts.put("states", param.getStates());
@@ -115,11 +126,12 @@
      */
     @Override
     public int updateBaseWarehouse(BaseWarehouse baseWarehouse) {
-        SDictData SDictData = this.sDictDataService.get(new SDictData(Long.valueOf(baseWarehouse.getClassificationCode())));
+        SDictData SDictData =
+            this.sDictDataService.get(new SDictData(Long.valueOf(baseWarehouse.getClassificationCode())));
         if (SDictData != null) {
             baseWarehouse.setClassificationName(SDictData.getDict_label());
         }
-        //鏍规嵁鏈烘瀯id鏌ヨ鏈烘瀯
+        // 鏍规嵁鏈烘瀯id鏌ヨ鏈烘瀯
         FinSysTenant finSysTenant = finSysTenantService.get(new FinSysTenant(baseWarehouse.getAgencyId()));
         if (finSysTenant != null) {
             baseWarehouse.setParentAgencyId(finSysTenant.getParentId());
@@ -157,20 +169,19 @@
      */
     @Override
     public void queryUserList(Long baseWarehouseId) {
-        //1.鏍规嵁浠撳簱id鏌ヨ浠撳簱
+        // 1.鏍规嵁浠撳簱id鏌ヨ浠撳簱
         BaseWarehouse baseWarehouse = this.getById(baseWarehouseId);
         if (baseWarehouse != null) {
             Long agencyId = baseWarehouse.getAgencyId();
             String agencyName = baseWarehouse.getAgencyName();
-            //2.鏍规嵁鏈烘瀯id鏌ヨ閮ㄩ棬
+            // 2.鏍规嵁鏈烘瀯id鏌ヨ閮ㄩ棬
             List<FinSysTenantDepartment> list = this.departmentService.getByTenantId(agencyId);
-            //鑾峰彇閮ㄩ棬id
+            // 鑾峰彇閮ㄩ棬id
             Set<Long> deptIds = list.stream().map(dept -> dept.getId()).collect(Collectors.toSet());
-            //3.鏍规嵁閮ㄩ棬id鏌ヨ鐢ㄦ埛
-            //this.userService.getByDeptIds();
+            // 3.鏍规嵁閮ㄩ棬id鏌ヨ鐢ㄦ埛
+            // this.userService.getByDeptIds();
 
         }
-
 
     }
 
@@ -185,7 +196,7 @@
         StringBuilder sql = new StringBuilder("SELECT * FROM base_warehouse WHERE 1 = 1 ");
         HashMap<String, Object> paramts = new HashMap<>();
 
-        //鏈烘瀯id
+        // 鏈烘瀯id
         if (agencyId != null) {
             sql.append(" and AGENCY_ID =:AGENCY_ID ");
             paramts.put("AGENCY_ID", agencyId);
@@ -203,7 +214,6 @@
         return select(sql.toString(), paramts, new BaseWarehouse());
     }
 
-
     /**
      * 鏍规嵁鏈烘瀯id鏌ヨ榛樿浠撳簱
      *
@@ -212,7 +222,8 @@
      */
     @Override
     public BaseWarehouse getDefaultWarehouseByAgencyId(Long agencyId) {
-        StringBuilder sql = new StringBuilder("SELECT * FROM base_warehouse WHERE IS_DEFAULT = 1 and AGENCY_ID =:agencyId ");
+        StringBuilder sql =
+            new StringBuilder("SELECT * FROM base_warehouse WHERE IS_DEFAULT = 1 and AGENCY_ID =:agencyId ");
         Map<String, Object> param = new HashMap<>();
         param.put("agencyId", agencyId);
         List<BaseWarehouse> select = select(sql.toString(), param, new BaseWarehouse());

--
Gitblit v1.9.1