Commit ee8c0b0c by “Kongxiangkun”

测试管理-题库试题导入问题修改

parent 83565782
...@@ -47,7 +47,7 @@ public class ExamImportController { ...@@ -47,7 +47,7 @@ public class ExamImportController {
map.put("libraryId",importVO.getId()); map.put("libraryId",importVO.getId());
map.put("url",importVO.getUrl()); map.put("url",importVO.getUrl());
log.info("题目导入入参:{}", JSONUtil.toJsonStr(map)); log.info("题目导入入参:{}", JSONUtil.toJsonStr(map));
librarySubjectImport.execute(map, false); librarySubjectImport.execute(map);
return Response.ok(); return Response.ok();
} }
......
...@@ -12,7 +12,6 @@ package com.yizhi.application.exam.controller; ...@@ -12,7 +12,6 @@ package com.yizhi.application.exam.controller;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.yizhi.core.application.context.TaskContext; import com.yizhi.core.application.context.TaskContext;
import com.yizhi.core.application.file.task.AbstractDefaultTask;
import com.yizhi.exam.application.feign.QuestionLibrarySubjectClient; import com.yizhi.exam.application.feign.QuestionLibrarySubjectClient;
import com.yizhi.exam.application.vo.TrQuestionLibrarySubjectVO; import com.yizhi.exam.application.vo.TrQuestionLibrarySubjectVO;
import com.yizhi.exam.application.vo.TrQuestionSubjectOptionVO; import com.yizhi.exam.application.vo.TrQuestionSubjectOptionVO;
...@@ -47,7 +46,7 @@ import java.util.*; ...@@ -47,7 +46,7 @@ import java.util.*;
* @since 1.0.0 * @since 1.0.0
*/ */
@Component @Component
public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQuestionSubjectVO>, Map<String, Object>> { public class LibrarySubjectImport /**extends AbstractDefaultTask<List<ImportExamQuestionSubjectVO>, Map<String, Object>>**/ {
private static String BASEPATH = "e:/"; private static String BASEPATH = "e:/";
private String XLSX = ".xlsx"; private String XLSX = ".xlsx";
...@@ -59,8 +58,8 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue ...@@ -59,8 +58,8 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue
@Autowired @Autowired
QuestionLibrarySubjectClient questionLibrarySubjectClient; QuestionLibrarySubjectClient questionLibrarySubjectClient;
@Override //@Override
protected List<ImportExamQuestionSubjectVO> execute(Map<String, Object> map) { public List<ImportExamQuestionSubjectVO> execute(Map<String, Object> map) {
QuestionLibrary questionLibrary; QuestionLibrary questionLibrary;
TrQuestionLibrarySubjectVO trQuestionLibrarySubjectVO = null; TrQuestionLibrarySubjectVO trQuestionLibrarySubjectVO = null;
List<TrQuestionLibrarySubjectVO> insertList = new ArrayList<>(); List<TrQuestionLibrarySubjectVO> insertList = new ArrayList<>();
...@@ -81,7 +80,7 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue ...@@ -81,7 +80,7 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue
Workbook book = getFile(url); Workbook book = getFile(url);
Long id = System.currentTimeMillis(); Long id = System.currentTimeMillis();
TaskContext taskContext = new TaskContext(id, "QUESTION-IMPORT" + id, TASKNAME, accountId, time, siteId, companyId); TaskContext taskContext = new TaskContext(id, "QUESTION-IMPORT" + id, TASKNAME, accountId, time, siteId, companyId);
working(taskContext); // working(taskContext);
List<ImportExamQuestionSubjectVO> list = readExcelFile(book, taskContext); List<ImportExamQuestionSubjectVO> list = readExcelFile(book, taskContext);
LOGGER.info("题库导入入参内容:", JSONUtil.toJsonStr(list)); LOGGER.info("题库导入入参内容:", JSONUtil.toJsonStr(list));
int sort = 1; //生成默认排序 int sort = 1; //生成默认排序
...@@ -112,7 +111,8 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue ...@@ -112,7 +111,8 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue
} else { } else {
fail++; fail++;
typeErrorList.add(sort); typeErrorList.add(sort);
taskDetail(id, "第" + sort + "行试题类型不正确"); //taskDetail(id, "第" + sort + "行试题类型不正确");
LOGGER.error("第{}行试题类型不正确", sort);
continue; continue;
} }
if (type > 0 && type <= 4) { if (type > 0 && type <= 4) {
...@@ -147,28 +147,32 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue ...@@ -147,28 +147,32 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue
if (rightAnswerNum != 1) { if (rightAnswerNum != 1) {
fail++; fail++;
rightAnswerErrorList.add(sort); rightAnswerErrorList.add(sort);
taskDetail(id, "第" + sort + "行正确答案数不正确"); //taskDetail(id, "第" + sort + "行正确答案数不正确");
LOGGER.error("第{}行正确答案数不正确", sort);
} }
} }
if (type == 2) { if (type == 2) {
if (rightAnswerNum <= 1 || rightAnswerNum > options.size()) { if (rightAnswerNum <= 1 || rightAnswerNum > options.size()) {
fail++; fail++;
rightAnswerErrorList.add(sort); rightAnswerErrorList.add(sort);
taskDetail(id, "第" + sort + "行正确答案数不正确"); // taskDetail(id, "第" + sort + "行正确答案数不正确");
LOGGER.error("第{}行正确答案数不正确", sort);
} }
} }
if (type == 3) { if (type == 3) {
if (rightAnswerNum != 1) { if (rightAnswerNum != 1) {
fail++; fail++;
rightAnswerErrorList.add(sort); rightAnswerErrorList.add(sort);
taskDetail(id, "第" + sort + "行正确答案数不正确"); // taskDetail(id, "第" + sort + "行正确答案数不正确");
LOGGER.error("第{}行正确答案数不正确", sort);
} }
} }
int index = 1; int index = 1;
if (options.size() < 2) { if (options.size() < 2) {
fail++; fail++;
optionErrorList.add(sort); optionErrorList.add(sort);
taskDetail(id, "第" + sort + "行试题选项个数不正确"); // taskDetail(id, "第" + sort + "行试题选项个数不正确");
LOGGER.error("第{}行试题选项个数不正确", sort);
continue; continue;
} }
...@@ -202,7 +206,8 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue ...@@ -202,7 +206,8 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue
} }
if (!hasRightAnswer) { if (!hasRightAnswer) {
rightAnswerErrorList.add(sort); rightAnswerErrorList.add(sort);
taskDetail(id, "第" + sort + "行正确答案数不正确"); //taskDetail(id, "第" + sort + "行正确答案数不正确");
LOGGER.error("第{}行正确答案数不正确", sort);
} }
trQuestionLibrarySubjectVO.setTrQuestionSubjectOptionVOList(trQuestionSubjectOptionVOList); trQuestionLibrarySubjectVO.setTrQuestionSubjectOptionVOList(trQuestionSubjectOptionVOList);
} }
...@@ -216,15 +221,16 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue ...@@ -216,15 +221,16 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue
success++; success++;
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
fail(taskContext, "导入过程中出现错误"); // fail(taskContext, "导入过程中出现错误");
LOGGER.error("题库导入异常:{}", e.getMessage()); LOGGER.error("导入过程中出现错误:{}", e.getMessage());
} }
} }
boolean result = true; boolean result = true;
try { try {
if (CollectionUtils.isNotEmpty(optionErrorList) || if (CollectionUtils.isNotEmpty(optionErrorList) ||
CollectionUtils.isNotEmpty(rightAnswerErrorList) || CollectionUtils.isNotEmpty(typeErrorList)) { CollectionUtils.isNotEmpty(rightAnswerErrorList) || CollectionUtils.isNotEmpty(typeErrorList)) {
success(taskContext, "导入数据有误,请查看明细", url); // success(taskContext, "导入数据有误,请查看明细", url);
LOGGER.error("导入数据有误,请查看明细:{}", url);
return null; return null;
} }
LOGGER.info("题库导入insertList:", JSONUtil.toJsonStr(insertList)); LOGGER.info("题库导入insertList:", JSONUtil.toJsonStr(insertList));
...@@ -234,35 +240,43 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue ...@@ -234,35 +240,43 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue
for (int i = 0; i < n; i++) { for (int i = 0; i < n; i++) {
result = questionLibrarySubjectClient.insertList(insertList.subList(100 * i, 100 * i + 100)); result = questionLibrarySubjectClient.insertList(insertList.subList(100 * i, 100 * i + 100));
if (!result) { if (!result) {
success(taskContext, "数据保存过程中出现错误", url); // success(taskContext, "数据保存过程中出现错误", url);
LOGGER.error("数据保存过程中出现错误:{}", url);
} }
} }
if (insertList.size() % 100 > 0) { if (insertList.size() % 100 > 0) {
result = questionLibrarySubjectClient.insertList(insertList.subList(100 * n, insertList.size())); result = questionLibrarySubjectClient.insertList(insertList.subList(100 * n, insertList.size()));
if (!result) { if (!result) {
success(taskContext, "数据保存过程中出现错误", url); // success(taskContext, "数据保存过程中出现错误", url);
LOGGER.error("数据保存过程中出现错误:{}", url);
} }
} }
} else { } else {
result = questionLibrarySubjectClient.insertList(insertList); result = questionLibrarySubjectClient.insertList(insertList);
if (!result) { if (!result) {
success(taskContext, "数据保存过程中出现错误", url); // success(taskContext, "数据保存过程中出现错误", url);
LOGGER.error("数据保存过程中出现错误:{}", url);
} }
} }
} else { } else {
success(taskContext, "未检测到数据", ""); // success(taskContext, "未检测到数据", "");
LOGGER.error("未检测到数据:{}", url);
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
success(taskContext, "数据保存过程中出现错误", url); // success(taskContext, "数据保存过程中出现错误", url);
LOGGER.error("题库导入选项异常:{}", e.getMessage()); LOGGER.error("题库导入选项异常:{}", e.getMessage());
} }
if (result) { if (result) {
success(taskContext, "成功导入" + insertList.size() + "条", url); // success(taskContext, "成功导入" + insertList.size() + "条", url);
LOGGER.info("成功导入:{}条", insertList.size());
} else { } else {
success(taskContext, "数据保存过程中出现错误", url); // success(taskContext, "数据保存过程中出现错误", url);
LOGGER.info("数据保存过程中出现错误:{}", insertList);
} }
...@@ -351,7 +365,7 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue ...@@ -351,7 +365,7 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue
} catch (Exception e) { } catch (Exception e) {
errorMessage = "第" + (i + 1) + "行" + "第" + (j + 1) + "列解析出错!"; errorMessage = "第" + (i + 1) + "行" + "第" + (j + 1) + "列解析出错!";
e.printStackTrace(); e.printStackTrace();
fail(taskContext, errorMessage); // fail(taskContext, errorMessage);
} }
} }
try { try {
...@@ -362,7 +376,7 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue ...@@ -362,7 +376,7 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue
} catch (Exception e) { } catch (Exception e) {
errorMessage = "第" + (i + 2) + "行" + "第" + (index + 1) + "列解析出错!"; errorMessage = "第" + (i + 2) + "行" + "第" + (index + 1) + "列解析出错!";
e.printStackTrace(); e.printStackTrace();
fail(taskContext, errorMessage); //fail(taskContext, errorMessage);
} }
try { try {
if (row.getCell(index) != null) { if (row.getCell(index) != null) {
...@@ -372,7 +386,7 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue ...@@ -372,7 +386,7 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue
} catch (Exception e) { } catch (Exception e) {
errorMessage = "第" + (i + 2) + "行" + "第" + (index + 1) + "列解析出错!"; errorMessage = "第" + (i + 2) + "行" + "第" + (index + 1) + "列解析出错!";
e.printStackTrace(); e.printStackTrace();
fail(taskContext, errorMessage); //fail(taskContext, errorMessage);
} }
try { try {
if (row.getCell(index) != null) { if (row.getCell(index) != null) {
...@@ -382,7 +396,7 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue ...@@ -382,7 +396,7 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue
} catch (Exception e) { } catch (Exception e) {
errorMessage = "第" + (i + 2) + "行" + "第" + (index + 1) + "列解析出错!"; errorMessage = "第" + (i + 2) + "行" + "第" + (index + 1) + "列解析出错!";
e.printStackTrace(); e.printStackTrace();
fail(taskContext, errorMessage); //fail(taskContext, errorMessage);
} }
try { try {
if (row.getCell(index) != null) { if (row.getCell(index) != null) {
...@@ -392,7 +406,7 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue ...@@ -392,7 +406,7 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue
} catch (Exception e) { } catch (Exception e) {
errorMessage = "第" + (i + 2) + "行" + "第" + (index + 1) + "列解析出错!"; errorMessage = "第" + (i + 2) + "行" + "第" + (index + 1) + "列解析出错!";
e.printStackTrace(); e.printStackTrace();
fail(taskContext, errorMessage); //fail(taskContext, errorMessage);
} }
try { try {
if (row.getCell(index) != null) { if (row.getCell(index) != null) {
...@@ -401,9 +415,10 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue ...@@ -401,9 +415,10 @@ public class LibrarySubjectImport extends AbstractDefaultTask<List<ImportExamQue
} }
index++; index++;
} catch (Exception e) { } catch (Exception e) {
errorMessage = "第" + (i + 2) + "行" + "第" + (index + 1) + "列解析出错!"; // errorMessage = "第" + (i + 2) + "行" + "第" + (index + 1) + "列解析出错!";
e.printStackTrace(); e.printStackTrace();
fail(taskContext, errorMessage); LOGGER.error("第{}行" + "第{}列解析出错!", (i + 2), (index + 1));
// fail(taskContext, errorMessage);
} }
vo.setOption(options); vo.setOption(options);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment