cy
2023-11-22 8fc8b4788ed8be27ff6aae1cdd3fe9a584972ae3
feat: 物品统计;库存预警模板下载、上传、下载异常文件
3个文件已添加
6个文件已修改
450 ■■■■■ 已修改文件
consum-base/src/main/java/com/consum/base/config/WhWarningImportVerifyHandler.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/LWhWarningConfigController.java 186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/WarnConfImEntity.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/BaseGoodsModelsServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/BaseGoodsTemplateServiceImpl.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWhWarningConfigServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
deploy-jar-single/src/main/resources/import/warningConfImp.xls 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/config/WhWarningImportVerifyHandler.java
New file
@@ -0,0 +1,102 @@
package com.consum.base.config;
import cn.afterturn.easypoi.excel.entity.result.ExcelVerifyHandlerResult;
import cn.afterturn.easypoi.handler.inter.IExcelVerifyHandler;
import com.consum.base.pojo.WarnConfImEntity;
import com.consum.base.service.BaseGoodsModelsServiceImpl;
import com.consum.base.service.BaseGoodsTemplateServiceImpl;
import com.consum.base.service.BaseWarehouseServiceImpl;
import com.consum.model.po.BaseGoodsModels;
import com.consum.model.po.BaseGoodsTemplate;
import com.consum.model.po.BaseWarehouse;
import com.iplatform.core.BeanContextAware;
import com.walker.infrastructure.utils.CollectionUtils;
import java.util.HashMap;
import java.util.List;
import java.util.StringJoiner;
/**
 * @ClassName WhWarningImportVerifyHandler
 * @Author cy
 * @Date 2023/11/22
 * @Description
 * @Version 1.0
 **/
