Administrator
2021-12-06 e62fac2c0b345eb40097cf55188f57a17f65af89
保安员统计修改
5 files modified
282 ■■■■■ changed files
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml 2 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/information/controller/InformationsController.java 12 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/information/mapper/InformationMapper.java 9 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml 233 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java 26 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml
@@ -35,6 +35,8 @@
        on
        bd.id = bu.dept_id
        where 1=1
        and bu.status =1
        and bu.is_deleted = 0
        <if test="dispatcher.dispatcherUnitId!=null">
            and sd.dispatcher_unit_id = #{dispatcher.dispatcherUnitId}
        </if>
src/main/java/org/springblade/modules/information/controller/InformationsController.java
@@ -182,7 +182,7 @@
            for (ResponseVo responseVo : performanceGroupCountList) {
                //辖区id相同则数量相加
                if (responseVo.getId().equals(id)){
                    count += performanceGroupCountList.get(i).getNum();
                    count += responseVo.getNum();
                }
            }
@@ -192,7 +192,7 @@
            for (ResponseVo responseVo : examinationGroupCountList) {
                //辖区id相同则数量相加
                if (responseVo.getId().equals(id)){
                    count += examinationGroupCountList.get(i).getNum();
                    count += responseVo.getNum();
                }
            }
@@ -201,7 +201,7 @@
            for (ResponseVo responseVo : examPassingGroupCountList) {
                //辖区id相同则数量相加
                if (responseVo.getId().equals(id)){
                    count += examPassingGroupCountList.get(i).getNum();
                    count += responseVo.getNum();
                }
            }
@@ -210,7 +210,7 @@
            for (ResponseVo responseVo : holdGroupCountList) {
                //辖区id相同则数量相加
                if (responseVo.getId().equals(id)){
                    count += holdGroupCountList.get(i).getNum();
                    count += responseVo.getNum();
                }
            }
@@ -219,7 +219,7 @@
            for (ResponseVo responseVo : soidGroupCountList) {
                //辖区id相同则数量相加
                if (responseVo.getId().equals(id)){
                    count += soidGroupCountList.get(i).getNum();
                    count += responseVo.getNum();
                }
            }
@@ -228,7 +228,7 @@
            for (ResponseVo responseVo : dispatchGroupCountList) {
                //辖区id相同则数量相加
                if (responseVo.getId().equals(id)){
                    count += dispatchGroupCountList.get(i).getNum();
                    count += responseVo.getNum();
                }
            }
