1、试题管理导入

beetlsql3-dev
wgf 2 years ago
parent 0bd353a7d0
commit eb41f4c328

@ -378,7 +378,7 @@ public class ResourcesQuestionService extends CoreBaseService<ResourcesQuestion>
//获取最大列数 //获取最大列数
int colNum = firstRow.getPhysicalNumberOfCells(); int colNum = firstRow.getPhysicalNumberOfCells();
String[] columns = {"归属课程", "理论课程分类", "归属章节", "题型", "分值", "题干", "选项A", "选项B", "选项C", "选项D", "选项E", "答案", "解析"}; String[] columns = {"归属课程", "归属章节", "题型", "分值", "题干", "选项A", "选项B", "选项C", "选项D", "选项E", "答案", "解析"};
Map<String, Integer> map = new HashMap<>();//获取需要的表头的列 Map<String, Integer> map = new HashMap<>();//获取需要的表头的列
@ -400,7 +400,7 @@ public class ResourcesQuestionService extends CoreBaseService<ResourcesQuestion>
} }
} }
if (flag != columns.length) { if (flag != columns.length) {
return JsonResult.failMessage("导入失败,表格表头应包含 \"归属课程\",\"理论课程分类\",\"归属章节\",\"题型\",\"分值\",\"题干\",\"选项A\",\"选项B\",\"选项C\",\"选项D\",\"选项E\",\"答案\",\"解析\""); return JsonResult.failMessage("导入失败,表格表头应包含 \"归属课程\",\"归属章节\",\"题型\",\"分值\",\"题干\",\"选项A\",\"选项B\",\"选项C\",\"选项D\",\"选项E\",\"答案\",\"解析\"");
} }
int count = 0; int count = 0;
@ -426,26 +426,26 @@ public class ResourcesQuestionService extends CoreBaseService<ResourcesQuestion>
continue; continue;
} }
String courseInfoName = getCellFormatValue(row.getCell(map.get(columns[0]))); String courseInfoName = getCellFormatValue(row.getCell(map.get(columns[0])));
String courseLabelName = getCellFormatValue(row.getCell(map.get(columns[1]))); // String courseLabelName = getCellFormatValue(row.getCell(map.get(columns[1])));
String chapterName = getCellFormatValue(row.getCell(map.get(columns[2]))); String chapterName = getCellFormatValue(row.getCell(map.get(columns[1])));
String questionType = getCellFormatValue(row.getCell(map.get(columns[3]))); String questionType = getCellFormatValue(row.getCell(map.get(columns[2])));
if (StringUtils.isNotBlank(questionType)) { if (StringUtils.isNotBlank(questionType)) {
questionType = questionType.replace("题", "").trim(); questionType = questionType.replace("题", "").trim();
} }
String questionScore = getCellFormatValue(row.getCell(map.get(columns[4]))); String questionScore = getCellFormatValue(row.getCell(map.get(columns[3])));
String questionStem = getCellFormatValue(row.getCell(map.get(columns[5]))); String questionStem = getCellFormatValue(row.getCell(map.get(columns[4])));
String questionOptionA = getCellFormatValue(row.getCell(map.get(columns[6]))); String questionOptionA = getCellFormatValue(row.getCell(map.get(columns[5])));
String questionOptionB = getCellFormatValue(row.getCell(map.get(columns[7]))); String questionOptionB = getCellFormatValue(row.getCell(map.get(columns[6])));
String questionOptionC = getCellFormatValue(row.getCell(map.get(columns[8]))); String questionOptionC = getCellFormatValue(row.getCell(map.get(columns[7])));
String questionOptionD = getCellFormatValue(row.getCell(map.get(columns[9]))); String questionOptionD = getCellFormatValue(row.getCell(map.get(columns[8])));
String questionOptionE = getCellFormatValue(row.getCell(map.get(columns[10]))); String questionOptionE = getCellFormatValue(row.getCell(map.get(columns[9])));
String questionAnswer = getCellFormatValue(row.getCell(map.get(columns[11]))); String questionAnswer = getCellFormatValue(row.getCell(map.get(columns[10])));
questionAnswer = answerFormat(questionType, questionAnswer);//格式化 questionAnswer = answerFormat(questionType, questionAnswer);//格式化
String questionAnalysis = getCellFormatValue(row.getCell(map.get(columns[12]))); String questionAnalysis = getCellFormatValue(row.getCell(map.get(columns[11])));
if (StringUtils.isBlank(questionScore)) { if (StringUtils.isBlank(questionScore)) {
questionScore = "1";//默认一分 questionScore = "1";//默认一分
@ -460,7 +460,7 @@ public class ResourcesQuestionService extends CoreBaseService<ResourcesQuestion>
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[0]) + 1) + "列,第" + (i + 1) + "行课程为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[0]) + 1) + "列,第" + (i + 1) + "行课程为空"});
continue; continue;
} else if (StringUtils.isBlank(chapterName)) { } else if (StringUtils.isBlank(chapterName)) {
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[2]) + 1) + "列,第" + (i + 1) + "行归属章节为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[1]) + 1) + "列,第" + (i + 1) + "行归属章节为空"});
continue; continue;
} }
//else if (courseInfoName.split("__ID").length != 2) { //else if (courseInfoName.split("__ID").length != 2) {
@ -468,25 +468,25 @@ public class ResourcesQuestionService extends CoreBaseService<ResourcesQuestion>
// continue; // continue;
//} //}
else if (StringUtils.isBlank(questionType)) { else if (StringUtils.isBlank(questionType)) {
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[3]) + 1) + "列,第" + (i + 1) + "行题型为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[2]) + 1) + "列,第" + (i + 1) + "行题型为空"});
continue; continue;
} else if (!ToolUtils.findInSet("单选,多选,判断", questionType)) { } else if (!ToolUtils.findInSet("单选,多选,判断", questionType)) {
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[3]) + 1) + "列,第" + (i + 1) + "行题型异常"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[2]) + 1) + "列,第" + (i + 1) + "行题型异常"});
continue; continue;
} else if (StringUtils.isBlank(questionScore)) { } else if (StringUtils.isBlank(questionScore)) {
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[4]) + 1) + "列,第" + (i + 1) + "行分值为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[3]) + 1) + "列,第" + (i + 1) + "行分值为空"});
continue; continue;
} else if (StringUtils.isBlank(questionStem)) { } else if (StringUtils.isBlank(questionStem)) {
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[5]) + 1) + "列,第" + (i + 1) + "行题干为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[4]) + 1) + "列,第" + (i + 1) + "行题干为空"});
continue; continue;
} else if (StringUtils.isBlank(questionAnswer)) { } else if (StringUtils.isBlank(questionAnswer)) {
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[11]) + 1) + "列,第" + (i + 1) + "行答案为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[10]) + 1) + "列,第" + (i + 1) + "行答案为空"});
continue; continue;
} else if (StringUtils.isNotBlank(m)) { } else if (StringUtils.isNotBlank(m)) {
errMsg.add(new String[]{"第" + (i + 1) + "行" + m}); errMsg.add(new String[]{"第" + (i + 1) + "行" + m});
continue; continue;
} else if (!NumberUtil.isNumber(questionScore)) { } else if (!NumberUtil.isNumber(questionScore)) {
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[4]) + 1) + "列,第" + (i + 1) + "行分值数值格式错误"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[3]) + 1) + "列,第" + (i + 1) + "行分值数值格式错误"});
continue; continue;
} else { } else {
questionAnswer = questionAnswer.trim(); questionAnswer = questionAnswer.trim();
@ -496,9 +496,9 @@ public class ResourcesQuestionService extends CoreBaseService<ResourcesQuestion>
questionScore = questionScore.trim(); questionScore = questionScore.trim();
questionStem = questionStem.trim(); questionStem = questionStem.trim();
questionAnswer = questionAnswer.trim(); questionAnswer = questionAnswer.trim();
if (!StringUtils.isBlank(courseLabelName)) { // if (!StringUtils.isBlank(courseLabelName)) {
courseLabelName = courseLabelName.trim(); // courseLabelName = courseLabelName.trim();
} // }
//去掉最后一个逗号 //去掉最后一个逗号
@ -527,40 +527,42 @@ public class ResourcesQuestionService extends CoreBaseService<ResourcesQuestion>
//没有课程,添加课程 //没有课程,添加课程
if (CollectionUtils.isEmpty(courseInfoList)) { if (CollectionUtils.isEmpty(courseInfoList)) {
if (StringUtils.isBlank(courseLabelName)) { errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[0]) + 1) + "列,第" + (i + 1) + "行此课程不存在"});
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[1]) + 1) + "列,第" + (i + 1) + "行此课程不存在,并且理论课程分类栏目为空"}); continue;
continue; // if (StringUtils.isBlank(courseLabelName)) {
} // errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[1]) + 1) + "列,第" + (i + 1) + "行此课程不存在,并且理论课程分类栏目为空"});
CourseLabel courseLabel = new CourseLabel(); // continue;
courseLabel.setCourseLabelType(THEORY.getType()); // }
courseLabel.setCourseLabelName(courseLabelName.trim()); // CourseLabel courseLabel = new CourseLabel();
courseLabel.setCourseLabelStatus(1); // courseLabel.setCourseLabelType(THEORY.getType());
CourseLabel once = courseLabelService.getOnce(courseLabel); // courseLabel.setCourseLabelName(courseLabelName.trim());
if (once == null) { // courseLabel.setCourseLabelStatus(1);
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[1]) + 1) + "列,第" + (i + 1) + "行此课程不存在,并且理论课程分类栏目的数据在数据库中检索为空"}); // CourseLabel once = courseLabelService.getOnce(courseLabel);
continue; // if (once == null) {
} // errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[1]) + 1) + "列,第" + (i + 1) + "行此课程不存在,并且理论课程分类栏目的数据在数据库中检索为空"});
CourseInfoQuery paras = new CourseInfoQuery(); // continue;
paras.setCourseInfoType(1); // }
paras.setCourseLabelId(once.getCourseLabelId()); // CourseInfoQuery paras = new CourseInfoQuery();
paras.setCourseInfoStatus(2); // paras.setCourseInfoType(1);
paras.setCourseInfoName(courseInfoName); // paras.setCourseLabelId(once.getCourseLabelId());
paras.setOrgId(coreUser.getOrgId()); // paras.setCourseInfoStatus(2);
paras.setUserId(coreUser.getId()); // paras.setCourseInfoName(courseInfoName);
paras.setAddTime(now); // paras.setOrgId(coreUser.getOrgId());
paras.setCourseInfoType(1); // paras.setUserId(coreUser.getId());
paras.setCourseInfoContent(courseInfoName); // paras.setAddTime(now);
// paras.setCourseInfoType(1);
CourseInfo addCourseInfo = courseInfoService.add(paras); // paras.setCourseInfoContent(courseInfoName);
//
if (addCourseInfo == null || addCourseInfo.getCourseInfoId() == null) { // CourseInfo addCourseInfo = courseInfoService.add(paras);
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[0]) + 1) + "列,第" + (i + 1) + "行添加课程到系统失败"}); //
continue; // if (addCourseInfo == null || addCourseInfo.getCourseInfoId() == null) {
} // errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[0]) + 1) + "列,第" + (i + 1) + "行添加课程到系统失败"});
//移除缓存 // continue;
courseInfoService.flushCache(addCourseInfo.getCourseInfoId()); // }
corePlatformService.clearDictCache(); // //移除缓存
courseInfoCache.put(courseInfoName, addCourseInfo); // courseInfoService.flushCache(addCourseInfo.getCourseInfoId());
// corePlatformService.clearDictCache();
// courseInfoCache.put(courseInfoName, addCourseInfo);
} else { } else {
courseInfoCache.put(courseInfoName, courseInfoList.get(0)); courseInfoCache.put(courseInfoName, courseInfoList.get(0));
List<CourseInfo> chapterList = new ArrayList<>(); List<CourseInfo> chapterList = new ArrayList<>();
@ -616,7 +618,7 @@ public class ResourcesQuestionService extends CoreBaseService<ResourcesQuestion>
CourseInfo addChild = courseInfoService.add(child); CourseInfo addChild = courseInfoService.add(child);
if (addChild == null || addChild.getCourseInfoId() == null) { if (addChild == null || addChild.getCourseInfoId() == null) {
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[2]) + 1) + "列,第" + (i + 1) + "行添加章节到系统失败"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[1]) + 1) + "列,第" + (i + 1) + "行添加章节到系统失败"});
continue; continue;
} }
//移除缓存 //移除缓存

Loading…
Cancel
Save