瀏覽代碼

Merge remote-tracking branch 'origin/master'

Joburgess 5 年之前
父節點
當前提交
702e6a7c91

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

@@ -5,9 +5,11 @@ import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
 import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
+import com.ym.mec.biz.dal.entity.StudentAttendance;
 import com.ym.mec.biz.dal.entity.StudentCourseScheduleRecordDto;
 import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 import com.ym.mec.common.dal.BaseDAO;
+
 import org.apache.ibatis.annotations.Param;
 
 import java.util.Date;
@@ -588,4 +590,10 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return
      */
     int deleteCourseSchedulesByClassGroupIds(@Param("classGroupIds") List<Integer> classGroupIds);
+    
+    /**
+     * 查询所有未签到的学生信息
+     * @return
+     */
+    List<StudentAttendance> queryUnsignedStudentList();
 }

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

@@ -22,6 +22,8 @@ public interface StudentAttendanceDao extends BaseDAO<Long, StudentAttendance> {
      * 批量插入学生上课签到情况
      */
     int addStudentAttendances(List<StudentAttendance> studentAttendances);
+    
+    int batchUpdate(List<StudentAttendance> studentAttendances);
 
     /**
      * @describe 根据课程删除对应的点名记录

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

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
+import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 
 /**
@@ -15,6 +16,8 @@ public class ClassGroup {
 	/**  */
 	@ApiModelProperty(value = "班级编号", required = false)
 	private Integer id;
+	
+	private GroupType groupType;
 
 	/**  */
 	@ApiModelProperty(value = "乐团编号", required = true)
@@ -113,6 +116,14 @@ public class ClassGroup {
 		return this.id;
 	}
 
+	public GroupType getGroupType() {
+		return groupType;
+	}
+
+	public void setGroupType(GroupType groupType) {
+		this.groupType = groupType;
+	}
+
 	public void setMusicGroupId(String musicGroupId) {
 		this.musicGroupId = musicGroupId;
 	}

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

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
+import com.ym.mec.biz.dal.enums.GroupType;
 
 /**
  * 对应数据库表(class_group_student_mapper):
@@ -13,6 +14,8 @@ public class ClassGroupStudentMapper {
 
 	/**  */
 	private Long id;
+	
+	private GroupType groupType;
 
 	/** 乐团id */
 	@ApiModelProperty(value = "班级编号",required = false)
@@ -77,6 +80,14 @@ public class ClassGroupStudentMapper {
 		this.classGroupId = classGroupId;
 	}
 	
+	public GroupType getGroupType() {
+		return groupType;
+	}
+
+	public void setGroupType(GroupType groupType) {
+		this.groupType = groupType;
+	}
+
 	public int getClassGroupId(){
 		return this.classGroupId;
 	}

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.TeachTypeEnum;
 
 import io.swagger.annotations.ApiModelProperty;
@@ -17,6 +18,8 @@ public class ClassGroupTeacherMapper {
 	/**  */
 	private Long id;
 	
+	private GroupType groupType;
+	
 	/**  */
 	@ApiModelProperty(value = "乐团编号",required = false)
 	private String musicGroupId;
@@ -57,6 +60,14 @@ public class ClassGroupTeacherMapper {
 		return this.id;
 	}
 			
+	public GroupType getGroupType() {
+		return groupType;
+	}
+
+	public void setGroupType(GroupType groupType) {
+		this.groupType = groupType;
+	}
+
 	public void setMusicGroupId(String musicGroupId){
 		this.musicGroupId = musicGroupId;
 	}

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

@@ -925,17 +925,28 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 	@Override
 	public boolean updateCourseScheduleToOverStatus() {
+
+		Date date = new Date();
+		List<StudentAttendance> studentAttendanceList = courseScheduleDao.queryUnsignedStudentList();
+		for (StudentAttendance studentAttendance : studentAttendanceList) {
+			studentAttendance.setStatus(StudentAttendanceStatusEnum.TRUANT);
+			studentAttendance.setCreateTime(date);
+		}
+
+		if (studentAttendanceList != null && studentAttendanceList.size() > 0) {
+			studentAttendanceDao.batchUpdate(studentAttendanceList);
+		}
+
 		List<CourseSchedule> list = courseScheduleDao.queryFinishedWithNoUpdateStatus();
 
 		List<CourseSchedule> updateList = new ArrayList<CourseSchedule>();
-		Date date = new Date();
 		List<Integer> classGroups = new ArrayList<Integer>();
 		for (CourseSchedule courseSchedule : list) {
 			courseSchedule.setStatus(CourseStatusEnum.OVER);
 			courseSchedule.setUpdateTime(date);
 			updateList.add(courseSchedule);
-			
-			if(!classGroups.contains(courseSchedule.getClassGroupId())){
+
+			if (!classGroups.contains(courseSchedule.getClassGroupId())) {
 				classGroups.add(courseSchedule.getClassGroupId());
 			}
 		}
@@ -943,12 +954,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		if (updateList.size() > 0) {
 			courseScheduleDao.batchUpdate(updateList);
 		}
-		
-		//更新班级课次
-		if(classGroups.size()>0){
+
+		// 更新班级课次
+		if (classGroups.size() > 0) {
 			classGroupService.batchIncreaseClassTimes(classGroups);
 		}
-		
+
 		return true;
 	}
 

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

@@ -7,6 +7,7 @@
 <mapper namespace="com.ym.mec.biz.dal.dao.ClassGroupDao">
     <resultMap type="com.ym.mec.biz.dal.entity.ClassGroup" id="ClassGroup">
         <result column="id_" property="id"/>
+        <result column="group_type_" property="groupType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="music_group_id_" property="musicGroupId"/>
         <result column="subject_id_list_" property="subjectIdList"/>
         <result column="subject_name_" property="subjectName"/>
@@ -45,6 +46,7 @@
         INSERT INTO class_group
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id!=null">id_,</if>
+            <if test="groupType!=null">group_type_,</if>
             <if test="musicGroupId!=null">music_group_id_,</if>
             <if test="subjectIdList!=null">subject_id_list_,</if>
             <if test="name!=null">name_,</if>
@@ -61,6 +63,7 @@
         VALUES
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id!=null">#{id},</if>
+            <if test="groupType!=null">#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},</if>
             <if test="musicGroupId!=null">#{musicGroupId},</if>
             <if test="subjectIdList!=null">#{subjectIdList},</if>
             <if test="name!=null">#{name},</if>
@@ -107,6 +110,9 @@
             <if test="type != null">
                 type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
+            <if test="groupType != null">
+                group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
             <if test="name != null">
                 name_ = #{name},
             </if>

+ 6 - 2
mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml

@@ -8,6 +8,7 @@
 
     <resultMap type="com.ym.mec.biz.dal.entity.ClassGroupStudentMapper" id="ClassGroupStudentMapper">
         <result column="id_" property="id"/>
+        <result column="group_type_" property="groupType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="music_group_id_" property="musicGroupId" />
         <result column="class_group_id_" property="classGroupId"/>
         <result column="user_id_" property="userId"/>
@@ -28,8 +29,8 @@
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.ClassGroupStudentMapper" useGeneratedKeys="true"
             keyColumn="id" keyProperty="id">
-        INSERT INTO class_group_student_mapper (id_,music_group_id_,class_group_id_,user_id_,status_,create_time_)
-        VALUES(#{id},#{musicGroupId},#{classGroupId},#{userId},#{status},now())
+        INSERT INTO class_group_student_mapper (id_,group_type_,music_group_id_,class_group_id_,user_id_,status_,create_time_)
+        VALUES(#{id},#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{musicGroupId},#{classGroupId},#{userId},#{status},now())
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -45,6 +46,9 @@
             <if test="status != null">
                 status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
+            <if test="groupType != null">
+                group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
         </set>
         WHERE id_ = #{id}
     </update>

+ 6 - 2
mec-biz/src/main/resources/config/mybatis/ClassGroupTeacherMapperMapper.xml

@@ -6,6 +6,7 @@
     <resultMap type="com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper"
                id="ClassGroupTeacherMapper">
         <result column="id_" property="id"/>
+        <result column="group_type_" property="groupType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="music_group_id_" property="musicGroupId"/>
         <result column="class_group_id_" property="classGroupId"/>
         <result column="teacher_role_" property="teacherRole"/>
@@ -35,8 +36,8 @@
         <!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval
             AS ID FROM DUAL </selectKey> -->
         INSERT INTO class_group_teacher_mapper
-        (id_,music_group_id_,class_group_id_,teacher_role_,user_id_,salary_,create_time_,update_time_)
-        VALUES(#{id},#{musicGroupId},#{classGroupId},#{teacherRole},#{userId},#{salary},#{createTime},NOW())
+        (id_,group_type_,music_group_id_,class_group_id_,teacher_role_,user_id_,salary_,create_time_,update_time_)
+        VALUES(#{id},#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{musicGroupId},#{classGroupId},#{teacherRole},#{userId},#{salary},#{createTime},NOW())
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -49,6 +50,9 @@
             <if test="id != null">
                 id_ = #{id},
             </if>
+            <if test="groupType != null">
+                group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
             <if test="classGroupId != null">
                 class_group_id_ = #{classGroupId},
             </if>

+ 10 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupTeacherSalaryMapper.xml

@@ -3,6 +3,7 @@
 <mapper namespace="com.ym.mec.biz.dal.dao.ClassGroupTeacherSalaryDao">
   <resultMap id="ClassGroupTeacherSalary" type="com.ym.mec.biz.dal.entity.ClassGroupTeacherSalary">
     <id column="id_" jdbcType="BIGINT" property="id" />
+    <result column="group_type_" property="groupType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     <result column="music_group_id_" jdbcType="INTEGER" property="musicGroupId" />
     <result column="class_group_id_" jdbcType="INTEGER" property="classGroupId" />
     <result column="teacher_role_" jdbcType="VARCHAR" property="teacherRole" />
@@ -23,6 +24,9 @@
     
     insert into class_group_teacher_salary
     <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="groupType != null">
+        group_type_,
+      </if>
       <if test="musicGroupId != null">
         music_group_id_,
       </if>
@@ -49,6 +53,9 @@
       </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="groupType != null">
+        #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+      </if>
       <if test="musicGroupId != null">
         #{musicGroupId,jdbcType=INTEGER},
       </if>
@@ -82,6 +89,9 @@
       <if test="musicGroupId != null">
         music_group_id_ = #{musicGroupId,jdbcType=INTEGER},
       </if>
+      <if test="groupType != null">
+          group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+      </if>
       <if test="classGroupId != null">
         class_group_id_ = #{classGroupId,jdbcType=INTEGER},
       </if>

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

@@ -62,6 +62,15 @@
         <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="rest_of_class_" property="restOfClass"/>
     </resultMap>
+    
+    <resultMap type="com.ym.mec.biz.dal.entity.StudentAttendance" id="StudentAttendance">
+        <result column="music_group_id_" property="musicGroupId"/>
+        <result column="class_group_id_" property="classGroupId"/>
+        <result column="course_schedule_id_" property="courseScheduleId"/>
+        <result column="user_id_" property="userId"/>
+        <result column="teacher_id_" property="teacherId"/>
+        <result column="current_class_times_" property="currentClassTimes"/>
+    </resultMap>
 
     <!-- 根据主键查询一条记录 -->
     <select id="get" resultMap="CourseSchedule">
@@ -1349,4 +1358,8 @@
             #{classGroupId}
         </foreach>
     </delete>
+    
+    <select id="queryUnsignedStudentList" resultMap="StudentAttendance">
+        SELECT a.*,cg.current_class_times_ FROM (SELECT cgsm.user_id_,cs.actual_teacher_id_ teacher_id_,cs.id_ course_schedule_id_,cs.class_group_id_,cs.music_group_id_,cs.group_type_ FROM class_group_student_mapper cgsm right JOIN course_schedule cs ON cgsm.class_group_id_ = cs.class_group_id_ WHERE cgsm.status_ = 'NORMAL' AND CONCAT(cs.class_date_,' ',cs.end_class_time_) &lt;= now()) a LEFT JOIN student_attendance sa ON a.course_schedule_id_ = sa.course_schedule_id_ LEFT JOIN class_group cg ON a.class_group_id_ = cg.id_ WHERE sa.user_id_ IS null
+    </select>
 </mapper>

+ 33 - 0
mec-biz/src/main/resources/config/mybatis/StudentAttendanceMapper.xml

@@ -76,6 +76,39 @@
         </set>
         WHERE id_ = #{id}
     </update>
+    
+    <update id="batchUpdate"  parameterType="java.util.List">  
+    	<foreach collection="list" item="item" index="index" open="" close="" separator=";">
+	        update student_attendance
+	        <set>
+	            <if test="item.status != null">
+	                status_ = #{item.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+	            </if>
+	            <if test="item.userId != null">
+	                user_id_ = #{item.userId},
+	            </if>
+	            <if test="item.remark != null">
+	                remark_ = #{item.remark},
+	            </if>
+	            <if test="item.classGroupId != null">
+	                class_group_id_ = #{item.classGroupId},
+	            </if>
+	            <if test="item.teacherId != null">
+	                teacher_id_ = #{item.teacherId},
+	            </if>
+	            <if test="item.courseScheduleId != null">
+	                course_schedule_id_ = #{item.courseScheduleId},
+	            </if>
+	            <if test="item.musicGroupId != null">
+	                music_group_id_ = #{item.musicGroupId},
+	            </if>
+	            <if test="item.currentClassTimes != null">
+	                current_class_times_ = #{item.currentClassTimes},
+	            </if>
+        	</set>
+	        where id = ${item.id}
+	    </foreach>      
+	</update>
 
     <!-- 根据主键删除一条记录 -->
     <delete id="delete">