zouxuan 2 vuotta sitten
vanhempi
commit
46223d12e5

+ 12 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/DailySummaryOfClassesForTheCurrentSemesterWrapper.java

@@ -24,6 +24,15 @@ public class DailySummaryOfClassesForTheCurrentSemesterWrapper {
 
     @Data
     public static class DailySummaryOfClassesForTheCurrentSemesterDto{
+        @ApiModelProperty(value = "课程类型列表",required = false)
+        private List<DailySummaryOfClassesForTheCurrentSemesterDetailDto> dailySummaryOfClassesForTheCurrentSemesterDetailDtos;
+
+        @ApiModelProperty(value = "上课时间",required = false)
+        private LocalDate courseDate;
+    }
+
+    @Data
+    public static class DailySummaryOfClassesForTheCurrentSemesterDetailDto{
         @ApiModelProperty(value = "剩余课时数",required = false)
         private Integer subCourseNum;
 
@@ -32,9 +41,6 @@ public class DailySummaryOfClassesForTheCurrentSemesterWrapper {
 
         @ApiModelProperty(value = "课程类型",required = false)
         private CourseSchedule.CourseScheduleType scheduleType;
-
-        @ApiModelProperty(value = "上课时间",required = false)
-        private LocalDate courseDate;
     }
 
     @Data
@@ -43,5 +49,8 @@ public class DailySummaryOfClassesForTheCurrentSemesterWrapper {
         private List<DailySummaryOfClassesForTheCurrentSemesterDto> dailySummaryOfClassesForTheCurrentSemesterDtos;
 
         private String week;
+
+        @ApiModelProperty(value = "课程状态NOT_START,ING,END",required = false)
+        private String courseStatus;
     }
 }

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -6018,9 +6018,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
 		LocalDate startDate = LocalDate.parse(startTerm, formatter);
 		LocalDate endDate = LocalDate.parse(endTerm, formatter);
+		LocalDate now = LocalDate.now();
 		List<DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterMapDto> result = new ArrayList<>();
 		LocalDate currentWeekStart = startDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
-		DateTimeFormatter format = DateTimeFormatter.ofPattern("yy年MM月dd日");
+		DateTimeFormatter format = DateTimeFormatter.ofPattern("MM月dd日");
 		StringBuffer sb;
 		int week = 0;
 		while (!currentWeekStart.isAfter(endDate)) {
@@ -6031,6 +6032,16 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			LocalDate currentWeekEnd = currentWeekStart.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));
 			String endStart = currentWeekEnd.format(format);
 			sb.append(endStart).append(")");
+			// 判断课程状态
+			String courseStatus;
+			if (currentWeekEnd.isBefore(now)) {
+				courseStatus = "END";
+			} else if (currentWeekStart.isAfter(now)) {
+				courseStatus = "NOT_START";
+			} else {
+				courseStatus = "ING";
+			}
+			vo.setCourseStatus(courseStatus);
 			List<DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterDto> currentWeekDates = new ArrayList<>();
 			for (DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterDto dto : summary) {
 				if (!dto.getCourseDate().isBefore(currentWeekStart) && dto.getCourseDate().isBefore(currentWeekEnd)) {

+ 26 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SchoolIndexStatServiceImpl.java

@@ -15,6 +15,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.text.Collator;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -74,7 +75,7 @@ public class SchoolIndexStatServiceImpl implements SchoolIndexStatService {
                     distribution.setStudentNum(entry.getValue());
                     return distribution;
                 })
-                .sorted(Comparator.comparing(SchoolIndexStatWrapper.GradeDistribution::getGrade))
+                .sorted(Comparator.comparingInt(entry -> gradeOrder.indexOf(entry.getGrade())))
                 .collect(Collectors.toList());
         result.setGradeDistributions(gradeDistributions);
 
@@ -129,6 +130,7 @@ public class SchoolIndexStatServiceImpl implements SchoolIndexStatService {
                 });
             });
         });
+        musicGradeDistributions.sort(Comparator.comparingInt(entry -> gradeOrder.indexOf(entry.getGrade())));
         result.setMusicGradeDistributions(musicGradeDistributions);
 
         //声部年级分组
@@ -153,6 +155,7 @@ public class SchoolIndexStatServiceImpl implements SchoolIndexStatService {
                 subjectGradeDistributions.add(gradeDistribution);
             }
         }
+        subjectGradeDistributions.sort(Comparator.comparingInt(entry -> gradeOrder.indexOf(entry.getGrade())));
         result.setSubjectGradeDistributions(subjectGradeDistributions);
         return result;
     }
@@ -213,4 +216,26 @@ public class SchoolIndexStatServiceImpl implements SchoolIndexStatService {
             }
         }
     }
+
+    // 定义自定义顺序的列表
+    List<String> gradeOrder = Arrays.asList(
+            "一年级",
+            "二年级",
+            "三年级",
+            "四年级",
+            "五年级",
+            "六年级",
+            "六年级/初一",
+            "七年级/初一",
+            "初一/七年级",
+            "七年级/初二",
+            "八年级/初二",
+            "初二/八年级",
+            "八年级/初三",
+            "初三/九年级",
+            "九年级/初三",
+            "高一",
+            "高二",
+            "高三"
+    );
 }

+ 8 - 2
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -4246,8 +4246,14 @@
         </foreach>
         group by cs.type_
     </select>
-    <select id="getDailySummaryOfClassesForTheCurrentSemester"
-            resultType="com.ym.mec.biz.dal.wrapper.DailySummaryOfClassesForTheCurrentSemesterWrapper$DailySummaryOfClassesForTheCurrentSemesterDto">
+    <resultMap id="DailySummaryMap" type="com.ym.mec.biz.dal.wrapper.DailySummaryOfClassesForTheCurrentSemesterWrapper$DailySummaryOfClassesForTheCurrentSemesterDto">
+        <result property="courseDate" column="courseDate"/>
+        <collection property="dailySummaryOfClassesForTheCurrentSemesterDetailDtos" ofType="com.ym.mec.biz.dal.wrapper.DailySummaryOfClassesForTheCurrentSemesterWrapper$DailySummaryOfClassesForTheCurrentSemesterDetailDto">
+            <result property="totalCourseNum" column="totalCourseNum"/>
+            <result property="scheduleType" column="scheduleType"/>
+        </collection>
+    </resultMap>
+    <select id="getDailySummaryOfClassesForTheCurrentSemester" resultMap="DailySummaryMap">
         select cs.class_date_ courseDate,cs.type_ scheduleType,COUNT(cs.id_) totalCourseNum
         from course_schedule cs
         where cs.group_type_ = 'MUSIC' AND cs.is_lock_ = 0 AND cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0 AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_)