Эх сурвалжийг харах

导出如下内容的主观题考生作答情况及教师评分情况
机构:1627 中国地质大学(武汉)
考试:481 2019年5月课程考试网络考试

deason 6 жил өмнө
parent
commit
b962861975

+ 18 - 9
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/temp/DdExcelService.java

@@ -557,24 +557,30 @@ public class DdExcelService {
      */
     @SuppressWarnings("resource")
     public void exportSubQues(String orgId, Long examId, List<String> codes) throws Exception {
+        System.out.println(String.format("共%s门课程的调卷规则", codes.size()));
+
         List<SubQuestionDto> dtos = new ArrayList<SubQuestionDto>();
         int j = 1;
         for (String code : codes) {
             Query query = new Query();
             query.addCriteria(Criteria.where("orgId").is(orgId));
             query.addCriteria(Criteria.where("examId").is(examId));
-            System.out.println("开始处理第" + j + "个调卷规则。。。。。。。");
+            System.out.println("开始处理第" + j + "门课程的调卷规则");
+
             query.addCriteria(Criteria.where("courseCode").is(code));
             ExtractConfig tempConfig = this.mongoTemplate.findOne(query, ExtractConfig.class);
             //定义试卷集合
             Set<String> ids = new HashSet<String>();
+
             //获取试卷
             List<ExamPaper> examPaperList = tempConfig.getExamPaperList();
             System.out.println("原试卷数量:" + examPaperList.size());
+
             for (ExamPaper examPaper : examPaperList) {
                 ids.add(examPaper.getPaper().getId());
             }
             System.out.println("去重后的试卷数量:" + ids.size());
+
             //循环去重后的试卷
             for (String id : ids) {
                 Paper basePaper = Model.of(paperRepo.findById(id));
@@ -597,6 +603,7 @@ public class DdExcelService {
                         dto.setClearBody(clearBody);
                         dto.setCourseCode(tempConfig.getCourseCode());
                         dto.setCourseName(tempConfig.getCourseName());
+                        dto.setDetailName(paperDetailUnit.getPaperDetail().getName());//大题名称
                         dto.setdNumber(paperDetailUnit.getDetailNumber());
                         dto.setNumber(paperDetailUnit.getNumber());
                         dto.setPaperId(basePaper.getId());
@@ -624,10 +631,11 @@ public class DdExcelService {
         titleRow.createCell(4).setCellValue("大题号");
         titleRow.createCell(5).setCellValue("小题号");
         titleRow.createCell(6).setCellValue("标准分");
-        titleRow.createCell(7).setCellValue("题干");
-        titleRow.createCell(8).setCellValue("题干(含标签)");
-        titleRow.createCell(9).setCellValue("标答");
-        titleRow.createCell(10).setCellValue("标答(含标签)");
+        titleRow.createCell(7).setCellValue("大题名称");
+        titleRow.createCell(8).setCellValue("题干");
+        titleRow.createCell(9).setCellValue("题干(含标签)");
+        titleRow.createCell(10).setCellValue("标答");
+        titleRow.createCell(11).setCellValue("标答(含标签)");
 
         //向Excle中写入数据,从第2行开始
         for (int i = 0; i < dtos.size(); i++) {
@@ -642,13 +650,14 @@ public class DdExcelService {
             row.createCell(4).setCellValue(dto.getdNumber());
             row.createCell(5).setCellValue(dto.getNumber());
             row.createCell(6).setCellValue(dto.getScore());
-            row.createCell(7).setCellValue(dto.getClearBody());
-            row.createCell(8).setCellValue(dto.getBody());
+            row.createCell(7).setCellValue(dto.getDetailName());
+            row.createCell(8).setCellValue(dto.getClearBody());
+            row.createCell(9).setCellValue(dto.getBody());
             if (dto.getClearAnswer().length() < 32767) {
-                row.createCell(9).setCellValue(dto.getClearAnswer());
+                row.createCell(10).setCellValue(dto.getClearAnswer());
             }
             if (dto.getAnswer().length() < 32767) {
-                row.createCell(10).setCellValue(dto.getAnswer());
+                row.createCell(11).setCellValue(dto.getAnswer());
             }
         }
         File file = new File(quesExcelPathNew);

+ 14 - 1
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/temp/vo/SubQuestionDto.java

@@ -37,6 +37,11 @@ public class SubQuestionDto {
      */
     private Integer number;
 
+    /**
+     * 大题名称
+     */
+    private String detailName;
+
     /**
      * 原题干
      */
@@ -150,4 +155,12 @@ public class SubQuestionDto {
         this.dNumber = dNumber;
     }
 
-}
+    public String getDetailName() {
+        return detailName;
+    }
+
+    public void setDetailName(String detailName) {
+        this.detailName = detailName;
+    }
+
+}

+ 9 - 8
examcloud-core-questions-starter/src/main/java/cn/com/qmth/examcloud/core/questions/starter/IndexController.java

@@ -40,7 +40,7 @@ public class IndexController {
         CqdxService cqdxService = SpringContextHolder.getBean(CqdxService.class);
         //cqdxService.bulidPaper();
 
-        DdExcelService ddExcelService = SpringContextHolder.getBean(DdExcelService.class);
+        //DdExcelService ddExcelService = SpringContextHolder.getBean(DdExcelService.class);
         //ddExcelService.exportPaperStructExcel("1407");
 
         //exportExtractExcel(response);
@@ -69,15 +69,16 @@ public class IndexController {
         //用来导出给定课程关联中的主观题信息的Excel(导出课程下的主观题试题分布)
         DdExcelService ddExcelService = SpringContextHolder.getBean(DdExcelService.class);
         List<String> codes = new ArrayList<>();
-        codes.add("GX001.1");
-        codes.add("GX001.2");
-        codes.add("GX001.4");
-        codes.add("G0005");
-        codes.add("G0010");
-        codes.add("ZJZ004");
+        codes.add("D02020001");
+        codes.add("D07020005");
+        codes.add("D07020022");
+        codes.add("D08020006");
+        codes.add("D08020008");
+        codes.add("D08020009");
+        codes.add("D08020013");
 
         try {
-            ddExcelService.exportSubQues("371", 360L, codes);
+            ddExcelService.exportSubQues("1627", 481L, codes);
         } catch (Exception e) {
             log.error(e.getMessage(), e);
         }