龚焕茏
2024-05-30 1c89a9d39893c18aac63aa5763b4787b65de3624
src/main/resources/mapper/ExamTemplatesUserCountMapper.xml
@@ -19,15 +19,18 @@
    </insert>
    <select id="list" resultType="com.mindskip.xzs.domain.vo.ExamTemplatesUserCountVO" parameterType="com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM">
        SELECT u.exam_templates_id as id, count(*) as count, u.user_id as userId FROM `t_exam_templates_user_count` u
        left join t_exam_templates e on u.exam_templates_id = e.id
        SELECT
               e.id as id,
               count(u.user_id) as count,
               u.user_id as userId
        FROM
            t_exam_templates e
                left join `t_exam_templates_user_count` u on u.exam_templates_id = e.id <if test="userId != null">and u.user_id = #{userId}</if>
        <where>
                <if test="templatesId != null">
                    and u.exam_templates_id = #{templatesId}
                </if>
                <if test="userId != null">
                    and u.user_id = #{userId}
                </if>
                <if test="status != null">
                    and e.status = 0
                </if>
@@ -62,7 +65,8 @@
    </select>
    <select id="getCountByUserIdAndTemplatesId" resultType="java.lang.Integer" parameterType="com.mindskip.xzs.domain.vo.ExamTemplatesUserCountVO">
        select count(*) from t_exam_templates_user_count
        select count(*) from t_exam_templates_user_count a
         inner join t_exam_paper_answer b on a.exam_paper_id = b.exam_paper_id and (b.invalid = 0 or b.invalid is null)
        where user_id = #{userId}  and exam_templates_id = #{id}
    </select>
@@ -82,4 +86,15 @@
        where c.exam_templates_id = #{id}
    </select>
</mapper>
    <select id="getByExamTemplatesUser" resultType="com.mindskip.xzs.domain.vo.UserCountExcelVO" parameterType="java.lang.Integer">
        SELECT t.`name`as name,d.`name` as departmentName,u.real_name as userName,SUBSTRING_INDEX(a.user_score/10,".",1) as userScore,SUBSTRING_INDEX(a.paper_score/10,".",1) as paperScore,a.do_time as doTime
        from t_exam_templates_user c
            LEFT JOIN t_exam_templates t on c.templates_id = t.id
            left join t_exam_templates_user_count o on c.templates_id = o.exam_templates_id
            LEFT JOIN t_exam_paper_answer a on (o.exam_paper_id = a.exam_paper_id and o.user_id = a.create_user)
            LEFT JOIN t_user u on a.create_user = u.id
            LEFT JOIN t_department d on d.id = u.user_level
        where c.templates_id = #{id}
    </select>
</mapper>