智慧保安后台管理项目备份
Administrator
2021-12-06 d907d12941bb8339b651900b0f85792367270e23
保安员统计查询修改
4 files modified
331 ■■■■■ changed files
src/main/java/org/springblade/modules/information/mapper/InformationMapper.java 56 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml 196 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java 41 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/information/vo/InformationStatisticsVO.java 38 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/information/mapper/InformationMapper.java
@@ -60,7 +60,19 @@
    Map<String, String> queryYearPz(String year,String jurisdiction,String deptid);
    Map<String, String> queryYearAn(String year,String jurisdiction,String deptid);
    List<Map<Object,Object>> queryCountB(String jurisdiction,String deptid);
    List selectLi(IPage page, String jurisdiction, String deptid,String stats,String startTime,String endTime);
    /**
     * 保安员统计查询
     * @param page
     * @param jurisdiction
     * @param deptid
     * @param stats
     * @param startTime
     * @param endTime
     * @return
     */
    List<InformationStatisticsVO> selectLi(IPage page, String jurisdiction, String deptid,String stats,String startTime,String endTime);
    List<Map<Object,Object>> queryCountZc(String jurisdiction,String deptid);
    List<Map<Object,Object>> queryCountCz(String jurisdiction,String deptid);
    List<Map<Object,Object>> queryCountSb(String jurisdiction,String deptid);
@@ -233,4 +245,46 @@
     */
    List<Dept> getDeptHashChildren(@Param("information") InformationVO informationVO);
    List<Map<Object,Object>> selectBxc(IPage page, String jurisdiction,String type);
    /**
     * 查询单位的未派遣人数
     * @param dept
     * @return
     */
    Integer selectInformationNotDispatcherNumCount(@Param("dept")Dept dept);
    /**
     * 查询单位的已采集照片人数
     * @param dept
     * @return
     */
    Integer selectInformationUnitAvatarNumCount(@Param("dept")Dept dept);
    /**
     * 查询单位的未采集照片人数
     * @param dept
     * @return
     */
    Integer selectInformationUnitNotAvatarNumCount(@Param("dept")Dept dept);
    /**
     * 已采集指纹
     * @param dept
     * @return
     */
    Integer selectInformationUnitZwNumCount(@Param("dept")Dept dept);
    /**
     * 审查异常
     * @param dept
     * @return
     */
    Integer selectInformationUnitYcNumCount(@Param("dept")Dept dept);
    /**
     * 缴纳社保
     * @param dept
     * @return
     */
    Integer selectInformationUnitJnsbNumCount(@Param("dept")Dept dept);
}
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -1212,18 +1212,18 @@
        where id = #{ids}
    </delete>
    <select id="selectLi" resultType="java.util.HashMap">
    <!--保安员统计查询-->
    <select id="selectLi" resultType="org.springblade.modules.information.vo.InformationStatisticsVO">
        SELECT
        IFNULL( V.num, 0 ) AS num,
        IFNULL( B.cznum, 0 ) AS cznum,
        IFNULL( C.num, 0 ) AS paiqnum,
        IFNULL( D.num, 0 ) AS wpaiqnum,
        IFNULL( E.sbnum, 0 ) AS sbnum,
        IFNULL( F.wcaijnum, 0 ) AS wcaijnum,
        IFNULL( H.ycaijzpnum, 0 ) AS ycaijzpnum,
        IFNULL( I.ycaijzwnum, 0 ) AS ycaijzwnum,
        IFNULL( G.yicnum, 0 ) AS yicnum,
        IFNULL( D.num, 0 ) AS wpqnum,
        IFNULL( C.num, 0 ) AS pqnum,
        IFNULL( H.ycaijzpnum, 0 ) AS ycjzpnum,
        IFNULL( F.wcaijnum, 0 ) AS wcjzpnum,
        IFNULL( I.ycaijzwnum, 0 ) AS ycjzwnum,
        IFNULL( G.yicnum, 0 ) AS scycnum,
        IFNULL( E.sbnum, 0 ) AS jnsbnum,
        A.departmentid,
        A.enterpriseName AS deptname,
        A.stats,
@@ -1285,7 +1285,17 @@
        GROUP BY
        bu.dept_id
        ) D ON D.dept_id = A.departmentid
        LEFT JOIN ( SELECT COUNT( * ) AS sbnum, deptid FROM sys_socil GROUP BY deptid ) E ON E.deptid = A.departmentid
        LEFT JOIN (
        SELECT COUNT( * ) AS sbnum,dept_id FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND soil = 0
        GROUP BY
        dept_id
        ) E ON E.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS wcaijnum,
@@ -3135,6 +3145,33 @@
            )
    </select>
    <!--查询单位的未派遣人数-->
    <select id="selectInformationNotDispatcherNumCount" resultType="java.lang.Integer">
        SELECT COUNT( * ) FROM blade_user
        WHERE 1=1
        and role_id = '1412226235153731586'
        and is_deleted = 0
        AND status=1
        AND dispatch=1
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询单位持证的人数-->
    <select id="selectInformationHoldNumCount" resultType="java.lang.Integer">
        SELECT COUNT( * ) FROM blade_user
