lin
2024-04-01 2fa2fb8cf2df59d46a6a52a462a09e59621c6d5b
消防整改记录统计优化
3 files modified
95 ■■■■■ changed files
src/main/java/org/springblade/modules/task/mapper/TaskPlaceRectificationMapper.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/mapper/TaskPlaceRectificationMapper.xml 75 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/service/impl/TaskPlaceRectificationServiceImpl.java 9 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/mapper/TaskPlaceRectificationMapper.java
@@ -77,5 +77,14 @@
                                             @Param("gridCodeList") List<String> gridCodeList,
                                             @Param("nineTypeList") List<String> nineTypeList);
    Integer getCount(String neiCode, int i, Long userId);
    /**
     * 统计消防整改记录
     * @param taskPlaceRectificationDTO
     * @param regionChildCodesList
     * @param isAdministrator
     * @return
     */
    Integer getCount(@Param("taskPalce") TaskPlaceRectificationDTO taskPlaceRectificationDTO,
                     @Param("regionChildCodesList") List<String> regionChildCodesList,
                     @Param("isAdministrator") Integer isAdministrator);
}
src/main/java/org/springblade/modules/task/mapper/TaskPlaceRectificationMapper.xml
@@ -613,12 +613,77 @@
    </select>
    <select id="getCount" resultType="java.lang.Integer">
        SELECT count(1)
        FROM jczz_task_place_rectification jtpr
                 LEFT JOIN jczz_place jp ON jp.house_code = jtpr.house_code
        WHERE jp.jw_grid_code IN
              (SELECT jpag.jw_grid_code FROM jczz_police_affairs_grid jpag WHERE jpag.police_user_id like concat('%',${userId},'%'))
          AND jtpr.`status` = 1
        FROM
        jczz_task_place_rectification jtpr
        LEFT JOIN jczz_place jp ON jtpr.house_code = jp.house_code
        LEFT JOIN jczz_grid jg ON jg.grid_code = jp.grid_code
        LEFT JOIN blade_region br ON br.`code` = jg.community_code
        LEFT JOIN jczz_place_ext jpe ON jpe.place_id = jp.id
        LEFT JOIN blade_user bu ON bu.id = jtpr.create_user
        LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code
        <where>
            <if test="taskPalce.communityCode != null ">and jg.community_code = #{taskPalce.communityCode}</if>
            <if test="taskPalce.status != null ">and jtpr.status = #{taskPalce.status}</if>
            <if test="isAdministrator==2">
                <choose>
                    <when test="taskPalce.roleName != null and taskPalce.roleName != ''">
                        <if test="taskPalce.roleName=='wgy'">
                            <choose>
                                <when test="gridCodeList !=null and gridCodeList.size()>0">
                                    and jp.grid_code in
                                    <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
                                        #{code}
                                    </foreach>
                                </when>
                                <otherwise>
                                    and jp.grid_code in ('')
                                </otherwise>
                            </choose>
                        </if>
                        <if test="taskPalce.roleName=='mj'">
                            <choose>
                                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                    and br.village_code in
                                    <foreach collection="regionChildCodesList" item="code" open="(" close=")"
                                             separator=",">
                                        #{code}
                                    </foreach>
                                </when>
                                <otherwise>
                                    and br.village_code in ('')
                                </otherwise>
                            </choose>
                        </if>
                    </when>
                    <otherwise>
                        <choose>
                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                and
                                (
                                jg.grid_code in
                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                                or
                                jpag.community_code in
                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                                )
                            </when>
                            <otherwise>
                                and
                                (
                                jg.grid_code in ('') or jpag.community_code in ('')
                                )
                            </otherwise>
                        </choose>
                    </otherwise>
                </choose>
            </if>
        </where>
    </select>
src/main/java/org/springblade/modules/task/service/impl/TaskPlaceRectificationServiceImpl.java
@@ -446,7 +446,14 @@
        // 获取请求头中的角色别名
        String roleName = SpringUtils.getRequestParam("roleName");
        if (AuthUtils.isMj(roleName)) {
            return baseMapper.getCount(neiCode, i, AuthUtil.getUserId());
            // 民警角色
            List<String> regionChildCodesList  = SpringUtil.getBean(IPoliceAffairsGridService.class)
                    .getCommunityCodeListByUserId(AuthUtil.getUserId());
            TaskPlaceRectificationDTO taskPlaceRectificationDTO = new TaskPlaceRectificationDTO();
            taskPlaceRectificationDTO.setCommunityCode(neiCode);
            taskPlaceRectificationDTO.setStatus(i);
            taskPlaceRectificationDTO.setRoleName(roleName);
            return baseMapper.getCount(taskPlaceRectificationDTO, regionChildCodesList, 2);
        }
        return 0;
    }