linwei
2024-01-12 87c81cb045fb89a74901613405e6c4ccf4bd03bd
住户+居民管理
4 files modified
543 ■■■■ changed files
src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml 90 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml 24 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/mapper/UserHouseLabelMapper.xml 419 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/vo/HouseVO.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
@@ -141,39 +141,63 @@
        left join jczz_grid_range jgr on jgr.house_code = jh.house_code
        left join jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
        left join blade_region br on br.code = jg.community_code
        where jh.is_deleted = 0
        <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.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="house.regionCode != null and house.regionCode !='' ">
            and jg.community_code like concat('%',#{house.regionCode},'%')
        </if>
        <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.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="house.regionCode != null and house.regionCode !='' ">
                and jg.community_code like concat('%',#{house.regionCode},'%')
            </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>
            and jh.is_deleted = 0
            ORDER BY
            jh.update_time DESC
        </where>
    </select>
    <!--房屋自定义详情查询-->
src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
@@ -828,17 +828,20 @@
            <if test="household.aoiCode!=null and household.aoiCode!=''">
                and jhs.district_code = #{household.aoiCode}
            </if>
            AND EXISTS (
            SELECT
            *
            and jh.id in (
            SELECT DISTINCT
            juhl.household_id
            FROM
            jczz_user_house_label juhl
            LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
            WHERE
            juhl.lable_type = 1
            AND jl.id = #{household.labelId}
            AND jl.parent_id = #{household.parentId}
            AND juhl.household_id = jh.id
            <if test="household.labelId != null ">
                AND jl.id = #{household.labelId}
            </if>
            <if test="household.parentId != null ">
                AND jl.parent_id = #{household.parentId}
            </if>
            AND juhl.label_id IS NOT NULL
            )
            and jh.is_deleted = 0
@@ -854,7 +857,8 @@
        and juhl.lable_type = 1
        and juhl.color = '#30D17C'
        and jh.id in (
        select household_id from jczz_grid_work_log where is_deleted = 0 and source = 2 and TIMESTAMPDIFF( day, now(), create_time )=30
        select household_id from jczz_grid_work_log where is_deleted = 0 and source = 2 and TIMESTAMPDIFF( day, now(),
        create_time )=30
        )
        <choose>
            <when test="list!=null and list.size()>0">
@@ -875,7 +879,8 @@
        and juhl.lable_type = 1
        and juhl.color = '#FFB42B'
        and jh.id in (
        select household_id from jczz_grid_work_log where is_deleted = 0 and source = 2 and TIMESTAMPDIFF( day, now(), create_time )=14
        select household_id from jczz_grid_work_log where is_deleted = 0 and source = 2 and TIMESTAMPDIFF( day, now(),
        create_time )=14
        )
        <choose>
            <when test="list!=null and list.size()>0">
@@ -897,7 +902,8 @@
        and juhl.lable_type = 1
        and juhl.color = '#EA1F1F'
        and jh.id in (
        select household_id from jczz_grid_work_log where is_deleted = 0 and source = 2 and TIMESTAMPDIFF( day, now(), create_time )=7
        select household_id from jczz_grid_work_log where is_deleted = 0 and source = 2 and TIMESTAMPDIFF( day, now(),
        create_time )=7
        )
        <choose>
            <when test="list!=null and list.size()>0">
src/main/java/org/springblade/modules/house/mapper/UserHouseLabelMapper.xml
@@ -86,221 +86,220 @@
    <select id="statisticalLabels" resultType="org.springblade.modules.house.vo.HouseholdLabelVO"
            parameterType="org.springblade.modules.house.vo.HouseholdLabelVO">
       SELECT
    br.region_level,
    br.`code` regionCode,
    br.NAME regionName,
    (
    SELECT
        count( 1 )
    FROM
        jczz_user_house_label juhl
        LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
    WHERE
        juhl.lable_type = 1
        AND jl.id = '19'
        AND juhl.household_id IS NOT NULL
        AND juhl.house_code IN (
        SELECT
            jgr.house_code
        FROM
            jczz_grid jg
            LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
            LEFT JOIN  jczz_community jc on  jc.`code` = jg.community_code
        WHERE
            br.`code` = jc.`street_code`
        )) number1,(
    SELECT
        count( 1 )
    FROM
        jczz_user_house_label juhl
        LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
    WHERE
        juhl.lable_type = 1
        AND jl.id = '20'
        AND juhl.household_id IS NOT NULL
        AND juhl.house_code IN (
        SELECT
            jgr.house_code
        FROM
            jczz_grid jg
            LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
            LEFT JOIN  jczz_community jc on  jc.`code` = jg.community_code
        WHERE
            br.`code` = jc.`street_code`
        )) number2,
        (
    SELECT
        count( 1 )
    FROM
        jczz_user_house_label juhl
        LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
    WHERE
        juhl.lable_type = 1
        AND jl.id = '22'
        AND juhl.household_id IS NOT NULL
        AND juhl.house_code IN (
        SELECT
            jgr.house_code
        FROM
            jczz_grid jg
            LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
            LEFT JOIN  jczz_community jc on  jc.`code` = jg.community_code
        WHERE
            br.`code` = jc.`street_code`
        )) number3,
        (
    SELECT
        count( 1 )
    FROM
        jczz_user_house_label juhl
        LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
    WHERE
        juhl.lable_type = 1
        AND jl.id = '23'
        AND juhl.household_id IS NOT NULL
        AND juhl.house_code IN (
        SELECT
            jgr.house_code
        FROM
            jczz_grid jg
            LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
            LEFT JOIN  jczz_community jc on  jc.`code` = jg.community_code
        WHERE
            br.`code` = jc.`street_code`
        )) number4,
        (
    SELECT
        count( 1 )
    FROM
        jczz_user_house_label juhl
        LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
    WHERE
        juhl.lable_type = 1
        AND jl.id = '1025'
        AND juhl.household_id IS NOT NULL
        AND juhl.house_code IN (
        SELECT
            jgr.house_code
        FROM
            jczz_grid jg
            LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
            LEFT JOIN  jczz_community jc on  jc.`code` = jg.community_code
        WHERE
            br.`code` = jc.`street_code`
        )) number5
FROM
    `blade_region` br
WHERE
    br.region_level = 4
    AND br.city_code = 3611
               SELECT
            br.region_level,
            br.`code` regionCode,
            br.NAME regionName,
            (
            SELECT
                count( 1 )
            FROM
                jczz_user_house_label juhl
                LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
            WHERE
                juhl.lable_type = 1
                AND jl.id = '19'
                AND juhl.household_id IS NOT NULL
                AND juhl.house_code IN (
                SELECT
                    jgr.house_code
                FROM
                    jczz_grid jg
                    LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
                    LEFT JOIN  jczz_community jc on  jc.`code` = jg.community_code
                WHERE
                    br.`code` = jc.`street_code`
                )) number1,(
            SELECT
                count( 1 )
            FROM
                jczz_user_house_label juhl
                LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
            WHERE
                juhl.lable_type = 1
                AND jl.id = '20'
                AND juhl.household_id IS NOT NULL
                AND juhl.house_code IN (
                SELECT
                    jgr.house_code
                FROM
                    jczz_grid jg
                    LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
                    LEFT JOIN  jczz_community jc on  jc.`code` = jg.community_code
                WHERE
                    br.`code` = jc.`street_code`
                )) number2,
                (
            SELECT
                count( 1 )
            FROM
                jczz_user_house_label juhl
                LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
            WHERE
                juhl.lable_type = 1
                AND jl.id = '22'
                AND juhl.household_id IS NOT NULL
                AND juhl.house_code IN (
                SELECT
                    jgr.house_code
                FROM
                    jczz_grid jg
                    LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
                    LEFT JOIN  jczz_community jc on  jc.`code` = jg.community_code
                WHERE
                    br.`code` = jc.`street_code`
                )) number3,
                (
            SELECT
                count( 1 )
            FROM
                jczz_user_house_label juhl
                LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
            WHERE
                juhl.lable_type = 1
                AND jl.id = '23'
                AND juhl.household_id IS NOT NULL
                AND juhl.house_code IN (
                SELECT
                    jgr.house_code
                FROM
                    jczz_grid jg
                    LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
                    LEFT JOIN  jczz_community jc on  jc.`code` = jg.community_code
                WHERE
                    br.`code` = jc.`street_code`
                )) number4,
                (
            SELECT
                count( 1 )
            FROM
                jczz_user_house_label juhl
                LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
            WHERE
                juhl.lable_type = 1
                AND jl.id = '1025'
                AND juhl.household_id IS NOT NULL
                AND juhl.house_code IN (
                SELECT
                    jgr.house_code
                FROM
                    jczz_grid jg
                    LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
                    LEFT JOIN  jczz_community jc on  jc.`code` = jg.community_code
                WHERE
                    br.`code` = jc.`street_code`
                )) number5
        FROM
            `blade_region` br
        WHERE
            br.region_level = 4
            AND br.city_code = 3611
    </select>
    <select id="getCommunityStatisticalLabels" resultType="org.springblade.modules.house.vo.HouseholdLabelVO">
SELECT
jc.NAME communityName,
        jc.code communityCode,
    (
    SELECT
        count( 1 )
    FROM
        jczz_user_house_label juhl
        LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
    WHERE
        juhl.lable_type = 1
        AND jl.id = '19'
        AND juhl.household_id IS NOT NULL
        AND juhl.house_code IN (
        SELECT
            jgr.house_code
        FROM
            jczz_grid jg
            LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
                WHERE
        jc.`code` = jg.community_code
        )) number1,(
    SELECT
        count( 1 )
    FROM
        jczz_user_house_label juhl
        LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
    WHERE
        juhl.lable_type = 1
        AND jl.id = '20'
        AND juhl.household_id IS NOT NULL
        AND juhl.house_code IN (
        SELECT
            jgr.house_code
        FROM
            jczz_grid jg
            LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
                WHERE
        jc.`code` = jg.community_code
        )) number2,
        (
    SELECT
        count( 1 )
    FROM
        jczz_user_house_label juhl
        LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
    WHERE
        juhl.lable_type = 1
        AND jl.id = '22'
        AND juhl.household_id IS NOT NULL
        AND juhl.house_code IN (
        SELECT
            jgr.house_code
        FROM
            jczz_grid jg
            LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
            WHERE
        jc.`code` = jg.community_code
        )) number3,
        (
    SELECT
        count( 1 )
    FROM
        jczz_user_house_label juhl
        LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
    WHERE
        juhl.lable_type = 1
        AND jl.id = '23'
        AND juhl.household_id IS NOT NULL
        AND juhl.house_code IN (
        SELECT
            jgr.house_code
        FROM
            jczz_grid jg
            LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
            WHERE
        jc.`code` = jg.community_code
        )) number4,
        (
    SELECT
        count( 1 )
    FROM
        jczz_user_house_label juhl
        LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
    WHERE
        juhl.lable_type = 1
        AND jl.id = '1025'
        AND juhl.household_id IS NOT NULL
        AND juhl.house_code IN (
        SELECT
            jgr.house_code
        FROM
            jczz_grid jg
            LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
        WHERE
        jc.`code` = jg.community_code
        )) number5
FROM
    `jczz_community` jc
WHERE
    jc.street_code = #{householdLabel.regionCode}
        SELECT
        jc.NAME communityName,
                jc.code communityCode,
            (
            SELECT
                count( 1 )
            FROM
                jczz_user_house_label juhl
                LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
            WHERE
                juhl.lable_type = 1
                AND jl.id = '19'
                AND juhl.household_id IS NOT NULL
                AND juhl.house_code IN (
                SELECT
                    jgr.house_code
                FROM
                    jczz_grid jg
                    LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
                        WHERE
                jc.`code` = jg.community_code
                )) number1,(
            SELECT
                count( 1 )
            FROM
                jczz_user_house_label juhl
                LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
            WHERE
                juhl.lable_type = 1
                AND jl.id = '20'
                AND juhl.household_id IS NOT NULL
                AND juhl.house_code IN (
                SELECT
                    jgr.house_code
                FROM
                    jczz_grid jg
                    LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
                        WHERE
                jc.`code` = jg.community_code
                )) number2,
                (
            SELECT
                count( 1 )
            FROM
                jczz_user_house_label juhl
                LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
            WHERE
                juhl.lable_type = 1
                AND jl.id = '22'
                AND juhl.household_id IS NOT NULL
                AND juhl.house_code IN (
                SELECT
                    jgr.house_code
                FROM
                    jczz_grid jg
                    LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
                    WHERE
                jc.`code` = jg.community_code
                )) number3,
                (
            SELECT
                count( 1 )
            FROM
                jczz_user_house_label juhl
                LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
            WHERE
                juhl.lable_type = 1
                AND jl.id = '23'
                AND juhl.household_id IS NOT NULL
                AND juhl.house_code IN (
                SELECT
                    jgr.house_code
                FROM
                    jczz_grid jg
                    LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
                    WHERE
                jc.`code` = jg.community_code
                )) number4,
                (
            SELECT
                count( 1 )
            FROM
                jczz_user_house_label juhl
                LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
            WHERE
                juhl.lable_type = 1
                AND jl.id = '1025'
                AND juhl.household_id IS NOT NULL
                AND juhl.house_code IN (
                SELECT
                    jgr.house_code
                FROM
                    jczz_grid jg
                    LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
                WHERE
                jc.`code` = jg.community_code
                )) number5
        FROM
            `jczz_community` jc
        WHERE
           jc.code like concat(#{householdLabel.regionCode},'%')
    </select>
src/main/java/org/springblade/modules/house/vo/HouseVO.java
@@ -16,9 +16,9 @@
 */
package org.springblade.modules.house.vo;
import org.springblade.modules.house.entity.HouseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.modules.house.entity.HouseEntity;
import java.util.ArrayList;
import java.util.List;
@@ -65,5 +65,13 @@
     */
    private String regionCode;
    /**
     * 标签id
     */
    private Integer labelId;
    //    标签父级id
    private Integer parentId;
    private List<UserHouseLabelVO> userHouseLabelVOList = new ArrayList<>();
}