From 6cfff55d44314e88fefd6e3adb290ec16b303f89 Mon Sep 17 00:00:00 2001
From: 黎星凯 <13949086503@163.com>
Date: 星期五, 05 一月 2024 10:42:53 +0800
Subject: [PATCH] 1、供产品导数据临时用(用户,机构,部门,仓库,库管员 可删) 2、选择库管员增加过滤参数

---
 consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java |  163 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 131 insertions(+), 32 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..1b490e4 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
@@ -1,8 +1,13 @@
 package com.consum.base.controller;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
+import com.consum.base.service.FinSysTenantService;
+import com.consum.model.po.FinSysTenant;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -11,6 +16,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import com.consum.base.BaseController;
+import com.consum.base.core.type.StatesType;
 import com.consum.base.core.utils.CommonUtil;
 import com.consum.base.pojo.BaseWarehouseParam;
 import com.consum.base.pojo.query.WarehouseQry;
@@ -18,10 +24,13 @@
 import com.consum.base.service.LWhGoodsService;
 import com.consum.model.po.BaseWarehouse;
 import com.consum.model.po.FinSysTenantUser;
+import com.consum.model.po.LWhGoods;
 import com.walker.db.page.GenericPager;
+import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.web.ResponseValue;
 
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
@@ -31,15 +40,20 @@
  * @Author 鍗㈠簡闃�
  * @Date 2023/10/26
  */
+@Api(value = "浠撳簱绠$悊", tags = "浠撳簱绠$悊")
 @RestController
 @RequestMapping("/pc/base/warehouse")
