zouxuan 4 år sedan
förälder
incheckning
975f146e1b

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

@@ -1949,4 +1949,11 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return
      */
     int countCourseByClassAndType(@Param("dto") MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto);
+
+    /**
+     * 获取当前课程在该学期的排序号
+     * @param schoolTerm
+     * @return
+     */
+    int getCourseNumNo(@Param("schoolTerm") MusicGroupTrainPlanSaveDto schoolTerm);
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupTrainPlanDao.java

@@ -31,4 +31,6 @@ public interface MusicGroupTrainPlanDao extends BaseDAO<Integer, MusicGroupTrain
     List<String> findAllPlan(Map<String, Object> paramMap);
 
     int countPlanNum(@Param("dto") MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto);
+
+    List<MusicGroupTrainPlan> queryPlan(@Param("schoolTerm") MusicGroupTrainPlanSaveDto schoolTerm);
 }

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

@@ -109,6 +109,17 @@ public class TeacherAttendanceDto {
 
     private Integer enableStudentAttendanceTimeRangeVip;
 
+    @ApiModelProperty(value = "课程规划")
+    private String coursePlan;
+
+    public String getCoursePlan() {
+        return coursePlan;
+    }
+
+    public void setCoursePlan(String coursePlan) {
+        this.coursePlan = coursePlan;
+    }
+
     public int getMemberNum() {
         return memberNum;
     }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupTrainPlanSaveDto.java

@@ -31,6 +31,17 @@ public class MusicGroupTrainPlanSaveDto {
 	@ApiModelProperty(value = "课程组编号",required = false)
 	private String musicGroupId;
 
+	@ApiModelProperty(value = "课程上课时间",required = false)
+	private Date courseClassTime;
+
+	public Date getCourseClassTime() {
+		return courseClassTime;
+	}
+
+	public void setCourseClassTime(Date courseClassTime) {
+		this.courseClassTime = courseClassTime;
+	}
+
 	public String getYear() {
 		return year;
 	}

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

@@ -563,7 +563,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * @param groupId
 	 * @return
 	 */
-	Object getTeacherCourseHeadInfo(GroupType groupType,String groupId,Long courseScheduleId);
+	Map<String,Object> getTeacherCourseHeadInfo(GroupType groupType,String groupId,Long courseScheduleId);
 
 	/**
 	 * 根据课程组获取课表信息

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupTrainPlanService.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.entity.ClassGroup;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.MusicGroupTrainPlan;
 import com.ym.mec.biz.dal.entity.MusicGroupTrainPlanSaveDto;
 import com.ym.mec.common.service.BaseService;
@@ -19,4 +20,8 @@ public interface MusicGroupTrainPlanService extends BaseService<Integer, MusicGr
     List<String> queryCourseType(MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto);
 
     Map<String,Object> queryExceptionPlan(MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto);
+
+    MusicGroupTrainPlanSaveDto getSchoolTerm(CourseSchedule courseSchedule);
+
+    List<MusicGroupTrainPlan> queryPlan(MusicGroupTrainPlanSaveDto schoolTerm);
 }

+ 20 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -156,6 +156,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	private VipGroupActivityDao vipGroupActivityDao;
     @Autowired
 	private StudentDao studentDao;
+    @Autowired
+	private MusicGroupTrainPlanService musicGroupTrainPlanService;
 
     private final Logger LOGGER = LoggerFactory
             .getLogger(this.getClass());
@@ -224,6 +226,14 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         currentCourseDetail.setAdvanceSignInMinutes(Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ADVANCE_SIGN_IN_MINUTES)));
 		currentCourseDetail.setAttendanceRange(CourseScheduleType.VIP.equals(currentCourseDetail.getCourseType())?Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ATTENDANCE_RANGE_VIP)):Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ATTENDANCE_RANGE)));
         currentCourseDetail.setAdvanceSignOutMinutes(Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ADVANCE_SIGN_OUT_MINUTES)));
+		CourseSchedule courseSchedule = courseScheduleDao.get(courseID);
+		//获取课程规划
+		MusicGroupTrainPlanSaveDto schoolTerm = musicGroupTrainPlanService.getSchoolTerm(courseSchedule);
+		int courseNumNo = courseScheduleDao.getCourseNumNo(schoolTerm);
+		List<MusicGroupTrainPlan> planList = musicGroupTrainPlanService.queryPlan(schoolTerm);
+		if(planList.size() >= courseNumNo){
+			currentCourseDetail.setCoursePlan(planList.get(courseNumNo - 1).getPlan());
+		}
 		//获取有会员的学员数
 		String configValue = sysConfigDao.findConfigValue(SysConfigService.HOMEWORK_OPEN_FLAG);
 		if(StringUtils.isEmpty(configValue)){
@@ -232,7 +242,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		if(configValue.equals("0")){
 			currentCourseDetail.setMemberNum(0);
 		}else {
-			CourseSchedule courseSchedule = courseScheduleDao.get(courseID);
 			MusicGroup musicGroup = musicGroupDao.get(courseSchedule.getMusicGroupId());
 			if(musicGroup != null){
 				currentCourseDetail.setCourseViewType(musicGroup.getCourseViewType());
@@ -5300,7 +5309,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	}
 
 	@Override
-	public Object getTeacherCourseHeadInfo(GroupType groupType,String groupId,Long courseScheduleId){
+	public Map<String,Object> getTeacherCourseHeadInfo(GroupType groupType,String groupId,Long courseScheduleId){
 		Map<String,Object> resultMap = new HashMap<>(8);
 		Teacher teacher;
 		switch (groupType){
@@ -5545,7 +5554,15 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		if(schedule == null){
 			throw new BizException("课程不存在");
 		}
-		return getTeacherCourseHeadInfo(schedule.getGroupType(),schedule.getMusicGroupId(),courseScheduleId);
+		Map<String,Object> teacherCourseHeadInfo = getTeacherCourseHeadInfo(schedule.getGroupType(), schedule.getMusicGroupId(), courseScheduleId);
+		//获取课程规划
+		MusicGroupTrainPlanSaveDto schoolTerm = musicGroupTrainPlanService.getSchoolTerm(schedule);
+		int courseNumNo = courseScheduleDao.getCourseNumNo(schoolTerm);
+		List<MusicGroupTrainPlan> planList = musicGroupTrainPlanService.queryPlan(schoolTerm);
+		if(planList.size() >= courseNumNo){
+			teacherCourseHeadInfo.put("coursePlan",planList.get(courseNumNo - 1).getPlan());
+		}
+		return teacherCourseHeadInfo;
 	}
 
 	@Override

+ 34 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupTrainPlanServiceImpl.java

@@ -4,9 +4,7 @@ import com.ym.mec.biz.dal.dao.ClassGroupDao;
 import com.ym.mec.biz.dal.dao.CourseScheduleDao;
 import com.ym.mec.biz.dal.dao.MusicGroupTrainPlanDao;
 import com.ym.mec.biz.dal.dto.WaitCourseTrainPlanDto;
-import com.ym.mec.biz.dal.entity.ClassGroup;
-import com.ym.mec.biz.dal.entity.MusicGroupTrainPlan;
-import com.ym.mec.biz.dal.entity.MusicGroupTrainPlanSaveDto;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.service.MusicGroupTrainPlanService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -18,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -136,4 +135,36 @@ public class MusicGroupTrainPlanServiceImpl extends BaseServiceImpl<Integer, Mus
 		}
 		return musicGroupTrainPlanSaveDto;
 	}
+
+	@Override
+	public MusicGroupTrainPlanSaveDto getSchoolTerm(CourseSchedule courseSchedule){
+		MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto = new MusicGroupTrainPlanSaveDto();
+		Date startCourseDate = courseSchedule.getClassDate();
+		//一个学期默认为6个月,9月1日—2月28、29日,3月1日—8月31日
+		Integer month = Integer.parseInt(DateUtil.getMonth(startCourseDate));
+		String year = DateUtil.getYear(startCourseDate);
+		if(month >= 9 || month <= 2){
+			if(month >= 9){
+				musicGroupTrainPlanSaveDto.setStartSchoolTerm(DateUtil.stringToDate(year + "-09-01 00:00:00"));
+				year = DateUtil.getYear(DateUtil.addYears(startCourseDate, 1));
+			}else {
+				String year1 = DateUtil.getYear(DateUtil.addYears(startCourseDate, -1));
+				musicGroupTrainPlanSaveDto.setStartSchoolTerm(DateUtil.stringToDate(year1 + "-09-01 00:00:00"));
+			}
+			musicGroupTrainPlanSaveDto.setEndSchoolTerm(DateUtil.getLastDayOfMonth(DateUtil.stringToDate(year + "-02-01 00:00:00")));
+		}else {
+			musicGroupTrainPlanSaveDto.setStartSchoolTerm(DateUtil.stringToDate(year + "-03-01 00:00:00"));
+			musicGroupTrainPlanSaveDto.setEndSchoolTerm(DateUtil.stringToDate(year + "-08-31 00:00:00"));
+		}
+		musicGroupTrainPlanSaveDto.setMusicGroupId(courseSchedule.getMusicGroupId());
+		musicGroupTrainPlanSaveDto.setClassGroupId(courseSchedule.getClassGroupId());
+		musicGroupTrainPlanSaveDto.setCourseScheduleType(courseSchedule.getType().getCode());
+		musicGroupTrainPlanSaveDto.setCourseClassTime(courseSchedule.getStartClassTime());
+		return musicGroupTrainPlanSaveDto;
+	}
+
+	@Override
+	public List<MusicGroupTrainPlan> queryPlan(MusicGroupTrainPlanSaveDto schoolTerm) {
+		return musicGroupTrainPlanDao.queryPlan(schoolTerm);
+	}
 }

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

@@ -4006,4 +4006,9 @@
         </if>
         AND cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0 AND cs.is_lock_ = 0
     </select>
+    <select id="getCourseNumNo" resultType="int">
+        SELECT COUNT(id_) FROM course_schedule
+        WHERE class_date_ BETWEEN #{schoolTerm.startSchoolTerm} AND #{schoolTerm.endSchoolTerm} AND class_group_id_ = #{schoolTerm.classGroupId} AND type_ = #{schoolTerm.courseScheduleType}
+        AND CONCAT(class_date_,' ',start_class_time_) &lt;= #{schoolTerm.courseClassTime} AND is_lock_ = 0 AND del_flag_ = 0 AND pre_course_flag_ = 0
+    </select>
 </mapper>

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

@@ -176,4 +176,21 @@
 			AND end_school_term_ = #{dto.endSchoolTerm}
 		</if>
 	</select>
+	<select id="queryPlan" resultMap="MusicGroupTrainPlan">
+		SELECT * FROM music_group_train_plan
+		<where>
+			<if test="schoolTerm.startSchoolTerm != null">
+				AND start_school_term_ = #{schoolTerm.startSchoolTerm}
+			</if>
+			<if test="schoolTerm.endSchoolTerm != null">
+				AND end_school_term_ = #{schoolTerm.endSchoolTerm}
+			</if>
+			<if test="schoolTerm.classGroupId != null">
+				AND class_group_id_ = #{schoolTerm.classGroupId}
+			</if>
+			<if test="schoolTerm.courseScheduleType != null">
+				AND course_type_ = #{schoolTerm.courseScheduleType}
+			</if>
+		</where>
+	</select>
 </mapper>