TestPaperInfoMapper.xml 7.22 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="TestPaperInfoMapper">
	
	<!--表名 -->
	<sql id="tableName">
		SV_TESTPAPERINFO
	</sql>
	
	<!-- 字段 -->
	<sql id="Field">
		PAPER_ID,	
		STUDENT_ID,	
		TEST_ID,	
		QUESTION_ID,	
		ANSWER,	
		`RIGHT`,	
		SCORE,	
		LIKES,	
		ANSWER_TYPE,	
		PRESS_TIME,	
		RECEIVER_DATE,	
		SUBJECTIVE,	
		NOTE,	
		MARK_NO,	
		RANK,	
		RANDOM,	
		TESTPAPERINFO_ID
	</sql>
	
	<!-- 字段值 -->
	<sql id="FieldValue">
		#{PAPER_ID},	
		#{STUDENT_ID},	
		#{TEST_ID},	
		#{QUESTION_ID},	
		#{ANSWER},	
		#{RIGHT},	
		#{SCORE},	
		#{LIKES},	
		#{ANSWER_TYPE},	
		#{PRESS_TIME},	
		#{RECEIVER_DATE},	
		#{SUBJECTIVE},	
		#{NOTE},	
		#{MARK_NO},	
		#{RANK},	
		#{RANDOM},	
		#{TESTPAPERINFO_ID}
	</sql>
	
	<!-- 新增-->
	<insert id="save" parameterType="pd">
		insert into 
	<include refid="tableName"></include>
		(
	<include refid="Field"></include>
		) values (
	<include refid="FieldValue"></include>
		)
	</insert>
	
	<!-- 新增-->
	<insert id="batchSave" parameterType="java.util.List">
		insert into 
	<include refid="tableName"></include>
		(
	<include refid="Field"></include>
		) values 

	 <foreach collection="list" index="index" item="item" separator=",">
      (
       #{item.PAPER_ID},	
		#{item.STUDENT_ID},	
		#{item.TEST_ID},	
		#{item.QUESTION_ID},	
		#{item.ANSWER},	
		#{item.RIGHT},	
		#{item.SCORE},	
		#{item.LIKES},	
		#{item.ANSWER_TYPE},	
		#{item.PRESS_TIME},	
		#{item.RECEIVER_DATE},	
		#{item.SUBJECTIVE},	
		#{item.NOTE},	
		#{item.MARK_NO},	
		#{item.RANK},	
		#{item.RANDOM},	
		#{item.TESTPAPERINFO_ID}
       )
     </foreach>

	</insert>
	
	<!-- 删除-->
	<delete id="delete" parameterType="pd">
		delete from
		<include refid="tableName"></include>
		where  1 =1 
		<if test="TESTPAPERINFO_ID != null and TESTPAPERINFO_ID != ''">
			and TESTPAPERINFO_ID = #{TESTPAPERINFO_ID}
		</if>
		<if test="TEST_ID != null and TEST_ID != ''">
			and TEST_ID = #{TEST_ID}
		</if>
		<if test="STUDENT_ID != null and STUDENT_ID != ''">
			and STUDENT_ID = #{STUDENT_ID}
		</if>
		<if test="PAPER_ID != null and PAPER_ID != ''">
			and PAPER_ID = #{PAPER_ID}
		</if>
		<if test="QUESTION_ID != null and QUESTION_ID != ''">
			and QUESTION_ID = #{QUESTION_ID}
		</if>
		
		<if test="(TESTPAPERINFO_ID == null or TESTPAPERINFO_ID == '') 
		and  (TEST_ID == null or TEST_ID == '') 
		and (STUDENT_ID == null or STUDENT_ID == '')
		and (PAPER_ID == null or PAPER_ID == '')
		and (QUESTION_ID == null or QUESTION_ID == '')">
			and 1 = 2
		</if>
	</delete>
	
	<!-- 修改 -->
	<update id="edit" parameterType="pd">
		update
		<include refid="tableName"></include>
		set 
			PAPER_ID = #{PAPER_ID},
			STUDENT_ID = #{STUDENT_ID},
			TEST_ID = #{TEST_ID},
			QUESTION_ID = #{QUESTION_ID},
			ANSWER = #{ANSWER},
			`RIGHT` = #{RIGHT},
			SCORE = #{SCORE},
			LIKES = #{LIKES},
			ANSWER_TYPE = #{ANSWER_TYPE},
			PRESS_TIME = #{PRESS_TIME},
			RECEIVER_DATE = #{RECEIVER_DATE},
			SUBJECTIVE = #{SUBJECTIVE},
			NOTE = #{NOTE},
			MARK_NO = #{MARK_NO},
			RANK = #{RANK},
		TESTPAPERINFO_ID = TESTPAPERINFO_ID
		where 
		TESTPAPERINFO_ID = #{TESTPAPERINFO_ID}
	</update>
	
	<!-- 通过ID获取数据 -->
	<select id="findById" parameterType="pd" resultType="pd">
		select 
		<include refid="Field"></include>
		from 
		<include refid="tableName"></include>
		where 
			TESTPAPERINFO_ID = #{TESTPAPERINFO_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.keywords!= null and pd.keywords != ''"><!-- 关键词检索 -->
			and
				(
				<!--	根据需求自己加检索条件
					字段1 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%')
					 or 
					字段2 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') 
				-->
				)
		</if>
	</select>
	
	<!-- 列表(全部) -->
	<select id="listAll" parameterType="pd" resultType="pd">
		select
		<include refid="Field"></include>
		from 
		<include refid="tableName"></include>
			where 1 =1 
		<if test="TEST_ID != null and TEST_ID != ''">
			and TEST_ID = #{TEST_ID}
		</if>
		<if test="STUDENT_ID != null and STUDENT_ID != ''">
			and STUDENT_ID = #{STUDENT_ID}
		</if>
		<if test="PAPER_ID != null and PAPER_ID != ''">
			and PAPER_ID = #{PAPER_ID}
		</if>
		<if test="QUESTION_ID != null and QUESTION_ID != ''">
			and QUESTION_ID = #{QUESTION_ID}
		</if>
	</select>
	
	<!-- 测验,题目列表  -->
	<select id="listTestPaperQuestionIDs" parameterType="pd" resultType="pd">
		select
		QUESTION_ID,RANDOM,PAPER_ID
		from 
		<include refid="tableName"></include>
			where 1 =1 
		<if test="TEST_ID != null and TEST_ID != ''">
			and TEST_ID = #{TEST_ID}
		</if>
		<if test="STUDENT_ID != null and STUDENT_ID != ''">
			and STUDENT_ID = #{STUDENT_ID}
		</if>
		<if test="PAPER_ID != null and PAPER_ID != ''">
			and PAPER_ID = #{PAPER_ID}
		</if>
		<if test="QUESTION_ID != null and QUESTION_ID != ''">
			and QUESTION_ID = #{QUESTION_ID}
		</if>
		
		group by QUESTION_ID
		order by RANK
	</select>
	
	
	<!-- 根据测验id,试题id,查询答题情况  -->
	<select id="listTestPaperQuestionIDinfo" parameterType="pd" resultType="pd">
		select
			STUDENT_ID,	ANSWER,	`RIGHT`,	SCORE
		from 
		<include refid="tableName"></include>
			where 1 =1 
		<if test="TEST_ID != null and TEST_ID != ''">
			and TEST_ID = #{TEST_ID}
		</if>
		<if test="STUDENT_ID != null and STUDENT_ID != ''">
			and STUDENT_ID = #{STUDENT_ID}
		</if>
		<if test="PAPER_ID != null and PAPER_ID != ''">
			and PAPER_ID = #{PAPER_ID}
		</if>
		<if test="QUESTION_ID != null and QUESTION_ID != ''">
			and QUESTION_ID = #{QUESTION_ID}
		</if>
		
			ORDER BY ANSWER
	</select>
	
	<!-- 列表(全部) -->
	<select id="reportPaperDetail" parameterType="pd" resultType="pd">
		SELECT
			sv_testpaperinfo.QUESTION_ID,
			sv_testpaperinfo.SCORE,
			sv_testpaperinfo.ANSWER,
			sv_testpaperinfo.`RIGHT`,
			sv_paperquestion.RANK
			FROM
				sv_testpaperinfo
			LEFT JOIN sv_paperquestion ON sv_testpaperinfo.QUESTION_ID = sv_paperquestion.QUESTION_ID
			WHERE
				sv_testpaperinfo.STUDENT_ID = #{STUDENT_ID}
			AND sv_testpaperinfo.TEST_ID = #{TEST_ID}
			ORDER BY
				(sv_paperquestion.RANK * 1)
	</select>
	
	<select id="reportTestPaperDetail" parameterType="pd" resultType="pd">
		SELECT
			sv_student.`NAME`,
			sv_student.ID,
			sv_student.KEYPAD_ID,
			sv_student.NUMBER,
			sv_testpaperinfo.STUDENT_ID,
			sv_testpaperinfo.QUESTION_ID,
			sv_testpaperinfo.SCORE,
			sv_testpaperinfo.ANSWER,
			sv_testpaperinfo.`RIGHT`,
			sv_paperquestion.RANK
		FROM
			sv_testpaperinfo
		LEFT JOIN sv_student ON sv_testpaperinfo.STUDENT_ID = sv_student.ID
		LEFT JOIN sv_paperquestion ON sv_testpaperinfo.QUESTION_ID = sv_paperquestion.QUESTION_ID
		WHERE
			sv_testpaperinfo.TEST_ID = #{TEST_ID}
			AND sv_student.ID IS NOT NULL
		ORDER BY
			sv_testpaperinfo.STUDENT_ID,
			(sv_paperquestion.RANK * 1)
	</select>
	
	
	<!-- 批量删除 -->
	<delete id="deleteAll" parameterType="String">
		delete from
		<include refid="tableName"></include>
		where 
			TESTPAPERINFO_ID in
		<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
                 #{item}
		</foreach>
	</delete>
	
	<!-- fh313596790qq(青苔) -->
</mapper>