futian.liu
2023-12-19 db943c2bb6994c0fe5258af5f82dfb5b61104a0c
consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java
@@ -1,6 +1,7 @@
package com.consum.base.controller;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@@ -19,7 +20,9 @@
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;
@@ -58,7 +61,13 @@
        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 = baseWarehouseService.add(param);
        if (result > 0) {
@@ -145,6 +154,13 @@
        if (baseWarehouse.getId() == null) {
            return ResponseValue.error("仓库id为空");
        }
        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("删除失败!");
@@ -160,7 +176,7 @@
        if (agencyId == null) {
            return ResponseValue.success(new ArrayList<>());
        }
        List<BaseWarehouse> list = baseWarehouseService.getBaseWareHouseList(agencyId, null, null);
        List<BaseWarehouse> list = baseWarehouseService.getBaseWareHouseList(agencyId, null);
        if (list == null) {
            return ResponseValue.error("查询失败!");
        }
@@ -185,10 +201,11 @@
        }
        Long baseGoodsModelsId = warehouseQry.getBaseGoodsModelsId();
        Integer warehouseType = warehouseQry.getWarehouseType();
        Integer states = warehouseQry.getStates();
        Integer buyType = warehouseQry.getBuyType();
        int num = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, baseGoodsModelsId, 1, buyType);
        // 其他类型的库存查询是否也要查部门类型的库存
        List<Long> warehouseIds = new ArrayList<>(Arrays.asList(warehouseId));
        int num = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseIds, baseGoodsModelsId, 1, buyType);
        return ResponseValue.success(num);
    }
@@ -203,7 +220,7 @@
        warehouseQry = param2;
        Long agencyId = warehouseQry.getAgencyId();
        List<BaseWarehouse> baseWarehouseList = baseWarehouseService.getBaseWareHouseList(agencyId, null, (short)1);
        List<BaseWarehouse> baseWarehouseList = baseWarehouseService.getBaseWareHouseList(agencyId, (short)1);
        List<Long> warehouseIdList = baseWarehouseList.stream().map(BaseWarehouse::getId).collect(Collectors.toList());
        Long baseGoodsModelsId = warehouseQry.getBaseGoodsModelsId();
@@ -211,6 +228,8 @@
        Integer states = warehouseQry.getStates();
        Integer buyType = warehouseQry.getBuyType();
        // 调拨时只查机构类型的集采仓库库存
        // 部门分发时不分机构和部门,因为调拨进来的物品也算在库存里只是类型为部门,同样检视所有仓库该型号的数量
        int num = lWhGoodsService.queryGoodsModelInWareHouseNum(warehouseType, warehouseIdList, baseGoodsModelsId,
            states, buyType);
        return ResponseValue.success(num);