|
@@ -97,19 +97,23 @@ public class ImportPaperService {
|
|
|
* @param file
|
|
|
* @return
|
|
|
*/
|
|
|
- public String ImportPaper(String paperName, String courseNo, String courseName, AccessUser user, File file) {
|
|
|
+ public Map<String,String> ImportPaper(String paperName, String courseNo, String courseName, AccessUser user, File file) {
|
|
|
String errorInfo = paperService.checkPaperName(paperName, user.getOrgId().toString());
|
|
|
+ Map<String,String> returnMap = new HashMap<String,String>();
|
|
|
if (errorInfo == null) {
|
|
|
errorInfo = "";
|
|
|
- errorInfo += processImportPaper(paperName, courseNo, courseName, user, file);
|
|
|
- if (StringUtils.isEmpty(errorInfo)) {
|
|
|
- return "success";
|
|
|
+ returnMap.putAll(processImportPaper(paperName, courseNo, courseName, user, file));
|
|
|
+ errorInfo += returnMap.get("errorInfo");
|
|
|
+ if (StringUtils.isBlank(errorInfo)||"null".equals(errorInfo)) {
|
|
|
+ returnMap.put("returnInfo", "success");
|
|
|
+ return returnMap;
|
|
|
} else {
|
|
|
log.error("导入异常:" + errorInfo);
|
|
|
- return errorInfo;
|
|
|
+ returnMap.put("returnInfo",errorInfo);
|
|
|
+ return returnMap;
|
|
|
}
|
|
|
} else {
|
|
|
- return errorInfo;
|
|
|
+ return returnMap;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -121,13 +125,13 @@ public class ImportPaperService {
|
|
|
* @param paperDetailUnits
|
|
|
* @param importPaperCheck
|
|
|
*/
|
|
|
- public void savePaper(Paper paper, List paperDetails, List paperDetailUnits, List questions,
|
|
|
+ public String savePaper(Paper paper, List paperDetails, List paperDetailUnits, List questions,
|
|
|
ImportPaperCheck importPaperCheck) {
|
|
|
|
|
|
Paper tempPaper = null;
|
|
|
|
|
|
if (!StringUtils.isEmpty(importPaperCheck.errorInfo))
|
|
|
- return;
|
|
|
+ return null;
|
|
|
|
|
|
if (paper != null) {
|
|
|
tempPaper = paperRepo.save(paper);
|
|
@@ -145,7 +149,7 @@ public class ImportPaperService {
|
|
|
paperDetailUnitRepo.save(paperDetailUnits);
|
|
|
}
|
|
|
|
|
|
- paperService.formatPaper(tempPaper);
|
|
|
+ return paperService.formatPaper(tempPaper);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -153,13 +157,15 @@ public class ImportPaperService {
|
|
|
*
|
|
|
* @param file
|
|
|
*/
|
|
|
- public String processImportPaper(String paperName, String courseNo, String courseName, AccessUser user, File file) {
|
|
|
+ public Map<String,String> processImportPaper(String paperName, String courseNo, String courseName, AccessUser user, File file) {
|
|
|
|
|
|
WordprocessingMLPackage wordMLPackage;
|
|
|
WordprocessingMLPackage tmpWordMlPackage;
|
|
|
WordprocessingMLPackage writePkg;
|
|
|
ImportPaperCheck importPaperCheck = new ImportPaperCheck();
|
|
|
-
|
|
|
+
|
|
|
+ Map<String,String> returnMap = new HashMap<String,String>();
|
|
|
+
|
|
|
try {
|
|
|
wordMLPackage = WordprocessingMLPackage.load(file);
|
|
|
// 初始化图片路径
|
|
@@ -215,7 +221,8 @@ public class ImportPaperService {
|
|
|
|
|
|
// 校验大题头信息
|
|
|
if (!checkQuesHeader(importPaperCheck)) {
|
|
|
- return importPaperCheck.errorInfo;
|
|
|
+ returnMap.put("errorInfo", importPaperCheck.errorInfo);
|
|
|
+ return returnMap;
|
|
|
}
|
|
|
|
|
|
// 创建大题类
|
|
@@ -272,13 +279,14 @@ public class ImportPaperService {
|
|
|
i = importPaperCheck.index - 1;
|
|
|
}
|
|
|
if (!StringUtils.isEmpty(importPaperCheck.errorInfo)) {
|
|
|
- return importPaperCheck.errorInfo;
|
|
|
+ returnMap.put("errorInfo", importPaperCheck.errorInfo);
|
|
|
+ return returnMap;
|
|
|
}
|
|
|
}
|
|
|
paper.setPaperDetailCount(mainQuesNum);
|
|
|
// 保存导入试卷信息
|
|
|
- savePaper(paper, paperDetails, paperDetailUnits, questions, importPaperCheck);
|
|
|
-
|
|
|
+ String paperId = savePaper(paper, paperDetails, paperDetailUnits, questions, importPaperCheck);
|
|
|
+ returnMap.put("paperId", paperId);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
importPaperCheck.setErrorInfo(e.getMessage());
|
|
@@ -289,7 +297,7 @@ public class ImportPaperService {
|
|
|
writePkg = null;
|
|
|
FileUtils.deleteQuietly(file);
|
|
|
}
|
|
|
- return importPaperCheck.errorInfo;
|
|
|
+ return returnMap;
|
|
|
}
|
|
|
|
|
|
/**
|