feat: 外标标准库导入支持老法规导入

This commit is contained in:
2024-07-23 11:37:41 +08:00
parent 97fbd7c383
commit 9b29506fb5
2 changed files with 12 additions and 37 deletions
@@ -1642,18 +1642,9 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
// 解压缩 // 解压缩
String zipEntryName = FileUnZip.unZipFiles(path + File.separator + file.getOriginalFilename(), String.valueOf(path)); String zipEntryName = FileUnZip.unZipFiles(path + File.separator + file.getOriginalFilename(), String.valueOf(path));
// 需求变更 不做判断
//判断压缩包下是否只有一个文件夹
// File fileTemp = new File(path.toUri());
// int length = fileTemp.listFiles().length;
// if (length > 2) {
// FileUnZip.deleteDir(saveDirectory);
// throw new JeroBootException(MessageUtils.getMessage(ResultCommon.FOLDER_ONLY_ONE));
// }
List<File> fileList = new ArrayList<>(); List<File> fileList = new ArrayList<>();
for (File file1 : Objects.requireNonNull(saveDirectory.listFiles())) { for (File file1 : Objects.requireNonNull(saveDirectory.listFiles())) {
if (file1.getName().contains(".xls") || file1.getName().contains(".xlsx")) { if (file1.getName().contains(".xls") || file1.getName().contains(".xlsx") || file1.getName().contains(".xlsm")) {
fileList.add(file1); fileList.add(file1);
} }
} }
@@ -1674,7 +1665,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
String moduleCode = ""; String moduleCode = "";
if (tableName.equals(TableNameEnum.ENTERPRISE_STANDARDS.getTableName())) { if (tableName.equals(TableNameEnum.ENTERPRISE_STANDARDS.getTableName())) {
// 检查Excel的文件名 // 检查Excel的文件名
if (!excelName.equals("企业标准法规导入模板.xls")) { if (!excelName.equals("企业标准法规导入模板.xls") && !excelName.contains("xlsm")) {
FileUnZip.deleteDir(saveDirectory); FileUnZip.deleteDir(saveDirectory);
throw new JeroBootException(MessageUtils.getMessage(ResultCommon.IMPORT_TEMPLATE_ERROR)); throw new JeroBootException(MessageUtils.getMessage(ResultCommon.IMPORT_TEMPLATE_ERROR));
} }
@@ -1682,7 +1673,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
} }
if (tableName.equals(TableNameEnum.DOMESTIC_REGULATIONS.getTableName())) { if (tableName.equals(TableNameEnum.DOMESTIC_REGULATIONS.getTableName())) {
// 检查Excel的文件名 // 检查Excel的文件名
if (!excelName.equals("外来标准法规导入模板.xls")) { if (!excelName.equals("外来标准法规导入模板.xls") && !excelName.contains("xlsm")) {
FileUnZip.deleteDir(saveDirectory); FileUnZip.deleteDir(saveDirectory);
throw new JeroBootException(MessageUtils.getMessage(ResultCommon.IMPORT_TEMPLATE_ERROR)); throw new JeroBootException(MessageUtils.getMessage(ResultCommon.IMPORT_TEMPLATE_ERROR));
} }
@@ -125,29 +125,15 @@ public class ImportUtil {
errMsg.append("第").append(row).append("列").append(tag.getDbFieldTxt()).append("为必填 "); errMsg.append("第").append(row).append("列").append(tag.getDbFieldTxt()).append("为必填 ");
break; break;
} }
try {
standardNumber = cell.toString().trim();
// 必须是数字
if (!standardNumber.matches("^[0-9]+(\\.[0-9]+)?$")) {
log.error("第" + row + "列" + tag.getDbFieldTxt() + "填写错误,标准号必须为数字 ");
errMsg.append("第").append(row).append("列").append(tag.getDbFieldTxt()).append("填写错误,标准号必须为数字 ");
break;
}
} catch (Exception e) {
log.error("第" + row + "列" + tag.getDbFieldTxt() + "填写错误 ");
errMsg.append("第").append(row).append("列").append(tag.getDbFieldTxt()).append("填写错误 ");
break;
}
} }
if (FieldCommon.YEAR_NUMBER.equals(tag.getDbFieldName())) { if (FieldCommon.YEAR_NUMBER.equals(tag.getDbFieldName())) {
if (cell != null && StrUtil.isNotBlank(cell.toString().trim())) { if (cell != null && StrUtil.isNotBlank(cell.toString().trim())) {
// 校验是否是正确的四位数字年 // 如果有小数点则去除小数点及后面的数字
if (!cell.toString().trim().matches("^[0-9]{4}$")) { if (cell.toString().trim().contains(".")) {
log.error("第" + row + "列" + tag.getDbFieldTxt() + "填写错误 "); yearNumber = cell.toString().trim().split("\\.")[0];
errMsg.append("第").append(row).append("列").append(tag.getDbFieldTxt()).append("填写错误 "); } else {
break; yearNumber = cell.toString().trim();
} }
yearNumber = String.valueOf(Integer.parseInt(cell.toString().trim()));
} else { } else {
yearNumber = "BLANK"; yearNumber = "BLANK";
} }
@@ -250,7 +236,8 @@ public class ImportUtil {
} }
// 字段长度校验 // 字段长度校验
if (FieldShowTypeEnum.TEXT_BOX.getValue().equals(tag.getFieldShowType())) { if (FieldShowTypeEnum.TEXT_BOX.getValue().equals(tag.getFieldShowType()) &&
!FieldCommon.STANDARD_ENGLISH_NAME.equals(tag.getDbFieldName())) {
if (cellValue.length() > 50) { if (cellValue.length() > 50) {
log.error("第" + row + "列输入的" + tag.getDbFieldTxt() + "超过50字 "); log.error("第" + row + "列输入的" + tag.getDbFieldTxt() + "超过50字 ");
errMsg.append("第").append(row).append("列输入的").append(tag.getDbFieldTxt()).append("超过50字 "); errMsg.append("第").append(row).append("列输入的").append(tag.getDbFieldTxt()).append("超过50字 ");
@@ -507,6 +494,8 @@ public class ImportUtil {
String nodeId = sysDepartPathMap.get(value); String nodeId = sysDepartPathMap.get(value);
return StrUtil.isNotBlank(nodeId); return StrUtil.isNotBlank(nodeId);
} }
} else {
return false;
} }
} }
return true; return true;
@@ -638,11 +627,6 @@ public class ImportUtil {
try { try {
for (String dateStr : dates) { for (String dateStr : dates) {
if (dateStr.length() < dateFormatPattern.length()) {
// 如果日期字符串长度小于格式字符串长度,则直接返回false
log.error("日期格式长度错误");
return false;
}
// 解析日期字符串 // 解析日期字符串
Date date = sdf.parse(dateStr.trim()); Date date = sdf.parse(dateStr.trim());
// 使用Calendar获取年份 // 使用Calendar获取年份