+@Slf4j
 public class BaseWarehouseController extends BaseController {
 
     @Autowired
     private BaseWarehouseService baseWarehouseService;
+
     @Autowired
     private LWhGoodsService lWhGoodsService;
 
+    @Autowired
+    private FinSysTenantService finSysTenantService;
 
     /**
      * @Description 鏂板
@@ -56,14 +70,81 @@
         if (StringUtils.isEmpty(param.getWarehouseName())) {
             return ResponseValue.error("浠撳簱鍚嶇О涓虹┖");
         }
-        //TODO 鍔犳潈闄� 鐪佺骇绠$悊鍛樺綍鍏ユ墍鏈変粨搴撲俊鎭�
+        Long agencyId = param.getAgencyId();
+        BaseWarehouse baseWarehouse = new BaseWarehouse();
+        baseWarehouse.setAgencyId(agencyId);
+        List<BaseWarehouse> select = baseWarehouseService.select(baseWarehouse);
+        if (!CollectionUtils.isEmpty(select)) {
+            return ResponseValue.error("璇ユ満鏋勫凡鏈変粨搴撲笉鑳界户缁柊澧烇紒");
+        }
 
-        int result = this.baseWarehouseService.add(param);
+        int result = baseWarehouseService.add(param);
         if (result > 0) {
             return ResponseValue.success(1);
         }
         return ResponseValue.error("鏂板澶辫触锛�");
     }
+
+    // 渚涗骇鍝佸鏁版嵁涓存椂鐢�(鍙垹)
+    public String add1(BaseWarehouseParam param) {
+        BaseWarehouseParam param2 = new BaseWarehouseParam();
+        CommonUtil.copyProperties(param, param2);
+        param = param2;
+
+        if (StringUtils.isEmpty(param.getWarehouseName())) {
+            return "浠撳簱鍚嶇О涓虹┖";
+        }
+        Long agencyId = param.getAgencyId();
+        BaseWarehouse baseWarehouse = new BaseWarehouse();
+        baseWarehouse.setAgencyId(agencyId);
+        List<BaseWarehouse> select = baseWarehouseService.select(baseWarehouse);
+        if (!CollectionUtils.isEmpty(select)) {
+            return "璇ユ満鏋勫凡鏈変粨搴撲笉鑳界户缁柊澧烇紒";
+        }
+        int result = baseWarehouseService.add(param);
+        if (result > 0) {
+            return "1";
+        }
+        return "鏂板澶辫触锛�";
+    }
+
+    //渚涗骇鍝佸鏁版嵁涓存椂鐢�(鍙垹)
+    //@PostMapping("/addCk")
+    public String addCk() {
+        int ok = 0;
+        int isNull = 0;
+        int bnxz = 0;
+        int err = 0;
+        // 鏌ヨ鎵�鏈夌殑鏈烘瀯
+        FinSysTenant finSysTenant = new FinSysTenant();
+        List<FinSysTenant> finSysTenants = finSysTenantService.selectAll(finSysTenant);
+        for (FinSysTenant fst : finSysTenants) {
+            // 缁勮浠撳簱鏁版嵁
+            BaseWarehouseParam baseWarehouseParam = new BaseWarehouseParam();
+            baseWarehouseParam.setWarehouseName(fst.getName() + "浠撳簱");
+            baseWarehouseParam.setAdress("");
+            baseWarehouseParam.setAgencyId(fst.getId());
+            baseWarehouseParam.setClassificationCode("29");
+            baseWarehouseParam.setStates(1);
+            // 璋冪敤鍘熸湰鐨勬柊澧炴帴鍙f柊澧炰粨搴�
+            String resSta = add1(baseWarehouseParam);
+            if("1".equals(resSta)){
+                ok++;
+            }else if("浠撳簱鍚嶇О涓虹┖".equals(resSta)){
+                isNull++;
+            }else if("璇ユ満鏋勫凡鏈変粨搴撲笉鑳界户缁柊澧烇紒".equals(resSta)){
+                bnxz++;
+            }else if("鏂板澶辫触锛�".equals(resSta)){
+                err++;
+            }
+        }
+        log.info("ok:"+ok);
+        log.info("isNull:"+isNull);
+        log.info("bnxz:"+bnxz);
+        log.info("err:"+err);
+        return "鏂板浠撳簱..."+"##ok:"+ok+"##isNull:"+isNull+"##bnxz:"+bnxz+"##err:"+err;
+    }
+
 
     /**
      * @Description 浠撳簱鍒楄〃鏌ヨ
@@ -77,12 +158,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 = baseWarehouseService.queryList(param, currentUser);
         return ResponseValue.success(pager);
     }
 
@@ -106,7 +187,7 @@
             return ResponseValue.error("浠撳簱鍚嶇О涓虹┖");
         }
 
-        int num = this.baseWarehouseService.updateBaseWarehouse(baseWarehouse);
+        int num = baseWarehouseService.updateBaseWarehouse(baseWarehouse);
         return num > 0 ? ResponseValue.success(1) : ResponseValue.error("缂栬緫澶辫触锛�");
     }
 
@@ -121,7 +202,7 @@
         if (id == null) {
             return ResponseValue.error("浠撳簱id涓虹┖");
         }
-        BaseWarehouse baseWarehouse = this.baseWarehouseService.getById(id);
+        BaseWarehouse baseWarehouse = baseWarehouseService.getById(id);
         if (baseWarehouse == null) {
             return ResponseValue.error("鏌ヨ澶辫触锛�");
         }
@@ -143,23 +224,16 @@
         if (baseWarehouse.getId() == null) {
             return ResponseValue.error("浠撳簱id涓虹┖");
         }
-        int num = this.baseWarehouseService.updateById(baseWarehouse);
+        Long id = baseWarehouse.getId();
+        LWhGoods lWhGoods = new LWhGoods();
+        lWhGoods.setWarehouseId(id);
+        List<LWhGoods> select = lWhGoodsService.select(lWhGoods);
+        if (!CollectionUtils.isEmpty(select)) {
+            return ResponseValue.error("璇ヤ粨搴撴鍦ㄤ娇鐢紝涓嶈兘鍒犻櫎");
+        }
+        int num = baseWarehouseService.updateById(baseWarehouse);
 
         return num > 0 ? ResponseValue.success(1) : ResponseValue.error("鍒犻櫎澶辫触锛�");
-    }
-
-    /**
-     * @Description 鏍规嵁浠撳簱id鑾峰彇鏈烘瀯鐢ㄦ埛淇℃伅
-     * @Author 鍗㈠簡闃�
-     * @Date 2023/10/26
-     */
-    @GetMapping("/select/userList")
-    public ResponseValue queryList(Long baseWarehouseId) {
-        if (baseWarehouseId == null) {
-            return ResponseValue.error("浠撳簱id涓虹┖");
-        }
-        this.baseWarehouseService.queryUserList(baseWarehouseId);
-        return ResponseValue.success();
     }
 
     /**
@@ -172,7 +246,7 @@
         if (agencyId == null) {
             return ResponseValue.success(new ArrayList<>());
         }
-        List<BaseWarehouse> list = this.baseWarehouseService.getByAgencyId(agencyId, null, null);
+        List<BaseWarehouse> list = baseWarehouseService.getBaseWareHouseList(agencyId, StatesType.NORMAL.getValue());
         if (list == null) {
             return ResponseValue.error("鏌ヨ澶辫触锛�");
         }
@@ -180,9 +254,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,18 +266,44 @@
         Long warehouseId = warehouseQry.getWarehouseId();
         if (warehouseId == null) {
             Long agencyId = warehouseQry.getAgencyId();
-            BaseWarehouse defaultWarehouseByAgencyId = this.baseWarehouseService.getDefaultWarehouseByAgencyId(agencyId);
-            warehouseId = defaultWarehouseByAgencyId.getId();
+            BaseWarehouse baseWarehouse = baseWarehouseService.getWarehouseByAgencyId(agencyId, null);
+            warehouseId = baseWarehouse.getId();
         }
+        Long baseGoodsModelsId = warehouseQry.getBaseGoodsModelsId();
+        Integer warehouseType = warehouseQry.getWarehouseType();
+        Integer buyType = warehouseQry.getBuyType();
+
+        // 鍏朵粬绫诲瀷鐨勫簱瀛樻煡璇㈡槸鍚︿篃瑕佹煡閮ㄩ棬绫诲瀷鐨勫簱瀛�
+        List<Long> warehouseIds = new ArrayList<>(Arrays.asList(warehouseId));
+        int num = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseIds, baseGoodsModelsId, 1, buyType);
+        return ResponseValue.success(num);
+    }
+
+    @ApiOperation(value = "鏍规嵁浠撳簱id鍜屽瀷鍙穒d 鏌ヨ搴撳瓨", notes = "鏍规嵁浠撳簱id鍜屽瀷鍙穒d 鏌ヨ搴撳瓨")
+    @ApiImplicitParams({@ApiImplicitParam(name = "warehouseQry", value = "浠撳簱id鍜屽瀷鍙穒d", required = true,
+            dataType = "WarehouseQry", paramType = "query")})
+    @GetMapping("/select/in/warehouse/num")
+    public ResponseValue selectAllNumber() {
+        WarehouseQry warehouseQry = CommonUtil.getObjFromReq(WarehouseQry.class);
+        WarehouseQry param2 = new WarehouseQry();
+        CommonUtil.copyProperties(warehouseQry, param2);
+        warehouseQry = param2;
+
+        Long agencyId = warehouseQry.getAgencyId();
+        List<BaseWarehouse> baseWarehouseList =
+                baseWarehouseService.getBaseWareHouseList(agencyId, StatesType.NORMAL.getValue());
+        List<Long> warehouseIdList = baseWarehouseList.stream().map(BaseWarehouse::getId).collect(Collectors.toList());
+
         Long baseGoodsModelsId = warehouseQry.getBaseGoodsModelsId();
         Integer warehouseType = warehouseQry.getWarehouseType();
         Integer states = warehouseQry.getStates();
         Integer buyType = warehouseQry.getBuyType();
 
-        int num = this.lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, baseGoodsModelsId, 1, buyType);
+        // 璋冩嫧鏃跺彧鏌ユ満鏋勭被鍨嬬殑闆嗛噰浠撳簱搴撳瓨
+        // 閮ㄩ棬鍒嗗彂鏃朵笉鍒嗘満鏋勫拰閮ㄩ棬锛屽洜涓鸿皟鎷ㄨ繘鏉ョ殑鐗╁搧涔熺畻鍦ㄥ簱瀛橀噷鍙槸绫诲瀷涓洪儴闂紝鍚屾牱妫�瑙嗘墍鏈変粨搴撹鍨嬪彿鐨勬暟閲�
+        int num = lWhGoodsService.queryGoodsModelInWareHouseNum(warehouseType, warehouseIdList, baseGoodsModelsId,
+                states, buyType);
         return ResponseValue.success(num);
     }
 
-
 }
-

--
Gitblit v1.9.1