ソースを参照

报告bug修复

xiaof 4 年 前
コミット
4e32612ec6

+ 18 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TBExamStudentServiceImpl.java

@@ -369,6 +369,24 @@ public class TBExamStudentServiceImpl extends ServiceImpl<TBExamStudentMapper, T
             dimensionResult.setDioFullScore(taExamCourseRecordMod.getFullScore().setScale(1, BigDecimal.ROUND_HALF_UP));
 
             List<DimensionDetailResult> subDios = taExamCourseRecordDioMapper.listSubDiosBySchoolIdAndExamIdAndStudentCodeAndCourseCodeAndModuleName(schoolId, examId, studentCode, courseCode, moduleName);
+            // 按二级维度code排序
+            Collections.sort(subDios, new Comparator<DimensionDetailResult>() {
+                @Override
+                public int compare(DimensionDetailResult o1, DimensionDetailResult o2) {
+                    String o1StringPart = o1.getCode().replaceAll("\\d","");
+                    String o2StringPart = o2.getCode().replaceAll("\\d","");
+                    if(o1StringPart.equalsIgnoreCase(o2StringPart))
+                    {
+                        return extractInt(o1.getCode()) - extractInt(o2.getCode());
+                    }
+                    return o1.getCode().compareTo(o2.getCode());
+                }
+                int extractInt(String s) {
+                    String num = s.replaceAll("\\D","");
+                    return num.isEmpty() ? 0 : Integer.parseInt(num);
+                }
+            });
+
             dimensionResult.setSubDios(subDios);
 
             List<DimensionMasterysResult> dimensionMasterysResults = new ArrayList<>();

+ 1 - 1
teachcloud-report-business/src/main/resources/mapper/TAExamCourseRecordMapper.xml

@@ -63,7 +63,7 @@
         SELECT
         ROUND(a.assigned_score, 1) myScore,
         b.reality_count actualCount,
-        ROUND(a.over_college_rate, 1) overRate,
+        ROUND(a.over_college_rate * 100, 1) overRate,
         ROUND(b.min_score, 1) collegeMinScore,
         ROUND(b.avg_score, 1) collegeAvgScore,
         ROUND(b.max_score, 1) collegeMaxScore,