文档库--导入(空excel判断)

This commit is contained in:
zhn
2022-03-09 18:10:59 +08:00
parent 41dc50d7fd
commit b80addc3d2
3 changed files with 27 additions and 19 deletions
@@ -387,8 +387,13 @@ public class BussDocumentLibraryEOController extends JeroController<BussDocument
@PostMapping(value = "/importZip")
@RequiresPermissions("document:importZip")
public Result<?> importZip(@RequestParam(value = "file", required = false) MultipartFile file) throws Exception {
String result = bussDocumentLibraryEOService.importZip(file);
return Result.OK(result);
try {
bussDocumentLibraryEOService.importZip(file);
} catch (Exception e) {
e.printStackTrace();
return Result.error(e.getMessage());
}
return Result.OK("导入成功");
}
@ApiOperation(value = "推送")
@@ -187,6 +187,6 @@ public interface IBussDocumentLibraryEOService extends IService<BussDocumentLibr
String pullMessage(String departIds, String ids, String documentIds);
String importZip(MultipartFile file);
void importZip(MultipartFile file);
}
@@ -2309,15 +2309,14 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
@SneakyThrows
@Override
public String importZip(MultipartFile file) {
public void importZip(MultipartFile file) {
List<String> list = getWorkbookTitle("cn");
String result = "";
int pos = file.getOriginalFilename().lastIndexOf(".");
String str = file.getOriginalFilename().substring(pos + 1).toLowerCase();
String filenameorg = file.getOriginalFilename().substring(0, pos);
//判断上传文件必须是zip
if (!str.equals("zip") && !str.equals("rar")) {
return "请上传zip格式的文件或rar格式的文件";
throw new JeroBootException("请上传zip格式的文件或rar格式的文件") ;
}
String path = uploadpath + "/modal/" + filenameorg;
File saveDirectory = new File(path);
@@ -2333,7 +2332,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
if(length > 2){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
return "压缩包中必须有且仅有一个文件夹,请重新上传";
throw new JeroBootException("压缩包中必须有且仅有一个文件夹,请重新上传");
}
File fileNew = new File(zipEntryName);
List<File> fileList = new ArrayList<>();
@@ -2345,11 +2344,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
if(fileList.size() ==0 ){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
return "压缩包根目录下没有excel作为导入数据,请重新上传";
throw new JeroBootException("压缩包根目录下没有excel作为导入数据,请重新上传");
}else if(fileList.size() > 1){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
return "压缩包根目录下仅能存在一个excel为导入数据,请重新上传";
throw new JeroBootException("压缩包根目录下仅能存在一个excel为导入数据,请重新上传") ;
}
// 数据相关处理,
@@ -2359,11 +2358,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
if (excelfilelist.size() < 1) {
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
return "压缩包内没有上传Excel数据";
throw new JeroBootException( "压缩包内没有上传Excel数据");
} else if (excelfilelist.size() > 1) {
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
return "压缩包内有多个Excel数据源";
throw new JeroBootException("压缩包内有多个Excel数据源");
}
File excelfile = excelfilelist.get(0);
@@ -2417,6 +2416,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
}
}
}
if(dataList.size() == 0){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
throw new JeroBootException("请填写必填字段内容,带*的为必填");
}
// 校验头部是否符合模板
String fields = list.get(0);
String substring = headerSb.substring(0, headerSb.length() - 1);
@@ -2425,7 +2429,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
workbook.close();
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
return "读取失败,请严格按照模板文件导入数据";
throw new JeroBootException("读取失败,请严格按照模板文件导入数据");
}
}
}
@@ -2435,14 +2439,13 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
List<SysDictItem> dictItemList = sysDictItemServiceImpl.selectItemsAll();
//表头
List<Map<String, Object>> addForm = getAddForm(ModuleEnum.DOCUMENT_LIBRARY.getValue(), "cn", "add");
result = exportDatas(dataList, addForm, categoryList, dictItemList, zipEntryName);
exportDatas(dataList, addForm, categoryList, dictItemList, zipEntryName);
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
return result;
}
String exportDatas(List<Map<String, String>> dataList,
private void exportDatas(List<Map<String, String>> dataList,
List<Map<String, Object>> fieldList,
List<SysCategory> categoryList,
List<SysDictItem> dictItemList,
@@ -2570,7 +2573,9 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
valueId += collect.get(0).getItemValue() + ",";
}
}
value = valueId.substring(0,valueId.length()-1);
if(StringUtils.isNotBlank(valueId)){
value = valueId.substring(0,valueId.length()-1);
}
}
@@ -2683,7 +2688,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
for (String s : msgList) {
html += s + "</br>";
}
return html;
throw new JeroBootException(html) ;
} else {
if(mapList.size() != 0){
for (Map<String, Object> map : mapList) {
@@ -2691,8 +2696,6 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
}
}
}
return "数据导入成功";
}