HomeworkMapper.xml 9.91 KB
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="HomeworkMapper">
	
	<!--表名 -->
	<sql id="tableName">
		SV_HOMEWORK
	</sql>
	
	<!-- 字段 -->
	<sql id="Field">
		CODE,	
		NAME,	
		SUBJECT_ID,	
		CLASS_ID,	
		GRADE_ID,	
		SCHOOL_ID,	
		COMPLETE_DATE,	
		CREATE_DATE,	
		MODIFY_DATE,	
		COMPLETE_COUNT,	
		ALL_SCORE,	
		TEACHER_ID,	
		HOMEWORK_DESC,	
		COMPLETE_DESC,	
		SUMBIT_DATE,	
		GET_SCORE,	
		GET_SCORE_PERSENT,	
		GET_MAX_SCORE,	
		QUESTION_COUNT,	
		ANSWER_PERSENT,	
		HOMEWORK_ID
	</sql>
	
	<!-- 字段值 -->
	<sql id="FieldValue">
		#{CODE},	
		#{NAME},	
		#{SUBJECT_ID},	
		#{CLASS_ID},	
		#{GRADE_ID},	
		#{SCHOOL_ID},	
		#{COMPLETE_DATE},	
		#{CREATE_DATE},	
		#{MODIFY_DATE},	
		#{COMPLETE_COUNT},	
		#{ALL_SCORE},	
		#{TEACHER_ID},	
		#{HOMEWORK_DESC},	
		#{COMPLETE_DESC},	
		#{SUMBIT_DATE},	
		#{GET_SCORE},	
		#{GET_SCORE_PERSENT},	
		#{GET_MAX_SCORE},	
		#{QUESTION_COUNT},	
		#{ANSWER_PERSENT},	
		#{HOMEWORK_ID}
	</sql>
	
	<!-- 新增-->
	<insert id="save" parameterType="pd">
		insert into 
	<include refid="tableName"></include>
		(
	<include refid="Field"></include>
		) values (
	<include refid="FieldValue"></include>
		)
	</insert>
	
	<!-- 删除-->
	<delete id="delete" parameterType="pd">
		delete from
		<include refid="tableName"></include>
		where 
			HOMEWORK_ID = #{HOMEWORK_ID}
	</delete>
	
	<!-- 修改 -->
	<update id="edit" parameterType="pd">
		update
		<include refid="tableName"></include>
		set 
			<if test="CODE != null and CODE != ''">
			CODE = #{CODE},
			</if><if test="NAME != null and NAME != ''">
			NAME = #{NAME},
			</if><if test="SUBJECT_ID != null and SUBJECT_ID != ''">
			SUBJECT_ID = #{SUBJECT_ID},
			</if><if test="CLASS_ID != null and CLASS_ID != ''">
			CLASS_ID = #{CLASS_ID},
			</if><if test="GRADE_ID != null and GRADE_ID != ''">
			GRADE_ID = #{GRADE_ID},
			</if><if test="SCHOOL_ID != null and SCHOOL_ID != ''">
			SCHOOL_ID = #{SCHOOL_ID},
			</if><if test="COMPLETE_DATE != null and COMPLETE_DATE != ''">
			COMPLETE_DATE = #{COMPLETE_DATE},
			</if><if test="CREATE_DATE != null and CREATE_DATE != ''">
			CREATE_DATE = #{CREATE_DATE},
			</if><if test="MODIFY_DATE != null and MODIFY_DATE != ''">
			MODIFY_DATE = #{MODIFY_DATE},
			</if><if test="COMPLETE_COUNT != null and COMPLETE_COUNT != ''">
			COMPLETE_COUNT = #{COMPLETE_COUNT},
			</if><if test="ALL_SCORE != null and ALL_SCORE != ''">
			ALL_SCORE = #{ALL_SCORE},
			</if><if test="TEACHER_ID != null and TEACHER_ID != ''">
			TEACHER_ID = #{TEACHER_ID},
			</if><if test="HOMEWORK_DESC != null and HOMEWORK_DESC != ''">
			HOMEWORK_DESC = #{HOMEWORK_DESC},
			</if><if test="COMPLETE_DESC != null and COMPLETE_DESC != ''">
			COMPLETE_DESC = #{COMPLETE_DESC},
			</if><if test="SUMBIT_DATE != null and SUMBIT_DATE != ''">
			SUMBIT_DATE = #{SUMBIT_DATE},
			</if><if test="GET_SCORE != null and GET_SCORE != ''">
			GET_SCORE = #{GET_SCORE},
			</if><if test="GET_SCORE_PERSENT != null and GET_SCORE_PERSENT != ''">
			GET_SCORE_PERSENT = #{GET_SCORE_PERSENT},
			</if><if test="GET_MAX_SCORE != null and GET_MAX_SCORE != ''">
			GET_MAX_SCORE = #{GET_MAX_SCORE},
			</if><if test="QUESTION_COUNT != null and QUESTION_COUNT != ''">
			QUESTION_COUNT = #{QUESTION_COUNT},
			</if><if test="ANSWER_PERSENT != null and ANSWER_PERSENT != ''">
			ANSWER_PERSENT = #{ANSWER_PERSENT},
			</if>
		HOMEWORK_ID = HOMEWORK_ID
		where 
		HOMEWORK_ID = #{HOMEWORK_ID}
	</update>
	
	
	<!-- 修改 -->
	<update id="deleteHomework" parameterType="pd">
		update
		<include refid="tableName"></include>
		set IS_DELETE = '1'
		where 
		HOMEWORK_ID = #{HOMEWORK_ID}
	</update>
	<!-- 修改 -->
	<update id="deleteHomeworkAll" parameterType="String">
		update
		<include refid="tableName"></include>
		set IS_DELETE = '1'
		where 
		HOMEWORK_ID in 
		<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
                 #{item}
		</foreach>
	</update>
	
	<!-- 通过ID获取数据 -->
	<select id="findById" parameterType="pd" resultType="pd">
		select 
		<include refid="Field"></include>
		from 
		<include refid="tableName"></include>
		where 
			HOMEWORK_ID = #{HOMEWORK_ID}
	</select>
	
	<!-- 通过ID获取数据 -->
	<select id="findByCode" parameterType="pd" resultType="pd">
		select 
		<include refid="Field"></include>
		from 
		<include refid="tableName"></include>
		where 
			CODE = #{CODE}
	</select>
	
	
	<select id="querySubjectId" parameterType="pd" resultType="pd">
		select 
		SUBJECT_ID 
		from 
		sv_coursemanagement 
		where TEACHER_ID = #{TEACHER_ID} 
		GROUP BY SUBJECT_ID
	</select>
	
	<!-- 列表 -->
	<select id="datalistPage" parameterType="page" resultType="pd">
		select
		<include refid="Field"></include>
		from 
		<include refid="tableName"></include>
		where 1=1
		<if test="pd.SUBJECT_ID != null and pd.SUBJECT_ID != ''"><!-- 关键词检索 -->
			and SUBJECT_ID = #{pd.SUBJECT_ID}
		</if>
		<if test="pd.CLASS_ID != null and pd.CLASS_ID != ''"><!-- 关键词检索 -->
			and CLASS_ID = #{pd.CLASS_ID}
		</if>
		<if test="pd.GRADE_ID != null and pd.GRADE_ID != ''"><!-- 关键词检索 -->
			and GRADE_ID = #{pd.GRADE_ID}
		</if>
		<if test="pd.SCHOOL_ID != null and pd.SCHOOL_ID != ''"><!-- 关键词检索 -->
			and SCHOOL_ID = #{pd.SCHOOL_ID}
		</if>
		<if test="pd.TEACHER_ID != null and pd.TEACHER_ID != ''"><!-- 关键词检索 -->
			and TEACHER_ID = #{pd.TEACHER_ID}
		</if>
		<if test="pd.COMPLETE_DATE != null and pd.COMPLETE_DATE != ''"><!-- 关键词检索 -->
			and COMPLETE_DATE = #{pd.COMPLETE_DATE}
		</if>
		<if test="pd.STARTDATE != null and pd.STARTDATE != ''"><!-- 关键词检索 -->
			and COMPLETE_DATE &gt; #{pd.STARTDATE}
		</if>
		<if test="pd.ENDDATE != null and pd.ENDDATE != ''"><!-- 关键词检索 -->
			and COMPLETE_DATE &lt; #{pd.ENDDATE}
		</if>
		<if test="pd.STATUS != null and pd.STATUS != ''"><!-- 关键词检索 -->
			and COMPLETE_COUNT = #{pd.STATUS}
		</if>
		
		and IS_DELETE is  null
		ORDER BY COMPLETE_DATE DESC
	</select>
	
	<!-- 列表(全部) -->
	<select id="listAll" parameterType="pd" resultType="pd">
		select
		<include refid="Field"></include>
		from 
		<include refid="tableName"></include>
		where 1 = 1
		<if test="SUBJECT_ID != null and SUBJECT_ID != ''"><!-- 关键词检索 -->
			and SUBJECT_ID = #{SUBJECT_ID}
		</if>
		<if test="CLASS_ID != null and CLASS_ID != ''"><!-- 关键词检索 -->
			and CLASS_ID = #{CLASS_ID}
		</if>
		<if test="GRADE_ID != null and GRADE_ID != ''"><!-- 关键词检索 -->
			and GRADE_ID = #{GRADE_ID}
		</if>
		<if test="SCHOOL_ID != null and SCHOOL_ID != ''"><!-- 关键词检索 -->
			and SCHOOL_ID = #{SCHOOL_ID}
		</if>
		<if test="TEACHER_ID != null and TEACHER_ID != ''"><!-- 关键词检索 -->
			and TEACHER_ID = #{TEACHER_ID}
		</if>
		<if test="COMPLETE_DATE != null and COMPLETE_DATE != ''"><!-- 关键词检索 -->
			and COMPLETE_DATE = #{COMPLETE_DATE}
		</if>
		<if test="START_DATE != null and START_DATE != ''"><!-- 关键词检索 -->
			and COMPLETE_DATE &gt; #{START_DATE}
		</if>
		<if test="END_DATE != null and END_DATE != ''"><!-- 关键词检索 -->
			and COMPLETE_DATE &lt; #{END_DATE}
		</if>
		ORDER BY COMPLETE_DATE DESC
	</select>
	
	<!-- 列表(全部) -->
	<select id="qlistAll" parameterType="pd" resultType="pd">
		select
			COMPLETE_COUNT,
			CODE,	
			NAME,	
			SUBJECT_ID,	
			CLASS_ID,	
			COMPLETE_DATE,	
			ALL_SCORE,	
			QUESTION_COUNT,	
			COMPLETE_DESC,
			HOMEWORK_ID
		from 
		<include refid="tableName"></include>
		where 1 = 1
		<if test="SUBJECT_ID != null and SUBJECT_ID != ''"><!-- 关键词检索 -->
			and SUBJECT_ID = #{SUBJECT_ID}
		</if>
		<if test="CLASS_ID != null and CLASS_ID != ''"><!-- 关键词检索 -->
			and CLASS_ID = #{CLASS_ID}
		</if>
		<if test="GRADE_ID != null and GRADE_ID != ''"><!-- 关键词检索 -->
			and GRADE_ID = #{GRADE_ID}
		</if>
		<if test="SCHOOL_ID != null and SCHOOL_ID != ''"><!-- 关键词检索 -->
			and SCHOOL_ID = #{SCHOOL_ID}
		</if>
		<if test="TEACHER_ID != null and TEACHER_ID != ''"><!-- 关键词检索 -->
			and TEACHER_ID = #{TEACHER_ID}
		</if>
		<if test="COMPLETE != null and COMPLETE != ''"><!-- 关键词检索 -->
			and COMPLETE_DATE &gt; #{COMPLETE_DATE}
		</if>
		
		and IS_DELETE is  null
	</select>
	
	<!-- 批量删除 -->
	<delete id="deleteAll" parameterType="String">
		delete from
		<include refid="tableName"></include>
		where 
			HOMEWORK_ID in
		<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
                 #{item}
		</foreach>
	</delete>
	
	
	<select id="report" parameterType="pd" resultType="pd">
	
		SELECT
				sv_homeworkreport.STUDENT_ID,
				sv_homeworkreport.COMPLETE_COUNT,
				sv_homeworkreport.ANSWER,
				sv_homeworkreport.RANK,
				sv_homeworkreport.STUDENT_NAME,
				sv_homework.ALL_SCORE as PAPER_SCORE,
				sv_homework.GET_SCORE as AVG_SCORE,
				sv_homework.HOMEWORK_ID,
				sv_homework.COMPLETE_DESC,
				sv_homework.NAME,
				sv_homework.QUESTION_COUNT,
				sv_homework.GET_MAX_SCORE,
				sv_homeworkreport.STUDNET_NO,
				sv_homework.COMPLETE_DATE,
				sv_homeworkreport.GET_SCORE as STUDENT_SCORE
		FROM
			sv_homework
		LEFT JOIN sv_homeworkreport ON sv_homework.HOMEWORK_ID = sv_homeworkreport.HOMEWORK_ID
		WHERE
		   sv_homework.COMPLETE_COUNT > 0
			<if test="CLASS_ID != null and CLASS_ID != ''"><!-- 关键词检索 -->
			 	and sv_homework.CLASS_ID = #{CLASS_ID} 
			</if>
			<if test="HOMEWORK_ID != null and HOMEWORK_ID != ''"><!-- 关键词检索 -->
				and sv_homework.HOMEWORK_ID = #{HOMEWORK_ID}
			</if>
			<if test="STUDENT_ID != null and STUDENT_ID != ''"><!-- 关键词检索 -->
				and STUDENT_ID = #{STUDENT_ID}
			</if>
			<if test="START_DATE != null and START_DATE != ''"><!-- 关键词检索 -->
				and COMPLETE_DATE &gt; #{START_DATE}
			</if>
			<if test="END_DATE != null and END_DATE != ''"><!-- 关键词检索 -->
				and COMPLETE_DATE &lt; #{END_DATE}
			</if>
			ORDER BY sv_homework.COMPLETE_DATE ,sv_homework.HOMEWORK_ID,sv_homeworkreport.STUDNET_NO
	
	</select>
	
	<!-- fh313596790qq(青苔) -->
</mapper>