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 {
inputStream = Files.newInputStream(excelfilelist.get(0).toPath());
}
try (Workbook workbook = new XSSFWorkbook(inputStream)) {
try (Workbook workbook = new HSSFWorkbook(inputStream)) {
// 检测是否是空Excel
Sheet sheet = workbook.getSheetAt(0);
// 验证前三行是否有数据
@@ -1713,7 +1713,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
List<LawsTag> headerList = new ArrayList<>();
for (Cell cell : hearderRow) {
LawsTag tag = headerMap.get(cell.toString().replace("*", ""));
if (tag == null && !cell.toString().equals("稽查内容")) {
if (tag == null && !cell.toString().equals("监察内容")) {
FileUnZip.deleteDir(saveDirectory);
log.error("找不到" + cell + "对应的字段");
throw new JeroBootException(MessageUtils.getMessage(ResultCommon.IMPORT_TEMPLATE_ERROR));
@@ -78,7 +78,7 @@ public class ImportUtil {
Map<String, String> treeNodePathMap,
Map<String, List<SysDepart>> sysDepartMap,
Map<String, String> sysDepartPathMap
) {
) {
List<String> errMsgList = new ArrayList<>();
Map<String, Integer> keyMap = new HashMap<>();
// 从数据行开始遍历
@@ -87,10 +87,6 @@ public class ImportUtil {
String standardNumber = "";
String standardClass = "";
String yearNumber = "";
Date releaseDate = null;
String releaseDateRow = "";
Date implementationDate = null;
String implementationDateRow = "";
StringBuilder errMsg = new StringBuilder("" + line + "");
Map<String, Object> parameterMap = new HashMap<>();
boolean standardValidFlag = false;
@@ -99,7 +95,7 @@ public class ImportUtil {
for (int j = 0; j < headerList.size(); j++) {
// 获取当前单元格
Cell cell = sheet.getRow(i).getCell(j);
if (cell != null && !"".equals(cell.toString().trim())) {
if (cell != null && !cell.toString().trim().isEmpty()) {
emptyRow = false;
break;
}
@@ -223,15 +219,12 @@ public class ImportUtil {
// 5. 如果不存在,则将 GradeName 和其行号添加到 HashMap 中
keyMap.put(cellValue, line);
}
}
}
// 企标编号校验
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("已存在 ");
// 企标编号校验
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();
Map<String, List<SysDepart>> deaprtMap = departList.stream().collect(Collectors.groupingBy(SysDepart::getDepartName));
Map<String, String> departPartMap = SysDepart.buildPaths(departList);
@@ -296,16 +290,6 @@ public class ImportUtil {
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 (!this.partValid(cellValue)) {
@@ -341,15 +325,6 @@ public class ImportUtil {
if (!this.singleDateValid(cellValue)) {
log.error("" + row + "" + tag.getDbFieldTxt() + "填写错误 ");
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()) ||
FieldShowTypeEnum.TREE_STRUCTURE_MULTI_SELECT.getValue().equals(tag.getFieldShowType())) {
if ((FieldShowTypeEnum.TREE_STRUCTURE_SINGLE_SELECT.getValue().equals(tag.getFieldShowType()) ||
FieldShowTypeEnum.TREE_STRUCTURE_MULTI_SELECT.getValue().equals(tag.getFieldShowType())) &&
(!FieldCommon.STANDARD_SYSTEM.equals(tag.getDbFieldName()))
) {
// 根据tag找到dictCode
String dictCode = tag.getDictField();
if (!this.dictValid(dictCode, cellValue)) {