From 1baf593c8ba6347d376e9442cef538bb77a8c640 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Mon, 6 Nov 2023 08:11:39 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=81=E6=A0=87=E7=BC=96=E5=8F=B7?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=88=A4=E6=96=AD=E9=87=8D=E5=A4=8D=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/laws/common/util/ImportUtil.java | 61 +++++++++++-------- 1 file changed, 36 insertions(+), 25 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/util/ImportUtil.java b/laws-modules/src/main/java/com/jero/modules/laws/common/util/ImportUtil.java index f4c872b1..593d9047 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/util/ImportUtil.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/util/ImportUtil.java @@ -88,6 +88,7 @@ public class ImportUtil { // 从数据行开始遍历 for (int i = 3; i < sheet.getPhysicalNumberOfRows(); i++) { + Map keyMap = new HashMap<>(); int line = i + 1; StringBuilder errMsg = new StringBuilder("第" + line + "行"); Map parameterMap = new HashMap<>(); @@ -144,34 +145,44 @@ public class ImportUtil { parameterMap.put(FieldCommon.STANDARD_CATEGORY_CODE, this.convertDictValue("standard_category_code", categoryCode)); parameterMap.put(FieldCommon.YEAR_NUMBER, yearCode); } - } - // 校验编号唯一性 - if (TableNameEnum.ENTERPRISE_STANDARDS.getValue().equals(tag.getIsModel())) { - LawsEnterpriseStandard lawsEnterpriseStandard = lawsEnterpriseStandardService.queryByStandardNumber(cellValue); - if (lawsEnterpriseStandard != null) { - log.error("第" + row + "列输入的" + tag.getDbFieldTxt() + "已存在 "); - errMsg.append("第").append(row).append("列输入的").append(tag.getDbFieldTxt()).append("已存在 "); - } - } - if (TableNameEnum.DOMESTIC_REGULATIONS.getValue().equals(tag.getIsModel())) { - QueryWrapper domesticStandardQueryWrapper = new QueryWrapper<>(); - domesticStandardQueryWrapper.eq(FieldCommon.STANDARD_NUMBER, cellValue); - LawsDomesticStandard lawsDomesticStandard = lawsDomeStandardService.getOne(domesticStandardQueryWrapper); - if (lawsDomesticStandard != null) { - log.error("第" + row + "列输入的" + tag.getDbFieldTxt() + "已存在 "); - errMsg.append("第").append(row).append("列输入的").append(tag.getDbFieldTxt()).append("已存在 "); - } - } - if (TableNameEnum.FOREIGN_REGULATIONS.getValue().equals(tag.getIsModel())) { - QueryWrapper foreignStandardQueryWrapper = new QueryWrapper<>(); - foreignStandardQueryWrapper.eq(FieldCommon.STANDARD_NUMBER, cellValue); - LawsOverseasStandard lawsOverseasStandard = overseasStandardService.getOne(foreignStandardQueryWrapper); - if (lawsOverseasStandard != null) { - log.error("第" + row + "列输入的" + tag.getDbFieldTxt() + "已存在 "); - errMsg.append("第").append(row).append("列输入的").append(tag.getDbFieldTxt()).append("已存在 "); + // 判断是否有重复数据 + if (keyMap.containsKey(cellValue)) { + errMsgList.add("第" + keyMap.get(cellValue) + "行'标准编号'与第" + line + "行数据重复。"); + } else { + // 5. 如果不存在,则将 GradeName 和其行号添加到 HashMap 中 + keyMap.put(cellValue, line); } } } + // TODO 国标编号校验 + // TODO 外标编号校验 + // 校验编号唯一性 + if (TableNameEnum.ENTERPRISE_STANDARDS.getValue().equals(tag.getIsModel())) { + LawsEnterpriseStandard lawsEnterpriseStandard = lawsEnterpriseStandardService.queryByStandardNumber(cellValue); + if (lawsEnterpriseStandard != null) { + log.error("第" + row + "列输入的" + tag.getDbFieldTxt() + "已存在 "); + errMsg.append("第").append(row).append("列输入的").append(tag.getDbFieldTxt()).append("已存在 "); + } + } + if (TableNameEnum.DOMESTIC_REGULATIONS.getValue().equals(tag.getIsModel())) { + QueryWrapper domesticStandardQueryWrapper = new QueryWrapper<>(); + domesticStandardQueryWrapper.eq(FieldCommon.STANDARD_NUMBER, cellValue); + LawsDomesticStandard lawsDomesticStandard = lawsDomeStandardService.getOne(domesticStandardQueryWrapper); + if (lawsDomesticStandard != null) { + log.error("第" + row + "列输入的" + tag.getDbFieldTxt() + "已存在 "); + errMsg.append("第").append(row).append("列输入的").append(tag.getDbFieldTxt()).append("已存在 "); + } + } + if (TableNameEnum.FOREIGN_REGULATIONS.getValue().equals(tag.getIsModel())) { + QueryWrapper foreignStandardQueryWrapper = new QueryWrapper<>(); + foreignStandardQueryWrapper.eq(FieldCommon.STANDARD_NUMBER, cellValue); + LawsOverseasStandard lawsOverseasStandard = overseasStandardService.getOne(foreignStandardQueryWrapper); + if (lawsOverseasStandard != null) { + log.error("第" + row + "列输入的" + tag.getDbFieldTxt() + "已存在 "); + errMsg.append("第").append(row).append("列输入的").append(tag.getDbFieldTxt()).append("已存在 "); + } + } + // 字段长度校验 if (FieldShowTypeEnum.TEXT_BOX.getValue().equals(tag.getFieldShowType())) { if (cellValue.length() > 50) {