fix: 企标导入部分Bug修正

This commit is contained in:
2023-10-26 07:40:18 +08:00
parent 10fe984a7d
commit d8e3593758
2 changed files with 15 additions and 15 deletions
@@ -1362,7 +1362,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
Charset correctCharset = null; Charset correctCharset = null;
// 尝试不同的编码来找到正确的字符集 // 尝试不同的编码来找到正确的字符集
String[] charsetsToBeTested = {"GB2312", "GBK", "UTF-8", "UTF-16"}; String[] charsetsToBeTested = {"UTF-8", "GB2312", "GBK", "UTF-16"};
for (String charset : charsetsToBeTested) { for (String charset : charsetsToBeTested) {
try (ZipFile zipFile = new ZipFile(tempFile, Charset.forName(charset))) { try (ZipFile zipFile = new ZipFile(tempFile, Charset.forName(charset))) {
if (zipFile.size() > 0) { if (zipFile.size() > 0) {
@@ -1925,7 +1925,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
byte[] mainWorkbookBytes = baos1.toByteArray(); byte[] mainWorkbookBytes = baos1.toByteArray();
// 2. 生成稽查内容的模板 // 2. 生成稽查内容的模板
Workbook workbook2 = createInspectContentExcelTemplate(); // 这是一个新函数,你需要根据第二个模板的需求来实现 Workbook workbook2 = createInspectContentExcelTemplate();
ByteArrayOutputStream baos2 = new ByteArrayOutputStream(); ByteArrayOutputStream baos2 = new ByteArrayOutputStream();
workbook2.write(baos2); workbook2.write(baos2);
byte[] inspectContentBytes = baos2.toByteArray(); byte[] inspectContentBytes = baos2.toByteArray();
@@ -2079,7 +2079,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
cell2.setCellValue("填写说明:\n" + cell2.setCellValue("填写说明:\n" +
"1.所有带星号的为必填\n" + "1.所有带星号的为必填\n" +
"2.导入数据从第四行开始,第一行为表头,第二行为填写说明,第三行为示例。第四行才是正式数据\n" + "2.导入数据从第四行开始,第一行为表头,第二行为填写说明,第三行为示例。第四行才是正式数据\n" +
"3.字段为多选属性,必须与系统中对应选项字段相匹配,填写多个时使用逗号隔开\n" + "3.字段为多选属性,必须与系统中对应选项字段相匹配,填写多个时使用英文逗号隔开\n" +
"4.字段为文件属性,填写时需在本文件同级目录下以标准号为名称建立文件夹,并在文件夹内放置文件。假设在A标准号的文件夹内放置了A1文件,那么单元格需填写:A/A1.pdf"); "4.字段为文件属性,填写时需在本文件同级目录下以标准号为名称建立文件夹,并在文件夹内放置文件。假设在A标准号的文件夹内放置了A1文件,那么单元格需填写:A/A1.pdf");
// 应用样式到单元格 // 应用样式到单元格
cell2.setCellStyle(style); cell2.setCellStyle(style);
@@ -263,7 +263,7 @@ public class ImportUtil {
} }
private String multiDateConvert(String cellValue) { private String multiDateConvert(String cellValue) {
String[] dates = cellValue.split(""); String[] dates = cellValue.split(",");
// 用英文逗号拼接 // 用英文逗号拼接
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
StringBuilder dateBuilder = new StringBuilder(); StringBuilder dateBuilder = new StringBuilder();
@@ -274,7 +274,7 @@ public class ImportUtil {
} }
private boolean multiDateValid(String cellValue) { private boolean multiDateValid(String cellValue) {
String[] dates = cellValue.split(""); String[] dates = cellValue.split(",");
// 创建一个SimpleDateFormat对象,并指定所需的格式 // 创建一个SimpleDateFormat对象,并指定所需的格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 使用SimpleDateFormat对象的format方法将Date对象转换为字符串 // 使用SimpleDateFormat对象的format方法将Date对象转换为字符串
@@ -290,7 +290,7 @@ public class ImportUtil {
} }
private String convertFileIds(String cellValue, Map<String, File> fileMap) { private String convertFileIds(String cellValue, Map<String, File> fileMap) {
String[] pathList = cellValue.split(""); String[] pathList = cellValue.split(",");
StringBuilder fileIds = new StringBuilder(); StringBuilder fileIds = new StringBuilder();
for (String path : pathList) { for (String path : pathList) {
try { try {
@@ -320,7 +320,7 @@ public class ImportUtil {
// 体系转换 // 体系转换
public String convertStandardSystem(String cellValue) { public String convertStandardSystem(String cellValue) {
List<String> valueList = Arrays.asList(cellValue.split("")); List<String> valueList = Arrays.asList(cellValue.split(","));
LambdaQueryWrapper<LawsTreeNode> treeNodeLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<LawsTreeNode> treeNodeLambdaQueryWrapper = new LambdaQueryWrapper<>();
treeNodeLambdaQueryWrapper.in(LawsTreeNode::getNodeName, valueList); treeNodeLambdaQueryWrapper.in(LawsTreeNode::getNodeName, valueList);
List<LawsTreeNode> treeNodeList = lawsTreeNodeService.list(treeNodeLambdaQueryWrapper); List<LawsTreeNode> treeNodeList = lawsTreeNodeService.list(treeNodeLambdaQueryWrapper);
@@ -343,7 +343,7 @@ public class ImportUtil {
// 零部件转换 // 零部件转换
public String convertPartId(String cellValue) { public String convertPartId(String cellValue) {
List<String> valueList = Arrays.asList(cellValue.split("")); List<String> valueList = Arrays.asList(cellValue.split(","));
LambdaQueryWrapper<SysDictItem> sysDictItemLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysDictItem> sysDictItemLambdaQueryWrapper = new LambdaQueryWrapper<>();
sysDictItemLambdaQueryWrapper.in(SysDictItem::getItemText, valueList); sysDictItemLambdaQueryWrapper.in(SysDictItem::getItemText, valueList);
Map<String, String> idMap = sysDictItemService.list(sysDictItemLambdaQueryWrapper).stream() Map<String, String> idMap = sysDictItemService.list(sysDictItemLambdaQueryWrapper).stream()
@@ -358,7 +358,7 @@ public class ImportUtil {
// 多选部门转换 // 多选部门转换
public String convertMultiOrgId(String cellValue) { public String convertMultiOrgId(String cellValue) {
List<String> valueList = Arrays.asList(cellValue.split("")); List<String> valueList = Arrays.asList(cellValue.split(","));
LambdaQueryWrapper<SysDepart> sysDepartLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysDepart> sysDepartLambdaQueryWrapper = new LambdaQueryWrapper<>();
sysDepartLambdaQueryWrapper.in(SysDepart::getDepartName, valueList); sysDepartLambdaQueryWrapper.in(SysDepart::getDepartName, valueList);
List<SysDepart> deptList = sysDepartService.list(sysDepartLambdaQueryWrapper); List<SysDepart> deptList = sysDepartService.list(sysDepartLambdaQueryWrapper);
@@ -381,7 +381,7 @@ public class ImportUtil {
// 字典转换 // 字典转换
public String convertDictValue(String dictCode, String cellValue) { public String convertDictValue(String dictCode, String cellValue) {
String[] valueList = cellValue.split(""); String[] valueList = cellValue.split(",");
Map<String, DictModel> sexDictModelMap = Map<String, DictModel> sexDictModelMap =
sysBaseAPI.getDictItems(dictCode).stream() sysBaseAPI.getDictItems(dictCode).stream()
.collect(Collectors.toMap(DictModel::getText, d -> d)); .collect(Collectors.toMap(DictModel::getText, d -> d));
@@ -405,7 +405,7 @@ public class ImportUtil {
// 字典验证(判断填写的是否是选项中的一个) // 字典验证(判断填写的是否是选项中的一个)
public boolean dictValid(String dictCode, String cellValue) { public boolean dictValid(String dictCode, String cellValue) {
String[] valueList = cellValue.split(""); String[] valueList = cellValue.split(",");
Map<String, DictModel> sexDictModelMap = Map<String, DictModel> sexDictModelMap =
sysBaseAPI.getDictItems(dictCode).stream() sysBaseAPI.getDictItems(dictCode).stream()
.collect(Collectors.toMap(DictModel::getText, d -> d)); .collect(Collectors.toMap(DictModel::getText, d -> d));
@@ -434,7 +434,7 @@ public class ImportUtil {
// 多选组织机构 // 多选组织机构
public boolean multiOrgValid(String cellValue) { public boolean multiOrgValid(String cellValue) {
List<String> valueList = Arrays.asList(cellValue.split("")); List<String> valueList = Arrays.asList(cellValue.split(","));
LambdaQueryWrapper<SysDepart> sysDepartLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysDepart> sysDepartLambdaQueryWrapper = new LambdaQueryWrapper<>();
sysDepartLambdaQueryWrapper.in(SysDepart::getDepartName, valueList); sysDepartLambdaQueryWrapper.in(SysDepart::getDepartName, valueList);
List<SysDepart> list = sysDepartService.list(sysDepartLambdaQueryWrapper); List<SysDepart> list = sysDepartService.list(sysDepartLambdaQueryWrapper);
@@ -443,7 +443,7 @@ public class ImportUtil {
// 零部件 // 零部件
public boolean partValid(String cellValue) { public boolean partValid(String cellValue) {
String[] valueList = cellValue.split(""); String[] valueList = cellValue.split(",");
List<DictModel> partDictModelList = sysBaseAPI.getDictItems("Part Name"); List<DictModel> partDictModelList = sysBaseAPI.getDictItems("Part Name");
Map<String, DictModel> partDictModelMap = partDictModelList.stream() Map<String, DictModel> partDictModelMap = partDictModelList.stream()
.collect(Collectors.toMap(DictModel::getText, d -> d)); .collect(Collectors.toMap(DictModel::getText, d -> d));
@@ -457,7 +457,7 @@ public class ImportUtil {
// 体系校验 // 体系校验
public boolean standardSystemValid(String cellValue) { public boolean standardSystemValid(String cellValue) {
List<String> valueList = Arrays.asList(cellValue.split("")); List<String> valueList = Arrays.asList(cellValue.split(","));
LambdaQueryWrapper<LawsTreeNode> treeNodeLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<LawsTreeNode> treeNodeLambdaQueryWrapper = new LambdaQueryWrapper<>();
treeNodeLambdaQueryWrapper.in(LawsTreeNode::getNodeName, valueList); treeNodeLambdaQueryWrapper.in(LawsTreeNode::getNodeName, valueList);
List<LawsTreeNode> treeNodeList = lawsTreeNodeService.list(treeNodeLambdaQueryWrapper); List<LawsTreeNode> treeNodeList = lawsTreeNodeService.list(treeNodeLambdaQueryWrapper);
@@ -472,7 +472,7 @@ public class ImportUtil {
// 文件校验 // 文件校验
private boolean fileValid(String cellValue, Map<String, File> fileMap) { private boolean fileValid(String cellValue, Map<String, File> fileMap) {
String[] pathList = cellValue.split(""); String[] pathList = cellValue.split(",");
for (String path : pathList) { for (String path : pathList) {
// 校验是否真的有这个文件 // 校验是否真的有这个文件
File file = fileMap.get(path); File file = fileMap.get(path);