浏览代码

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

zouxuan 4 年之前
父节点
当前提交
569008cd0e

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

@@ -834,4 +834,6 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @return
      */
     List<Long> queryGroupClassGroupIds(Integer userId);
+
+    int countCourseNum(@Param("classGroupId") Integer classGroupId, @Param("teachMode") String teachMode);
 }

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

@@ -70,6 +70,16 @@ public class TeacherClassCourseSchudeleDto {
     @ApiModelProperty(value = "助教名称")
     private String teachingNames;
 
+    private Date expiryDate;
+
+    public Date getExpiryDate() {
+        return expiryDate;
+    }
+
+    public void setExpiryDate(Date expiryDate) {
+        this.expiryDate = expiryDate;
+    }
+
     public String getTeachingNames() {
         return teachingNames;
     }

+ 19 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherClassHeadInfo.java

@@ -36,6 +36,8 @@ public class TeacherClassHeadInfo {
     @ApiModelProperty(value = "当前课次",required = false)
     private Integer currentClassTimes;
 
+    private Integer surplusClassTimes;
+
     @ApiModelProperty(value = "声部信息",required = false)
     private String subjectNames;
 
@@ -54,6 +56,23 @@ public class TeacherClassHeadInfo {
     @ApiModelProperty(value = "课程类型",required = false)
     private CourseScheduleType CourseScheduleType;
 
+    private String teachMode;
+
+    public Integer getSurplusClassTimes() {
+        return surplusClassTimes;
+    }
+
+    public void setSurplusClassTimes(Integer surplusClassTimes) {
+        this.surplusClassTimes = surplusClassTimes;
+    }
+
+    public String getTeachMode() {
+        return teachMode;
+    }
+
+    public void setTeachMode(String teachMode) {
+        this.teachMode = teachMode;
+    }
 
     public Integer getTotalClassTimes() {
         return totalClassTimes;

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherHomeworkListDto.java

@@ -46,12 +46,32 @@ public class TeacherHomeworkListDto {
 
     private Date startClassTime;
 
+    private Date endClassTime;
+
+    private Date expiryDate;
+
     private int isReplied;
 
     private int isSubmit;
 
     private int status;
 
+    public Date getEndClassTime() {
+        return endClassTime;
+    }
+
+    public void setEndClassTime(Date endClassTime) {
+        this.endClassTime = endClassTime;
+    }
+
+    public Date getExpiryDate() {
+        return expiryDate;
+    }
+
+    public void setExpiryDate(Date expiryDate) {
+        this.expiryDate = expiryDate;
+    }
+
     public int getStatus() {
         return status;
     }

+ 23 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1516,18 +1516,18 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(teacherClassGroupDto.getClassGroupId());
                 teacherClassGroupDto.setStudentNames(StringUtils.join(studentNums, ","));
             }
+            if (teacherClassGroupDto.getOnlineClassesNum() > 0 && teacherClassGroupDto.getOffLineClassesNum() <= 0) {
+                teacherClassGroupDto.setClassMode(1);
+            } else if (teacherClassGroupDto.getOnlineClassesNum() > 0 && teacherClassGroupDto.getOffLineClassesNum() > 0) {
+                teacherClassGroupDto.setClassMode(3);
+            } else if (teacherClassGroupDto.getOnlineClassesNum() <= 0 && teacherClassGroupDto.getOffLineClassesNum() > 0) {
+                teacherClassGroupDto.setClassMode(2);
+            } else {
+                teacherClassGroupDto.setClassMode(0);
+            }
             if (teacherClassGroupDto.getType() == ClassGroupTypeEnum.VIP) {
                 String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(teacherClassGroupDto.getClassGroupId());
                 teacherClassGroupDto.setStudentNames(StringUtils.join(studentNums, ","));
-                if (teacherClassGroupDto.getOnlineClassesNum() > 0 && teacherClassGroupDto.getOffLineClassesNum() <= 0) {
-                    teacherClassGroupDto.setClassMode(1);
-                } else if (teacherClassGroupDto.getOnlineClassesNum() > 0 && teacherClassGroupDto.getOffLineClassesNum() > 0) {
-                    teacherClassGroupDto.setClassMode(3);
-                } else if (teacherClassGroupDto.getOnlineClassesNum() <= 0 && teacherClassGroupDto.getOffLineClassesNum() > 0) {
-                    teacherClassGroupDto.setClassMode(2);
-                } else {
-                    teacherClassGroupDto.setClassMode(0);
-                }
 
                 Integer overCourses = vipGroupOverCourseMaps.get(teacherClassGroupDto.getMusicGroupId());
                 if (Objects.isNull(overCourses)) {
@@ -1639,9 +1639,23 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         String subjectNames = subjectDao.findNames(classGroup.getSubjectIdList());
 
         TeacherClassHeadInfo teacherClassHeadInfo = new TeacherClassHeadInfo();
+        //获取班级的线上、线下课数量
+        int onlineCourseNum = classGroupDao.countCourseNum(classGroupId,"ONLINE");
+        int offlineCourseNum = classGroupDao.countCourseNum(classGroupId,"OFFLINE");
+
+        if (onlineCourseNum > 0 && offlineCourseNum <= 0) {
+            teacherClassHeadInfo.setTeachMode("1");
+        } else if (onlineCourseNum > 0 && offlineCourseNum > 0) {
+            teacherClassHeadInfo.setTeachMode("3");
+        } else if (onlineCourseNum <= 0 && offlineCourseNum > 0) {
+            teacherClassHeadInfo.setTeachMode("2");
+        } else {
+            teacherClassHeadInfo.setTeachMode("0");
+        }
         teacherClassHeadInfo.setStudentNum(classGroupStudentMapperDao.countClassGroupStudentNum(classGroup.getId()));
         teacherClassHeadInfo.setCurrentClassTimes(courseScheduleDao.countCurrentTimes(classGroup.getId(), new Date()));
         teacherClassHeadInfo.setTotalClassTimes(courseScheduleDao.countClassGroupCourses(classGroup.getId()));
+        teacherClassHeadInfo.setSurplusClassTimes(teacherClassHeadInfo.getTotalClassTimes()-teacherClassHeadInfo.getCurrentClassTimes());
         if (subjectNames != null && !subjectNames.isEmpty()) {
             teacherClassHeadInfo.setSubjectNames(subjectNames);
         }

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

@@ -652,6 +652,8 @@
             mg.id_ music_group_id_,
             mg.name_ music_group_name_,
             s.id_ school_id_,
+            COUNT(CASE WHEN cs.teach_mode_ = 'ONLINE' THEN 1 ELSE NULL END) online_classes_num_,
+            COUNT(CASE WHEN cs.teach_mode_ = 'OFFLINE' THEN 1 ELSE NULL END) offline_classes_num_,
             CASE WHEN cg.type_ IN ('HIGH_ONLINE','MUSIC_NETWORK') THEN '网络教室' ELSE s.name_ END school_name_
         FROM
             course_schedule_teacher_salary csts
@@ -714,7 +716,7 @@
             vg.payment_expire_date_,
             vg.courses_expire_date_,
             vg.single_class_minutes_,
-            vg.courses_start_date,
+            vg.courses_start_date courses_start_date_,
             IF(vg.online_classes_num_ IS NULL,0,vg.online_classes_num_) online_classes_num_,
             IF(vg.offline_classes_num_ IS NULL,0,vg.offline_classes_num_) offline_classes_num_,
             cg.total_class_times_,
@@ -1516,4 +1518,7 @@
         LEFT JOIN class_group cg ON cg.music_group_id_ = pg.id_
         WHERE pg.educational_teacher_id_ = #{userId} AND cg.group_type_ = 'PRACTICE' AND cg.del_flag_ = 0
     </select>
+    <select id="countCourseNum" resultType="int">
+        SELECT COUNT(id_) FROM course_schedule WHERE class_group_id_ = #{teachMode} AND teach_mode_ = #{teachMode}
+    </select>
 </mapper>

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

@@ -168,6 +168,8 @@
 		<result property="createTime" column="create_time_"/>
 		<result property="day" column="day_"/>
 		<result property="startClassTime" column="start_class_time_"/>
+		<result property="endClassTime" column="end_class_time_"/>
+		<result property="expiryDate" column="expiry_date_"/>
 	</resultMap>
 
 	<select id="findByClassGroupAndTeacher" resultMap="teacherHomeworkListDto">
@@ -177,6 +179,8 @@
 			ch.create_time_,
 			DATE_FORMAT(cs.class_date_,'%Y-%m-%d') 'day_',
 			CONCAT( class_date_, ' ', start_class_time_ ) start_class_time_,
+			CONCAT( class_date_, ' ', end_class_time_ ) end_class_time_,
+			ch.expiry_date_,
 			ch.expect_num_,
 			ch.completed_num_,
 			cs.name_ course_schedule_name_,

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

@@ -1391,6 +1391,7 @@
         <result column="teach_mode_" property="teachMode" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="school_id_" property="schoolId"/>
         <result column="school_name_" property="schoolName"/>
+        <result column="expiry_date_" property="expiryDate"/>
     </resultMap>
 
     <sql id="teacherClassCourseScheduleQueryCondition">
@@ -1433,10 +1434,12 @@
         su.real_name_ username_,
         cg.total_class_times_,
         cs.schoole_id_ school_id_,
-        s.name_ school_name_
+        s.name_ school_name_,
+        ch.expiry_date_
         FROM
         course_schedule_teacher_salary csts
         LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
+        LEFT JOIN course_homework ch ON ch.course_schedule_id_ = cs.id_
         LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
         LEFT JOIN sys_user su ON cs.actual_teacher_id_ = su.id_
         LEFT JOIN school s ON cs.schoole_id_=s.id_
@@ -1499,10 +1502,12 @@
         GROUP_CONCAT(IF(sa.status_='NORMAL',ssu.username_,NULL)) student_names_,
         MAX(sa.current_class_times_) current_class_times_,
         cs.schoole_id_ school_id_,
+        ch.expiry_date_,
         s.name_ school_name_
         FROM
         student_attendance sa
         LEFT JOIN course_schedule cs ON cs.id_ = sa.course_schedule_id_
+        LEFT JOIN course_homework ch ON ch.course_schedule_id_ = cs.id_
         LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
         LEFT JOIN sys_user su ON cs.actual_teacher_id_ = su.id_
         LEFT JOIN sys_user ssu ON sa.user_id_=ssu.id_