From b3585e6475b7a7ab38fcb8af79def5e938a297ea Mon Sep 17 00:00:00 2001 From: cy <1664593601@qq.com> Date: 星期三, 22 十一月 2023 18:45:31 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- consum-base/src/main/java/com/consum/base/config/WhWarningImportVerifyHandler.java | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 102 insertions(+), 0 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); + } +} -- Gitblit v1.9.1