public class WhWarningImportVerifyHandler implements IExcelVerifyHandler<WarnConfImEntity> {
    //保存所有数据
    private HashMap<String, Integer> containMap;
    // 当前人机构
    private Long agencyId;
    private BaseWarehouseServiceImpl baseWarehouseService;
    private BaseGoodsTemplateServiceImpl baseGoodsTemplateService;
    private BaseGoodsModelsServiceImpl baseGoodsModelsService;
    public WhWarningImportVerifyHandler(Long agencyId) {
        this.agencyId = agencyId;
        this.containMap = new HashMap<>();
        this.baseWarehouseService = BeanContextAware.getBeanByType(BaseWarehouseServiceImpl.class);
        this.baseGoodsTemplateService = BeanContextAware.getBeanByType(BaseGoodsTemplateServiceImpl.class);
        this.baseGoodsModelsService = BeanContextAware.getBeanByType(BaseGoodsModelsServiceImpl.class);
    }
    @Override
    public ExcelVerifyHandlerResult verifyHandler(WarnConfImEntity param) {
        StringJoiner joiner = new StringJoiner(";");
        String warehouseName = param.getWarehouseName();
        String goodsTemplateName = param.getGoodsTemplateName();
        String goodsModelName = param.getGoodsModelName();
        Integer lowerLimit = param.getLowerLimit();
        Integer upperLimit = param.getUpperLimit();
        int rowNum = param.getRowNum();
        String modelStr = warehouseName + "&" + goodsTemplateName + "&" + goodsModelName;
        if (containMap.containsKey(modelStr)) {
            Integer firstLine = containMap.get(modelStr);
            joiner.add("数据与第" + firstLine + "行重复");
            String errMsg = joiner.toString();
            return new ExcelVerifyHandlerResult(false, errMsg);
        } else {
            containMap.put(modelStr, rowNum);
        }
        if (lowerLimit == null && upperLimit == null) {
            joiner.add("库存上限、下限不能全为空");
        }
        if (upperLimit != null && lowerLimit != null && upperLimit < lowerLimit) {
            joiner.add("库存上限不能小于下限");
        }
        BaseWarehouse warehouse = baseWarehouseService.getWarehouseByAgencyId(agencyId, warehouseName);
        if (warehouse == null) {
            joiner.add("仓库名称有误");
        } else {
            param.setBaseWarehouseId(warehouse.getId());
        }
        List<BaseGoodsTemplate> baseGoodsTemplates = baseGoodsTemplateService.queryGoodsTemplateByCategoryId(agencyId, null, (short) 1, goodsTemplateName);
        if (CollectionUtils.isEmpty(baseGoodsTemplates)) {
            joiner.add("物品名称有误");
            String errMsg = joiner.toString();
            return new ExcelVerifyHandlerResult(false, errMsg);
        }
        Long goodsTemplatesId = baseGoodsTemplates.get(0).getId();
        param.setGoodsTemplateId(goodsTemplatesId);
        BaseGoodsModels models = new BaseGoodsModels();
        models.setGoodsTemplatesId(goodsTemplatesId);
        models.setStates(1);
        models.setModelName(goodsModelName);
        BaseGoodsModels goodsModels = baseGoodsModelsService.getByModelNameAndGoodsTemplatesId(models);
        if (goodsModels == null) {
            joiner.add("物品型号名称有误");
        } else {
            param.setBaseGoodsModelsId(goodsModels.getId());
        }
        if (joiner.length() != 0) {
            String errMsg = joiner.toString();
            return new ExcelVerifyHandlerResult(false, errMsg);
        }
        return new ExcelVerifyHandlerResult(true);
    }
}
consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java
@@ -8,11 +8,7 @@
import com.consum.base.service.BaseGoodsTemplateServiceImpl;
import com.consum.base.service.BaseWarehouseServiceImpl;
import com.consum.base.service.LWhGoodsService;
import com.consum.model.po.BaseGoodsModels;
import com.consum.model.po.BaseGoodsTemplate;
import com.consum.model.po.BaseWarehouse;
import com.consum.model.po.FinSysTenantUser;
import com.consum.model.po.SDictData;
import com.consum.model.po.*;
import com.consum.model.vo.BaseGoodsTemplateVo;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.StringUtils;
@@ -20,18 +16,14 @@
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * @Description 物品模板
@@ -191,7 +183,7 @@
    @GetMapping("/query/goodsTemplate")
    public ResponseValue queryGoodsTemplateByCategoryId(Long agencyId, Long categoryId) {
        List<BaseGoodsTemplate> list = this.baseGoodsTemplateService.queryGoodsTemplateByCategoryId(agencyId, categoryId);
        List<BaseGoodsTemplate> list = this.baseGoodsTemplateService.queryGoodsTemplateByCategoryId(agencyId, categoryId,null,null);
        if (list == null) {
            return ResponseValue.error("查询失败!");
        }
consum-base/src/main/java/com/consum/base/controller/LWhWarningConfigController.java
@@ -1,8 +1,13 @@
package com.consum.base.controller;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
import cn.hutool.core.convert.Convert;
import com.consum.base.BaseController;
import com.consum.base.config.WhWarningImportVerifyHandler;
import com.consum.base.core.utils.CommonUtil;
import com.consum.base.pojo.WarnConfImEntity;
import com.consum.base.pojo.WhWarningConfigParam;
import com.consum.base.pojo.query.WhWarningConfigQry;
import com.consum.base.service.BaseWarehouseServiceImpl;
@@ -12,17 +17,32 @@
import com.consum.model.po.WhWarningConfig;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.walker.db.page.GenericPager;
import com.walker.file.FileInfo;
import com.walker.infrastructure.utils.NumberGenerator;
import com.walker.web.ResponseCode;
import com.walker.web.ResponseValue;
import io.swagger.annotations.Api;
import org.apache.commons.lang3.StringUtils;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.InputStreamResource;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * @ClassName LWhWarningConfigController
@@ -175,4 +195,170 @@
        }
        return ResponseValue.success(lWhWarningConfigService.select(param));
    }
    /**
     * @return 获取项目导入的模板
     * @throws IOException
     */
    @PostMapping("getWarnConfImportTemplate")
    public ResponseEntity<InputStreamResource> getProjectImportTemplate() throws IOException {
        // 从当前项目资源目录获取文件
        org.springframework.core.io.Resource resource = new ClassPathResource("import/warningConfImp.xls");
        // 获取文件输入流
        InputStream inputStream = resource.getInputStream();
        // 设置HTTP响应头
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
        String encodedFilename = URLEncoder.encode("库存预警配置导入模板.xls", "UTF-8");
        headers.setContentDispositionFormData("attachment", encodedFilename);
        // 创建InputStreamResource对象,将文件输入流包装起来
        InputStreamResource resourceToDownload = new InputStreamResource(inputStream);
        // 返回带有文件输入流的ResponseEntity对象
        return ResponseEntity
                .status(HttpStatus.OK)
                .headers(headers)
                .body(resourceToDownload);
    }
    @PostMapping("import")
    public ResponseValue warnConfImport(MultipartFile multipartFile) throws Exception {
        String originalFilename = multipartFile.getOriginalFilename();
        if (!"xls".equals(originalFilename.substring(originalFilename.lastIndexOf(".") + 1))) {
            return ResponseValue.error(ResponseCode.ERROR.getCode(), "文件格式有误!");
        }
        FinSysTenantUser sysInfo = this.getSysInfo();
        if (sysInfo == null) {
            return ResponseValue.error(ResponseCode.ERROR.getCode(), "当前登录用户为空");
        }
        ImportParams params = new ImportParams();
        params.setHeadRows(1);
        params.setNeedVerify(true);
        WhWarningImportVerifyHandler whWarningImportVerifyHandler = new WhWarningImportVerifyHandler(Long.valueOf(sysInfo.getTenantId()));
        params.setVerifyHandler(whWarningImportVerifyHandler);
        ExcelImportResult<WarnConfImEntity> result = ExcelImportUtil.importExcelMore(multipartFile.getInputStream(), WarnConfImEntity.class, params);
        boolean verfiyFail = result.isVerfiyFail();
        if (verfiyFail) {
            StringBuilder errmsg = new StringBuilder();
            List<WarnConfImEntity> failList = result.getFailList();
            for (int i = 0; i < failList.size() && i < 20; i++) {
                WarnConfImEntity entity = failList.get(i);
                errmsg.append("第")
                        .append(entity.getRowNum())
                        .append("行的错误是:")
                        .append(entity.getErrorMsg())
                        .append("\r\n");
            }
            InputStream inputStream = new ByteArrayInputStream(errmsg.toString().getBytes(StandardCharsets.UTF_8));
            FileInfo fileInfo = uploadFileToLocal(inputStream, NumberGenerator.generatorHexUUID() + ".txt", "-1", 111, 0, "-1");
            String url = fileInfo.getUrl();
            return ResponseValue.error(ResponseCode.PARAM_NOT_VALID.getCode(), url);
        }
        List<WarnConfImEntity> excelList = result.getList();
        ArrayList<WhWarningConfig> configArrayList = new ArrayList<>(excelList.size());
        // 按baseWarehouseId属性分组
        Map<Long, List<WarnConfImEntity>> groupedData = excelList.stream().collect(Collectors.groupingBy(WarnConfImEntity::getBaseWarehouseId));
        for (Map.Entry<Long, List<WarnConfImEntity>> entry : groupedData.entrySet()) {
            Long baseWarehouseId = entry.getKey();
            List<WarnConfImEntity> houseModelList = entry.getValue();
            // 提取id并存储到新列表
            List<Long> modelIdList = houseModelList.stream()
                    .map(WarnConfImEntity::getBaseGoodsModelsId)
                    .collect(Collectors.toList());
            List<Map<String, Object>> queryModelIsExistList = lWhWarningConfigService.queryModelIsExist(0, baseWarehouseId, modelIdList);
            if (CollectionUtils.isEmpty(queryModelIsExistList)) {
                // 全部为新增
                for (WarnConfImEntity warnConfImEntity : houseModelList) {
                    // 新增
                    WhWarningConfig whWarningConfig = new WhWarningConfig();
                    whWarningConfig.setId(NumberGenerator.getLongSequenceNumber());
                    whWarningConfig.setWarehouseType(0);
                    whWarningConfig.setBaseWarehouseId(warnConfImEntity.getBaseWarehouseId());
                    whWarningConfig.setBaseGoodsTemplateId(warnConfImEntity.getGoodsTemplateId());
                    whWarningConfig.setBaseGoodsModelsId(warnConfImEntity.getBaseGoodsModelsId());
                    whWarningConfig.setUpperLimit(warnConfImEntity.getUpperLimit());
                    whWarningConfig.setLowerLimit(warnConfImEntity.getLowerLimit());
                    if (whWarningConfig.getBaseGoodsModelsId() == null) {
                        whWarningConfig.setGoodsType(1);
                    } else {
                        whWarningConfig.setGoodsType(2);
                    }
                    configArrayList.add(whWarningConfig);
                }
            } else {
                // 提取id并存储到新列表
                List<Long> dbExistModelIdList = queryModelIsExistList.stream()
                        .map(map -> Convert.toLong(map.get("baseGoodsModelsId")))
                        .collect(Collectors.toList());
                for (WarnConfImEntity warnConfImEntity : houseModelList) {
                    Long baseGoodsModelsId = warnConfImEntity.getBaseGoodsModelsId();
                    WhWarningConfig whWarningConfig = new WhWarningConfig();
                    whWarningConfig.setWarehouseType(0);
                    whWarningConfig.setBaseWarehouseId(warnConfImEntity.getBaseWarehouseId());
                    whWarningConfig.setBaseGoodsModelsId(warnConfImEntity.getBaseGoodsModelsId());
                    whWarningConfig.setUpperLimit(warnConfImEntity.getUpperLimit());
                    whWarningConfig.setLowerLimit(warnConfImEntity.getLowerLimit());
                    if (dbExistModelIdList.contains(baseGoodsModelsId)) {
                        // 修改
                        limitEditByModeInfo(whWarningConfig);
                    } else {
                        // 新增
                        whWarningConfig.setId(NumberGenerator.getLongSequenceNumber());
                        whWarningConfig.setBaseGoodsTemplateId(warnConfImEntity.getGoodsTemplateId());
                        if (whWarningConfig.getBaseGoodsModelsId() == null) {
                            whWarningConfig.setGoodsType(1);
                        } else {
                            whWarningConfig.setGoodsType(2);
                        }
                        configArrayList.add(whWarningConfig);
                    }
                }
            }
        }
        if (!CollectionUtils.isEmpty(configArrayList)) {
            int flag = lWhWarningConfigService.insertBatch(configArrayList);
        }
        return ResponseValue.success("导入成功!", 1);
    }
    private String KU_CUN_UPD_BY_MODE_INFO = "update WH_WARNING_CONFIG set ";
    public int limitEditByModeInfo(WhWarningConfig config) {
        StringBuilder sql = new StringBuilder(KU_CUN_UPD_BY_MODE_INFO);
        Integer lowerLimit = config.getLowerLimit();
        if (lowerLimit == null) {
            sql.append("lower_limit=null");
        } else {
            sql.append("lower_limit=" + lowerLimit);
        }
        Integer upperLimit = config.getUpperLimit();
        if (upperLimit == null) {
            sql.append(",upper_Limit=null");
        } else {
            sql.append(",upper_Limit=" + upperLimit);
        }
        sql.append(" where 1=1");
        Integer warehouseType = config.getWarehouseType();
        if (warehouseType != null) {
            sql.append(" and warehouse_Type=" + warehouseType);
        }
        Long baseWarehouseId = config.getBaseWarehouseId();
        if (baseWarehouseId != null) {
            sql.append(" and BASE_WAREHOUSE_ID=" + baseWarehouseId);
        }
        Long baseGoodsModelsId = config.getBaseGoodsModelsId();
        if (baseGoodsModelsId != null) {
            sql.append(" and BASE_GOODS_MODELS_ID=" + baseGoodsModelsId);
        }
        lWhWarningConfigService.update(sql.toString());
        return 1;
    }
}
consum-base/src/main/java/com/consum/base/pojo/WarnConfImEntity.java
New file
@@ -0,0 +1,59 @@
package com.consum.base.pojo;
import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.handler.inter.IExcelDataModel;
import cn.afterturn.easypoi.handler.inter.IExcelModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName WarnConfImEntity
 * @Author cy
 * @Date 2023/11/22
 * @Description
 * @Version 1.0
 **/
