fix: 87518 企业标准-导入 导入正确数据,导不进去

This commit is contained in:
2024-08-01 17:05:23 +08:00
parent fd00c3eb5a
commit 61327952c7
2 changed files with 17 additions and 40 deletions
@@ -1687,7 +1687,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
} else { } else {
inputStream = Files.newInputStream(excelfilelist.get(0).toPath()); inputStream = Files.newInputStream(excelfilelist.get(0).toPath());
} }
try (Workbook workbook = new XSSFWorkbook(inputStream)) { try (Workbook workbook = new HSSFWorkbook(inputStream)) {
// 检测是否是空Excel // 检测是否是空Excel
Sheet sheet = workbook.getSheetAt(0); Sheet sheet = workbook.getSheetAt(0);
// 验证前三行是否有数据 // 验证前三行是否有数据
@@ -1713,7 +1713,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
List<LawsTag> headerList = new ArrayList<>(); List<LawsTag> headerList = new ArrayList<>();
for (Cell cell : hearderRow) { for (Cell cell : hearderRow) {
LawsTag tag = headerMap.get(cell.toString().replace("*", "")); LawsTag tag = headerMap.get(cell.toString().replace("*", ""));
if (tag == null && !cell.toString().equals("稽查内容")) { if (tag == null && !cell.toString().equals("监察内容")) {
FileUnZip.deleteDir(saveDirectory); FileUnZip.deleteDir(saveDirectory);
log.error("找不到" + cell + "对应的字段"); log.error("找不到" + cell + "对应的字段");
throw new JeroBootException(MessageUtils.getMessage(ResultCommon.IMPORT_TEMPLATE_ERROR)); throw new JeroBootException(MessageUtils.getMessage(ResultCommon.IMPORT_TEMPLATE_ERROR));
@@ -78,7 +78,7 @@ public class ImportUtil {
Map<String, String> treeNodePathMap, Map<String, String> treeNodePathMap,
Map<String, List<SysDepart>> sysDepartMap, Map<String, List<SysDepart>> sysDepartMap,
Map<String, String> sysDepartPathMap Map<String, String> sysDepartPathMap
) { ) {
List<String> errMsgList = new ArrayList<>(); List<String> errMsgList = new ArrayList<>();
Map<String, Integer> keyMap = new HashMap<>(); Map<String, Integer> keyMap = new HashMap<>();
// 从数据行开始遍历 // 从数据行开始遍历
@@ -87,10 +87,6 @@ public class ImportUtil {
String standardNumber = ""; String standardNumber = "";
String standardClass = ""; String standardClass = "";
String yearNumber = ""; String yearNumber = "";
Date releaseDate = null;
String releaseDateRow = "";
Date implementationDate = null;
String implementationDateRow = "";
StringBuilder errMsg = new StringBuilder("第" + line + "行"); StringBuilder errMsg = new StringBuilder("第" + line + "行");
Map<String, Object> parameterMap = new HashMap<>(); Map<String, Object> parameterMap = new HashMap<>();
boolean standardValidFlag = false; boolean standardValidFlag = false;
@@ -99,7 +95,7 @@ public class ImportUtil {
for (int j = 0; j < headerList.size(); j++) { for (int j = 0; j < headerList.size(); j++) {
// 获取当前单元格 // 获取当前单元格
Cell cell = sheet.getRow(i).getCell(j); Cell cell = sheet.getRow(i).getCell(j);
if (cell != null && !"".equals(cell.toString().trim())) { if (cell != null && !cell.toString().trim().isEmpty()) {
emptyRow = false; emptyRow = false;
break; break;
} }
@@ -223,15 +219,12 @@ public class ImportUtil {
// 5. 如果不存在,则将 GradeName 和其行号添加到 HashMap 中 // 5. 如果不存在,则将 GradeName 和其行号添加到 HashMap 中
keyMap.put(cellValue, line); keyMap.put(cellValue, line);
} }
} // 企标编号校验
} LawsEnterpriseStandard lawsEnterpriseStandard = lawsEnterpriseStandardService.queryByStandardNumber(cellValue);
if (lawsEnterpriseStandard != null) {
// 企标编号校验 log.error("第" + row + "列输入的" + tag.getDbFieldTxt() + "已存在 ");
if (TableNameEnum.ENTERPRISE_STANDARDS.getValue().equals(tag.getIsModel())) { errMsg.append("第").append(row).append("列输入的").append(tag.getDbFieldTxt()).append("已存在 ");
LawsEnterpriseStandard lawsEnterpriseStandard = lawsEnterpriseStandardService.queryByStandardNumber(cellValue); }
if (lawsEnterpriseStandard != null) {
log.error("第" + row + "列输入的" + tag.getDbFieldTxt() + "已存在 ");
errMsg.append("第").append(row).append("列输入的").append(tag.getDbFieldTxt()).append("已存在 ");
} }
} }
@@ -273,8 +266,9 @@ public class ImportUtil {
} }
} }
// 单选组织机构 // 组织机构
if (FieldShowTypeEnum.SINGLE_ORGANIZATION_DIALOG.getValue().equals(tag.getFieldShowType())) { if (FieldShowTypeEnum.SINGLE_ORGANIZATION_DIALOG.getValue().equals(tag.getFieldShowType()) ||
FieldShowTypeEnum.MULTI_ORGANIZATION_DIALOG.getValue().equals(tag.getFieldShowType())) {
List<SysDepart> departList = sysDepartService.list(); List<SysDepart> departList = sysDepartService.list();
Map<String, List<SysDepart>> deaprtMap = departList.stream().collect(Collectors.groupingBy(SysDepart::getDepartName)); Map<String, List<SysDepart>> deaprtMap = departList.stream().collect(Collectors.groupingBy(SysDepart::getDepartName));
Map<String, String> departPartMap = SysDepart.buildPaths(departList); Map<String, String> departPartMap = SysDepart.buildPaths(departList);
@@ -296,16 +290,6 @@ public class ImportUtil {
cellValue = this.convertSingleUserId(cellValue); cellValue = this.convertSingleUserId(cellValue);
} }
} }
// 多选组织机构
if (FieldShowTypeEnum.MULTI_ORGANIZATION_DIALOG.getValue().equals(tag.getFieldShowType())) {
if (!this.multiOrgValid(cellValue, sysDepartMap, sysDepartPathMap)) {
log.error("第" + row + "列" + tag.getDbFieldTxt() + "填写错误 ");
errMsg.append("第").append(row).append("列").append(tag.getDbFieldTxt()).append("填写错误 ");
} else {
// 转为id
cellValue = this.convertMultiOrgId(cellValue, sysDepartMap, sysDepartPathMap);
}
}
// 零部件 // 零部件
if (tag.getDbFieldName().equals("part_name") && StrUtil.isNotBlank(cellValue)) { if (tag.getDbFieldName().equals("part_name") && StrUtil.isNotBlank(cellValue)) {
if (!this.partValid(cellValue)) { if (!this.partValid(cellValue)) {
@@ -341,15 +325,6 @@ public class ImportUtil {
if (!this.singleDateValid(cellValue)) { if (!this.singleDateValid(cellValue)) {
log.error("第" + row + "列" + tag.getDbFieldTxt() + "填写错误 "); log.error("第" + row + "列" + tag.getDbFieldTxt() + "填写错误 ");
errMsg.append("第").append(row).append("列").append(tag.getDbFieldTxt()).append("填写错误 "); errMsg.append("第").append(row).append("列").append(tag.getDbFieldTxt()).append("填写错误 ");
} else {
if (tag.getDbFieldName().equals("release_date")) {
releaseDate = this.convertDate(cellValue);
releaseDateRow = row;
}
if (tag.getDbFieldName().equals("implementation_date")) {
implementationDate = this.convertDate(cellValue);
implementationDateRow = row;
}
} }
} }
// 多选时间 // 多选时间
@@ -368,8 +343,10 @@ public class ImportUtil {
} }
// 树形单选 // 树形单选
if (FieldShowTypeEnum.TREE_STRUCTURE_SINGLE_SELECT.getValue().equals(tag.getFieldShowType()) || if ((FieldShowTypeEnum.TREE_STRUCTURE_SINGLE_SELECT.getValue().equals(tag.getFieldShowType()) ||
FieldShowTypeEnum.TREE_STRUCTURE_MULTI_SELECT.getValue().equals(tag.getFieldShowType())) { FieldShowTypeEnum.TREE_STRUCTURE_MULTI_SELECT.getValue().equals(tag.getFieldShowType())) &&
(!FieldCommon.STANDARD_SYSTEM.equals(tag.getDbFieldName()))
) {
// 根据tag找到dictCode // 根据tag找到dictCode
String dictCode = tag.getDictField(); String dictCode = tag.getDictField();
if (!this.dictValid(dictCode, cellValue)) { if (!this.dictValid(dictCode, cellValue)) {