futian.liu
2023-12-21 87685a055c5c6d61018a3415c0be5db764659047
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;
@@ -12,6 +13,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;
@@ -19,7 +21,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 +62,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 +155,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 +177,7 @@
        if (agencyId == null) {
            return ResponseValue.success(new ArrayList<>());
        }
        List<BaseWarehouse> list = baseWarehouseService.getBaseWareHouseList(agencyId, null, null);
        List<BaseWarehouse> list = baseWarehouseService.getBaseWareHouseList(agencyId, StatesType.NORMAL.getValue());
        if (list == null) {
            return ResponseValue.error("查询失败!");
        }
@@ -180,15 +197,16 @@
        Long warehouseId = warehouseQry.getWarehouseId();
        if (warehouseId == null) {
            Long agencyId = warehouseQry.getAgencyId();
            BaseWarehouse defaultWarehouseByAgencyId = baseWarehouseService.getDefaultWarehouseByAgencyId(agencyId);
            warehouseId = defaultWarehouseByAgencyId.getId();
            BaseWarehouse baseWarehouse = baseWarehouseService.getWarehouseByAgencyId(agencyId, null);
            warehouseId = baseWarehouse.getId();
        }
        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 +221,8 @@
        warehouseQry = param2;
        Long agencyId = warehouseQry.getAgencyId();
        List<BaseWarehouse> baseWarehouseList = baseWarehouseService.getBaseWareHouseList(agencyId, null, (short)1);
        List<BaseWarehouse> baseWarehouseList =
            baseWarehouseService.getBaseWareHouseList(agencyId, StatesType.NORMAL.getValue());
        List<Long> warehouseIdList = baseWarehouseList.stream().map(BaseWarehouse::getId).collect(Collectors.toList());
        Long baseGoodsModelsId = warehouseQry.getBaseGoodsModelsId();
@@ -211,6 +230,8 @@
        Integer states = warehouseQry.getStates();
        Integer buyType = warehouseQry.getBuyType();
        // 调拨时只查机构类型的集采仓库库存
        // 部门分发时不分机构和部门,因为调拨进来的物品也算在库存里只是类型为部门,同样检视所有仓库该型号的数量
        int num = lWhGoodsService.queryGoodsModelInWareHouseNum(warehouseType, warehouseIdList, baseGoodsModelsId,
            states, buyType);
        return ResponseValue.success(num);