Bladeren bron

Merge branch 'question-branch' into aijia-branch

chen 4 jaren geleden
bovenliggende
commit
2c2325896f

+ 3 - 0
ssj-kmt-exercise-api/src/main/java/com/ssj/aijia/kmt/sys/controller/KmtExerciseSysController.java

@@ -1439,6 +1439,8 @@ public class KmtExerciseSysController extends BaseController {
             entityList.add(bookStatusEntity);
             ExcelExportEntity assignedBatchEntity = new ExcelExportEntity("归属批次", "assignedBatch");
             entityList.add(assignedBatchEntity);
+            ExcelExportEntity questionNumEntity = new ExcelExportEntity("题数", "questionNum");
+            entityList.add(questionNumEntity);
 
             // 生成excel工作表
             Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(name, name, ExcelType.XSSF), entityList,
@@ -1499,6 +1501,7 @@ public class KmtExerciseSysController extends BaseController {
             dataMap.put("analysisAccuracy", Optional.ofNullable(exportDistributionExerciseBookDTO.getAnalyserAccuracy()).map(it -> BigDecimal.valueOf(it * 0.01).setScale(2, BigDecimal.ROUND_DOWN).toPlainString() + "%").orElse(""));
             dataMap.put("bookStatus", ExportExerciseBookStatusEnum.getDescriptionByCode(exportDistributionExerciseBookDTO.getBookStatus()));
             dataMap.put("assignedBatch", exportDistributionExerciseBookDTO.getAssignedBatch());
+            dataMap.put("questionNum",exportDistributionExerciseBookDTO.getQuestionNum());
         }
         return dataMapList;
     }

+ 20 - 0
ssj-kmt-exercise-service-impl/src/main/java/com/ssj/service/kmt/exercisesys/KmtExerciseSysServiceImpl.java

@@ -2428,6 +2428,7 @@ public class KmtExerciseSysServiceImpl implements KmtExerciseSysService {
         Integer pageNo = req.getPageNo();
         List<DistributionExerciseBookDTO> distributionExerciseBookDTOList =
                 kmtExerciseMapper.findDistributionExerciseBookList(req, (pageNo - 1) * pageSize, pageSize);
+        this.appendQuestionNum2List(distributionExerciseBookDTOList);
         Map<String, Object> resultMap = new HashMap<>();
         resultMap.put("pageNo", pageNo);
         resultMap.put("pageSize", pageSize);
@@ -2438,6 +2439,25 @@ public class KmtExerciseSysServiceImpl implements KmtExerciseSysService {
         return new ResponseEntity().success(resultMap, "查询成功");
     }
 
+    /**
+     * 增加题数反参
+     * @param list
+     */
+    private void appendQuestionNum2List (List<DistributionExerciseBookDTO> list) {
+        if (CollectionUtils.isNotEmpty(list)){
+            List<String> exerciseBookIds = list.stream().map(DistributionExerciseBookDTO::getExerciseBookId).collect(Collectors.toList());
+            List<DistributionExerciseBookDTO> questionNumList = kmtExerciseMapper.findExerciseQuestionNum(exerciseBookIds);
+            for (DistributionExerciseBookDTO item : list){
+                for (DistributionExerciseBookDTO questionNumItem : questionNumList){
+                    if (questionNumItem.getExerciseBookId().equals(item.getExerciseBookId())){
+                        item.setQuestionNum(questionNumItem.getQuestionNum());
+                        break;
+                    }
+                }
+            }
+        }
+    }
+
     private String getRole(String authority) {
         StringBuilder exerciseTeacherTypeBuilder = new StringBuilder("");
         if (authority.contains("1")) {

+ 9 - 0
ssj-kmt-exercise-service/src/main/java/com/ssj/service/kmt/exercisesys/dto/ExportDistributionExerciseBookDTO.java

@@ -29,6 +29,7 @@ public class ExportDistributionExerciseBookDTO implements Serializable {
     private String halfBook;
     private Integer unitCount;
     private Integer courseCount;
+    private Integer questionNum;
 
     private String handlerName;
     private Date handlerLastSubmitTime;
@@ -316,4 +317,12 @@ public class ExportDistributionExerciseBookDTO implements Serializable {
     public void setAssignedBatch(String assignedBatch) {
         this.assignedBatch = assignedBatch;
     }
+
+    public Integer getQuestionNum() {
+        return questionNum;
+    }
+
+    public void setQuestionNum(Integer questionNum) {
+        this.questionNum = questionNum;
+    }
 }

+ 3 - 1
ssj-mybatis-service-impl/src/main/resources/mybatis/mapper/KmtExerciseMapper.xml

@@ -1906,8 +1906,9 @@
     </update>
 
     <select id="findExportDistributionExerciseBookList" resultType="com.ssj.service.kmt.exercisesys.dto.ExportDistributionExerciseBookDTO">
-        select ebdc.*, eb.assigned_batch
+        select ebdc.*, eb.assigned_batch, count(eq.id) question_num
         from kmt_exercise_book_distribution_count ebdc join kmt_exercise_book eb on ebdc.exercise_book_id=eb.id
+        join kmt_exercise_questions eq on eb.id=eq.exercise_book_id
         <where>
           <if test="req.startTime != null and req.startTime != ''">
               and ebdc.import_date > #{req.startTime}
@@ -1916,6 +1917,7 @@
               and '${req.endTime} 23:59:59' > ebdc.import_date
           </if>
         </where>
+        group by ebdc.*, eb.assigned_batch
         order by ebdc.import_date desc
         limit #{offset}
     </select>