linwe
2024-05-29 c10d6358b9f014375a13821465bc978d0c0da22e
src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
@@ -450,55 +450,91 @@
    <select id="getHouseStatisticsTwo" resultType="java.lang.Integer">
        SELECT
        count( 1 )
        count(*)
        FROM
        (
        SELECT DISTINCT
        jda.address_code
        FROM
        jczz_house jh
        LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
        jczz_doorplate_address jda
        LEFT JOIN jczz_house jh ON jda.address_code = jh.house_code AND jh.is_deleted = 0
        LEFT JOIN jczz_grid jg on jg.grid_code = jh.grid_code and jg.is_deleted = 0
        LEFT JOIN jczz_police_affairs_grid jpag on jh.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
        WHERE
        jda.nei_code = #{code}
        AND jh.is_deleted = 0
        and jda.doorplate_type = '户室牌'
        <if test="buildingCode != null  and buildingCode != ''">
            and jda.building_code=#{buildingCode}
        </if>
        <if test="unitCode != null  and unitCode != ''">
            and jda.unit_code=#{unitCode}
            AND jda.unit_code is not null
        </if>
        <if test="aoiCode != null  and aoiCode != ''">
            and jda.aoi_code=#{aoiCode}
        </if>
        <if test="userId != null and roleType == '1'">
            AND jda.address_code IN (
            SELECT DISTINCT
            jgr.house_code
            FROM
            jczz_grid jg
            LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
            LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
            WHERE
            jgm.user_id = #{userId}
            AND jg.is_deleted = 0
            )
        </if>
        <if test="userId != null and roleType == '3'">
            AND jda.address_code IN (SELECT
            jda.address_code
            FROM
            jczz_doorplate_address jda
            LEFT JOIN jczz_community jc ON jc.CODE = jda.nei_code
            WHERE
            jc.res_police_user_id like concat('%',#{userId},'%'))
            )
        </if>
        ) a
        <choose>
            <when test="(buildingCode != null  and buildingCode != '') or
                (unitCode != null  and unitCode != '') or (aoiCode != null  and aoiCode != '')">
                <if test="buildingCode != null  and buildingCode != ''">
                    and jda.building_code=#{buildingCode}
                </if>
                <if test="unitCode != null  and unitCode != ''">
                    and jda.unit_code=#{unitCode}
                    AND jda.unit_code is not null
                </if>
                <if test="aoiCode != null  and aoiCode != ''">
                    and jda.aoi_code=#{aoiCode}
                </if>
            </when>
            <otherwise>
                <if test="isAdministrator==2">
                    <choose>
                        <when test="house.roleName != null and house.roleName != ''">
                            <if test="house.roleName=='wgy'">
                                <choose>
                                    <when test="gridCodeList !=null and gridCodeList.size()>0">
                                        and jh.grid_code in
                                        <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
                                            #{code}
                                        </foreach>
                                    </when>
                                    <otherwise>
                                        and jh.grid_code in ('')
                                    </otherwise>
                                </choose>
                            </if>
                            <if test="house.roleName=='mj'">
                                <choose>
                                    <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                        and jpag.community_code in
                                        <foreach collection="regionChildCodesList" item="code" open="(" close=")"
                                                 separator=",">
                                            #{code}
                                        </foreach>
                                    </when>
                                    <otherwise>
                                        and jpag.community_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>
            </otherwise>
        </choose>
    </select>
@@ -825,7 +861,7 @@
            LEFT JOIN jczz_user_house_label juhl ON juhl.house_code = jh.house_code and juhl.lable_type = 2
            where jda.doorplate_type = '户室牌'
            <if test="house.communityCode != null  and house.communityCode != ''">
                and jg.community_code = #{house.communityCode}
                and jda.nei_code = #{house.communityCode}
            </if>
            <if test="isAdministrator==2">
                <choose>