Bladeren bron

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

zouxuan 5 jaren geleden
bovenliggende
commit
ce45b51f08

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupStudentMapperDao.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.dto.StudentAttendanceViewDto;
+import com.ym.mec.biz.dal.dto.StudentNameAndPhoneDto;
 import com.ym.mec.biz.dal.dto.TeacherClassStudentDto;
 import com.ym.mec.biz.dal.entity.ClassGroupStudentMapper;
 import com.ym.mec.biz.dal.entity.StudentRegistration;
@@ -86,6 +87,15 @@ public interface ClassGroupStudentMapperDao extends BaseDAO<Long, ClassGroupStud
     String[] findCourseStudentName(@Param("courseScheduleId") Integer courseScheduleId);
 
     /**
+     * @describe 获取课程上的学员名称和电话
+     * @author Joburgess
+     * @date 2020/2/16
+     * @param courseScheduleId:
+     * @return java.util.List<com.ym.mec.biz.dal.dto.StudentNameAndPhoneDto>
+     */
+    List<StudentNameAndPhoneDto> findCourseStudentNameAndPhone(@Param("courseScheduleId") Integer courseScheduleId);
+
+    /**
      * @param params:
      * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherClassStudentDto>
      * @describe 获取班级学生

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

@@ -2,8 +2,17 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.entity.TeacherFreeTime;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
 
 public interface TeacherFreeTimeDao extends BaseDAO<Integer, TeacherFreeTime> {
 
+    /**
+     * @describe 获取教师休息时间
+     * @author Joburgess
+     * @date 2020/2/16
+     * @param userId: 教师编号
+     * @return com.ym.mec.biz.dal.entity.TeacherFreeTime
+     */
+    TeacherFreeTime findTeacherFreeTime(@Param("userId") Integer userId);
 	
-}
+}

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseScheduleDto.java

@@ -5,6 +5,8 @@ import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
 import com.ym.mec.biz.dal.enums.TeachTypeEnum;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.util.List;
+
 /**
  * @Author Joburgess
  * @Date 2019/9/17
@@ -51,12 +53,22 @@ public class CourseScheduleDto extends CourseSchedule {
 
     private String groupName;
 
+    private List<StudentNameAndPhoneDto> students;
+
     @ApiModelProperty(value = "是否是第一次进行学生点名")
     private int studentAttendanceIsFirstTime;
 
     @ApiModelProperty(value = "能否进行调整")
     private int enableAdjustInToday;
 
+    public List<StudentNameAndPhoneDto> getStudents() {
+        return students;
+    }
+
+    public void setStudents(List<StudentNameAndPhoneDto> students) {
+        this.students = students;
+    }
+
     public String getSubjectId() {
         return subjectId;
     }

+ 38 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentNameAndPhoneDto.java

@@ -0,0 +1,38 @@
+package com.ym.mec.biz.dal.dto;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/2/16
+ */
+public class StudentNameAndPhoneDto {
+
+    private Integer userId;
+
+    private String userName;
+
+    private String phone;
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+}

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

@@ -464,8 +464,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 courseScheduleDto.setStatus(CourseStatusEnum.UNDERWAY);
             }
             if (Objects.nonNull(courseScheduleDto.getClassGroupId())) {
-                String[] studentNames = classGroupStudentMapperDao.findCourseStudentName(courseScheduleDto.getId().intValue());
-                courseScheduleDto.setStudentNames(org.apache.commons.lang3.StringUtils.join(studentNames, ","));
+//                String[] studentNames = classGroupStudentMapperDao.findCourseStudentName(courseScheduleDto.getId().intValue());
+                List<StudentNameAndPhoneDto> courseStudentNameAndPhone = classGroupStudentMapperDao.findCourseStudentNameAndPhone(courseScheduleDto.getId().intValue());
+                if(!CollectionUtils.isEmpty(courseStudentNameAndPhone)){
+                    List<String> studentNames = courseStudentNameAndPhone.stream().map(StudentNameAndPhoneDto::getUserName).collect(Collectors.toList());
+                    courseScheduleDto.setStudentNames(org.apache.commons.lang3.StringUtils.join(studentNames, ","));
+                    courseScheduleDto.setStudents(courseStudentNameAndPhone);
+                }
             }
             courseScheduleDto.setSubjectName(subjectNameCourseMap.get(courseScheduleDto.getId()));
             courseScheduleDto.setSubjectId(subjectIdCourseMap.get(courseScheduleDto.getId()));

+ 34 - 13
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -77,6 +77,8 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
     private MusicGroupDao musicGroupDao;
     @Autowired
     private ImFeignService imFeignService;
+    @Autowired
+    private TeacherFreeTimeDao teacherFreeTimeDao;
 
     private static Map<Integer, Map<Integer, List<Integer>>> schoolSubjectTeachersMap;
 
@@ -811,6 +813,17 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             checkTeacherLeaveDate = false;
         }
 