src/main/java/org/springblade/modules/information/mapper/InformationMapper.java
@@ -188,7 +188,7 @@
     * @param informationStatisticsVO
     * @return
     */
    List<Dept> getDeptHashChildren(@Param("information") InformationStatisticsVO informationStatisticsVO);
    List<Dept> getDeptHashChildrens(@Param("information") InformationStatisticsVO informationStatisticsVO);
    /**
@@ -225,4 +225,11 @@
     * @return
     */
    Integer selectInformationUnitExpireNumCount(@Param("dept")Dept dept);
    /**
     * 查询当前单位是否有子级单位
     * @param informationVO
     * @return
     */
    List<Dept> getDeptHashChildren(@Param("information") InformationVO informationVO);
}
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -40,83 +40,55 @@
    <select id="selectInformationPage" resultMap="informationResultMap">
        SELECT
        i.*,
        IFNULL( A.znum, 0 ) AS znum,
        IFNULL( B.cnum, 0 ) AS cnum,
        IFNULL( C.pnum, 0 ) AS pnum,
        sj.dept_name jurisdictionName
        IFNULL(A.znum ,0) as znum,
        IFNULL(B.cnum ,0) as cnum,
        IFNULL(C.pnum ,0) as pnum
        FROM
        sys_information i
        LEFT JOIN sys_jurisdiction sj ON sj.id = i.jurisdiction
        LEFT JOIN (
        SELECT
        J.znum + J.fznum AS znum,
        J.dept_id
        FROM
        LEFT JOIN
        (
        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
        SELECT COUNT( * ) AS znum, dept_id FROM blade_user
        WHERE 1=1
        and role_id = '1412226235153731586'
        and is_deleted = 0
        AND status=1
        GROUP BY 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
        ) 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
        AND is_deleted = 0
        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
        AND is_deleted = 0
        GROUP BY
        dept_id
        ) C ON C.dept_id = i.departmentid
        WHERE
        1 =1
        ON A.dept_id = i.departmentid
        LEFT JOIN
        (
        SELECT COUNT( * ) AS cnum, dept_id FROM blade_user
        WHERE 1=1
        and role_id = '1412226235153731586'
        and is_deleted = 0
        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 1=1
        and is_deleted = 0
        and role_id = '1412226235153731586'
        AND status=1
        AND dispatch=0
        GROUP BY dept_id
        ) C
        ON C.dept_id = i.departmentid
        left join
        sys_jurisdiction sj
        on
        sj.id = i.jurisdiction
        left join
        blade_dept bd
        on
        bd.id = i.departmentid
        where 1=1
        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
            and (sj.id=#{information.jurisdiction} or sj.parent_id=#{information.jurisdiction})
        </if>
        <if test="information.enterprisename!=null and information.enterprisename!=''">
            and i.enterpriseName like concat(concat('%', #{information.enterprisename}),'%')
        </if>
@@ -124,10 +96,7 @@
            and i.representative like concat(concat('%', #{information.representative}),'%')
        </if>
        <if test="information.stats!=null and information.stats!=''">
            and i.stats=#{information.stats}
        </if>
        <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
            and i.jurisdiction=#{information.jurisdiction}
            and i.stats=#{information.stats} and bd.dept_category = 1
        </if>
        <if test="information.departmentid!=null and information.departmentid!=''">
            and i.departmentid=#{information.departmentid}
@@ -1260,21 +1229,10 @@
        A.stats,
        j.dept_name AS jurname
        FROM
        ( SELECT jurisdiction, departmentid,enterpriseName,stats,create_time FROM sys_information where stats !=1) A
        ( SELECT jurisdiction, departmentid, enterpriseName, stats, create_time FROM sys_information WHERE stats != 1 ) A
        LEFT JOIN (
        SELECT
        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,
        COUNT( * ) AS num,
        bu.dept_id
        FROM
        blade_user bu
@@ -1284,22 +1242,6 @@
        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
        ) V ON V.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
@@ -1317,18 +1259,7 @@
        ) B ON A.departmentid = B.dept_id
        LEFT JOIN (
        SELECT
        L.znum+L.fznum as num,
        L.dept_id
        FROM
        (
        SELECT
        A.znum,
        IFNULL( B.znum, 0 ) AS fznum,
        A.dept_id
        FROM
        (
        SELECT
        COUNT( * ) AS znum,
        COUNT( * ) AS num,
        bu.dept_id
        FROM
        blade_user bu
@@ -1339,38 +1270,10 @@
        AND bu.dispatch = 0
        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'
        AND bu.dispatch = 0
        GROUP BY
        bd.parent_id
        ) B ON B.parent_id = A.dept_id
        ) L
        ) C ON C.dept_id = A.departmentid
        LEFT JOIN (
        SELECT
        K.znum+K.fznum as num,
        K.dept_id
        FROM
        (
        SELECT
        A.znum,
        IFNULL( B.znum, 0 ) AS fznum,
        A.dept_id
        FROM
        (
        SELECT
        COUNT( * ) AS znum,
        COUNT( * ) AS num,
        bu.dept_id
        FROM
        blade_user bu
@@ -1381,23 +1284,6 @@
        AND bu.dispatch = 1
        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'
        AND bu.dispatch = 1
        GROUP BY
        bd.parent_id
        ) B ON B.parent_id = A.dept_id
        ) K
        ) D ON D.dept_id = A.departmentid
        LEFT JOIN ( SELECT COUNT( * ) AS sbnum, deptid FROM sys_socil GROUP BY deptid ) E ON E.deptid = A.departmentid
        LEFT JOIN (
@@ -1410,7 +1296,7 @@
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND photo = 1
        AND (avatar is null or avatar = "")
        GROUP BY
        dept_id
        ) F ON F.dept_id = A.departmentid
@@ -1424,7 +1310,7 @@
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND photo = 0
        AND avatar is not null and avatar!=""
        GROUP BY
        dept_id
        ) H ON H.dept_id = A.departmentid
@@ -1438,7 +1324,7 @@
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND fingerprint = 0
        AND fingerprint is not null and fingerprint!=""
        GROUP BY
        dept_id
        ) I ON I.dept_id = A.departmentid
@@ -1452,13 +1338,15 @@
        role_id = '1412226235153731586'
        AND STATUS = 1
        AND is_deleted = 0
        AND examination_mx = 1
        AND examination_type = 1
        GROUP BY
        dept_id
        ) G ON G.dept_id = A.departmentid
        LEFT JOIN blade_dept d ON A.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
        WHERE 1 =1
        WHERE
        1 = 1
        AND d.dept_category = 1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
@@ -1756,6 +1644,7 @@
        LEFT JOIN blade_dept d ON A.departmentid = d.id
        LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
        WHERE 1 =1
        and d.dept_category = 1
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
        </if>
@@ -3183,9 +3072,13 @@
    </select>
    <!--查询当前单位是否有子级单位-->
    <select id="getDeptHashChildrens" resultType="org.springblade.modules.system.entity.Dept">
        select * from blade_dept where is_deleted = 0 and parent_id = #{information.departmentid}
    </select>
    <!--查询当前单位是否有子级单位-->
    <select id="getDeptHashChildren" resultType="org.springblade.modules.system.entity.Dept">
        select * from blade_dept where is_deleted = 0 and parent_id = #{information.departmentid}
        and dept_category !=2
    </select>
    <!--查询单位的人数-->
src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java
@@ -42,7 +42,29 @@
    @Override
    public IPage<InformationVO> selectInformationPage(IPage<InformationVO> page, InformationVO information) {
        return page.setRecords(baseMapper.selectInformationPage(page, information));
        List<InformationVO> informationVOS = baseMapper.selectInformationPage(page, information);
        //遍历
        if (informationVOS.size()>0){
            //判断有无子级
            for (InformationVO informationVO : informationVOS) {
                List<Dept> deptList = baseMapper.getDeptHashChildren(informationVO);
                //有子级
                if (deptList.size()>0){
                    Dept dept = new Dept();
                    dept.setId(Long.parseLong(informationVO.getDepartmentid()));
                    //查询当前子单位的人数
                    Integer z = baseMapper.selectInformationUserNumCount(dept) + Integer.parseInt(informationVO.getZnum());
                    informationVO.setZnum(z.toString());
                    //已派遣人数
                    Integer p = baseMapper.selectInformationDispatcherNumCount(dept) + Integer.parseInt(informationVO.getPnum());
                    informationVO.setPnum(p.toString());
                    //持证人数
                    Integer c = baseMapper.selectInformationHoldNumCount(dept) + Integer.parseInt(informationVO.getCnum());
                    informationVO.setCnum(c.toString());
                }
            }
        }
        return page.setRecords(informationVOS);
    }
    @Override
@@ -230,7 +252,7 @@
        if (list.size()>0) {
            //遍历
            for (InformationStatisticsVO informationStatisticsVO : list) {
                List<Dept> deptList = baseMapper.getDeptHashChildren(informationStatisticsVO);
                List<Dept> deptList = baseMapper.getDeptHashChildrens(informationStatisticsVO);
                //有子级
                if (deptList.size()>0){
                    Dept dept = new Dept();