@@ -3234,4 +3271,143 @@
        </if>
        and p.score = 3
    </select>
    <!--查询单位的已采集照片人数-->
    <select id="selectInformationUnitAvatarNumCount" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND avatar is not null and avatar!=""
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询单位的未采集照片人数-->
    <select id="selectInformationUnitNotAvatarNumCount" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND (avatar is null or avatar = "")
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询单位的已采集指纹人数-->
    <select id="selectInformationUnitZwNumCount" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND fingerprint is not null and fingerprint!=""
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询单位的审查异常人数-->
    <select id="selectInformationUnitYcNumCount" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND examination_type = 1
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
    <!--查询单位的审查异常人数-->
    <select id="selectInformationUnitJnsbNumCount" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND soil = 0
        and dept_id in
            (
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{dept.id} ) t2
                ) t3
                WHERE
                ischild != 0
            )
    </select>
</mapper>
src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java
@@ -213,7 +213,46 @@
    @Override
    public IPage selectLi(IPage page,String jurisdiction, String deptid,String stats,String startTime,String endTime) {
        return page.setRecords(baseMapper.selectLi(page,jurisdiction, deptid,stats,startTime,endTime));
        List<InformationStatisticsVO> list = baseMapper.selectLi(page, jurisdiction, deptid, stats, startTime, endTime);
        if (list.size()>0) {
            //遍历
            for (InformationStatisticsVO informationStatisticsVO : list) {
                List<Dept> deptList = baseMapper.getDeptHashChildrens(informationStatisticsVO);
                //有子级
                if (deptList.size()>0){
                    Dept dept = new Dept();
                    dept.setId(Long.parseLong(informationStatisticsVO.getDepartmentid()));
                    //查询当前子单位的人数
                    Integer z = baseMapper.selectInformationUserNumCount(dept) + informationStatisticsVO.getNum();
                    informationStatisticsVO.setNum(z);
                    //持证人数
                    Integer c = baseMapper.selectInformationHoldNumCount(dept) + informationStatisticsVO.getCznum();
                    informationStatisticsVO.setCznum(c);
                    //已派遣人数
                    Integer p = baseMapper.selectInformationDispatcherNumCount(dept) + informationStatisticsVO.getPqnum();
                    informationStatisticsVO.setPqnum(p);
                    //未派遣人数
                    Integer wpq = baseMapper.selectInformationNotDispatcherNumCount(dept) + informationStatisticsVO.getWpqnum();
                    informationStatisticsVO.setWpqnum(wpq);
                    //已采集照片数
                    Integer ycjzp = baseMapper.selectInformationUnitAvatarNumCount(dept) + informationStatisticsVO.getYcjzpnum();
                    informationStatisticsVO.setYcjzpnum(ycjzp);
                    //未采集照片数
                    Integer wcjzp = baseMapper.selectInformationUnitNotAvatarNumCount(dept) + informationStatisticsVO.getWcjzpnum();
                    informationStatisticsVO.setWcjzpnum(wcjzp);
                    //已采集指纹数
                    Integer ycjzw = baseMapper.selectInformationUnitZwNumCount(dept) + informationStatisticsVO.getYcjzwnum();
                    informationStatisticsVO.setYcjzwnum(ycjzw);
                    //审查异常数
                    Integer scyc = baseMapper.selectInformationUnitYcNumCount(dept) + informationStatisticsVO.getScycnum();
                    informationStatisticsVO.setScycnum(scyc);
                    //缴纳社保数
                    Integer jnsb = baseMapper.selectInformationUnitJnsbNumCount(dept) + informationStatisticsVO.getJnsbnum();
                    informationStatisticsVO.setJnsbnum(jnsb);
                }
            }
        }
        return page.setRecords(list);
    }
    @Override
src/main/java/org/springblade/modules/information/vo/InformationStatisticsVO.java
@@ -36,6 +36,11 @@
     */
    private String enterpriseName;
    /**
     * 公司名称
     */
    private String deptname;
    /**
     * 公司id
@@ -52,6 +57,11 @@
     */
    private String jurname;
    /**
     * 保安员人数
     */
    private Integer num;
    /**
     * 总人数
@@ -77,4 +87,32 @@
     * 到期单位数
     */
    private Integer dqnum;
    /**
     * 未派遣
     */
    private Integer wpqnum;
    /**
     * 已采集照片
     */
    private Integer ycjzpnum;
    /**
     * 未采集照片
     */
    private Integer wcjzpnum;
    /**
     * 已采集指纹
     */
    private Integer ycjzwnum;
    /**
     * 审查异常
     */
    private Integer scycnum;
    /**
     * 缴纳社保
     */
    private Integer jnsbnum;
}