feat: 企标编号导入判断重复行

This commit is contained in:
2023-11-06 08:11:39 +08:00
parent 9b43f881d0
commit 1baf593c8b
@@ -88,6 +88,7 @@ public class ImportUtil {
// 从数据行开始遍历
for (int i = 3; i < sheet.getPhysicalNumberOfRows(); i++) {
Map<String, Integer> keyMap = new HashMap<>();
int line = i + 1;
StringBuilder errMsg = new StringBuilder("" + line + "");
Map<String, Object> 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<LawsDomesticStandard> 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<LawsOverseasStandard> 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<LawsDomesticStandard> 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<LawsOverseasStandard> 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) {