linwei
2024-01-25 3524bd78770d3dd16b8be3e4fa9cba06a42cefa0
src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
@@ -181,9 +181,6 @@
                            #{code}
                        </foreach>
                    </when>
                    <otherwise>
                        and jg.community_code in ('')
                    </otherwise>
                </choose>
            </if>
            <if test="house.parentId != null ">
@@ -393,7 +390,7 @@
            jczz_doorplate_address jda
            LEFT JOIN jczz_community jc ON jc.CODE = jda.nei_code
            WHERE
            jc.res_police_user_id  like concat('%',#{userId},'%'))
            jc.res_police_user_id like concat('%',#{userId},'%'))
            )
        </if>
        ) a
@@ -580,5 +577,154 @@
    </select>
    <select id="labelStatistics" resultType="java.util.Map">
        SELECT
        jl.id AS id,
        jl.parent_id AS parentId,
        jl.label_name AS name,
        jl.sort,
        (SELECT
        count( DISTINCT jhl.house_code )
        FROM
        jczz_user_house_label jhl
        LEFT JOIN jczz_house jh ON jhl.house_code = jh.house_code
        LEFT JOIN jczz_grid jg ON jg.grid_code = jh.grid_code
        AND jg.is_deleted = 0
        LEFT JOIN blade_region br ON br.CODE = jg.community_code
        <where>
            <if test="house.id != null ">and jh.id = #{house.id}</if>
            <if test="house.streetCode != null and house.streetCode != ''">
                and jda.town_street_code like concat('%',#{house.streetCode},'%')
            </if>
            <if test="house.houseCode != null  and house.houseCode != ''">and jh.house_code = #{house.houseCode}</if>
            <if test="house.districtCode != null  and house.districtCode != ''">and jh.district_code =
                #{house.districtCode}
            </if>
            <if test="house.districtName != null  and house.districtName != ''">
                and jh.district_name like concat('%',#{house.districtName},'%')
            </if>
            <if test="house.townStreetName!=null and house.townStreetName!=''">
                and br.town_name like concat('%',#{house.townStreetName},'%')
            </if>
            <if test="house.neiName!=null and house.neiName!=''">
                and br.name like concat('%',#{house.neiName},'%')
            </if>
            <if test="house.address!=null and house.address!=''">
                and jh.address like concat('%',#{house.address},'%')
            </if>
            <if test="house.houseName != null  and house.houseName != ''">and jh.house_name like
                concat('%',#{house.houseName},'%')
            </if>
            <if test="house.phone != null  and house.phone != ''">and jh.phone = #{house.phone}</if>
            <if test="house.area != null ">and jh.area = #{house.area}</if>
            <if test="house.propertyPrice != null ">and jh.property_price = #{house.propertyPrice}</if>
            <if test="house.serviceDue != null ">and jh.service_due = #{house.serviceDue}</if>
            <if test="house.floor != null ">and jh.floor = #{house.floor}</if>
            <if test="house.building != null  and house.building != ''">and jh.building = #{house.building}</if>
            <if test="house.unit != null  and house.unit != ''">and jh.unit = #{house.unit}</if>
            <if test="house.room != null  and house.room != ''">and jh.room = #{house.room}</if>
            <if test="house.buildingNo != null ">and jh.building_no = #{house.buildingNo}</if>
            <if test="isAdministrator==2">
                <choose>
                    <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                        and jg.community_code in
                        <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                            #{code}
                        </foreach>
                    </when>
                </choose>
            </if>
            <if test="house.parentId != null ">
                <if test="house.labelId != null ">
                    AND jl.id = #{house.labelId}
                </if>
                <if test="house.parentId != null ">
                    AND jl.parent_id = #{house.parentId}
                </if>
                and jhl.label_id=jl.id
                AND jhl.lable_type = 2
                AND jhl.label_id IS NOT NULL
            </if>
            and jh.is_deleted = 0
        </where>
        ) count
        FROM
        jczz_label jl where is_deleted = 0
        <if test="house.parentId != null ">
            AND jl.parent_id = #{house.parentId}
        </if>
        and jl.id != '1002'
    </select>
    <select id="labelCommunityStatistics" resultType="java.util.Map">
        SELECT
        jc.name,
        (SELECT
        count(DISTINCT jhl.house_code)
        FROM
        jczz_user_house_label jhl
        LEFT JOIN jczz_house jh ON jhl.house_code = jh.house_code
        LEFT JOIN jczz_grid jg ON jg.grid_code = jh.grid_code
        AND jg.is_deleted = 0
        LEFT JOIN blade_region br ON br.CODE = jg.community_code
        WHERE jhl.lable_type = 2 and jg.community_code = jc.code
        <if test="house.townStreetName!=null and house.townStreetName!=''">
            and br.town_name like concat('%',#{house.townStreetName},'%')
        </if>
        <if test="house.neiName!=null and house.neiName!=''">
            and br.name like concat('%',#{house.neiName},'%')
        </if>
        <if test="house.neiName!=null and house.neiName!=''">
            and br.name like concat('%',#{house.neiName},'%')
        </if>
        <if test="house.address!=null and house.address!=''">
            and jh.address like concat('%',#{house.address},'%')
        </if>
        <if test="isAdministrator==2">
            <choose>
                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                    and jg.community_code in
                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                        #{code}
                    </foreach>
                </when>
            </choose>
        </if>
        <if test="house.parentId != null ">
            and jh.house_code in (
            SELECT DISTINCT
            juhl.house_code
            FROM
            jczz_user_house_label juhl
            LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
            WHERE
            juhl.lable_type = 2
            <if test="house.labelId != null ">
                AND jl.id = #{house.labelId}
            </if>
            <if test="house.parentId != null ">
                AND jl.parent_id = #{house.parentId}
            </if>
            AND juhl.label_id IS NOT NULL
            )
        </if>
        )counts
        FROM
        jczz_community jc
        <where>
            <if test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                jc.CODE IN
                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                    #{code}
                </foreach>
            </if>
        </where>
    </select>
</mapper>