智慧保安后台管理-验收版本
tangzy
2021-12-02 067570bc019e9c9cefdac19efa27ff9991b21356
1.统计
3 files modified
1159 ■■■■ changed files
src/main/java/org/springblade/modules/equipage/controller/CarController.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/information/controller/InformationController.java 246 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml 911 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/equipage/controller/CarController.java
@@ -136,7 +136,7 @@
        params.put("beginTime", beginTime);
        params.put("endTime", endTime);
        params.put("rectify", rectify);
        params.put("callbackUrl", "http://2h3f861221.wicp.vip/car/SaveUrl");
        params.put("callbackUrl", "http://s16s652780.51mypc.cn/api/car/SaveUrl");
        params.put("callbackId", "1");
        params.put("appId", "PO00000761");
        params.put("timestamp", System.currentTimeMillis());
src/main/java/org/springblade/modules/information/controller/InformationController.java
@@ -320,6 +320,70 @@
    }
//    /**
//     * 统计这个月和上个月交社保的人数,以及金额
//     *
//     * @return
//     */
//    @PostMapping("/selectTo")
//    public R selectTo(String jurisdiction, String deptid) {
//        //上个月人数数量
//        Integer lnum = 0;
//        //这个月人数数量
//        Integer tnum = 0;
//        //上个月派遣人数
//        Integer tpznum = 0;
//        //这个月人数数量
//        Integer lpznum = 0;
//        //上个月总人数
//        Integer tznum = 0;
//        //这个月总人数
//        Integer lznum = 0;
//        //上个月金额
//        Double lmount = 0.0;
//        //这个月金额
//        Double tmount = 0.0;
//        Map<String, Object> map = new HashMap<String, Object>();
//        List<Map<String, Object>> lists = new ArrayList<>();
//        List<Map<String, Object>> list = informationService.selectTo(jurisdiction, deptid);
//        for (int i = 0; i < list.size(); i++) {
//            String lastmonths = list.get(i).get("lastmonth").toString();
//            Integer lastmonth = Integer.parseInt(lastmonths);
//            lnum += lastmonth;
//            String thismouths = list.get(i).get("thismouth").toString();
//            Integer thismouth = Integer.parseInt(thismouths);
//            tnum += thismouth;
//            String lastamounts = list.get(i).get("lastamount").toString();
//            Double lastamount = Double.parseDouble(lastamounts);
//            lmount += lastamount;
//            String thisamounts = list.get(i).get("thisamount").toString();
//            Double thisamount = Double.parseDouble(thisamounts);
//            tmount += thisamount;
//            String userthismouth = list.get(i).get("userthismouth").toString();
//            Integer userthismouths = Integer.parseInt(userthismouth);
//            lpznum += userthismouths;
//            String userlastmouth = list.get(i).get("userlastmouth").toString();
//            Integer userlastmouths = Integer.parseInt(userlastmouth);
//            tpznum += userlastmouths;
//            String userpcthismouth = list.get(i).get("userpcthismouth").toString();
//            Integer userpcthismouths = Integer.parseInt(userpcthismouth);
//            lznum += userpcthismouths;
//            String userpclastmouth = list.get(i).get("userpclastmouth").toString();
//            Integer userpclastmouths = Integer.parseInt(userpclastmouth);
//            tznum += userpclastmouths;
//        }
//        map.put("lastmonth", lnum);
//        map.put("thismouth", tnum);
//        map.put("lastamount", lmount);
//        map.put("thisamount", tmount);
//        map.put("userlastmouth", tpznum);
//        map.put("userthismouth", lpznum);
//        map.put("userpcthismouth", lznum);
//        map.put("userpclastmouth", tznum);
//        lists.add(map);
//        return R.data(lists);
//    }
    /**
     * 统计这个月和上个月交社保的人数,以及金额
     *
@@ -331,18 +395,22 @@
        Integer lnum = 0;
        //这个月人数数量
        Integer tnum = 0;
        Integer znum = 0;
        //上个月派遣人数
        Integer tpznum = 0;
        //这个月人数数量
        Integer lpznum = 0;
        Integer pznum = 0;
        //上个月总人数
        Integer tznum = 0;
        //这个月总人数
        Integer lznum = 0;
        Integer sbnum = 0;
        //上个月金额
        Double lmount = 0.0;
        //这个月金额
        Double tmount = 0.0;
        Double tamountnum = 0.0;
        Map<String, Object> map = new HashMap<String, Object>();
        List<Map<String, Object>> lists = new ArrayList<>();
        List<Map<String, Object>> list = informationService.selectTo(jurisdiction, deptid);
@@ -353,36 +421,61 @@
            String thismouths = list.get(i).get("thismouth").toString();
            Integer thismouth = Integer.parseInt(thismouths);
            tnum += thismouth;
            //社保总数
            String nums = list.get(i).get("num").toString();
            Integer numss = Integer.parseInt(nums);
            znum += numss;
            String lastamounts = list.get(i).get("lastamount").toString();
            Double lastamount = Double.parseDouble(lastamounts);
            lmount += lastamount;
            String thisamounts = list.get(i).get("thisamount").toString();
            Double thisamount = Double.parseDouble(thisamounts);
            tmount += thisamount;
            //缴纳总数
            String amountnums = list.get(i).get("amountnum").toString();
            Double amountnumss = Double.parseDouble(amountnums);
            tamountnum += amountnumss;
            String userthismouth = list.get(i).get("userthismouth").toString();
            Integer userthismouths = Integer.parseInt(userthismouth);
            lpznum += userthismouths;
            String userlastmouth = list.get(i).get("userlastmouth").toString();
            Integer userlastmouths = Integer.parseInt(userlastmouth);
            tpznum += userlastmouths;
            String usernums = list.get(i).get("usernum").toString();
            Integer usernumss = Integer.parseInt(usernums);
            pznum += usernumss;
            //公司派遣总数
            String userpcthismouth = list.get(i).get("userpcthismouth").toString();
            Integer userpcthismouths = Integer.parseInt(userpcthismouth);
            lznum += userpcthismouths;
            String userpclastmouth = list.get(i).get("userpclastmouth").toString();
            Integer userpclastmouths = Integer.parseInt(userpclastmouth);
            tznum += userpclastmouths;
            //缴纳社保总数
            String userpcnums = list.get(i).get("userpcnum").toString();
            Integer userpcnumss = Integer.parseInt(userpcnums);
            sbnum += userpcnumss;
        }
        map.put("lastmonth", lnum);
        map.put("thismouth", tnum);
        map.put("znum", znum);
        map.put("lastamount", lmount);
        map.put("thisamount", tmount);
        map.put("tamountnum", tamountnum);
        map.put("userlastmouth", tpznum);
        map.put("userthismouth", lpznum);
        map.put("usernum", pznum);
        map.put("userpcthismouth", lznum);
        map.put("userpclastmouth", tznum);
        map.put("userpcnum", sbnum);
        lists.add(map);
        return R.data(lists);
    }
    /**
@@ -438,6 +531,12 @@
        List<Map<String, Object>> lists = new ArrayList<>();
        Integer a = 0;
        Integer b = 0;
        Integer num = 0;
        Integer znum = 0;
        Integer cznum = 0;
        Integer sbnum = 0;
        Integer khnum = 0;
        Integer pqnum = 0;
        Integer zca = 0;
        Integer zcb = 0;
        Integer cza = 0;
@@ -448,6 +547,7 @@
        Integer khb = 0;
        Integer pqa = 0;
        Integer pqb = 0;
        Integer integer = 0;
        String deptname = null;
        String jurname = null;
        //保安员数量
@@ -466,10 +566,20 @@
            //上个月数量
            String lastnum = maps.get(i).get("lastnum").toString();
            b += Integer.valueOf(lastnum);
            String nums = maps.get(i).get("num").toString();
            num += Integer.valueOf(nums);
            String fznums = maps.get(i).get("fznum").toString();
            integer += Integer.valueOf(fznums);
        }
        map.put("thisnum", a);
        map.put("lastnum", b);
//        if(deptid.equals("")|| deptid.equals("null")){
//            map.put("num", num-integer);
//        }
//        else {
//            map.put("num", num);
//        }
        map.put("num", num);
        map.put("List", maps);
        mapC.put("baoan", map);
        //正常保安员数量
@@ -481,9 +591,12 @@
            //上个月数量
            String lastnum = maps1.get(i).get("lastnum").toString();
            zcb += Integer.valueOf(lastnum);
            String nums = maps1.get(i).get("num").toString();
            znum += Integer.valueOf(nums);
        }
        mapzc.put("thisnum", zca);
        mapzc.put("lastnum", zcb);
        mapzc.put("num", znum);
        mapzc.put("List", maps1);
        mapC.put("zcbaoan", mapzc);
        //持证保安数量
@@ -495,9 +608,12 @@
            //上个月数量
            String lastnum = maps2.get(i).get("lastnum").toString();
            czb += Integer.valueOf(lastnum);
            String nums = maps2.get(i).get("num").toString();
            cznum += Integer.valueOf(nums);
        }
        mapcz.put("thisnum", cza);
        mapcz.put("lastnum", czb);
        mapcz.put("num", cznum);
        mapcz.put("List", maps2);
        mapC.put("czbaoan", mapcz);
        //缴纳社保数量
@@ -509,9 +625,12 @@
            //上个月数量
            String lastnum = maps3.get(i).get("lastnum").toString();
            sbb += Integer.valueOf(lastnum);
            String nums = maps3.get(i).get("num").toString();
            sbnum += Integer.valueOf(nums);
        }
        mapsb.put("thisnum", sba);
        mapsb.put("lastnum", sbb);
        mapsb.put("num", sbnum);
        mapsb.put("List", maps3);
        mapC.put("sheb", mapsb);
        //服务客户数量
@@ -523,9 +642,12 @@
            //上个月数量
            String lastnum = maps4.get(i).get("lastnum").toString();
            khb += Integer.valueOf(lastnum);
            String nums = maps4.get(i).get("num").toString();
            khnum += Integer.valueOf(nums);
        }
        mapkh.put("thisnum", kha);
        mapkh.put("lastnum", khb);
        mapkh.put("num", khnum);
        mapkh.put("List", maps4);
        mapC.put("kh", mapkh);
        //保安派遣数量
@@ -537,9 +659,12 @@
            //上个月数量
            String lastnum = maps5.get(i).get("lastnum").toString();
            pqb += Integer.valueOf(lastnum);
            String nums = maps5.get(i).get("num").toString();
            pqnum += Integer.valueOf(nums);
        }
        mappq.put("thisnum", pqa);
        mappq.put("lastnum", pqb);
        mappq.put("num", pqnum);
        mappq.put("List", maps5);
        mapC.put("paiq", mappq);
        lists.add(mapC);
@@ -547,6 +672,125 @@
    }
//    /**
//     * 公司运营智能统计
//     *
//     * @return
//     */
//    @GetMapping("/queryCounts")
//    public R queryCounts(String jurisdiction, String deptid) {
//        List<Map<String, Object>> lists = new ArrayList<>();
//        Integer a = 0;
//        Integer b = 0;
//        Integer zca = 0;
//        Integer zcb = 0;
//        Integer cza = 0;
//        Integer czb = 0;
//        Integer sba = 0;
//        Integer sbb = 0;
//        Integer kha = 0;
//        Integer khb = 0;
//        Integer pqa = 0;
//        Integer pqb = 0;
//        String deptname = null;
//        String jurname = null;
//        //保安员数量
//        Map<String, Object> map = new HashMap<String, Object>();
//        Map<String, Object> mapzc = new HashMap<String, Object>();
//        Map<String, Object> mapcz = new HashMap<String, Object>();
//        Map<String, Object> mapsb = new HashMap<String, Object>();
//        Map<String, Object> mapkh = new HashMap<String, Object>();
//        Map<String, Object> mappq = new HashMap<String, Object>();
//        Map<String, Object> mapC = new HashMap<String, Object>();
//        List<Map<Object, Object>> maps = informationService.queryCountB(jurisdiction, deptid);
//        for (int i = 0; i < maps.size(); i++) {
//            //这个月数量
//            String thisnum = maps.get(i).get("thisnum").toString();
//            a += Integer.valueOf(thisnum);
//            //上个月数量
//            String lastnum = maps.get(i).get("lastnum").toString();
//            b += Integer.valueOf(lastnum);
//
//        }
//        map.put("thisnum", a);
//        map.put("lastnum", b);
//        map.put("List", maps);
//        mapC.put("baoan", map);
//        //正常保安员数量
//        List<Map<Object, Object>> maps1 = informationService.queryCountZc(jurisdiction, deptid);
//        for (int i = 0; i < maps1.size(); i++) {
//            //这个月数量
//            String thisnum = maps1.get(i).get("thisnum").toString();
//            zca += Integer.valueOf(thisnum);
//            //上个月数量
//            String lastnum = maps1.get(i).get("lastnum").toString();
//            zcb += Integer.valueOf(lastnum);
//        }
//        mapzc.put("thisnum", zca);
//        mapzc.put("lastnum", zcb);
//        mapzc.put("List", maps1);
//        mapC.put("zcbaoan", mapzc);
//        //持证保安数量
//        List<Map<Object, Object>> maps2 = informationService.queryCountCz(jurisdiction, deptid);
//        for (int i = 0; i < maps2.size(); i++) {
//            //这个月数量
//            String thisnum = maps2.get(i).get("thisnum").toString();
//            cza += Integer.valueOf(thisnum);
//            //上个月数量
//            String lastnum = maps2.get(i).get("lastnum").toString();
//            czb += Integer.valueOf(lastnum);
//        }
//        mapcz.put("thisnum", cza);
//        mapcz.put("lastnum", czb);
//        mapcz.put("List", maps2);
//        mapC.put("czbaoan", mapcz);
//        //缴纳社保数量
//        List<Map<Object, Object>> maps3 = informationService.queryCountSb(jurisdiction, deptid);
//        for (int i = 0; i < maps3.size(); i++) {
//            //这个月数量
//            String thisnum = maps3.get(i).get("thisnum").toString();
//            sba += Integer.valueOf(thisnum);
//            //上个月数量
//            String lastnum = maps3.get(i).get("lastnum").toString();
//            sbb += Integer.valueOf(lastnum);
//        }
//        mapsb.put("thisnum", sba);
//        mapsb.put("lastnum", sbb);
//        mapsb.put("List", maps3);
//        mapC.put("sheb", mapsb);
//        //服务客户数量
//        List<Map<Object, Object>> maps4 = informationService.queryCountKh(jurisdiction, deptid);
//        for (int i = 0; i < maps4.size(); i++) {
//            //这个月数量
//            String thisnum = maps4.get(i).get("thisnum").toString();
//            kha += Integer.valueOf(thisnum);
//            //上个月数量
//            String lastnum = maps4.get(i).get("lastnum").toString();
//            khb += Integer.valueOf(lastnum);
//        }
//        mapkh.put("thisnum", kha);
//        mapkh.put("lastnum", khb);
//        mapkh.put("List", maps4);
//        mapC.put("kh", mapkh);
//        //保安派遣数量
//        List<Map<Object, Object>> maps5 = informationService.queryCountPq(jurisdiction, deptid);
//        for (int i = 0; i < maps5.size(); i++) {
//            //这个月数量
//            String thisnum = maps5.get(i).get("thisnum").toString();
//            pqa += Integer.valueOf(thisnum);
//            //上个月数量
//            String lastnum = maps5.get(i).get("lastnum").toString();
//            pqb += Integer.valueOf(lastnum);
//        }
//        mappq.put("thisnum", pqa);
//        mappq.put("lastnum", pqb);
//        mappq.put("List", maps5);
//        mapC.put("paiq", mappq);
//        lists.add(mapC);
//        return R.data(lists);
//    }
    /**
     * 查询本年公司运营智能统计
     *
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -57,6 +57,15 @@
        <if test="information.representative!=null and information.representative!=''">
            and i.representative like concat(concat('%', #{information.representative}),'%')
        </if>
        <if test="information.creditcode!=null and information.creditcode!=''">
            and i.creditCode like concat(concat('%', #{information.creditcode}),'%')
        </if>
        <if test="information.representativecell!=null and information.representativecell!=''">
            and i.representativecell like concat(concat('%', #{information.representativecell}),'%')
        </if>
        <if test="information.address!=null and information.address!=''">
            and i.address like concat(concat('%', #{information.address}),'%')
        </if>
        <if test="information.stats!=null and information.stats!=''">
            and i.stats=#{information.stats}
        </if>
@@ -341,91 +350,278 @@
    <!--        ) F ON F.dept_id = A.deptid-->
    <!--    </select> -->
    <!--统计上个月和这个月交社保的人数以及缴纳金额-->
    <!--    <select id="selectTo" resultType="java.util.HashMap">-->
    <!--        SELECT IFNULL(A.lastmonth, 0) AS lastmonth,-->
    <!--        IFNULL(B.thismouth, 0) AS thismouth,-->
    <!--        IFNULL(C.thisamount, 0) AS thisamount,-->
    <!--        IFNULL(D.lastamount, 0) AS lastamount,-->
    <!--        IFNULL(E.userthismouth, 0) AS userthismouth,-->
    <!--        IFNULL(F.userlastmouth, 0) AS userlastmouth,-->
    <!--        IFNULL(G.userpcthismouth, 0) AS userpcthismouth,-->
    <!--        IFNULL(J.userpclastmouth, 0) AS userpclastmouth-->
    <!--        FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS lastmonth,-->
    <!--        deptid-->
    <!--        FROM sys_socil-->
    <!--        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(insuredtime, '%Y%m')) = 1-->
    <!--        GROUP BY deptid-->
    <!--        ) A ON A.deptid = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS thismouth,-->
    <!--        deptid-->
    <!--        FROM sys_socil-->
    <!--        WHERE DATE_FORMAT(insuredtime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')-->
    <!--        GROUP BY deptid-->
    <!--        ) B ON B.deptid = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT SUM(amount) AS thisamount,-->
    <!--        deptid-->
    <!--        FROM sys_socil-->
    <!--        WHERE DATE_FORMAT(insuredtime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')-->
    <!--        GROUP BY deptid-->
    <!--        ) C ON C.deptid = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT SUM(amount) AS lastamount,-->
    <!--        deptid-->
    <!--        FROM sys_socil-->
    <!--        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(insuredtime, '%Y%m')) = 1-->
    <!--        GROUP BY deptid-->
    <!--        ) D ON D.deptid = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS userthismouth,-->
    <!--        dept_id-->
    <!--        FROM blade_user-->
    <!--        WHERE DATE_FORMAT(update_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')-->
    <!--        AND STATUS = 1-->
    <!--        AND is_deleted = 0-->
    <!--        GROUP BY dept_id-->
    <!--        ) E ON E.dept_id = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS userlastmouth,-->
    <!--        dept_id-->
    <!--        FROM blade_user-->
    <!--        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(update_time, '%Y%m')) = 1-->
    <!--        AND STATUS = 1-->
    <!--        AND is_deleted = 0-->
    <!--        GROUP BY dept_id-->
    <!--        ) F ON F.dept_id = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS userpcthismouth,-->
    <!--        dept_id-->
    <!--        FROM blade_user-->
    <!--        WHERE DATE_FORMAT(update_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')-->
    <!--        AND dispatch = 0-->
    <!--        AND STATUS = 1-->
    <!--        AND is_deleted = 0-->
    <!--        GROUP BY dept_id-->
    <!--        ) G ON G.dept_id = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS userpclastmouth,-->
    <!--        dept_id-->
    <!--        FROM blade_user-->
    <!--        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(update_time, '%Y%m')) = 1-->
    <!--        AND dispatch = 0-->
    <!--        AND STATUS = 1-->
    <!--        AND is_deleted = 0-->
    <!--        GROUP BY dept_id-->
    <!--        ) J ON J.dept_id = H.departmentid where 1=1-->
    <!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">-->
    <!--            and H.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and H.departmentid =#{deptid}-->
    <!--        </if>-->
    <!--    </select>-->
    <!--统计上个月和这个月交社保的人数以及缴纳金额-->
    <select id="selectTo" resultType="java.util.HashMap">
        SELECT IFNULL(A.lastmonth, 0) AS lastmonth,
        SELECT
        IFNULL( A.lastmonth, 0 ) AS lastmonth,
        IFNULL(B.thismouth, 0) AS thismouth,
        IFNULL( Z.num, 0 ) AS num,
        IFNULL(C.thisamount, 0) AS thisamount,
        IFNULL(D.lastamount, 0) AS lastamount,
        IFNULL( R.amountnum, 0 ) AS amountnum,
        IFNULL(E.userthismouth, 0) AS userthismouth,
        IFNULL(F.userlastmouth, 0) AS userlastmouth,
        IFNULL( I.usernum, 0 ) AS usernum,
        IFNULL(G.userpcthismouth, 0) AS userpcthismouth,
        IFNULL(J.userpclastmouth, 0) AS userpclastmouth
        FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H
        IFNULL( J.userpclastmouth, 0 ) AS userpclastmouth,
        IFNULL( P.userpcnum, 0 ) AS userpcnum
        FROM
        ( SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
        LEFT JOIN (
        SELECT COUNT(*) AS lastmonth,
        SELECT
        COUNT( * ) AS lastmonth,
        deptid
        FROM sys_socil
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(insuredtime, '%Y%m')) = 1
        GROUP BY deptid
        FROM
        sys_socil
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1
        GROUP BY
        deptid
        ) A ON A.deptid = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS thismouth,
        SELECT
        COUNT( * ) AS thismouth,
        deptid
        FROM sys_socil
        WHERE DATE_FORMAT(insuredtime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        GROUP BY deptid
        FROM
        sys_socil
        WHERE
        DATE_FORMAT( insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY
        deptid
        ) B ON B.deptid = H.departmentid
        LEFT JOIN (
        SELECT SUM(amount) AS thisamount,
        SELECT
        COUNT( * ) AS num,
        deptid
        FROM sys_socil
        WHERE DATE_FORMAT(insuredtime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        GROUP BY deptid
        FROM
        sys_socil
        GROUP BY
        deptid
        ) Z ON Z.deptid = H.departmentid
        LEFT JOIN (
        SELECT
        SUM( amount ) AS thisamount,
        deptid
        FROM
        sys_socil
        WHERE
        DATE_FORMAT( insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY
        deptid
        ) C ON C.deptid = H.departmentid
        LEFT JOIN (
        SELECT SUM(amount) AS lastamount,
        SELECT
        SUM( amount ) AS lastamount,
        deptid
        FROM sys_socil
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(insuredtime, '%Y%m')) = 1
        GROUP BY deptid
        FROM
        sys_socil
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1
        GROUP BY
        deptid
        ) D ON D.deptid = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS userthismouth,
        SELECT
        SUM(amount) AS amountnum,
        deptid
        FROM
        sys_socil
        GROUP BY
        deptid
        ) R ON R.deptid = H.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS userthismouth,
        dept_id
        FROM blade_user
        WHERE DATE_FORMAT(update_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        FROM
        blade_user
        WHERE
        DATE_FORMAT( update_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        AND STATUS = 1
        AND is_deleted = 0
        GROUP BY dept_id
        AND is_deleted = 0 AND role_id='1412226235153731586'
        GROUP BY
        dept_id
        ) E ON E.dept_id = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS userlastmouth,
        SELECT
        COUNT( * ) AS userlastmouth,
        dept_id
        FROM blade_user
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(update_time, '%Y%m')) = 1
        FROM
        blade_user
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( update_time, '%Y%m' ) ) = 1
        AND STATUS = 1
        AND is_deleted = 0
        GROUP BY dept_id
        AND is_deleted = 0 AND role_id='1412226235153731586'
        GROUP BY
        dept_id
        ) F ON F.dept_id = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS userpcthismouth,
        SELECT
        J.znum+J.fznum as usernum,
        J.dept_id
        FROM
        (
        SELECT
        A.znum,
        IFNULL( B.znum, 0 ) AS fznum,
        A.dept_id
        FROM
        (
        SELECT
        COUNT( * ) AS znum,
        bu.dept_id
        FROM
        blade_user bu
        WHERE
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        GROUP BY
        bu.dept_id
        ) A
        LEFT JOIN (
        SELECT
        IFNULL( COUNT( * ), 0 ) AS znum,
        bd.parent_id
        FROM
        blade_user bu
        LEFT JOIN blade_dept bd ON bu.dept_id = bd.id
        WHERE
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        GROUP BY
        bd.parent_id
        ) B ON B.parent_id = A.dept_id
        ) J) I ON I.dept_id = H.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS userpcthismouth,
        dept_id
        FROM blade_user
        WHERE DATE_FORMAT(update_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        AND dispatch = 0
        AND STATUS = 1
        AND is_deleted = 0
        GROUP BY dept_id
        FROM
        sys_dispatcher
        WHERE
        DATE_FORMAT( dispatcherTime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        AND STATUS = 0
        GROUP BY
        dept_id
        ) G ON G.dept_id = H.departmentid
        LEFT JOIN (
        SELECT COUNT(*) AS userpclastmouth,
        SELECT
        COUNT( * ) AS userpclastmouth,
        dept_id
        FROM blade_user
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(update_time, '%Y%m')) = 1
        AND dispatch = 0
        AND STATUS = 1
        AND is_deleted = 0
        GROUP BY dept_id
        ) J ON J.dept_id = H.departmentid where 1=1
        FROM
        sys_dispatcher
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( dispatcherTime, '%Y%m' ) ) = 1
        AND STATUS = 0
        GROUP BY
        dept_id
        ) J ON J.dept_id = H.departmentid
        LEFT JOIN (
        SELECT
        COUNT(*) AS userpcnum,
        dept_id
        FROM
        sys_dispatcher
        WHERE STATUS = 0
        GROUP BY
        dept_id
        ) P ON P.dept_id = H.departmentid
        LEFT JOIN blade_dept d ON H.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and H.jurisdiction =#{jurisdiction}
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--查询本年所有月份的交社保的数量-->
    <select id="queryYearSoil" resultType="java.util.HashMap">
        SELECT COUNT
@@ -540,66 +736,49 @@
    </select>
    <!--总保安数量-->
    <!--    &lt;!&ndash;总保安数量&ndash;&gt;-->
    <!--    <select id="queryCountB" resultType="java.util.HashMap">-->
    <!--        SELECT-->
    <!--        C.thisnum,-->
    <!--        C.lastnum,-->
    <!--        d.dept_name AS deptname,-->
    <!--        j.dept_name AS jurname-->
    <!--        FROM-->
    <!--        (-->
    <!--        SELECT-->
    <!--        IFNULL( A.thisnum, 0 ) AS thisnum,-->
    <!--        SELECT IFNULL(A.thisnum, 0) AS thisnum,-->
    <!--        IFNULL( B.lastnum, 0 ) AS lastnum,-->
    <!--        A.dept_id,-->
    <!--        A.jurisdiction-->
    <!--        FROM-->
    <!--        (-->
    <!--        SELECT-->
    <!--        COUNT( * ) AS thisnum,-->
    <!--        dept_id,-->
    <!--        jurisdiction-->
    <!--        FROM-->
    <!--        blade_user-->
    <!--        WHERE-->
    <!--        role_id = '1412226235153731586' and status=1 and is_deleted=0-->
    <!--        AND DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )-->
    <!--        GROUP BY-->
    <!--        dept_id,-->
    <!--        jurisdiction-->
    <!--        ) A-->
    <!--        H.departmentid,-->
    <!--        H.jurisdiction-->
    <!--        FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H-->
    <!--        LEFT JOIN (-->
    <!--        SELECT-->
    <!--        COUNT( * ) AS lastnum,-->
    <!--        dept_id,-->
    <!--        jurisdiction-->
    <!--        FROM-->
    <!--        blade_user-->
    <!--        WHERE-->
    <!--        role_id = '1412226235153731586' and status=1 and is_deleted=0-->
    <!--        SELECT COUNT(*) AS thisnum,-->
    <!--        dept_id-->
    <!--        FROM blade_user-->
    <!--        WHERE role_id = '1412226235153731586'-->
    <!--        AND STATUS = 1-->
    <!--        AND is_deleted = 0-->
    <!--        AND DATE_FORMAT(create_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')-->
    <!--        GROUP BY dept_id-->
    <!--        ) A ON A.dept_id = H.departmentid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS lastnum,-->
    <!--        dept_id-->
    <!--        FROM blade_user-->
    <!--        WHERE role_id = '1412226235153731586'-->
    <!--        AND STATUS = 1-->
    <!--        AND is_deleted = 0-->
    <!--        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) = 1-->
    <!--        GROUP BY-->
    <!--        dept_id,-->
    <!--        jurisdiction-->
    <!--        ) B ON A.dept_id = B.dept_id-->
    <!--        ) C-->
    <!--        LEFT JOIN blade_dept d ON C.dept_id = d.id-->
    <!--        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction-->
    <!--        WHERE 1 =1-->
    <!--        GROUP BY dept_id-->
    <!--        ) B ON B.dept_id = H.departmentid where 1=1-->
    <!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">-->
    <!--            and C.jurisdiction =#{jurisdiction}-->
    <!--            and H.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and C.dept_id =#{deptid}-->
    <!--            and H.departmentid =#{deptid}-->
    <!--        </if>-->
    <!--    </select>-->
    <select id="queryCountB" resultType="java.util.HashMap">
        SELECT IFNULL(A.thisnum, 0) AS thisnum,
        IFNULL(B.lastnum, 0) AS lastnum,
        IFNULL( C.num, 0 ) AS num,
        IFNULL( C.fznum, 0 ) AS fznum,
        H.departmentid,
        H.jurisdiction
        FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H
        FROM (SELECT departmentid, jurisdiction FROM sys_information WHERE stats!=1  GROUP BY departmentid, jurisdiction)
        H
        LEFT JOIN (
        SELECT COUNT(*) AS thisnum,
        dept_id
@@ -607,7 +786,7 @@
        WHERE role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND DATE_FORMAT(create_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        AND DATE_FORMAT(rtime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        GROUP BY dept_id
        ) A ON A.dept_id = H.departmentid
        LEFT JOIN (
@@ -617,11 +796,54 @@
        WHERE role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(create_time, '%Y%m')) = 1
        AND PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(rtime, '%Y%m')) = 1
        GROUP BY dept_id
        ) B ON B.dept_id = H.departmentid where 1=1
        ) B ON B.dept_id = H.departmentid
        LEFT JOIN (
        SELECT
        J.fznum,
        J.znum+J.fznum as num,
        J.dept_id
        FROM
        (
        SELECT
        A.znum,
        IFNULL( B.znum, 0 ) AS fznum,
        A.dept_id
        FROM
        (
        SELECT
        COUNT( * ) AS znum,
        bu.dept_id
        FROM
        blade_user bu
        WHERE
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        GROUP BY
        bu.dept_id
        ) A
        LEFT JOIN (
        SELECT
        IFNULL( COUNT( * ), 0 ) AS znum,
        bd.parent_id
        FROM
        blade_user bu
        LEFT JOIN blade_dept bd ON bu.dept_id = bd.id
        WHERE
        bu.`status` = 1
        AND bu.is_deleted = 0
        AND bu.role_id = '1412226235153731586'
        GROUP BY
        bd.parent_id
        ) B ON B.parent_id = A.dept_id
        ) J
        ) C ON C.dept_id = H.departmentid
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and H.jurisdiction =#{jurisdiction}
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
@@ -630,242 +852,295 @@
    <!--正常保安数量-->
    <select id="queryCountZc" resultType="java.util.HashMap">
        SELECT C.thisnum,
        C.lastnum,
        d.dept_name as deptname,
        j.dept_name as jurname
        FROM (
        SELECT IFNULL(A.thisnum, 0) AS thisnum,
        SELECT
        IFNULL( A.thisnum, 0 ) AS thisnum,
        IFNULL(B.lastnum, 0) AS lastnum,
        A.dept_id,
        A.jurisdiction
        FROM (
        SELECT COUNT
        (*) AS thisnum,
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586' and status=1 and is_deleted=0
        AND examination_type = 0
        AND DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY dept_id,
        jurisdiction
        ) A
        left JOIN (
        SELECT COUNT
        (*) AS lastnum,
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586' and status=1 and is_deleted=0
        AND examination_type = 0
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) = 1
        GROUP BY dept_id,
        jurisdiction
        ) B ON A.dept_id = B.dept_id) C
        LEFT JOIN blade_dept d ON C.dept_id = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and C.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and C.dept_id =#{deptid}
        </if>
    </select>
    <!--持证保安数量-->
    <select id="queryCountCz" resultType="java.util.HashMap">
        SELECT C.thisnum,
        C.lastnum,
        d.dept_name as deptname,
        j.dept_name as jurname
        FROM (
        SELECT IFNULL(A.thisnum, 0) AS thisnum,
        IFNULL(B.lastnum, 0) AS lastnum,
        A.dept_id,
        A.jurisdiction
        FROM (
        SELECT COUNT
        (*) AS thisnum,
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586' and status=1 and is_deleted=0
        AND hold = 1
        AND DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY dept_id,
        jurisdiction
        ) A
        left JOIN (
        SELECT COUNT
        (*) AS lastnum,
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586' and status=1 and is_deleted=0
        AND hold = 1
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) = 1
        GROUP BY dept_id,
        jurisdiction
        ) B ON A.dept_id = B.dept_id) C
        LEFT JOIN blade_dept d ON C.dept_id = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and C.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and C.dept_id =#{deptid}
        </if>
    </select>
    <!--缴纳社保数量-->
    <select id="queryCountSb" resultType="java.util.HashMap">
        SELECT C.thisnum,
        C.lastnum,
        IFNULL( D.num, 0 ) AS num,
        H.departmentid,
        H.jurisdiction,
        d.dept_name AS deptname,
        j.dept_name AS jurname
        FROM (
        SELECT IFNULL(A.thisnum, 0) AS thisnum,
        IFNULL(B.lastnum, 0) AS lastnum,
        A.deptid,
        A.jurisdiction
        FROM (
        SELECT COUNT
        (*) AS thisnum,
        deptid,
        jurisdiction
        FROM sys_socil
        WHERE DATE_FORMAT(insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY deptid,
        jurisdiction
        ) A
        left JOIN (
        SELECT COUNT
        (*) AS lastnum,
        deptid,
        jurisdiction
        FROM sys_socil
        WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1
        GROUP BY deptid,
        jurisdiction
        ) B ON A.deptid = B.deptid
        ) C
        LEFT JOIN blade_dept d ON C.deptid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and C.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and C.deptid =#{deptid}
        </if>
    </select>
    <!--服务客户数量-->
    <select id="queryCountKh" resultType="java.util.HashMap">
        SELECT C.thisnum,
        C.lastnum,
        C.dept_id,
        d.dept_name AS deptname,
        j.dept_name AS jurname
        FROM (
        SELECT IFNULL(A.thisnum, 0) AS thisnum,
        IFNULL(B.lastnum, 0) AS lastnum,
        A.dept_id,
        A.jurisdiction
        FROM (
        SELECT COUNT
        (*) AS thisnum,
        dept_id,
        jurisdiction
        FROM sys_dispatcher_unit
        WHERE DATE_FORMAT( start_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY dept_id,
        jurisdiction
        ) A
        left JOIN (
        SELECT COUNT
        (*) AS lastnum,
        dept_id,
        jurisdiction
        FROM sys_dispatcher_unit
        WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( start_time, '%Y%m' ) ) = 1
        GROUP BY dept_id,
        jurisdiction
        ) B ON A.dept_id = B.dept_id
        ) C
        LEFT JOIN blade_dept d ON C.dept_id = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction WHERE 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and C.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and C.dept_id =#{deptid}
        </if>
    </select>
    <!--保安派遣数量-->
    <!--    <select id="queryCountPq" resultType="java.util.HashMap">-->
    <!--        SELECT C.thisnum,-->
    <!--        C.lastnum,-->
    <!--        d.dept_name as deptname,-->
    <!--        j.dept_name as jurname-->
    <!--        FROM (-->
    <!--        SELECT IFNULL(A.thisnum, 0) AS thisnum,-->
    <!--        IFNULL(B.lastnum, 0) AS lastnum,-->
    <!--        A.dept_id,-->
    <!--        A.jurisdiction-->
    <!--        FROM (-->
    <!--        SELECT SUM(num) AS thisnum,-->
    <!--        dept_id,-->
    <!--        jurisdiction-->
    <!--        FROM sys_dispatcher-->
    <!--        WHERE DATE_FORMAT( dispatcherTime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )-->
    <!--        GROUP BY dept_id, jurisdiction-->
    <!--        ) A-->
    <!--        left JOIN (-->
    <!--        SELECT SUM(num) AS lastnum,-->
    <!--        dept_id,-->
    <!--        jurisdiction-->
    <!--        FROM sys_dispatcher-->
    <!--        WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( dispatcherTime, '%Y%m' ) ) = 1-->
    <!--        GROUP BY dept_id, jurisdiction-->
    <!--        ) B ON A.dept_id = B.dept_id) C-->
    <!--        LEFT JOIN blade_dept d ON C.dept_id = d.id-->
    <!--        LEFT JOIN sys_jurisdiction j ON j.id = C.jurisdiction where 1=1-->
    <!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">-->
    <!--            and C.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and C.dept_id =#{deptid}-->
    <!--        </if>-->
    <!--    </select> -->
    <select id="queryCountPq" resultType="java.util.HashMap">
        SELECT IFNULL(G.thisnum, 0) AS thisnum,
        IFNULL(J.lastnum, 0) AS lastnum
        FROM (SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction) H
        FROM
        ( SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
        LEFT JOIN (
        SELECT SUM(num) AS thisnum,
        SELECT
        COUNT( * ) AS thisnum,
        dept_id
        FROM sys_dispatcher
        WHERE DATE_FORMAT(dispatcherTime, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
        GROUP BY dept_id
        ) G ON G.dept_id = H.departmentid
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND examination_type = 0
        AND DATE_FORMAT( rtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY
        dept_id
        ) A ON H.departmentid = A.dept_id
        LEFT JOIN (
        SELECT SUM(num) AS lastnum,
        SELECT
        COUNT( * ) AS lastnum,
        dept_id
        FROM sys_dispatcher
        WHERE PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(dispatcherTime, '%Y%m')) = 1
        GROUP BY dept_id
        ) J ON J.dept_id = H.departmentid
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND examination_type = 0
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( rtime, '%Y%m' ) ) = 1
        GROUP BY
        dept_id
        ) B ON H.departmentid = B.dept_id
        LEFT JOIN (
        SELECT
        COUNT( * ) AS num,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND examination_type = 0
        GROUP BY
        dept_id
        ) D ON H.departmentid = D.dept_id
        LEFT JOIN blade_dept d ON H.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 = 1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and H.jurisdiction =#{jurisdiction}
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--持证保安数量-->
    <select id="queryCountCz" resultType="java.util.HashMap">
        SELECT
        IFNULL( A.thisnum, 0 ) AS thisnum,
        IFNULL( B.lastnum, 0 ) AS lastnum,
        IFNULL( C.num, 0 ) AS num,
        H.departmentid,
        H.jurisdiction,
        H.enterpriseName AS deptname,
        j.dept_name AS jurname
        FROM
        ( SELECT departmentid, jurisdiction,enterpriseName FROM sys_information GROUP BY departmentid,
        jurisdiction,enterpriseName ) H
        LEFT JOIN (
        SELECT
        COUNT(*) AS thisnum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND hold = 1
        AND DATE_FORMAT( rtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY
        dept_id
        ) A ON H.departmentid = A.dept_id
        LEFT JOIN (
        SELECT
        COUNT(*) AS lastnum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND hold = 1
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( rtime, '%Y%m' ) ) = 1
        GROUP BY
        dept_id
        ) B ON H.departmentid = B.dept_id
        LEFT JOIN (
        SELECT
        COUNT(*) AS num,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND hold = 1
        GROUP BY
        dept_id
        ) C ON H.departmentid = C.dept_id
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--缴纳社保数量-->
    <select id="queryCountSb" resultType="java.util.HashMap">
        SELECT
        IFNULL( A.thisnum, 0 ) AS thisnum,
        IFNULL( B.lastnum, 0 ) AS lastnum,
        IFNULL( C.num, 0 ) AS num,
        H.departmentid,
        H.jurisdiction,
        d.dept_name AS deptname,
        j.dept_name AS jurname
        FROM
        ( SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
        LEFT JOIN (
        SELECT
        COUNT( * ) AS thisnum,
        deptid
        FROM
        sys_socil
        WHERE
        DATE_FORMAT( insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY
        deptid
        ) A ON H.departmentid = A.deptid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS lastnum,
        deptid
        FROM
        sys_socil
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1
        GROUP BY
        deptid
        ) B ON H.departmentid = B.deptid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS num,
        deptid
        FROM
        sys_socil
        GROUP BY
        deptid
        ) C ON H.departmentid = C.deptid
        LEFT JOIN blade_dept d ON H.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--服务客户数量-->
    <select id="queryCountKh" resultType="java.util.HashMap">
        SELECT
        IFNULL( A.thisnum, 0 ) AS thisnum,
        IFNULL( B.lastnum, 0 ) AS lastnum,
        IFNULL( C.num, 0 ) AS num,
        H.departmentid,
        H.jurisdiction
        FROM
        ( SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
        LEFT JOIN (
        SELECT
        COUNT(*) AS thisnum,
        dept_id
        FROM
        sys_dispatcher_unit
        WHERE
        DATE_FORMAT( start_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY
        dept_id
        ) A ON H.departmentid = A.dept_id
        LEFT JOIN (
        SELECT
        COUNT(*) AS lastnum,
        dept_id
        FROM
        sys_dispatcher_unit
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( start_time, '%Y%m' ) ) = 1
        GROUP BY
        dept_id
        ) B ON H.departmentid = B.dept_id
        LEFT JOIN (
        SELECT
        COUNT(*) AS num,
        dept_id
        FROM
        sys_dispatcher_unit
        GROUP BY
        dept_id
        ) C ON H.departmentid = C.dept_id
        LEFT JOIN blade_dept d ON H.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--保安派遣数量-->
    <select id="queryCountPq" resultType="java.util.HashMap">
        SELECT
        IFNULL( G.thisnum, 0 ) AS thisnum,
        IFNULL( J.lastnum, 0 ) AS lastnum,
        IFNULL( C.num, 0 ) AS num
        FROM
        ( SELECT departmentid, jurisdiction FROM sys_information GROUP BY departmentid, jurisdiction ) H
        LEFT JOIN (
        SELECT
        COUNT(*) AS thisnum,
        dept_id
        FROM
        sys_dispatcher
        WHERE
        DATE_FORMAT( dispatcherTime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        AND `status`=0
        GROUP BY
        dept_id
        ) G ON G.dept_id = H.departmentid
        LEFT JOIN (
        SELECT
        COUNT(*) AS lastnum,
        dept_id
        FROM
        sys_dispatcher
        WHERE
        PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( dispatcherTime, '%Y%m' ) ) = 1
        AND `status`=0
        GROUP BY
        dept_id
        ) J ON J.dept_id = H.departmentid
        LEFT JOIN (
        SELECT
        COUNT(*) AS num,
        dept_id
        FROM
        sys_dispatcher
        where `status`=0
        GROUP BY
        dept_id
        ) C ON C.dept_id = H.departmentid
        LEFT JOIN sys_jurisdiction j ON j.id = H.jurisdiction
        WHERE 1 = 1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
        <if test="deptid!=null and deptid!=''">
            and H.departmentid =#{deptid}
        </if>
    </select>
    <!--查询本年所有月份的总人数-->
    <select id="queryYearZ" resultType="java.util.HashMap">