tangzy
2021-08-31 4ecf2dbe2c255c3b556ff4bfb49b4e2e8285bd17
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -3,7 +3,7 @@
<mapper namespace="org.springblade.modules.information.mapper.InformationMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="informationResultMap" type="org.springblade.modules.information.entity.Information">
    <resultMap id="informationResultMap" type="org.springblade.modules.information.vo.InformationVO">
        <id column="id" property="id"/>
        <result column="creditCode" property="creditcode"/>
        <result column="enterpriseName" property="enterprisename"/>
@@ -28,22 +28,43 @@
        <result column="contactscell" property="contactscell"/>
        <result column="businessLicense" property="businessLicense"/>
        <result column="licence" property="licence"/>
        <result column="znum" property="znum"/>
        <result column="cnum" property="cnum"/>
        <result column="pnum" property="pnum"/>
        <result column="fregion" property="fregion"/>
        <result column="ftime" property="ftime"/>
    </resultMap>
    <select id="selectInformationPage" resultMap="informationResultMap">
        select * from sys_information where 1=1
        SELECT
        i.*,
        IFNULL(A.znum ,0) as znum,
        IFNULL(B.cnum ,0) as cnum,
        IFNULL(C.pnum ,0) as pnum
        FROM
        sys_information i
        LEFT JOIN ( SELECT COUNT( * ) AS znum, dept_id FROM blade_user WHERE role_id = '1412226235153731586' AND
        status=1 GROUP BY dept_id ) A ON A.dept_id = i.departmentid
        LEFT JOIN ( SELECT COUNT( * ) AS cnum, dept_id FROM blade_user WHERE role_id = '1412226235153731586' AND
        status=1 AND hold=1 GROUP BY dept_id ) B ON B.dept_id = i.departmentid
        LEFT JOIN ( SELECT COUNT( * ) AS pnum, dept_id FROM blade_user WHERE role_id = '1412226235153731586' AND
        status=1 AND dispatch=0 GROUP BY dept_id ) C ON C.dept_id = i.departmentid
        where 1=1
        <if test="information.enterprisename!=null and information.enterprisename!=''">
            and enterpriseName like concat(concat('%', #{information.enterprisename}),'%')
            and i.enterpriseName like concat(concat('%', #{information.enterprisename}),'%')
        </if>
        <if test="information.representative!=null and information.representative!=''">
            and representative like concat(concat('%', #{information.representative}),'%')
            and i.representative like concat(concat('%', #{information.representative}),'%')
        </if>
        <if test="information.stats!=null and information.stats!=''">
            and stats=#{stats}
            and i.stats=#{information.stats}
        </if>
        <if test="information.jurisdiction!=null and information.jurisdiction!=''">
            and jurisdiction=#{jurisdiction}
        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1123598813738675201'">
            and i.jurisdiction=#{information.jurisdiction}
        </if>
        <if test="information.departmentid!=null and information.departmentid!=''">
            and i.departmentid=#{information.departmentid}
        </if>
    </select>
@@ -154,160 +175,244 @@
        </if>
    </select>
    <!--    &lt;!&ndash;统计上个月和这个月交社保的人数以及缴纳金额&ndash;&gt;-->
    <!--    <select id="selectTo" resultType="java.util.HashMap">-->
    <!--        SELECT IFNULL(A.lastmonth, 0) AS lastmonth,-->
    <!--        IFNULL(B.thismouth, 0) AS thismouth,-->
    <!--        IFNULL(A.amount, 0) AS lastamount,-->
    <!--        IFNULL(B.amount, 0) AS thisamount,-->
    <!--        IFNULL( C.userthismouth, 0 ) AS userthismouth,-->
    <!--        IFNULL( D.userlastmouth, 0 ) AS userlastmouth,-->
    <!--        IFNULL( E.userpcthismouth, 0 ) AS userpcthismouth,-->
    <!--        IFNULL( F.userpclastmouth, 0 ) AS userpclastmouth-->
    <!--        FROM (-->
    <!--        SELECT COUNT(*) AS lastmonth,-->
    <!--        amount,-->
    <!--        deptid-->
    <!--        FROM-->
    <!--        sys_socil-->
    <!--        WHERE-->
    <!--        deptid IN ( SELECT i.departmentid FROM sys_information i LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction-->
    <!--        where 1=1-->
    <!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">-->
    <!--            and i.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        GROUP BY i.departmentid )-->
    <!--        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and deptid =#{deptid}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        amount,-->
    <!--        deptid-->
    <!--        ) A-->
    <!--        left JOIN (-->
    <!--        SELECT COUNT(*) AS thismouth,-->
    <!--        amount,-->
    <!--        deptid-->
    <!--        FROM-->
    <!--        sys_socil-->
    <!--        WHERE-->
    <!--        deptid IN ( SELECT i.departmentid FROM sys_information i LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction-->
    <!--        where 1=1-->
    <!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">-->
    <!--            and i.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        GROUP BY i.departmentid )-->
    <!--        AND DATE_FORMAT( insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and deptid =#{deptid}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        amount,-->
    <!--        deptid-->
    <!--        ) B ON A.deptid = B.deptid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS userthismouth,-->
    <!--        dept_id-->
    <!--        FROM-->
    <!--        blade_user-->
    <!--        WHERE-->
    <!--        dept_id IN (-->
    <!--        SELECT-->
    <!--        i.departmentid-->
    <!--        FROM-->
    <!--        sys_information i-->
    <!--        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction-->
    <!--        where 1=1-->
    <!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">-->
    <!--            and i.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        i.departmentid-->
    <!--        )-->
    <!--        AND DATE_FORMAT( update_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' ) AND status=1-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and dept_id =#{deptid}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        dept_id-->
    <!--        ) C ON C.dept_id = A.deptid-->
    <!--        LEFT JOIN(-->
    <!--        SELECT COUNT(*) AS userlastmouth,-->
    <!--        dept_id-->
    <!--        FROM-->
    <!--        blade_user-->
    <!--        WHERE-->
    <!--        dept_id IN (-->
    <!--        SELECT-->
    <!--        i.departmentid-->
    <!--        FROM-->
    <!--        sys_information i-->
    <!--        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction-->
    <!--        where 1=1-->
    <!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">-->
    <!--            and i.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        i.departmentid-->
    <!--        )-->
    <!--        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( update_time, '%Y%m' ) ) = 1 AND status=1-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and dept_id =#{deptid}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        dept_id-->
    <!--        ) D ON D.dept_id = A.deptid-->
    <!--        LEFT JOIN (-->
    <!--        SELECT COUNT(*) AS userpcthismouth,-->
    <!--        dept_id-->
    <!--        FROM-->
    <!--        blade_user-->
    <!--        WHERE-->
    <!--        dept_id IN (-->
    <!--        SELECT-->
    <!--        i.departmentid-->
    <!--        FROM-->
    <!--        sys_information i-->
    <!--        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction-->
    <!--        where 1=1-->
    <!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">-->
    <!--            and i.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        i.departmentid-->
    <!--        )-->
    <!--        AND DATE_FORMAT( update_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' ) AND dispatch=0-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and dept_id =#{deptid}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        dept_id-->
    <!--        ) E ON E.dept_id = A.deptid-->
    <!--        LEFT JOIN(-->
    <!--        SELECT COUNT(*) AS userpclastmouth,dept_id-->
    <!--        FROM-->
    <!--        blade_user-->
    <!--        WHERE-->
    <!--        dept_id IN (-->
    <!--        SELECT i.departmentid-->
    <!--        FROM-->
    <!--        sys_information i-->
    <!--        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction-->
    <!--        where 1=1-->
    <!--        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">-->
    <!--            and i.jurisdiction =#{jurisdiction}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        i.departmentid-->
    <!--        )-->
    <!--        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( update_time, '%Y%m' ) ) = 1 AND dispatch=0-->
    <!--        <if test="deptid!=null and deptid!=''">-->
    <!--            and dept_id =#{deptid}-->
    <!--        </if>-->
    <!--        GROUP BY-->
    <!--        dept_id-->
    <!--        ) 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(A.amount, 0) AS lastamount,
        IFNULL(B.amount, 0) AS thisamount,
        IFNULL( C.userthismouth, 0 ) AS userthismouth,
        IFNULL( D.userlastmouth, 0 ) AS userlastmouth,
        IFNULL( E.userpcthismouth, 0 ) AS userpcthismouth,
        IFNULL( F.userpclastmouth, 0 ) AS userpclastmouth
        FROM (
        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,
        amount,
        deptid
        FROM
        sys_socil
        WHERE
        deptid IN ( SELECT i.departmentid FROM sys_information i LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction
        where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY i.departmentid )
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( insuredtime, '%Y%m' ) ) = 1
        <if test="deptid!=null and deptid!=''">
            and deptid =#{deptid}
        </if>
        GROUP BY
        amount,
        deptid
        ) A
        left JOIN (
        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,
        amount,
        deptid
        FROM
        sys_socil
        WHERE
        deptid IN ( SELECT i.departmentid FROM sys_information i LEFT JOIN sys_jurisdiction j ON j.id= i.jurisdiction
        where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY i.departmentid )
        AND DATE_FORMAT( insuredtime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        <if test="deptid!=null and deptid!=''">
            and deptid =#{deptid}
        </if>
        GROUP BY
        amount,
        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
        ) B ON A.deptid = B.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
        dept_id IN (
        SELECT
        i.departmentid
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction
        where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.departmentid
        )
        AND DATE_FORMAT( update_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' ) AND status=1
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
        GROUP BY
        dept_id
        ) C ON C.dept_id = A.deptid
        LEFT JOIN(
        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
        dept_id IN (
        SELECT
        i.departmentid
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction
        where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.departmentid
        )
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( update_time, '%Y%m' ) ) = 1 AND status=1
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
        GROUP BY
        dept_id
        ) D ON D.dept_id = A.deptid
        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
        dept_id IN (
        SELECT
        i.departmentid
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction
        where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and i.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.departmentid
        )
        AND DATE_FORMAT( update_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' ) AND dispatch=0
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
        GROUP BY
        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
        ) E ON E.dept_id = A.deptid
        LEFT JOIN(
        SELECT COUNT(*) AS userpclastmouth,dept_id
        FROM
        blade_user
        WHERE
        dept_id IN (
        SELECT i.departmentid
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON j.id = i.jurisdiction
        where 1=1
        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!='1123598813738675201'">
            and i.jurisdiction =#{jurisdiction}
            and H.jurisdiction =#{jurisdiction}
        </if>
        GROUP BY
        i.departmentid
        )
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( update_time, '%Y%m' ) ) = 1 AND dispatch=0
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
            and H.departmentid =#{deptid}
        </if>
        GROUP BY
        dept_id
        ) F ON F.dept_id = A.deptid
    </select>
@@ -358,6 +463,8 @@
        WHERE
        YEAR ( s.update_time ) =#{year}
        AND dispatch = 0
        AND `status`=1
        AND is_deleted=0
        AND dept_id IN ( SELECT i.departmentid FROM sys_information i LEFT JOIN sys_jurisdiction j ON j.id =
        i.jurisdiction where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
@@ -446,7 +553,7 @@
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        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,
@@ -460,7 +567,7 @@
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        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,
@@ -495,7 +602,7 @@
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586'
        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,
@@ -507,7 +614,7 @@
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586'
        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,
@@ -540,7 +647,7 @@
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586'
        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,
@@ -552,7 +659,7 @@
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586'
        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,
@@ -627,8 +734,8 @@
        (*) AS thisnum,
        dept_id,
        jurisdiction
        FROM sys_dispatcher
        WHERE DATE_FORMAT( dispatcherTime, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        FROM sys_dispatcher_unit
        WHERE DATE_FORMAT( start_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        GROUP BY dept_id,
        jurisdiction
        ) A
@@ -637,8 +744,8 @@
        (*) AS lastnum,
        dept_id,
        jurisdiction
        FROM sys_dispatcher
        WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( dispatcherTime, '%Y%m' ) ) = 1
        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
@@ -718,7 +825,7 @@
        GROUP BY
        i.departmentid
        )
        AND role_id='1412226235153731586'
        AND role_id='1412226235153731586' and status=1 and is_deleted=0
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
@@ -750,7 +857,7 @@
        GROUP BY
        i.departmentid
        )
        AND role_id='1412226235153731586' AND examination_type=0
        AND role_id='1412226235153731586' AND examination_type=0 and status=1 and is_deleted=0
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
@@ -782,7 +889,7 @@
        GROUP BY
        i.departmentid
        )
        AND role_id='1412226235153731586' AND hold=1
        AND role_id='1412226235153731586' AND hold=1 and status=1 and is_deleted=0
        <if test="deptid!=null and deptid!=''">
            and dept_id =#{deptid}
        </if>
@@ -792,19 +899,19 @@
    <select id="queryYearKh" resultType="java.util.HashMap">
        SELECT COUNT
        (CASE WHEN MONTH (
        s.dispatcherTime ) = 1 THEN s.dispatcher_unit_id END ) AS '1', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 2
        THEN s.dispatcher_unit_id END ) AS '2', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 3 THEN s.dispatcher_unit_id
        END ) AS '3', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 4 THEN s.dispatcher_unit_id END ) AS '4', COUNT(CASE
        WHEN MONTH ( s.dispatcherTime ) = 5 THEN s.dispatcher_unit_id END ) AS '5', COUNT(CASE WHEN MONTH (
        s.dispatcherTime ) = 6 THEN s.dispatcher_unit_id END ) AS '6', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 7
        THEN s.dispatcher_unit_id END ) AS '7', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 8 THEN s.dispatcher_unit_id
        END ) AS '8', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 9 THEN s.dispatcher_unit_id END ) AS '9', COUNT(CASE
        WHEN MONTH ( s.dispatcherTime ) = 10 THEN s.dispatcher_unit_id END ) AS '10', COUNT(CASE WHEN MONTH (
        s.dispatcherTime ) = 11 THEN s.dispatcher_unit_id END ) AS '11', COUNT(CASE WHEN MONTH ( s.dispatcherTime ) = 12
        THEN s.dispatcher_unit_id END ) AS '12'
        FROM sys_dispatcher AS s
        s.start_time ) = 1 THEN s.id END ) AS '1', COUNT(CASE WHEN MONTH ( s.start_time ) = 2
        THEN s.id END ) AS '2', COUNT(CASE WHEN MONTH ( s.start_time ) = 3 THEN s.id
        END ) AS '3', COUNT(CASE WHEN MONTH ( s.start_time ) = 4 THEN s.id END ) AS '4', COUNT(CASE
        WHEN MONTH ( s.start_time ) = 5 THEN s.id END ) AS '5', COUNT(CASE WHEN MONTH (
        s.start_time ) = 6 THEN s.id END ) AS '6', COUNT(CASE WHEN MONTH ( s.start_time ) = 7
        THEN s.id END ) AS '7', COUNT(CASE WHEN MONTH ( s.start_time ) = 8 THEN s.id
        END ) AS '8', COUNT(CASE WHEN MONTH ( s.start_time ) = 9 THEN s.id END ) AS '9', COUNT(CASE
        WHEN MONTH ( s.start_time ) = 10 THEN s.id END ) AS '10', COUNT(CASE WHEN MONTH (
        s.start_time ) = 11 THEN s.id END ) AS '11', COUNT(CASE WHEN MONTH ( s.start_time ) = 12
        THEN s.id END ) AS '12'
        FROM sys_dispatcher_unit AS s
        WHERE
        YEAR ( s.dispatcherTime ) =#{year}
        YEAR ( s.start_time ) =#{year}
        AND dept_id IN (
        SELECT
        i.departmentid
@@ -863,7 +970,7 @@
        FROM blade_user u
        LEFT JOIN blade_dept d ON d.id = u.dept_id
        LEFT JOIN sys_jurisdiction j ON j.id = u.jurisdiction
        WHERE u.examination_type = 1 and u.is_deleted=0
        WHERE u.examination_type = 1 and u.is_deleted=0 and u.status = 1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and u.jurisdiction =#{jurisdiction}
        </if>
@@ -974,10 +1081,12 @@
        IFNULL( F.wcaijnum, 0 ) AS wcaijnum,
        IFNULL( G.yicnum, 0 ) AS yicnum,
        A.dept_id,
        d.dept_name AS deptname,
        d.enterpriseName AS deptname,
        d.stats,
        j.dept_name AS jurname
        FROM
        ( SELECT COUNT( * ) AS num, dept_id, jurisdiction FROM blade_user WHERE role_id = '1412226235153731586' GROUP BY
        ( SELECT COUNT( * ) AS num, dept_id, jurisdiction FROM blade_user WHERE role_id = '1412226235153731586' and
        status=1 AND is_deleted=0 GROUP BY
        dept_id, jurisdiction ) A
        LEFT JOIN (
        SELECT
@@ -987,7 +1096,7 @@
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        role_id = '1412226235153731586' and status=1 AND is_deleted=0
        AND hold=1
        GROUP BY
        dept_id,
@@ -1001,7 +1110,7 @@
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        role_id = '1412226235153731586' and status=1 AND is_deleted=0
        AND dispatch=0
        GROUP BY
        dept_id,
@@ -1015,7 +1124,7 @@
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        role_id = '1412226235153731586' and status=1 AND is_deleted=0
        AND dispatch=1
        GROUP BY
        dept_id,
@@ -1032,7 +1141,7 @@
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        role_id = '1412226235153731586' and status=1 AND is_deleted=0
        AND photo=1
        GROUP BY
        dept_id,
@@ -1046,26 +1155,29 @@
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        role_id = '1412226235153731586' and status=1 AND is_deleted=0
        AND examination_mx=1
        GROUP BY
        dept_id,
        jurisdiction
        ) G ON G.dept_id = A.dept_id
        LEFT JOIN blade_dept d ON A.dept_id = d.id
        LEFT JOIN sys_information d ON A.dept_id = d.departmentid
        LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
        WHERE 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and A.jurisdiction =#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and A.dept_id =#{deptid}
            and d.dept_name like concat(concat('%', #{deptid}),'%')
        </if>
        <if test="stats!=null and stats!=''">
            and d.stats =#{stats}
        </if>
    </select>
    <select id="seCountI" resultType="java.util.HashMap">
        SELECT COUNT(*) as num,stats FROM sys_information
        where 1=1
        where 1=1 and stats IS NOT NULL
        <if test="deptid!=null and deptid!=''">
            and departmentid=#{deptid}
        </if>
@@ -1099,62 +1211,108 @@
        J.*
        FROM
        (
        SELECT A.enterpriseName,
        SELECT
        A.enterpriseName,
        A.departmentid,
        A.jurisdiction,
        A.dept_name AS jurname,
        IFNULL(B.znum, 0) AS znum,
        IFNULL(C.zcnum, 0) AS zcnum,
        IFNULL(D.cznum, 0) AS cznum,
        IFNULL(E.sbnum, 0) AS sbnum,
        IFNULL(F.ghnum, 0) AS ghnum,
        IFNULL(G.pcnum, 0) AS pcnum
        FROM (
        SELECT i.enterpriseName,
        IFNULL( B.znum, 0 ) AS znum,
        IFNULL( C.zcnum, 0 ) AS zcnum,
        IFNULL( D.cznum, 0 ) AS cznum,
        IFNULL( E.sbnum, 0 ) AS sbnum,
        IFNULL( F.ghnum, 0 ) AS ghnum,
        IFNULL( G.pcnum, 0 ) AS pcnum
        FROM
        (
        SELECT
        i.enterpriseName,
        i.departmentid,
        i.jurisdiction,
        j.dept_name
        FROM sys_information i
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction j ON i.jurisdiction = j.id
        ) A
        LEFT JOIN (SELECT COUNT(*) AS znum, dept_id, jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586'
        GROUP BY dept_id, jurisdiction) B ON A.departmentid = B.dept_id
        LEFT JOIN (
        SELECT COUNT(*) AS zcnum,
        SELECT
        COUNT( * ) AS znum,
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586'
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND is_deleted = 0
        AND STATUS = 1
        GROUP BY
        dept_id,
        jurisdiction
        ) B ON A.departmentid = B.dept_id
        LEFT JOIN (
        SELECT
        COUNT( * ) AS zcnum,
        dept_id,
        jurisdiction
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND is_deleted = 0
        AND STATUS = 1
        AND examination_type = 0
        GROUP BY dept_id,
        GROUP BY
        dept_id,
        jurisdiction
        ) C ON A.departmentid = C.dept_id
        LEFT JOIN (
        SELECT COUNT(*) AS cznum,
        SELECT
        COUNT( * ) AS cznum,
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586'
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND is_deleted = 0
        AND STATUS = 1
        AND hold = 1
        GROUP BY dept_id,
        GROUP BY
        dept_id,
        jurisdiction
        ) D ON A.departmentid = D.dept_id
        LEFT JOIN (SELECT COUNT(*) AS sbnum, deptid, jurisdiction
        FROM sys_socil
        GROUP BY deptid, jurisdiction) E ON A.departmentid = E.deptid
        LEFT JOIN (
        SELECT COUNT(*) AS ghnum,
        SELECT
        COUNT( * ) AS sbnum,
        dept_id,
        jurisdiction
        FROM sys_dispatcher
        GROUP BY dept_id, jurisdiction) F ON A.departmentid = F.dept_id
        LEFT JOIN (SELECT SUM(num) AS pcnum,
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND is_deleted = 0
        AND STATUS = 1
        AND soil =0
        GROUP BY
        dept_id,
        jurisdiction
        FROM sys_dispatcher
        GROUP BY dept_id, jurisdiction) G ON A.departmentid = G.dept_id ) J
        ) E ON A.departmentid = E.dept_id
        LEFT JOIN ( SELECT COUNT( * ) AS ghnum, dept_id, jurisdiction FROM sys_dispatcher_unit GROUP BY dept_id,
        jurisdiction ) F ON A.departmentid = F.dept_id
        LEFT JOIN (
        SELECT
        COUNT(*) AS pcnum,
        dept_id,
        jurisdiction FROM blade_user
        WHERE
        role_id = '1412226235153731586'
        AND is_deleted = 0
        AND STATUS = 1
        AND dispatch = 0
        GROUP BY
        dept_id,
        jurisdiction
        ) G ON A.departmentid = G.dept_id
        ) J
        WHERE 1=1
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
            and J.jurisdiction =#{jurisdiction}
@@ -1200,14 +1358,14 @@
        dept_id,
        jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586'
        WHERE role_id = '1412226235153731586' and status=1
        AND dispatch = 0
        GROUP BY dept_id,
        jurisdiction
        ) D ON A.departmentid = D.dept_id
        LEFT JOIN (SELECT COUNT(*) AS znum, dept_id, jurisdiction
        FROM blade_user
        WHERE role_id = '1412226235153731586'
        WHERE role_id = '1412226235153731586' and status=1
        GROUP BY dept_id, jurisdiction) E ON A.departmentid = E.dept_id) J
        WHERE 1=1
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
@@ -1224,6 +1382,9 @@
    <select id="selectYw" resultType="java.util.HashMap">
        SELECT
        A.enterpriseName,
        A.departmentid,
        A.stats,
        A.jurisdiction,
        A.dept_name as jurname,
        IFNULL( B.num, 0 ) AS fwnum,
        IFNULL( C.znum, 0 ) AS znum
@@ -1232,6 +1393,7 @@
        SELECT
        i.enterpriseName,
        i.departmentid,
        i.stats,
        i.jurisdiction,
        j.dept_name
        FROM
@@ -1242,21 +1404,41 @@
        ) A
        LEFT JOIN ( SELECT COUNT( * ) AS num, dept_id FROM sys_dispatcher_unit GROUP BY dept_id ) B ON A.departmentid =
        B.dept_id
        LEFT JOIN ( SELECT COUNT( * ) AS znum, dept_id FROM blade_user WHERE role_id = '1412226235153731586' GROUP BY
        LEFT JOIN ( SELECT COUNT( * ) AS znum, dept_id FROM blade_user WHERE role_id = '1412226235153731586' and
        status=1 GROUP BY
        dept_id ) C ON A.departmentid = C.dept_id
        where 1=1
        <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1123598813738675201'">
            AND A.jurisdiction=#{jurisdiction}
        </if>
        <if test="deptid!=null and deptid!=''">
            and A.departmentid=#{deptid}
            and A.enterpriseName like concat('%', #{deptid},'%')
        </if>
        <if test="stats!=null and stats!=''">
            and A.stats=#{stats}
        </if>
    </select>
    <!--保安人员详情-->
    <select id="selectUIn" resultType="java.util.HashMap">
        SELECT real_name,securitynumber,cardid,phone,hold,soil,photo,examination_type,dispatch FROM blade_user WHERE
        role_id='1412226235153731586'
        SELECT
        u.real_name,
        u.securitynumber,
        u.cardid,
        u.phone,
        u.hold,
        u.soil,
        u.photo,
        u.examination_type,
        u.dispatch,
        i.enterpriseName
        FROM
        blade_user u
        LEFT JOIN sys_information i ON i.departmentid = u.dept_id
        WHERE
        u.role_id = '1412226235153731586'
        AND u.is_deleted = 0
        AND u.`status` =1
        <if test="deptid!=null and deptid!=''">
            and dept_id=#{deptid}
        </if>
@@ -1296,7 +1478,7 @@
            and di.jurisdiction =#{jurisdiction}
        </if>
        <if test="fid!=null and fid!=''">
            and di.dispatcher_unit_id=#{fid}
            and u.name like concat('%', #{fid},'%')
        </if>
    </select>
    <!--服务单位下拉-->
@@ -1308,16 +1490,12 @@
    <!--单位处罚数量-->
    <select id="selectCf" resultType="java.util.HashMap">
        SELECT COUNT(*) AS num,
        i.enterpriseName,
        j.dept_name as jurname,
        i.departmentid
        FROM `sys_punish` p
        LEFT JOIN sys_information i ON i.departmentid = p.deptid
        LEFT JOIN sys_jurisdiction j ON j.id = p.jurisdiction where 1=1
        deptid
        FROM `sys_punish` where 1=1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1123598813738675201'">
            and p.jurisdiction =#{jurisdiction}
            and jurisdiction =#{jurisdiction}
        </if>
        GROUP BY i.enterpriseName, i.departmentid, j.dept_name
        GROUP BY deptid
    </select>
    <!--单位材料不全数量-->
@@ -1339,79 +1517,179 @@
    <!--违规经营-->
    <select id="selectWg" resultType="java.util.HashMap">
        SELECT A.enterpriseName,
               A.representative,
               A.establishTime,
               A.registeredCapital,
               A.capital,
               A.representativecell,
               A.contacts,
               A.contactscell,
               A.deptname,
               A.jurname,
               IFNULL(B.cznum, 0) AS cznum,
               IFNULL(C.sbnum, 0) AS sbnum,
               IFNULL(D.znum, 0)  AS znum
        IFNULL(B.cznum, 0) AS cznum,
        IFNULL(C.sbnum, 0) AS sbnum,
        IFNULL(D.znum, 0) AS znum
        FROM (
                 SELECT u.enterpriseName,
                        u.representative,
                        u.establishTime,
                        u.registeredCapital,
                        u.capital,
                        u.representativecell,
                        u.contacts,
                        u.contactscell,
                        u.departmentid,
                        u.jurisdiction,
                        d.dept_name AS deptname,
                        j.dept_name AS jurname
                 FROM sys_information u
                          LEFT JOIN blade_dept d ON d.id = u.departmentid
                          LEFT JOIN sys_jurisdiction j ON j.id = u.jurisdiction
                 GROUP BY u.enterpriseName,
                          u.representative,
                          u.establishTime,
                          u.registeredCapital,
                          u.capital,
                          u.representativecell,
                          u.contacts,
                          u.contactscell,
                          u.departmentid,
                          u.jurisdiction,
                          d.dept_name,
                          j.dept_name
             ) A
                 LEFT JOIN (
            SELECT COUNT(*) AS cznum,
                   dept_id
            FROM blade_user
            WHERE hold = 1
              AND role_id = '1412226235153731586'
              AND is_deleted = 0
            GROUP BY dept_id
        SELECT u.enterpriseName,
        u.departmentid,
        u.jurisdiction,
        d.dept_name AS deptname,
        j.dept_name AS jurname
        FROM sys_information u
        LEFT JOIN blade_dept d ON d.id = u.departmentid
        LEFT JOIN sys_jurisdiction j ON j.id = u.jurisdiction
        ) A
        LEFT JOIN (
        SELECT COUNT(*) AS cznum,
        dept_id
        FROM blade_user
        WHERE hold = 1
        AND role_id = '1412226235153731586' AND `status`=1
        AND is_deleted = 0
        GROUP BY dept_id
        ) B ON B.dept_id = A.departmentid
                 LEFT JOIN (
            SELECT COUNT(*) AS sbnum,
                   dept_id
            FROM blade_user
            WHERE soil = 0
              AND role_id = '1412226235153731586'
              AND is_deleted = 0
            GROUP BY dept_id
        LEFT JOIN (
        SELECT COUNT(*) AS sbnum,
        dept_id
        FROM blade_user
        WHERE soil = 0
        AND role_id = '1412226235153731586' AND `status`=1
        AND is_deleted = 0
        GROUP BY dept_id
        ) C ON C.dept_id = A.departmentid
                 LEFT JOIN (SELECT COUNT(*) AS znum, dept_id
                            FROM blade_user
                            WHERE role_id = '1412226235153731586'
                              AND is_deleted = 0
                            GROUP BY dept_id) D ON D.dept_id = A.departmentid
        LEFT JOIN (SELECT COUNT(*) AS znum, dept_id
        FROM blade_user
        WHERE role_id = '1412226235153731586' AND `status`=1
        AND is_deleted = 0
        GROUP BY dept_id) D ON D.dept_id = A.departmentid where 1=1
        <if test="jurisdiction!=null and jurisdiction != '' and jurisdiction != '1123598813738675201'">
            and A.jurisdiction = #{jurisdiction}
        </if>
    </select>
    <!--经营不善-->
    <select id="selectJy" resultType="java.util.HashMap">
        SELECT i.*,
               IFNULL(d.num, 0) as num
        FROM sys_information i
                 LEFT JOIN (SELECT COUNT(*) num, dept_id FROM sys_dispatcher_unit GROUP BY dept_id) d
                           ON i.departmentid = d.dept_id
        SELECT
        i.departmentid,
        i.enterpriseName,
        IFNULL( d.num, 0 ) AS fwnum,
        IFNULL( B.cznum, 0 ) AS cznum,
        IFNULL( C.painum, 0 ) AS painum,
        IFNULL( D.znum, 0 ) AS znum
        FROM
        sys_information i
        LEFT JOIN ( SELECT COUNT( * ) num, dept_id FROM sys_dispatcher_unit GROUP BY dept_id ) d ON i.departmentid =
        d.dept_id
        LEFT JOIN (
        SELECT
        COUNT( * ) AS cznum,
        dept_id
        FROM
        blade_user
        WHERE
        hold = 1
        AND role_id = '1412226235153731586'
        AND `status` = 1
        AND is_deleted = 0
        GROUP BY
        dept_id
        ) B ON B.dept_id = i.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS painum,
        dept_id
        FROM
        blade_user
        WHERE
        dispatch = 0
        AND role_id = '1412226235153731586'
        AND `status` = 1
        AND is_deleted = 0
        GROUP BY
        dept_id
        ) C ON C.dept_id = i.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS znum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND `status` = 1
        AND is_deleted = 0
        GROUP BY
        dept_id
        ) D ON D.dept_id = i.departmentid where 1=1
        <if test="jurisdiction!=null and jurisdiction != '' and jurisdiction != '1123598813738675201'">
            and i.jurisdiction = #{jurisdiction}
        </if>
    </select>
    <!--有实无名-->
    <select id="selectYs" resultType="java.util.HashMap">
        SELECT
        i.departmentid,
        i.enterpriseName,
        IFNULL( B.cznum, 0 ) AS cznum,
        IFNULL( C.painum, 0 ) AS painum,
        IFNULL( D.znum, 0 ) AS znum,
        IFNULL( E.fwnum, 0 ) AS fwnum
        FROM
        sys_information i
        LEFT JOIN (
        SELECT
        COUNT( * ) AS cznum,
        dept_id
        FROM
        blade_user
        WHERE
        hold = 1
        AND role_id = '1412226235153731586'
        AND `status` = 1
        AND is_deleted = 0
        GROUP BY
        dept_id
        ) B ON B.dept_id = i.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS painum,
        dept_id
        FROM
        blade_user
        WHERE
        dispatch = 0
        AND role_id = '1412226235153731586'
        AND `status` = 1
        AND is_deleted = 0
        GROUP BY
        dept_id
        ) C ON C.dept_id = i.departmentid
        LEFT JOIN (
        SELECT
        COUNT( * ) AS znum,
        dept_id
        FROM
        blade_user
        WHERE
        role_id = '1412226235153731586'
        AND `status` = 1
        AND is_deleted = 0
        GROUP BY
        dept_id
        ) D ON D.dept_id = i.departmentid
        LEFT JOIN ( SELECT COUNT( * ) fwnum, dept_id FROM sys_dispatcher_unit GROUP BY dept_id ) E ON i.departmentid =
        E.dept_id WHERE 1 =1
        <if test="jurisdiction!=null and jurisdiction != '' and jurisdiction != '1123598813738675201'">
            and i.jurisdiction = #{jurisdiction}
        </if>
    </select>
    <select id="selectAge" resultType="java.util.HashMap">
        SELECT
        IFNULL(TIMESTAMPDIFF( YEAR, bu.birthday, CURDATE( ) ),0) AS age
        FROM
        blade_user bu
        LEFT JOIN sys_information si ON si.departmentid = bu.dept_id
        WHERE bu.`status`=1 AND bu.role_id='1412226235153731586'
        <if test="jurisdiction!=null and jurisdiction != '' and jurisdiction != '1123598813738675201'">
            and bu.jurisdiction = #{jurisdiction}
        </if>
        <if test="deptid!=null and deptid != ''">
            and bu.dept_id = #{deptid}
        </if>
    </select>
</mapper>