Ver código fonte

Merge branch 'feature/0427-school' of http://git.dayaedu.com/yonge/mec into feature/0427-school

liujc 2 anos atrás
pai
commit
daa82a94dd

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -2012,7 +2012,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     void updateTeachingPointByClassGroupId(@Param("classGroupId") Integer classGroupId, @Param("teachingPoint") String teachingPoint);
 
-    List<DailySummaryOfClassesForTheCurrentSemesterWrapper.SummaryOfCurrentSemesterCoursesDto> getSummaryOfCurrentSemesterCourses(@Param("musicGroupIds") List<String> musicGroupIds,
+    List<DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterDetailDto> getSummaryOfCurrentSemesterCourses(@Param("musicGroupIds") List<String> musicGroupIds,
                                                                                                                                   @Param("startTerm") String startTerm,
                                                                                                                                   @Param("endTerm") String endTerm);
 

+ 2 - 14
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/DailySummaryOfClassesForTheCurrentSemesterWrapper.java

@@ -9,18 +9,6 @@ import java.util.List;
 
 public class DailySummaryOfClassesForTheCurrentSemesterWrapper {
 
-    @Data
-    public static class SummaryOfCurrentSemesterCoursesDto {
-
-        @ApiModelProperty(value = "剩余课时数",required = false)
-        private Integer subCourseNum;
-
-        @ApiModelProperty(value = "总课时数",required = false)
-        private Integer totalCourseNum;
-
-        @ApiModelProperty(value = "课程类型",required = false)
-        private CourseSchedule.CourseScheduleType scheduleType;
-    }
 
     @Data
     public static class DailySummaryOfClassesForTheCurrentSemesterDto{
@@ -34,10 +22,10 @@ public class DailySummaryOfClassesForTheCurrentSemesterWrapper {
     @Data
     public static class DailySummaryOfClassesForTheCurrentSemesterDetailDto{
         @ApiModelProperty(value = "剩余课时数",required = false)
-        private Integer subCourseNum;
+        private Integer subCourseNum = 0;
 
         @ApiModelProperty(value = "总课时数",required = false)
-        private Integer totalCourseNum;
+        private Integer totalCourseNum = 0;
 
         @ApiModelProperty(value = "课程类型",required = false)
         private CourseSchedule.CourseScheduleType scheduleType;

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java

@@ -696,7 +696,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	* @author zx
 	* @date 2023/5/4 10:15
 	*/
-    List<DailySummaryOfClassesForTheCurrentSemesterWrapper.SummaryOfCurrentSemesterCoursesDto> getSummaryOfCurrentSemesterCourses(Integer coopId);
+    List<DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterDetailDto> getSummaryOfCurrentSemesterCourses(Integer coopId);
 
 	/**
 	* @description: 获取当前学期每天课程汇总

+ 44 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -5382,7 +5382,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	}
 
     @Override
-    public List<DailySummaryOfClassesForTheCurrentSemesterWrapper.SummaryOfCurrentSemesterCoursesDto> getSummaryOfCurrentSemesterCourses(Integer coopId) {
+    public List<DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterDetailDto> getSummaryOfCurrentSemesterCourses(Integer coopId) {
 		//获取合作单位关联的所有乐团列表
 		List<String> musicGroupIds = musicGroupDao.findNormalByCooperationId(coopId);
 		if(CollectionUtils.isEmpty(musicGroupIds)){
@@ -5392,9 +5392,37 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		Date date = new Date();
 		String startTerm = DateUtil.getStartTerm(date);
 		String endTerm = DateUtil.getEndTerm(date);
-		return courseScheduleDao.getSummaryOfCurrentSemesterCourses(musicGroupIds,startTerm,endTerm);
+		List<DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterDetailDto> summary =
+				courseScheduleDao.getSummaryOfCurrentSemesterCourses(musicGroupIds, startTerm, endTerm);
+		List<CourseSchedule.CourseScheduleType> courseTypeList = Arrays.asList(
+				CourseScheduleType.SINGLE,
+				CourseScheduleType.MIX,
+				CourseScheduleType.HIGH,
+				CourseScheduleType.HIGH_ONLINE,
+				CourseScheduleType.TRAINING_SINGLE,
+				CourseScheduleType.TRAINING_MIX,
+				CourseScheduleType.COMPREHENSIVE,
+				CourseScheduleType.CLASSROOM
+		);
+		return this.initClassOfSummary(courseTypeList,summary);
     }
 
+	private List<DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterDetailDto>
+	initClassOfSummary(List<CourseSchedule.CourseScheduleType> courseTypeList,List<DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterDetailDto> summary){
+		Map<CourseScheduleType, DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterDetailDto>
+				map = summary.stream().collect(Collectors.groupingBy(e -> e.getScheduleType(), Collectors.collectingAndThen(Collectors.toList(), v -> v.get(0))));
+		List<DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterDetailDto> result = new ArrayList<>();
+		for (CourseScheduleType scheduleType : courseTypeList) {
+			DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterDetailDto dto = map.get(scheduleType);
+			if(Objects.isNull(dto)){
+				dto = new DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterDetailDto();
+				dto.setScheduleType(scheduleType);
+			}
+			result.add(dto);
+		}
+		return result;
+	}
+
 	@Override
 	public List<DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterMapDto> getDailySummaryOfClassesForTheCurrentSemester(Integer coopId) {
 		//获取合作单位关联的所有乐团列表
@@ -5419,6 +5447,16 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		StringBuffer sb;
 		StringBuffer sb1;
 		int week = 0;
+		List<CourseSchedule.CourseScheduleType> courseTypeList = Arrays.asList(
+				CourseScheduleType.SINGLE,
+				CourseScheduleType.MIX,
+				CourseScheduleType.HIGH,
+				CourseScheduleType.HIGH_ONLINE,
+				CourseScheduleType.TRAINING_SINGLE,
+				CourseScheduleType.TRAINING_MIX,
+				CourseScheduleType.COMPREHENSIVE,
+				CourseScheduleType.CLASSROOM
+		);
 		while (!currentWeekStart.isAfter(endDate)) {
 			DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterMapDto vo =
 					new DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterMapDto();
@@ -5445,10 +5483,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			}
 			week++;
 			currentWeekStart = currentWeekEnd.plusDays(1);
-			vo.setWeek(sb.toString());
-			vo.setWeekTime(sb1.toString());
-			vo.setDailySummaryOfClassesForTheCurrentSemesterDtos(currentWeekDates);
 			if(CollectionUtils.isNotEmpty(currentWeekDates)){
+				currentWeekDates.forEach(dto -> dto.setDailySummaryOfClassesForTheCurrentSemesterDetailDtos(initClassOfSummary(courseTypeList, dto.getDailySummaryOfClassesForTheCurrentSemesterDetailDtos())));
+				vo.setWeek(sb.toString());
+				vo.setWeekTime(sb1.toString());
+				vo.setDailySummaryOfClassesForTheCurrentSemesterDtos(currentWeekDates);
 				result.add(vo);
 			}
 		}

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

@@ -4237,7 +4237,7 @@
     </update>
 
     <select id="getSummaryOfCurrentSemesterCourses"
-            resultType="com.ym.mec.biz.dal.wrapper.DailySummaryOfClassesForTheCurrentSemesterWrapper$SummaryOfCurrentSemesterCoursesDto">
+            resultType="com.ym.mec.biz.dal.wrapper.DailySummaryOfClassesForTheCurrentSemesterWrapper$DailySummaryOfClassesForTheCurrentSemesterDetailDto">
         select cs.type_ scheduleType,COUNT(CASE WHEN cs.status_ = 'NOT_START' THEN 1 END) subCourseNum,
                COUNT(cs.id_) totalCourseNum
         from course_schedule cs

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/school/SchoolCourseScheduleController.java

@@ -29,7 +29,7 @@ public class SchoolCourseScheduleController extends BaseController {
 
     @ApiOperation(value = "课时顶部统计接口---获取当前学期课程汇总")
     @GetMapping("/getSummaryOfCurrentSemesterCourses")
-    public HttpResponseResult<List<DailySummaryOfClassesForTheCurrentSemesterWrapper.SummaryOfCurrentSemesterCoursesDto>> getSummaryOfCurrentSemesterCourses(@RequestHeader Integer coopId) {
+    public HttpResponseResult<List<DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterDetailDto>> getSummaryOfCurrentSemesterCourses(@RequestHeader Integer coopId) {
         return succeed(courseScheduleService.getSummaryOfCurrentSemesterCourses(coopId));
     }