+        Set<Integer> disableApplyWeekNum = new HashSet<>();
+
+        TeacherFreeTime teacherFreeTime=teacherFreeTimeDao.findTeacherFreeTime(teacherId);
+        int maxTeacherCourses=80;
+        if(Objects.nonNull(teacherFreeTime)){
+            if(Objects.nonNull(teacherFreeTime.getTotalTimes())){
+                maxTeacherCourses=teacherFreeTime.getTotalTimes();
+            }
+//            if(Objects.nonNull(teacherFreeTime.get))
+        }
+
         Date now = new Date();
         Calendar calendar = Calendar.getInstance();
         calendar.setFirstDayOfWeek(Calendar.MONDAY);
@@ -825,11 +838,21 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         Date firstMonday = DateUtil.getWeekDayWithDate(applyStartDate, Calendar.MONDAY);
         Date secondSunday = DateUtil.getWeekDayWithDate(applyEndDate, Calendar.SUNDAY);
 
+        Date yesterday=null;
+        Date tomorrow=null;
+        if(Objects.nonNull(firstClassTime)){
+            Calendar tempCalendar=Calendar.getInstance();
+            tempCalendar.setTime(firstClassTime);
+            tempCalendar.add(Calendar.DATE,-1);
+            yesterday=tempCalendar.getTime();
+            tempCalendar.add(Calendar.DATE,2);
+            tomorrow=tempCalendar.getTime();
+        }
+
         List<Date> enableApplyDates = getEnableApplyDates(applyStartDate, applyEndDate);
         List<CourseSchedule> allTeacherCourses = courseScheduleDao.findTeacherCoursesWithDateRange(teacherId, firstMonday, secondSunday);
         allTeacherCourses.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
 
-        Set<Integer> disableApplyWeekNum = new HashSet<>();
         List<CourseSchedule> applyDateRangeCourses = new ArrayList<>();
         Calendar courseCalendar = Calendar.getInstance();
         courseCalendar.setFirstDayOfWeek(Calendar.MONDAY);
@@ -865,8 +888,16 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 
         if (CollectionUtils.isEmpty(applyDateRangeCourses)) {
             for (Date enableApplyDate : enableApplyDates) {
-                if (Objects.nonNull(firstClassTime) && DateUtil.isSameDay(enableApplyDate, firstClassTime)) {
-                    continue;
+                if (Objects.nonNull(firstClassTime)) {
+                    if(DateUtil.isSameDay(enableApplyDate, firstClassTime)){
+                        continue;
+                    }
+                    if(DateUtil.isSameDay(enableApplyDate, tomorrow)){
+                        continue;
+                    }
+                    if(DateUtil.isSameDay(enableApplyDate, yesterday)){
+                        continue;
+                    }
                 }
                 Date enableApplyDateCourseEndTime = DateUtil.addMinutes(enableApplyDate, practiceCourseMinutes);
                 if (teacherId == 100473) {
@@ -947,16 +978,6 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         }
 
         List<Date> tempEnableApplyDates = new ArrayList<>();
-        Date yesterday=null;
-        Date tomorrow=null;
-        if(Objects.nonNull(firstClassTime)){
-            Calendar tempCalendar=Calendar.getInstance();
-            tempCalendar.setTime(firstClassTime);
-            tempCalendar.add(Calendar.DATE,-1);
-            yesterday=tempCalendar.getTime();
-            tempCalendar.add(Calendar.DATE,2);
-            tomorrow=tempCalendar.getTime();
-        }
         for (Date enableApplyDate : enableApplyDates) {
             Date enableApplyDateCourseEndTime = DateUtil.addMinutes(enableApplyDate, practiceCourseMinutes);
             if (Objects.nonNull(firstClassTime)) {

+ 12 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml

@@ -112,6 +112,18 @@
             cssp.course_schedule_id_ = #{courseScheduleId}
     </select>
 
+    <select id="findCourseStudentNameAndPhone" resultType="com.ym.mec.biz.dal.dto.StudentNameAndPhoneDto">
+        SELECT
+            su.id_ userId,
+            su.username_ userName,
+            su.phone_ phone
+        FROM
+            course_schedule_student_payment cssp
+            LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
+        WHERE
+            cssp.course_schedule_id_ = #{courseScheduleId}
+    </select>
+
     <resultMap id="teacherClassStudentDto" type="com.ym.mec.biz.dal.dto.TeacherClassStudentDto">
         <result property="userId" column="user_id_"/>
         <result property="userName" column="username_"/>

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/TeacherFreeTimeMapper.xml

@@ -100,4 +100,8 @@
 		SELECT COUNT(*) FROM
 		teacher_free_time
 	</select>
+	<select id="findTeacherFreeTime" resultMap="TeacherFreeTime">
+		SELECT * FROM
+		teacher_free_time WHERE user_id_ = #{userId}
+	</select>
 </mapper>

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

@@ -345,7 +345,6 @@
             AND t.job_nature_='FULL_TIME'
             AND su.del_flag_=0 AND su.lock_flag_=0
             AND t.organ_id_!=36 AND t.organ_id_!=38
-            AND t.organ_id_!=7 AND t.organ_id_!=37
     </select>
     <select id="findTeacherByOrganAndSubject" resultMap="TeacherBasicDto">
         SELECT