lin
2024-04-16 2b1a74f4faa5a00a294bdc6a6d956c2e009cf467
src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
@@ -192,6 +192,10 @@
        jhs.building,
        jhs.district_code aoiCode,
        jh.volunteer_org,
        case
        when TIMESTAMPDIFF(year, substring(jh.id_card, 7, 8), now()) < 18 then 2
        when TIMESTAMPDIFF(year, substring(jh.id_card, 7, 8), now()) >= 18 then 1
        end as minors,
        jhs.unit
        FROM
        jczz_household jh
@@ -200,20 +204,61 @@
        LEFT JOIN jczz_grid jg on jg.grid_code = jhs.grid_code and jg.is_deleted = 0
        LEFT JOIN jczz_police_affairs_grid jpag on jhs.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
        <where>
            <if test="household.labelIdList !=null and household.labelIdList.size() >0 ">
                EXISTS (
                SELECT
                *
                FROM
                jczz_user_house_label juhl
                LEFT JOIN jczz_label jl ON juhl.label_id = jl.id
                where  juhl.household_id = jh.id
                and juhl.lable_type = 1
                AND juhl.household_id IS NOT NULL
                AND jl.id in
                <foreach collection="household.labelIdList" item="code" open="(" close=")" separator=",">
                    #{code}
                </foreach>
                )
            </if>
            <if test="household.userId!=null">
                AND jg.grid_code IN ( SELECT DISTINCT jgm.grid_code FROM jczz_gridman jgm WHERE jgm.user_id =
                #{household.userId}
                )
            </if>
            <if test="household.searchKey!=null and household.searchKey!=''">
                and CONCAT(jh.name,jh.phone_number) like CONCAT ('%', #{household.searchKey},'%')
            </if>
            <if test="household.name!=null and household.name !=''">
                and jh.name like concat('%',#{household.name},'%')
            </if>
            <if test="volunteerOrg != null  and volunteerOrg != ''">
            <if test="household.volunteerOrg != null  and household.volunteerOrg != ''">
                and jh.volunteer_org  like concat('%',#{household.volunteerOrg},'%')
            </if>
            <if test="household.houseCode!=null and household.houseCode !=''">
                and jh.house_code = #{household.houseCode}
            </if>
            <if test="household.communityCode!=null and household.communityCode !=''">
                and jg.community_code = #{household.communityCode}
            </if>
                <!-- 等于18 就是租户 -->
            <if test="household.relationship!=null and household.relationship == 18">
                and jh.relationship = #{household.relationship}
                <if test="household.minors!=null and household.minors ==2">
                    and TIMESTAMPDIFF(year, substring(jh.id_card, 7, 8), now()) &lt; 18
                </if>
                <if test="household.minors!=null and household.minors ==1">
                    and TIMESTAMPDIFF(year, substring(jh.id_card, 7, 8), now()) &gt;= 18
                </if>
            </if>
            <!-- 不等于18 就是非租户 -->
            <if test="household.relationship!=null and household.relationship != 18">
                and jh.relationship != #{household.relationship}
            </if>
            <if test="household.phoneNumber!=null and household.phoneNumber !=''">
                and jh.phone_number like concat('%',#{household.phoneNumber},'%')
            </if>
@@ -292,19 +337,6 @@
                    </otherwise>
                </choose>
            </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>-->
<!--                    <otherwise>-->
<!--                        and jg.community_code in ('')-->
<!--                    </otherwise>-->
<!--                </choose>-->
<!--            </if>-->
            <if test="household.building!=null and household.building!=''">
                and jhs.building like concat(#{household.building},'%')
            </if>
@@ -419,6 +451,7 @@
               jda.doorplate_type  doorplateType,
               jda.address_level   addressLevel,
               jda.nei_name        neiName,
               jda.nei_code        neiCode,
               jda.aoi_code        aoiCode,
               jh.relationship     relationship
        from jczz_household jh
@@ -563,10 +596,10 @@
        LEFT JOIN jczz_grid jg on jg.grid_code = jhs.grid_code and jg.is_deleted = 0
        LEFT JOIN jczz_police_affairs_grid jpag on jhs.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
        <where>
            <if test="household.neiCode != null and household.neiCode != ''">
                and jda.nei_code = #{household.neiCode}
            <if test="household.communityCode != null and household.communityCode != ''">
                and jg.community_code = #{household.communityCode}
            </if>
            <if test="household.confirmFlag != null and household.confirmFlag != ''">
            <if test="household.confirmFlag != null">
                and jh.confirm_flag =  #{household.confirmFlag}
            </if>
            <if test="isAdministrator==2">
@@ -1184,4 +1217,70 @@
        and jl.parent_id != '1001'
    </select>
    <select id="getUserInfoByDistrictIds" resultType="org.springblade.modules.house.vo.HouseholdVO">
        SELECT
        jh.*,
        jhe.house_name address,
        jhe.building,
        jhe.unit
        FROM
        jczz_household jh
        LEFT JOIN jczz_house jhe ON jhe.house_code = jh.house_code
        AND jh.is_deleted = 0
        LEFT JOIN jczz_district jd ON jd.aoi_code = jhe.district_code
        <where>
            and jd.id  in
            <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
                #{item}
            </foreach>
            and jh.relationship !=18
            <if test="vo.building != null and vo.building !=''">
                and jhe.building like concat('%',#{vo.building},'%')
            </if>
            <if test="vo.unit != null and vo.unit !=''">
                and jhe.unit like concat('%',#{vo.unit},'%')
            </if>
            <if test="vo.name != null and vo.name !=''">
                and jh.name like concat('%',#{vo.name},'%')
            </if>
            <if test="vo.phoneNumber != null and vo.phoneNumber !=''">
                and jh.phone_number like concat('%',#{vo.phoneNumber},'%')
            </if>
        </where>
    </select>
    <!--查询住户对应的社区编号-->
    <select id="getCommunityCode" resultType="java.lang.String">
        SELECT
        jpag.community_code
        FROM
        jczz_household jh
        LEFT JOIN jczz_house jhs ON jh.house_code = jhs.house_code and jhs.is_deleted = 0
        LEFT JOIN jczz_police_affairs_grid jpag on jhs.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
        where jh.is_deleted = 0
        and jh.id = #{id}
    </select>
    <!--查询所有住户总数-->
    <select id="getAllListTotal" resultType="java.lang.Integer">
        SELECT
        count(*)
        FROM
        jczz_household jh
        where jh.is_deleted = 0
    </select>
    <!--查询对应的住户集合-->
    <select id="getAllList" resultType="org.springblade.modules.house.vo.HouseholdVO">
        SELECT
        jh.*,
        jpag.community_code
        FROM
        jczz_household jh
        LEFT JOIN jczz_house jhs ON jh.house_code = jhs.house_code and jhs.is_deleted = 0
        LEFT JOIN jczz_police_affairs_grid jpag on jhs.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
        where jh.is_deleted = 0
        limit #{i},#{size}
    </select>
</mapper>