@Data
public class WarnConfImEntity implements IExcelDataModel, IExcelModel {
    @ApiModelProperty("仓库名称")
    @Excel(name = "仓库名称")
    private String warehouseName;
    @Excel(name = "物品名称")
    @ApiModelProperty(value = "物品名称")
    private String goodsTemplateName;
    @Excel(name = "型号名称")
    @ApiModelProperty("型号名称")
    private String goodsModelName;
    @Excel(name = "保底库存")
    @ApiModelProperty("保底库存")
    private Integer lowerLimit;
    @Excel(name = "封顶库存")
    @ApiModelProperty("封顶库存")
    private Integer upperLimit;
    @ApiModelProperty("物品id")
    private Long goodsTemplateId;
    @ApiModelProperty("仓库id")
    private Long baseWarehouseId;
    @ApiModelProperty("物品型号id")
    private Long baseGoodsModelsId;
    /**
     * 行号
     */
    private int rowNum;
    /**
     * 错误消息
     */
    private String errorMsg;
}
consum-base/src/main/java/com/consum/base/service/BaseGoodsModelsServiceImpl.java
@@ -54,6 +54,10 @@
        //物品模板id
        sql.append(" and GOODS_TEMPLATES_ID =:GOODS_TEMPLATES_ID ");
        paramts.put("GOODS_TEMPLATES_ID", models.getGoodsTemplatesId());
        if (models.getStates() != null){
            sql.append(" and STATES =:states ");
            paramts.put("states", models.getStates());
        }
        return this.get(sql.toString(), paramts, new BaseGoodsModels());
    }
