|
@@ -619,151 +619,165 @@ public class TElQuController extends BaseController {
|
|
|
Workbook workbook = ExcelUtils.getWorkBook(file);
|
|
|
Sheet sheet = workbook.getSheetAt(0);
|
|
|
int rowNum = sheet.getPhysicalNumberOfRows();
|
|
|
+ int failNumber = 0;
|
|
|
+ int successNumber = 0;
|
|
|
+ //报错行数统计
|
|
|
+ List<Integer> failRow = new ArrayList<Integer>();
|
|
|
for (int i = 1; i < rowNum; i++) {
|
|
|
- logger.info("读取行数:" + i);
|
|
|
- Row row = sheet.getRow(i);
|
|
|
- int cellNum = row.getLastCellNum();
|
|
|
- TElQu qu = new TElQu();
|
|
|
- List<TElQuAnswer> answerList = new ArrayList<>();
|
|
|
- String[] options = null;
|
|
|
- for (int j = 0; j < cellNum; j++) {
|
|
|
- Cell cell = row.getCell(j);
|
|
|
- String cellValue = ExcelUtils.getCellValue(cell).trim();
|
|
|
- logger.info("cellValue:" + cellValue);
|
|
|
- if (j == 0) {
|
|
|
- //题型
|
|
|
- if ("单选题".equals(cellValue)) {
|
|
|
- qu.setQuType(1l);
|
|
|
- } else if ("多选题".equals(cellValue)) {
|
|
|
- qu.setQuType(2l);
|
|
|
- } else if ("判断题".equals(cellValue)) {
|
|
|
- qu.setQuType(3l);
|
|
|
- } else {
|
|
|
- break;
|
|
|
- }
|
|
|
- } else if (j == 1) {
|
|
|
- qu.setContent(cellValue);
|
|
|
- } else if (j == 2) {
|
|
|
- if (qu.getQuType() != 3) {
|
|
|
- options = cellValue.split(";");
|
|
|
- }
|
|
|
- } else if (j == 3) {
|
|
|
- if (qu.getQuType() != 3) { //选择
|
|
|
- if (options.length == 4) { //ABCD
|
|
|
- TElQuAnswer answerA = new TElQuAnswer();
|
|
|
- answerA.setIsRight(0l);
|
|
|
- answerA.setContent(options[0]);
|
|
|
- TElQuAnswer answerB = new TElQuAnswer();
|
|
|
- answerB.setIsRight(0l);
|
|
|
- answerB.setContent(options[1]);
|
|
|
- TElQuAnswer answerC = new TElQuAnswer();
|
|
|
- answerC.setIsRight(0l);
|
|
|
- answerC.setContent(options[2]);
|
|
|
- TElQuAnswer answerD = new TElQuAnswer();
|
|
|
- answerD.setIsRight(0l);
|
|
|
- answerD.setContent(options[3]);
|
|
|
- if (cellValue.contains("A")) {
|
|
|
- answerA.setIsRight(1l);
|
|
|
- }
|
|
|
- if (cellValue.contains("B")) {
|
|
|
- answerB.setIsRight(1l);
|
|
|
- }
|
|
|
- if (cellValue.contains("C")) {
|
|
|
- answerC.setIsRight(1l);
|
|
|
- }
|
|
|
- if (cellValue.contains("D")) {
|
|
|
- answerD.setIsRight(1l);
|
|
|
- }
|
|
|
- answerList.add(answerA);
|
|
|
- answerList.add(answerB);
|
|
|
- answerList.add(answerC);
|
|
|
- answerList.add(answerD);
|
|
|
- }else if (options.length == 5) { //ABCDE
|
|
|
- TElQuAnswer answerA = new TElQuAnswer();
|
|
|
- answerA.setIsRight(0l);
|
|
|
- answerA.setContent(options[0]);
|
|
|
- TElQuAnswer answerB = new TElQuAnswer();
|
|
|
- answerB.setIsRight(0l);
|
|
|
- answerB.setContent(options[1]);
|
|
|
- TElQuAnswer answerC = new TElQuAnswer();
|
|
|
- answerC.setIsRight(0l);
|
|
|
- answerC.setContent(options[2]);
|
|
|
- TElQuAnswer answerD = new TElQuAnswer();
|
|
|
- answerD.setIsRight(0l);
|
|
|
- answerD.setContent(options[3]);
|
|
|
- TElQuAnswer answerE = new TElQuAnswer();
|
|
|
- answerE.setIsRight(0l);
|
|
|
- answerE.setContent(options[4]);
|
|
|
- if (cellValue.contains("A")) {
|
|
|
- answerA.setIsRight(1l);
|
|
|
- }
|
|
|
- if (cellValue.contains("B")) {
|
|
|
- answerB.setIsRight(1l);
|
|
|
- }
|
|
|
- if (cellValue.contains("C")) {
|
|
|
- answerC.setIsRight(1l);
|
|
|
- }
|
|
|
- if (cellValue.contains("D")) {
|
|
|
- answerD.setIsRight(1l);
|
|
|
- }if (cellValue.contains("E")) {
|
|
|
- answerE.setIsRight(1l);
|
|
|
+ try {
|
|
|
+ logger.info("读取行数:" + i);
|
|
|
+ Row row = sheet.getRow(i);
|
|
|
+ int cellNum = row.getLastCellNum();
|
|
|
+ TElQu qu = new TElQu();
|
|
|
+ List<TElQuAnswer> answerList = new ArrayList<>();
|
|
|
+ String[] options = null;
|
|
|
+ for (int j = 0; j < cellNum; j++) {
|
|
|
+ Cell cell = row.getCell(j);
|
|
|
+ String cellValue = ExcelUtils.getCellValue(cell).trim();
|
|
|
+ logger.info("cellValue:" + cellValue);
|
|
|
+ if (j == 0) {
|
|
|
+ //题型
|
|
|
+ if ("单选题".equals(cellValue)) {
|
|
|
+ qu.setQuType(1l);
|
|
|
+ } else if ("多选题".equals(cellValue)) {
|
|
|
+ qu.setQuType(2l);
|
|
|
+ } else if ("判断题".equals(cellValue)) {
|
|
|
+ qu.setQuType(3l);
|
|
|
+ } else {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ } else if (j == 1) {
|
|
|
+ qu.setContent(cellValue);
|
|
|
+ } else if (j == 2) {
|
|
|
+ if (qu.getQuType() != 3) {
|
|
|
+ options = cellValue.split(";");
|
|
|
+ }
|
|
|
+ } else if (j == 3) {
|
|
|
+ if (qu.getQuType() != 3) { //选择
|
|
|
+ if (options.length == 4) { //ABCD
|
|
|
+ TElQuAnswer answerA = new TElQuAnswer();
|
|
|
+ answerA.setIsRight(0l);
|
|
|
+ answerA.setContent(options[0]);
|
|
|
+ TElQuAnswer answerB = new TElQuAnswer();
|
|
|
+ answerB.setIsRight(0l);
|
|
|
+ answerB.setContent(options[1]);
|
|
|
+ TElQuAnswer answerC = new TElQuAnswer();
|
|
|
+ answerC.setIsRight(0l);
|
|
|
+ answerC.setContent(options[2]);
|
|
|
+ TElQuAnswer answerD = new TElQuAnswer();
|
|
|
+ answerD.setIsRight(0l);
|
|
|
+ answerD.setContent(options[3]);
|
|
|
+ if (cellValue.contains("A")) {
|
|
|
+ answerA.setIsRight(1l);
|
|
|
+ }
|
|
|
+ if (cellValue.contains("B")) {
|
|
|
+ answerB.setIsRight(1l);
|
|
|
+ }
|
|
|
+ if (cellValue.contains("C")) {
|
|
|
+ answerC.setIsRight(1l);
|
|
|
+ }
|
|
|
+ if (cellValue.contains("D")) {
|
|
|
+ answerD.setIsRight(1l);
|
|
|
+ }
|
|
|
+ answerList.add(answerA);
|
|
|
+ answerList.add(answerB);
|
|
|
+ answerList.add(answerC);
|
|
|
+ answerList.add(answerD);
|
|
|
+ } else if (options.length == 5) { //ABCDE
|
|
|
+ TElQuAnswer answerA = new TElQuAnswer();
|
|
|
+ answerA.setIsRight(0l);
|
|
|
+ answerA.setContent(options[0]);
|
|
|
+ TElQuAnswer answerB = new TElQuAnswer();
|
|
|
+ answerB.setIsRight(0l);
|
|
|
+ answerB.setContent(options[1]);
|
|
|
+ TElQuAnswer answerC = new TElQuAnswer();
|
|
|
+ answerC.setIsRight(0l);
|
|
|
+ answerC.setContent(options[2]);
|
|
|
+ TElQuAnswer answerD = new TElQuAnswer();
|
|
|
+ answerD.setIsRight(0l);
|
|
|
+ answerD.setContent(options[3]);
|
|
|
+ TElQuAnswer answerE = new TElQuAnswer();
|
|
|
+ answerE.setIsRight(0l);
|
|
|
+ answerE.setContent(options[4]);
|
|
|
+ if (cellValue.contains("A")) {
|
|
|
+ answerA.setIsRight(1l);
|
|
|
+ }
|
|
|
+ if (cellValue.contains("B")) {
|
|
|
+ answerB.setIsRight(1l);
|
|
|
+ }
|
|
|
+ if (cellValue.contains("C")) {
|
|
|
+ answerC.setIsRight(1l);
|
|
|
+ }
|
|
|
+ if (cellValue.contains("D")) {
|
|
|
+ answerD.setIsRight(1l);
|
|
|
+ }
|
|
|
+ if (cellValue.contains("E")) {
|
|
|
+ answerE.setIsRight(1l);
|
|
|
+ }
|
|
|
+ answerList.add(answerA);
|
|
|
+ answerList.add(answerB);
|
|
|
+ answerList.add(answerC);
|
|
|
+ answerList.add(answerD);
|
|
|
+ answerList.add(answerE);
|
|
|
+ } else if (options.length == 3) { //ABC
|
|
|
+ TElQuAnswer answerA = new TElQuAnswer();
|
|
|
+ answerA.setIsRight(0l);
|
|
|
+ answerA.setContent(options[0]);
|
|
|
+ TElQuAnswer answerB = new TElQuAnswer();
|
|
|
+ answerB.setIsRight(0l);
|
|
|
+ answerB.setContent(options[1]);
|
|
|
+ TElQuAnswer answerC = new TElQuAnswer();
|
|
|
+ answerC.setIsRight(0l);
|
|
|
+ answerC.setContent(options[2]);
|
|
|
+
|
|
|
+ if (cellValue.contains("A")) {
|
|
|
+ answerA.setIsRight(1l);
|
|
|
+ }
|
|
|
+ if (cellValue.contains("B")) {
|
|
|
+ answerB.setIsRight(1l);
|
|
|
+ }
|
|
|
+ if (cellValue.contains("C")) {
|
|
|
+ answerC.setIsRight(1l);
|
|
|
+ }
|
|
|
+
|
|
|
+ answerList.add(answerA);
|
|
|
+ answerList.add(answerB);
|
|
|
+ answerList.add(answerC);
|
|
|
}
|
|
|
- answerList.add(answerA);
|
|
|
- answerList.add(answerB);
|
|
|
- answerList.add(answerC);
|
|
|
- answerList.add(answerD);
|
|
|
- answerList.add(answerE);
|
|
|
- }else if (options.length == 3) { //ABC
|
|
|
+
|
|
|
+ } else if (qu.getQuType() == 3) { //判断
|
|
|
TElQuAnswer answerA = new TElQuAnswer();
|
|
|
answerA.setIsRight(0l);
|
|
|
- answerA.setContent(options[0]);
|
|
|
+ answerA.setContent("正确");
|
|
|
TElQuAnswer answerB = new TElQuAnswer();
|
|
|
answerB.setIsRight(0l);
|
|
|
- answerB.setContent(options[1]);
|
|
|
- TElQuAnswer answerC = new TElQuAnswer();
|
|
|
- answerC.setIsRight(0l);
|
|
|
- answerC.setContent(options[2]);
|
|
|
-
|
|
|
+ answerB.setContent("错误");
|
|
|
if (cellValue.contains("A")) {
|
|
|
answerA.setIsRight(1l);
|
|
|
}
|
|
|
if (cellValue.contains("B")) {
|
|
|
answerB.setIsRight(1l);
|
|
|
}
|
|
|
- if (cellValue.contains("C")) {
|
|
|
- answerC.setIsRight(1l);
|
|
|
- }
|
|
|
-
|
|
|
answerList.add(answerA);
|
|
|
answerList.add(answerB);
|
|
|
- answerList.add(answerC);
|
|
|
- }
|
|
|
-
|
|
|
- } else if (qu.getQuType() == 3) { //判断
|
|
|
- TElQuAnswer answerA = new TElQuAnswer();
|
|
|
- answerA.setIsRight(0l);
|
|
|
- answerA.setContent("正确");
|
|
|
- TElQuAnswer answerB = new TElQuAnswer();
|
|
|
- answerB.setIsRight(0l);
|
|
|
- answerB.setContent("错误");
|
|
|
- if (cellValue.contains("A")) {
|
|
|
- answerA.setIsRight(1l);
|
|
|
- }
|
|
|
- if (cellValue.contains("B")) {
|
|
|
- answerB.setIsRight(1l);
|
|
|
}
|
|
|
- answerList.add(answerA);
|
|
|
- answerList.add(answerB);
|
|
|
+ // 最终insert
|
|
|
+ qu.setAnswerList(answerList);
|
|
|
+ qu.setRepoIds(repos);
|
|
|
+ logger.info(JSON.toJSONString(qu));
|
|
|
+ tElQuService.insertTElQu(qu);
|
|
|
+ successNumber++;
|
|
|
}
|
|
|
- // 最终insert
|
|
|
- qu.setAnswerList(answerList);
|
|
|
- qu.setRepoIds(repos);
|
|
|
- logger.info(JSON.toJSONString(qu));
|
|
|
- tElQuService.insertTElQu(qu);
|
|
|
-
|
|
|
}
|
|
|
+ } catch (Exception e) {
|
|
|
+ failNumber++;
|
|
|
+ logger.info("e:" + JSON.toJSONString(e));
|
|
|
+ failRow.add(i + 1);
|
|
|
}
|
|
|
}
|
|
|
- return AjaxResult.success();
|
|
|
+ logger.info("successNumber:" + String.valueOf(successNumber));
|
|
|
+ logger.info("failNumber:" + String.valueOf(failNumber));
|
|
|
+ logger.info("failRow:" + String.valueOf(failRow));
|
|
|
+ return AjaxResult.success(String.valueOf(successNumber), failRow);
|
|
|
}
|
|
|
}
|