tangzy
2021-07-26 a05af1da676dac2cb8a952a38f40d93be626cbf7
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -60,23 +60,36 @@
    </delete>
    <select id="selectCount" resultType="java.util.HashMap">
        SELECT
            isnull( B.confess, 0 ) AS confess,
            isnull( C.staff, 0 ) AS staff,
            isnull( D.security, 0 ) AS security,
            isnull( E.armed, 0 ) AS armed
        FROM
                ( SELECT jurisdiction FROM sys_information GROUP BY jurisdiction ) A
                    FULL JOIN ( SELECT COUNT ( stats ) AS confess, jurisdiction FROM sys_information WHERE stats = 0 GROUP BY jurisdiction ) B ON A.jurisdiction = B.jurisdiction
                    FULL JOIN ( SELECT COUNT ( stats ) AS staff, jurisdiction FROM sys_information WHERE stats = 1 GROUP BY jurisdiction ) C ON A.jurisdiction = C.jurisdiction
                    FULL JOIN ( SELECT COUNT ( stats ) AS security, jurisdiction FROM sys_information WHERE stats = 2 GROUP BY jurisdiction ) D ON A.jurisdiction = D.jurisdiction
                    FULL JOIN ( SELECT COUNT ( stats ) AS armed, jurisdiction FROM sys_information WHERE stats = 3 GROUP BY jurisdiction ) E ON A.jurisdiction = E.jurisdiction
        WHERE
            A.jurisdiction = #{departmentid}
        SELECT isnull(B.confess, 0)  AS confess,
               isnull(C.staff, 0)    AS staff,
               isnull(D.security, 0) AS security,
               isnull(E.armed, 0)    AS armed
        FROM (SELECT jurisdiction FROM sys_information GROUP BY jurisdiction) A
                 FULL JOIN (SELECT COUNT(stats) AS confess, jurisdiction
                            FROM sys_information
                            WHERE stats = 0
                            GROUP BY jurisdiction) B ON A.jurisdiction = B.jurisdiction
                 FULL JOIN (SELECT COUNT(stats) AS staff, jurisdiction
                            FROM sys_information
                            WHERE stats = 1
                            GROUP BY jurisdiction) C ON A.jurisdiction = C.jurisdiction
                 FULL JOIN (SELECT COUNT(stats) AS security, jurisdiction
                            FROM sys_information
                            WHERE stats = 2
                            GROUP BY jurisdiction) D ON A.jurisdiction = D.jurisdiction
                 FULL JOIN (SELECT COUNT(stats) AS armed, jurisdiction
                            FROM sys_information
                            WHERE stats = 3
                            GROUP BY jurisdiction) E ON A.jurisdiction = E.jurisdiction
        WHERE A.jurisdiction = #{departmentid}
    </select>
    <select id="selectInCount" resultType="java.util.HashMap">
        SELECT COUNT(u.dept_id) AS number,d.dept_name FROM blade_user u LEFT JOIN blade_dept d ON d.id=u.dept_id WHERE u.hold=1 GROUP BY u.dept_id,d.dept_name
        SELECT COUNT(u.dept_id) AS number, d.dept_name
        FROM blade_user u
                 LEFT JOIN blade_dept d ON d.id = u.dept_id
        WHERE u.hold = 1
        GROUP BY u.dept_id, d.dept_name
    </select>
</mapper>