qirong
2023-11-29 13f796dc50449ae2ec525ef02aaf4b49a91a564b
src/main/resources/mapper/ExamPaperAnswerMapper.xml
@@ -17,11 +17,31 @@
    <result column="create_user" jdbcType="INTEGER" property="createUser" />
    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
    <result column="task_exam_id" jdbcType="INTEGER" property="taskExamId" />
  </resultMap>
    <result column="counts" jdbcType="INTEGER" property="counts"/></resultMap>
  <sql id="Base_Column_List">
    id, exam_paper_id, paper_name, paper_type, subject_id, system_score, user_score,
    paper_score, question_correct, question_count, do_time, status, create_user, create_time,
    task_exam_id
  </sql>
  <sql id="Base_Column_List1">
    id, exam_paper_id, paper_name, paper_type, subject_id, system_score, TRUNCATE(user_score/10,0) as user_score,
    TRUNCATE(paper_score/10,0) as paper_score, question_correct, question_count, do_time, status, create_user, create_time,
    task_exam_id
  </sql>
  <sql id="Base_Column_List2">
    id, exam_paper_id, paper_name, paper_type, subject_id, system_score, user_score,
    paper_score, question_correct, question_count, do_time, status, create_user, create_time,
    task_exam_id,counts
  </sql>
  <sql id="Base_Column_List3">
    id, exam_paper_id, paper_name, paper_type, subject_id, system_score, user_score,
    paper_score, question_correct, question_count, do_time, status, create_user, create_time,
    task_exam_id,DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') AS formattedTime
  </sql>
  <sql id="Base_Column_List4">
    id, exam_paper_id, paper_name, paper_type, subject_id, system_score, TRUNCATE(user_score/10,0) as user_score,
    TRUNCATE(paper_score/10,0) as paper_score, question_correct, question_count, do_time, status, create_user, create_time,
    task_exam_id,DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') AS formattedTime
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
    select
@@ -260,7 +280,80 @@
      <if test="subjectId != null">
        and subject_id = #{subjectId}
      </if>
      <if test="paperName != null and paperName != ''">
        and paper_name like concat('%',#{paperName},'%')
      </if>
    </where>
  </select>
  <select id="getById" resultMap="BaseResultMap">
    SELECT
    <include refid="Base_Column_List"/>
    FROM t_exam_paper_answer
    where id = #{id}
  </select>
  <select id="selectByPaperName" resultMap="BaseResultMap" parameterType="java.lang.String">
    SELECT
    <include refid="Base_Column_List"/>
    FROM t_exam_paper_answer
    <where>
        <if test="paperName != null and paperName != ''">
          paper_name = #{paperName}
        </if>
    </where>
  </select>
  <select id="getByExamPaperIdAndUserId" resultMap="BaseResultMap" parameterType="list">
    select
        <include refid="Base_Column_List1" />
        from t_exam_paper_answer
    where (exam_paper_id,create_user) in
      <if test="examTemplatesUserCount !=null and examTemplatesUserCount.size() > 0">
        <foreach collection="examTemplatesUserCount" item="item" index="item" open="(" separator="," close=")">
                  (#{item.examPaperId},#{item.userId})
        </foreach>
      </if>
  </select>
  <select id="adminPageByGrade" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.viewmodel.admin.paper.ExamPaperGradePageRequestVM">
    select
    <include refid="Base_Column_List2" />
        from t_exam_paper_answer where create_time between '2023-01-01'and '2023-12-31'
    <where>
      <if test="subjectId != null">
        and subject_id = #{subjectId}
      </if>
      <if test="paperName != null and paperName != ''">
        and paper_name like concat('%',#{paperName},'%')
      </if>
    </where>
  </select>
    <select id="getByScorePaperIdAndUserId" resultMap="BaseResultMap" parameterType="list">
      select
      <include refid="Base_Column_List1" />
      from t_exam_paper_answer
      where (exam_paper_id,create_user) in
      <if test="scoreTemplatesUserCounts !=null and scoreTemplatesUserCounts.size() > 0">
        <foreach collection="scoreTemplatesUserCounts" item="item" index="item" open="(" separator="," close=")">
          (#{item.examPaperId},#{item.userId})
        </foreach>
      </if>
    </select>
    <select id="getByCreatUser" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.domain.vo.ScoreTemplatesCountVO">
      select
      <include refid="Base_Column_List4"/>
      from t_exam_paper_answer where create_user = #{createUser} and create_time between '2023-01-01'and '2023-12-31'
    </select>
  <select id="getByExamPaperIds" resultMap="BaseResultMap" parameterType="list">
    select
    <include refid="Base_Column_List1" />
    from t_exam_paper_answer
    where exam_paper_id in
    <if test="ids !=null and ids.size() > 0">
      <foreach collection="examTemplatesUserCount" item="item" index="item" open="(" separator="," close=")">
        #{item}
      </foreach>
    </if>
  </select>
</mapper>