Jelajahi Sumber

feat:教师端乐团课程搜索增加状态搜索

Joburgess 4 tahun lalu
induk
melakukan
37ccc5c9c4

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java

@@ -152,6 +152,9 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 	List<CourseScheduleTeacherSalary> findByCourseScheduleIdsAndTeacherRole(@Param("courseScheduleIds") List<Integer> courseScheduleIds,
 																			@Param("teacherRole") String teacherRole);
 
+	List<CourseScheduleTeacherSalary> findByCourseIdsAndTeacherRole(@Param("courseScheduleIds") List<Long> courseScheduleIds,
+																			@Param("teacherRole") String teacherRole);
+
 	/**
 	 * @param courseScheduleIds: 课程编号列表
 	 * @return java.util.List<java.util.Map < java.lang.String, java.lang.String>>

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherClassCourseSchudeleDto.java

@@ -67,6 +67,17 @@ public class TeacherClassCourseSchudeleDto {
 
     private String schoolName;
 
+    @ApiModelProperty(value = "助教名称")
+    private String teachingNames;
+
+    public String getTeachingNames() {
+        return teachingNames;
+    }
+
+    public void setTeachingNames(String teachingNames) {
+        this.teachingNames = teachingNames;
+    }
+
     public Integer getSchoolId() {
         return schoolId;
     }

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/CourseScheduleQueryInfo.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.page;
 
+import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -32,6 +33,9 @@ public class CourseScheduleQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "课程类型")
     private String type;
 
+    @ApiModelProperty(value = "课程状态")
+    private CourseStatusEnum status;
+
     @ApiModelProperty(value = "课程编号")
     private Integer courseScheduleId;
 
@@ -44,6 +48,14 @@ public class CourseScheduleQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "结束上课日期")
     private String endClassDate;
 
+    public CourseStatusEnum getStatus() {
+        return status;
+    }
+
+    public void setStatus(CourseStatusEnum status) {
+        this.status = status;
+    }
+
     public String getStartClassDate() {
         return startClassDate;
     }

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

@@ -4152,7 +4152,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			List<Map<Long, Integer>> courseLeaveStudentNumMaps = studentAttendanceDao.countCourseLeaveStudentNumWithFourHoursAgo(allCourseScheduleIds, advanceLeaveHours);
 			Map<Long,Long> courseLeaveStudentNumMap = MapUtil.convertIntegerMap((courseLeaveStudentNumMaps));
 
-			dataList.forEach(e -> {
+			List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseIdsAndTeacherRole(allCourseScheduleIds, null);
+			Map<Long, Map<TeachTypeEnum, Set<String>>> cttnMap = new HashMap<>();
+			if(!CollectionUtils.isEmpty(courseScheduleTeacherSalaries)){
+				cttnMap = courseScheduleTeacherSalaries.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId, Collectors.groupingBy(CourseScheduleTeacherSalary::getTeacherRole, Collectors.mapping(CourseScheduleTeacherSalary::getUserName, Collectors.toSet()))));
+			}
+
+			for (TeacherClassCourseSchudeleDto e : dataList) {
 				e.setCurrentClassTimes(courseScheduleDao.countCurrentTimes(e.getClassGroupId().intValue(),new Date()));
 				e.setTotalClassTimes(courseScheduleDao.countCurrentCourseTime(e.getCourseScheduleId()));
 
@@ -4161,7 +4167,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				if(Objects.nonNull(leaveStudentNum)&&Objects.nonNull(normalStudentNum)&&leaveStudentNum.intValue()==normalStudentNum.intValue()){
 					e.setEnableAdjustInToday(1);
 				}
-			});
+
+				if(cttnMap.containsKey(e.getCourseScheduleId())&&cttnMap.get(e.getCourseScheduleId()).containsKey(TeachTypeEnum.TEACHING)){
+					e.setTeachingNames(StringUtils.join(cttnMap.get(e.getCourseScheduleId()).get(TeachTypeEnum.TEACHING), ","));
+				}
+			}
 		}
 		if (count == 0) {
 			dataList = new ArrayList<>();

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

@@ -1484,6 +1484,9 @@
         <if test="userId != null">
             AND sa.teacher_id_=#{userId}
         </if>
+        <if test="status!=null">
+            AND cs.status_ = #{status}
+        </if>
         <if test="startClassDate!=null">
             AND cs.class_date_ &gt;= #{startClassDate}
         </if>
@@ -1515,6 +1518,9 @@
         <if test="userId != null">
             AND sa.teacher_id_=#{userId}
         </if>
+        <if test="status!=null">
+            AND cs.status_ = #{status}
+        </if>
         <if test="startClassDate!=null">
             AND cs.class_date_ &gt;= #{startClassDate}
         </if>

+ 17 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml

@@ -340,6 +340,23 @@
 		</foreach>
 		AND csts.teacher_role_=#{teacherRole}
 	</select>
+
+	<select id="findByCourseIdsAndTeacherRole" resultMap="CourseScheduleTeacherSalary">
+		SELECT
+		csts.*,
+		su.real_name_ username_
+		FROM
+		course_schedule_teacher_salary csts
+		LEFT JOIN sys_user su ON csts.user_id_=su.id_
+		WHERE csts.course_schedule_id_ IN
+		<foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
+			#{courseScheduleId}
+		</foreach>
+		<if test="teacherRole!=null and teacherRole!=''">
+			AND csts.teacher_role_=#{teacherRole}
+		</if>
+	</select>
+
 	<select id="findMusicGroupSettlementTypeByCourse" resultType="map">
 		SELECT
 			cs.id_ AS 'key',