智慧保安后台管理-外网项目备份
Administrator
2021-10-12 7f046650eea24ba1a43f09831407e4e37b8cb898
src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
@@ -40,6 +40,9 @@
        <if test="examScore.securityName!=null and  examScore.securityName!=''">
            and bu.real_name like concat('%', #{examScore.securityName},'%')
        </if>
        <if test="examScore.account!=null and  examScore.account!=''">
            and bu.account like concat('%', #{examScore.account},'%')
        </if>
        <if test="examScore.userId!=null and  examScore.userId!=''">
            and es.user_id = #{examScore.userId}
        </if>
@@ -99,6 +102,12 @@
        <if test="examScore.securityName!=null and  examScore.securityName!=''">
            and bu.real_name like concat('%', #{examScore.securityName},'%')
        </if>
        <if test="examScore.account!=null and  examScore.account!=''">
            and bu.account like concat('%', #{examScore.account},'%')
        </if>
        <if test="examScore.trainUnitId!=null">
            and str.training_unit_id = #{examScore.trainUnitId}
        </if>
        <if test="examScore.userId!=null and  examScore.userId!=''">
            and es.user_id = #{examScore.userId}
        </if>
@@ -136,39 +145,95 @@
    <!--考试成绩详情信息-->
<!--    <select id="scoreStatistics" resultType="java.util.HashMap">-->
<!--        SELECT * FROM(SELECT-->
<!--        COUNT( CASE WHEN theory_grade &lt; 60 THEN 1 END ) AS 'bhg',-->
<!--        COUNT( CASE WHEN theory_grade >= 60 AND theory_grade &lt; 80 THEN 1 END ) AS 'hg',-->
<!--        COUNT( CASE WHEN theory_grade >= 80 AND theory_grade &lt; 90 THEN 1 END ) AS 'lh',-->
<!--        COUNT( CASE WHEN theory_grade >= 90 THEN 1 END ) AS 'yx'-->
<!--        FROM-->
<!--        exam_score exam-->
<!--       LEFT JOIN blade_user user ON exam.user_id = user.id-->
<!--        WHERE 1 = 1-->
<!--        <if test="jurisdiction!=null and jurisdiction=='' and jurisdiction!='1123598813738675201'">-->
<!--             AND user.jurisdiction = #{jurisdiction}-->
<!--        </if>-->
<!--        <if test="deptid!=null and deptid==''">-->
<!--            AND user.dept_id = #{deptid}-->
<!--        </if>-->
<!--        ) a UNION ALL-->
<!--        SELECT * FROM( SELECT-->
<!--        COUNT( CASE WHEN learn_grade &lt; 60 THEN 1 END ) AS 'bhg',-->
<!--        COUNT( CASE WHEN learn_grade >= 60 AND learn_grade &lt; 80 THEN 1 END ) AS 'hg',-->
<!--        COUNT( CASE WHEN learn_grade >= 80 AND learn_grade &lt; 90 THEN 1 END ) AS 'lh',-->
<!--        COUNT( CASE WHEN learn_grade >= 90 THEN 1 END ) AS 'yx'-->
<!--        FROM-->
<!--        exam_score exam-->
<!--        LEFT JOIN blade_user user ON exam.user_id = user.id-->
<!--        WHERE 1 = 1-->
<!--        <if test="jurisdiction!=null and jurisdiction=='' and jurisdiction!='1123598813738675201'">-->
<!--            AND user.jurisdiction = #{jurisdiction}-->
<!--        </if>-->
<!--        <if test="deptid!=null and deptid==''">-->
<!--            AND user.dept_id = #{deptid}-->
<!--        </if>-->
<!--        ) b-->
<!--    </select>-->
    <!--考试成绩详情信息 理论-->
    <select id="scoreStatistics" resultType="java.util.HashMap">
        SELECT * FROM(SELECT
        COUNT( CASE WHEN theory_grade &lt; 60 THEN 1 END ) AS 'bhg',
        COUNT( CASE WHEN theory_grade >= 60 AND theory_grade &lt; 80 THEN 1 END ) AS 'hg',
        COUNT( CASE WHEN theory_grade >= 80 AND theory_grade &lt; 90 THEN 1 END ) AS 'lh',
        COUNT( CASE WHEN theory_grade >= 90 THEN 1 END ) AS 'yx'
        SELECT
        theory_grade as fs,
        COUNT( * ) AS count
        FROM
        exam_score exam
       LEFT JOIN blade_user user ON exam.user_id = user.id
        WHERE 1 = 1
        <if test="jurisdiction!=null and jurisdiction=='' and jurisdiction!='1123598813738675201">
             AND user.jurisdiction = #{jurisdiction}
        LEFT JOIN blade_user user
        ON exam.user_id = user.id
        left join
        sys_information si
        on
        si.departmentid = user.dept_id
        left join
        sys_jurisdiction sj
        on
        sj.id = si.jurisdiction
        WHERE 1 = 1 AND theory_grade is not null
        <if test="jurisdiction!=null and jurisdiction=='' and jurisdiction!='1372091709474910209'">
            and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid==''">
        <if test="deptid!=null and deptid!=''">
            AND user.dept_id = #{deptid}
        </if>
        ) a UNION ALL
        SELECT * FROM( SELECT
        COUNT( CASE WHEN learn_grade &lt; 60 THEN 1 END ) AS 'bhg',
        COUNT( CASE WHEN learn_grade >= 60 AND learn_grade &lt; 80 THEN 1 END ) AS 'hg',
        COUNT( CASE WHEN learn_grade >= 80 AND learn_grade &lt; 90 THEN 1 END ) AS 'lh',
        COUNT( CASE WHEN learn_grade >= 90 THEN 1 END ) AS 'yx'
        GROUP BY
        exam.theory_grade
    </select>
    <!--考试成绩详情信息 实操-->
    <select id="scoreStatisticssc" resultType="java.util.HashMap">
        SELECT
        learn_grade as fs,
        COUNT( * ) AS count
        FROM
        exam_score exam
        LEFT JOIN blade_user user ON exam.user_id = user.id
        LEFT JOIN blade_user user
        ON exam.user_id = user.id
        left join
        sys_information si
        on
        si.departmentid = user.dept_id
        left join
        sys_jurisdiction sj
        on
        sj.id = si.jurisdiction
        WHERE 1 = 1
        <if test="jurisdiction!=null and jurisdiction=='' and jurisdiction!='1123598813738675201">
            AND user.jurisdiction = #{jurisdiction}
        AND learn_grade is not null
        <if test="jurisdiction!=null and jurisdiction=='' and jurisdiction!='1372091709474910209'">
            and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid==''">
        <if test="deptid!=null and deptid!=''">
            AND user.dept_id = #{deptid}
        </if>
        ) b
        GROUP BY
        exam.learn_grade
    </select>
    <!--根据用户身份证号查询考试成绩-->
@@ -185,4 +250,69 @@
            bu.cardid = #{idCardNo}
            and es.exam_id = #{examId}
    </select>
    <!--修改成绩信息-->
    <update id="updateByIdAndQualifiee">
        update exam_score set qualified = #{examScore.qualified} where id = #{examScore.id}
    </update>
    <select id="scorePage"  resultType="org.springblade.modules.exam.vo.ExamScoreVO">
        SELECT
        exam.*,
        user.jurisdiction,
        user.real_name securityName,
        ke.exam_name examName
        FROM
        exam_score exam
        LEFT JOIN blade_user user
        ON exam.user_id = user.id
        left join
        sys_information si
        on
        si.departmentid = user.dept_id
        left join
        sys_jurisdiction sj
        on
        sj.id = si.jurisdiction
        left join
        ksxt_exam ke
        on
        exam.exam_id = ke.id
        WHERE
        1 = 1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            AND user.dept_id = #{deptid}
        </if>
    </select>
    <!--查询所有考试不合格的数据(取准考证号)-->
    <select id="getDisqualificationExamInfo" resultType="org.springblade.modules.exam.entity.ExamScore">
        select * from exam_score where qualified = 1
    </select>
    <!--根据准考证号查询培训信息-->
    <select id="getTrainInfo" resultType="org.springblade.modules.training.entity.TrainingRegistration">
        select * from sys_training_registration where 1=1
        <if test="trainingRegistration.candidateNo!=null and trainingRegistration.candidateNo!=''">
            and is_exam = 2
            and candidate_no = #{trainingRegistration.candidateNo}
        </if>
        <if test="trainingRegistration.id!=null">
            and id = #{trainingRegistration.id}
        </if>
    </select>
    <!--查询所有无成绩的数据-->
    <select id="getNoScoreInfo" resultType="org.springblade.modules.exam.entity.ExamScore">
        select * from exam_score where theory_grade is null
    </select>
    <!--查询所有无成绩的数据-->
    <select id="getLheoryGradeLess60" resultType="org.springblade.modules.exam.entity.ExamScore">
        select * from exam_score where all_grade &lt; 30
    </select>
</mapper>