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