consum-base/src/main/java/com/consum/base/service/BaseGoodsTemplateServiceImpl.java
@@ -4,24 +4,21 @@
import com.consum.base.core.CodeGeneratorService;
import com.consum.base.core.utils.IdUtil;
import com.consum.base.pojo.BaseGoodsTemplateParam;
import com.consum.model.po.BaseCategory;
import com.consum.model.po.BaseGoodsModels;
import com.consum.model.po.BaseGoodsTemplate;
import com.consum.model.po.FinSysTenantUser;
import com.consum.model.po.SDictData;
import com.consum.model.po.*;
import com.consum.model.vo.BaseGoodsTemplateVo;
import com.iplatform.model.po.S_user_core;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.DateUtils;
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 org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * @Description 物品模板
@@ -303,7 +300,15 @@
        return this.select(goodsTemplate);
    }
    public List<BaseGoodsTemplate> queryGoodsTemplateByCategoryId(Long agencyId, Long categoryId) {
    /**
     * @param agencyId
     * @param categoryId
     * @param states
     * @param goodsName  全匹配!!!
     * @return
     */
    public List<BaseGoodsTemplate> queryGoodsTemplateByCategoryId(Long agencyId, Long categoryId, Short states, String goodsName) {
        StringBuilder sql = new StringBuilder("SELECT * FROM base_goods_template WHERE 1=1 ");
        Map<String, Object> params = new HashMap<>();
        if (agencyId != null) {
@@ -314,6 +319,14 @@
            sql.append("AND CATEGORY_ID=:categoryId ");
            params.put("categoryId", categoryId);
        }
        if (states != null) {
            sql.append("AND STATES=:states ");
            params.put("states", states);
        }
        if (StringUtils.isNotEmpty(goodsName)) {
            sql.append(" and GOODS_NAME =:goodsName ");
            params.put("goodsName", goodsName);
        }
        return this.select(sql.toString(), params, new BaseGoodsTemplate());
    }
}
consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java
@@ -9,6 +9,7 @@
import com.consum.model.po.FinSysTenantDepartment;
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 org.springframework.beans.BeanUtils;
@@ -208,4 +209,23 @@
        }
        return null;
    }
    public BaseWarehouse getWarehouseByAgencyId(Long agencyId, String warehouseName) {
        StringBuilder sql = new StringBuilder("SELECT * FROM base_warehouse WHERE STATES= 1");
        Map<String, Object> param = new HashMap<>();
        if (agencyId != null) {
            sql.append(" and AGENCY_ID =:agencyId ");
            param.put("agencyId", agencyId);
        }
        if (StringUtils.isNotEmpty(warehouseName)) {
            sql.append(" and WAREHOUSE_NAME =:warehouseName ");
            param.put("warehouseName", warehouseName);
        }
        sql.append(" limit 1");
        List<BaseWarehouse> select = select(sql.toString(), param, new BaseWarehouse());
        if (CollectionUtils.isEmpty(select)) {
            return null;
        }
        return select.get(0);
    }
}
consum-base/src/main/java/com/consum/base/service/LWhWarningConfigServiceImpl.java
@@ -3,11 +3,13 @@
import com.consum.base.core.utils.MapperUtil;
import com.consum.base.pojo.query.WhWarningConfigQry;
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 org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@@ -27,7 +29,6 @@
        HashMap<String, Object> paramts = (HashMap<String, Object>) configListQueryMap.get("paramts");
        return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil());
    }
    private Map<String, Object> getConfigListQueryMap(WhWarningConfigQry param) {
@@ -76,4 +77,27 @@
        return configListQueryMap;
    }
    private String QUERY_MODEL_IS_EXIST = "";
    public List<Map<String, Object>> queryModelIsExist(Integer warehouseType, Long baseWarehouseId, List<Long> modelIds) {
        StringBuilder sql = new StringBuilder("select WAREHOUSE_TYPE, BASE_WAREHOUSE_ID, BASE_GOODS_MODELS_ID from WH_WARNING_CONFIG where 1=1");
        HashMap<String, Object> paramts = new HashMap<>();
        //仓库类型
        if (warehouseType != null) {
            sql.append(" AND WAREHOUSE_TYPE = :warehouseType");
            paramts.put("warehouseType", warehouseType);
        }
        if (baseWarehouseId != null) {
            sql.append(" AND BASE_WAREHOUSE_ID = :warehouseId");
            paramts.put("warehouseId", baseWarehouseId);
        }
        if (!CollectionUtils.isEmpty(modelIds)) {
            sql.append(" AND BASE_GOODS_MODELS_ID in(:modelIds)");
            paramts.put("modelIds", org.apache.commons.lang3.StringUtils.join(modelIds, ","));
        }
        return select(sql.toString(), paramts, new MapperUtil());
    }
}
deploy-jar-single/src/main/resources/import/warningConfImp.xls
Binary files differ