|  | @@ -14,6 +14,9 @@
 | 
	
		
			
				|  |  |  		<result column="score_" property="score" />
 | 
	
		
			
				|  |  |  		<result column="create_time_" property="createTime" />
 | 
	
		
			
				|  |  |  		<result column="update_time_" property="updateTime" />
 | 
	
		
			
				|  |  | +		<result column="remark_" property="remark" />
 | 
	
		
			
				|  |  | +		<result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 | 
	
		
			
				|  |  | +		<result column="is_replied_" property="isReplied" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 | 
	
		
			
				|  |  |  	</resultMap>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	<resultMap type="com.ym.mec.web.dal.dto.CourseHomeworkStudentDetailDto" id="CourseHomeworkStudentDetailDto">
 | 
	
	
		
			
				|  | @@ -26,6 +29,8 @@
 | 
	
		
			
				|  |  |  		<result column="expect_num_" property="expectNum" />
 | 
	
		
			
				|  |  |  		<result column="attachments_" property="attachments" />
 | 
	
		
			
				|  |  |  		<result column="score_" property="score" />
 | 
	
		
			
				|  |  | +		<result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 | 
	
		
			
				|  |  | +		<result column="is_replied_" property="isReplied" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 | 
	
		
			
				|  |  |  	</resultMap>
 | 
	
		
			
				|  |  |  	
 | 
	
		
			
				|  |  |  	<!-- 根据主键查询一条记录 -->
 | 
	
	
		
			
				|  | @@ -45,12 +50,21 @@
 | 
	
		
			
				|  |  |  		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
 | 
	
		
			
				|  |  |  		</selectKey>
 | 
	
		
			
				|  |  |  		-->
 | 
	
		
			
				|  |  | -		INSERT INTO student_course_homework (id_,user_id_,course_homework_id_,attachments_,score_,create_time_,update_time_) VALUES(#{id},#{userId},#{courseHomeworkId},#{attachments},#{score},now(),now())
 | 
	
		
			
				|  |  | +		INSERT INTO student_course_homework (id_,user_id_,course_homework_id_,attachments_,score_,create_time_,update_time_,remark_,status_,is_replied_) VALUES(#{id},#{userId},#{courseHomeworkId},#{attachments},#{score},now(),now(),#{remark},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{isReplied,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
 | 
	
		
			
				|  |  |  	</insert>
 | 
	
		
			
				|  |  | -	
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	<insert id="batchInsertStudentCourseHomeworkRecord" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id_">
 | 
	
		
			
				|  |  | +		INSERT INTO student_course_homework (user_id_,course_homework_id_,attachments_,score_,create_time_,update_time_,remark_,status_,is_replied_)
 | 
	
		
			
				|  |  | +		VALUE
 | 
	
		
			
				|  |  | +		<foreach collection="list" item="homework" separator=",">
 | 
	
		
			
				|  |  | +			(#{homework.userId},#{homework.courseHomeworkId},#{homework.attachments},#{homework.score},now(),now(),#{homework.remark},#{homework.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{homework.isReplied,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
 | 
	
		
			
				|  |  | +		</foreach>
 | 
	
		
			
				|  |  | +	</insert>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	<!-- 根据主键查询一条记录 -->
 | 
	
		
			
				|  |  |  	<update id="update" parameterType="com.ym.mec.web.dal.entity.StudentCourseHomework">
 | 
	
		
			
				|  |  | -		UPDATE student_course_homework <set>
 | 
	
		
			
				|  |  | +		UPDATE student_course_homework
 | 
	
		
			
				|  |  | +		<set>
 | 
	
		
			
				|  |  |  			<if test="id != null">
 | 
	
		
			
				|  |  |  			id_ = #{id},
 | 
	
		
			
				|  |  |  			</if>
 | 
	
	
		
			
				|  | @@ -69,6 +83,15 @@
 | 
	
		
			
				|  |  |  			<if test="createTime != null">
 | 
	
		
			
				|  |  |  			create_time_ = #{createTime},
 | 
	
		
			
				|  |  |  			</if>
 | 
	
		
			
				|  |  | +			<if test="remark != null">
 | 
	
		
			
				|  |  | +				remark_ = #{remark},
 | 
	
		
			
				|  |  | +			</if>
 | 
	
		
			
				|  |  | +			<if test="status != null">
 | 
	
		
			
				|  |  | +				status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
 | 
	
		
			
				|  |  | +			</if>
 | 
	
		
			
				|  |  | +			<if test="isReplied != null">
 | 
	
		
			
				|  |  | +				is_replied_ = #{isReplied,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
 | 
	
		
			
				|  |  | +			</if>
 | 
	
		
			
				|  |  |  		</set> WHERE id_ = #{id}
 | 
	
		
			
				|  |  |  	</update>
 | 
	
		
			
				|  |  |  	
 | 
	
	
		
			
				|  | @@ -76,15 +99,73 @@
 | 
	
		
			
				|  |  |  	<delete id="delete" >
 | 
	
		
			
				|  |  |  		DELETE FROM student_course_homework WHERE id_ = #{id} 
 | 
	
		
			
				|  |  |  	</delete>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	<resultMap type="com.ym.mec.web.dal.dto.CourseHomeworkListDto" id="CourseHomeworkDto">
 | 
	
		
			
				|  |  | +		<result column="id_" property="id" />
 | 
	
		
			
				|  |  | +		<result column="course_schedule_id_" property="courseScheduleId" />
 | 
	
		
			
				|  |  | +		<result column="content_" property="content" />
 | 
	
		
			
				|  |  | +		<result column="create_time_" property="createTime" />
 | 
	
		
			
				|  |  | +		<result column="start_class_time_" property="startClassTime" />
 | 
	
		
			
				|  |  | +		<result column="music_group_id_" property="musicGroupId" />
 | 
	
		
			
				|  |  | +		<result column="music_group_name_" property="musicGroupName" />
 | 
	
		
			
				|  |  | +		<result column="class_group_id_" property="classGroupId" />
 | 
	
		
			
				|  |  | +		<result column="class_group_name_" property="classGroupName" />
 | 
	
		
			
				|  |  | +		<result column="completed_num_" property="completedNum" />
 | 
	
		
			
				|  |  | +		<result column="expect_num_" property="expectNum" />
 | 
	
		
			
				|  |  | +		<result column="next_class_date_" property="expiryDate" />
 | 
	
		
			
				|  |  | +		<result column="remark_" property="remark" />
 | 
	
		
			
				|  |  | +		<result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 | 
	
		
			
				|  |  | +		<result column="is_replied_" property="isReplied" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 | 
	
		
			
				|  |  | +	</resultMap>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	<sql id="queryCondition">
 | 
	
		
			
				|  |  | +		<where>
 | 
	
		
			
				|  |  | +			<if test="createTime != null">
 | 
	
		
			
				|  |  | +				DATE_FORMAT(ch.create_time_,"%Y%m%d") = DATE_FORMAT(#{createTime},"%Y%m%d")
 | 
	
		
			
				|  |  | +			</if>
 | 
	
		
			
				|  |  | +			<if test="musicGroupId != null">
 | 
	
		
			
				|  |  | +				and ch.music_group_id_ = #{musicGroupId}
 | 
	
		
			
				|  |  | +			</if>
 | 
	
		
			
				|  |  | +			<if test="classGroupId != null">
 | 
	
		
			
				|  |  | +				and ch.class_group_id_ = #{classGroupId}
 | 
	
		
			
				|  |  | +			</if>
 | 
	
		
			
				|  |  | +			<if test="userId != null">
 | 
	
		
			
				|  |  | +				and sch.user_id_ = #{userId}
 | 
	
		
			
				|  |  | +			</if>
 | 
	
		
			
				|  |  | +		</where>
 | 
	
		
			
				|  |  | +	</sql>
 | 
	
		
			
				|  |  |  	
 | 
	
		
			
				|  |  |  	<!-- 分页查询 -->
 | 
	
		
			
				|  |  | -	<select id="queryPage" resultMap="StudentCourseHomework" parameterType="map">
 | 
	
		
			
				|  |  | -		SELECT * FROM student_course_homework ORDER BY id_ <include refid="global.limit"/>
 | 
	
		
			
				|  |  | +	<select id="queryPage" resultMap="CourseHomeworkDto" parameterType="map">
 | 
	
		
			
				|  |  | +		SELECT
 | 
	
		
			
				|  |  | +		ch.*,
 | 
	
		
			
				|  |  | +		mg.name_ music_group_name_,
 | 
	
		
			
				|  |  | +		cg.name_ class_group_name_,
 | 
	
		
			
				|  |  | +		temp.next_class_date_,
 | 
	
		
			
				|  |  | +		sch.remark_,
 | 
	
		
			
				|  |  | +		sch.status_,
 | 
	
		
			
				|  |  | +		sch.is_replied_
 | 
	
		
			
				|  |  | +		FROM student_course_homework sch
 | 
	
		
			
				|  |  | +		LEFT JOIN course_homework ch ON sch.course_homework_id_=ch.id_
 | 
	
		
			
				|  |  | +		LEFT JOIN course_schedule cs ON ch.course_schedule_id_=cs.id_
 | 
	
		
			
				|  |  | +		LEFT JOIN music_group mg ON ch.music_group_id_=mg.id_
 | 
	
		
			
				|  |  | +		LEFT JOIN class_group cg ON ch.class_group_id_=cg.id_
 | 
	
		
			
				|  |  | +		LEFT JOIN (SELECT
 | 
	
		
			
				|  |  | +		class_group_id_,
 | 
	
		
			
				|  |  | +		MIN(CONCAT( class_date_, ' ', start_class_time_ )) next_class_date_
 | 
	
		
			
				|  |  | +		FROM
 | 
	
		
			
				|  |  | +		course_schedule
 | 
	
		
			
				|  |  | +		WHERE CONCAT( class_date_, ' ', start_class_time_ )>now()
 | 
	
		
			
				|  |  | +		GROUP BY class_group_id_) temp ON ch.class_group_id_=temp.class_group_id_
 | 
	
		
			
				|  |  | +		<include refid="queryCondition"/>
 | 
	
		
			
				|  |  | +		ORDER BY ch.id_
 | 
	
		
			
				|  |  | +		<include refid="global.limit"/>
 | 
	
		
			
				|  |  |  	</select>
 | 
	
		
			
				|  |  |  	
 | 
	
		
			
				|  |  |  	<!-- 查询当前表的总记录数 -->
 | 
	
		
			
				|  |  |  	<select id="queryCount" resultType="int">
 | 
	
		
			
				|  |  | -		SELECT COUNT(*) FROM student_course_homework
 | 
	
		
			
				|  |  | +		SELECT COUNT(*) FROM student_course_homework sch
 | 
	
		
			
				|  |  | +		<include refid="queryCondition"/>
 | 
	
		
			
				|  |  |  	</select>
 | 
	
		
			
				|  |  |  	<select id="findCourseHomeworkStudentDetail" resultMap="CourseHomeworkStudentDetailDto">
 | 
	
		
			
				|  |  |  		SELECT
 | 
	
	
		
			
				|  | @@ -96,7 +177,9 @@
 | 
	
		
			
				|  |  |  			ch.completed_num_,
 | 
	
		
			
				|  |  |  			ch.expect_num_,
 | 
	
		
			
				|  |  |  			sch.attachments_,
 | 
	
		
			
				|  |  | -			sch.score_
 | 
	
		
			
				|  |  | +			sch.score_,
 | 
	
		
			
				|  |  | +			sch.status_,
 | 
	
		
			
				|  |  | +			sch.is_replied_
 | 
	
		
			
				|  |  |  		FROM
 | 
	
		
			
				|  |  |  			course_homework ch
 | 
	
		
			
				|  |  |  		LEFT JOIN student_course_homework sch ON ch.id_=sch.course_homework_id_
 | 
	
	
		
			
				|  | @@ -104,4 +187,16 @@
 | 
	
		
			
				|  |  |  		LEFT JOIN class_group cg ON ch.class_group_id_=cg.id_
 | 
	
		
			
				|  |  |  		WHERE ch.course_schedule_id_=#{courseScheduleID} AND sch.user_id_=#{userID}
 | 
	
		
			
				|  |  |  	</select>
 | 
	
		
			
				|  |  | +	<select id="constructInitialStudentHomeworkRecords" resultMap="StudentCourseHomework">
 | 
	
		
			
				|  |  | +		SELECT
 | 
	
		
			
				|  |  | +			#{courseHomeworkID} course_homework_id_,
 | 
	
		
			
				|  |  | +			sa.user_id_,
 | 
	
		
			
				|  |  | +			0 status_,
 | 
	
		
			
				|  |  | +			0 is_replied_
 | 
	
		
			
				|  |  | +		FROM
 | 
	
		
			
				|  |  | +			student_attendance sa
 | 
	
		
			
				|  |  | +		WHERE
 | 
	
		
			
				|  |  | +			sa.course_schedule_id_ = #{courseScheduleID}
 | 
	
		
			
				|  |  | +			AND status_ = "NORMAL"
 | 
	
		
			
				|  |  | +	</select>
 | 
	
		
			
				|  |  |  </mapper>
 |