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