From 8fc8b4788ed8be27ff6aae1cdd3fe9a584972ae3 Mon Sep 17 00:00:00 2001 From: cy <1664593601@qq.com> Date: 星期三, 22 十一月 2023 18:41:05 +0800 Subject: [PATCH] feat: 物品统计;库存预警模板下载、上传、下载异常文件 --- consum-base/src/main/java/com/consum/base/controller/LWhWarningConfigController.java | 186 +++++++++++++++++++++++ consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java | 20 ++ consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java | 22 - consum-base/src/main/java/com/consum/base/service/BaseGoodsTemplateServiceImpl.java | 31 ++- consum-base/src/main/java/com/consum/base/config/WhWarningImportVerifyHandler.java | 102 ++++++++++++ consum-base/src/main/java/com/consum/base/service/LWhWarningConfigServiceImpl.java | 26 +++ consum-base/src/main/java/com/consum/base/pojo/WarnConfImEntity.java | 59 +++++++ consum-base/src/main/java/com/consum/base/service/BaseGoodsModelsServiceImpl.java | 4 deploy-jar-single/src/main/resources/import/warningConfImp.xls | 0 9 files changed, 425 insertions(+), 25 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/config/WhWarningImportVerifyHandler.java b/consum-base/src/main/java/com/consum/base/config/WhWarningImportVerifyHandler.java new file mode 100644 index 0000000..0b28684 --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/config/WhWarningImportVerifyHandler.java @@ -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); + } +} diff --git a/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java b/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java index d03b55d..39c11d8 100644 --- a/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java +++ b/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("鏌ヨ澶辫触锛�"); } diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhWarningConfigController.java b/consum-base/src/main/java/com/consum/base/controller/LWhWarningConfigController.java index 4143c23..783f3de 100644 --- a/consum-base/src/main/java/com/consum/base/controller/LWhWarningConfigController.java +++ b/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()); + // 鎸塨aseWarehouseId灞炴�у垎缁� + 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; + } } diff --git a/consum-base/src/main/java/com/consum/base/pojo/WarnConfImEntity.java b/consum-base/src/main/java/com/consum/base/pojo/WarnConfImEntity.java new file mode 100644 index 0000000..690da82 --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/pojo/WarnConfImEntity.java @@ -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; + +} diff --git a/consum-base/src/main/java/com/consum/base/service/BaseGoodsModelsServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/BaseGoodsModelsServiceImpl.java index 496f910..285bcaf 100644 --- a/consum-base/src/main/java/com/consum/base/service/BaseGoodsModelsServiceImpl.java +++ b/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()); } diff --git a/consum-base/src/main/java/com/consum/base/service/BaseGoodsTemplateServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/BaseGoodsTemplateServiceImpl.java index 7db3e79..3104725 100644 --- a/consum-base/src/main/java/com/consum/base/service/BaseGoodsTemplateServiceImpl.java +++ b/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()); } } diff --git a/consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java index 618e9b6..dea1689 100644 --- a/consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java +++ b/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); + } } diff --git a/consum-base/src/main/java/com/consum/base/service/LWhWarningConfigServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhWarningConfigServiceImpl.java index f29fd2e..79b0b15 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhWarningConfigServiceImpl.java +++ b/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()); + } + + } diff --git a/deploy-jar-single/src/main/resources/import/warningConfImp.xls b/deploy-jar-single/src/main/resources/import/warningConfImp.xls new file mode 100644 index 0000000..27a6e24 --- /dev/null +++ b/deploy-jar-single/src/main/resources/import/warningConfImp.xls Binary files differ -- Gitblit v1.9.1