linwei
2024-01-08 ad2ec97fe0c60eee4bb7c8cdacff7c876f280ea7
src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml
@@ -4,8 +4,162 @@
    <!--自定义分页查询-->
    <select id="selectGridPage" resultType="org.springblade.modules.grid.vo.GridVO">
        select * from jczz_grid where is_deleted = 0
        select
        jg.id,jg.community_code,jg.grid_name,jg.principal,jg.principal_phone,jg.remark,
        br.name as communityName,br.town_name as townName
        from jczz_grid jg
        left join blade_region br on br.code = jg.community_code
        where jg.is_deleted = 0
        <if test="grid.communityCode!=null and grid.communityCode!=''">
            and jg.community_code = #{grid.communityCode}
        </if>
        <if test="grid.gridName!=null and grid.gridName!=''">
            and jg.grid_name like concat('%',#{grid.gridName},'%')
        </if>
        <if test="grid.principal!=null and grid.principal!=''">
            and jg.principal like concat('%',#{grid.principal},'%')
        </if>
        <if test="grid.principalPhone!=null and grid.principalPhone!=''">
            and jg.principal_phone like concat('%',#{grid.principalPhone},'%')
        </if>
        <if test="grid.regionCode != null and grid.regionCode !='' ">
            and jg.community_code like concat('%',#{grid.regionCode},'%')
        </if>
        <if test="grid.communityName != null and grid.communityName !='' ">
            and br.name like concat('%',#{grid.communityName},'%')
        </if>
        <if test="grid.townName != null and grid.townName !='' ">
            and br.town_name like concat('%',#{grid.townName},'%')
        </if>
    </select>
    <!--根据地址编号查询网格数据-->
    <select id="getGridDetailByHouseCode" resultType="org.springblade.modules.grid.vo.GridVO">
        select jg.id,jg.grid_name,br.town_name AS townStreetName,br.name AS community_name,
        bu.real_name as realName,bu.phone as gridPhone
        from jczz_grid jg
        left join jczz_grid_range jgr on jg.id = jgr.grid_id
        left join jczz_gridman jgm on jg.id = jgm.grid_id and jgm.is_deleted = 0
        left join blade_user bu on bu.id = jgm.user_id and bu.is_deleted = 0
        left join blade_region br ON br.code = jg.community_code
        where jg.is_deleted = 0
        and jgr.house_code = #{houseCode}
        limit 1
    </select>
    <!--根据用户id(网格员)查询对应的房屋地址code-->
    <select id="getAddressCodeListByUserId" resultType="java.lang.String">
        select jgr.house_code from jczz_grid_range jgr
        left join jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
        left join jczz_gridman jgm on jgm.grid_id = jg.id and jgm.is_deleted = 0
        where 1=1
        and jgm.user_id = #{userId}
    </select>
    <!--判断该小区点在哪个派出所-->
    <select id="spatialAnalysis" resultType="org.springblade.modules.grid.entity.GridEntity">
        SELECT * FROM jczz_grid WHERE ST_Intersects(geom, ST_GeomFromText(${point},0))
    </select>
    <!--根据地址编号查询网格数据-->
    <select id="getGridDetailByParam" resultType="org.springblade.modules.grid.vo.GridVO">
        SELECT
            jg.id,
            jg.grid_name,
            br.name as community_name,
            jg.sort,
            bu.real_name AS realName,
            bu.phone AS gridPhone
        FROM
            jczz_grid jg
                LEFT JOIN jczz_gridman jgm on jg.id = jgm.grid_id
                LEFT JOIN jczz_grid_range jgr ON jg.id = jgr.grid_id
                LEFT JOIN blade_region br on br.code = jg.community_code
                LEFT JOIN jczz_place_rel jpr ON locate( jpr.community_name, br.name )> 0
                AND locate( jpr.grid_name, jg.grid_name )> 0
                AND jpr.is_deleted = 0
                LEFT JOIN blade_user bu ON bu.id = jgm.user_id
                AND bu.is_deleted = 0
        WHERE
          jg.is_deleted = 0
          and jpr.place_id = #{place.id}
          limit 1
    </select>
    <!--自定义详情查询-->
    <select id="getGridDetail" resultType="org.springblade.modules.grid.vo.GridVO">
        select id,community_code,grid_name,principal,principal_phone,remark,sort from jczz_grid
         where is_deleted = 0 and id = #{grid.id}
    </select>
    <!--查询全部-->
    <select id="selectGridAll" resultType="org.springblade.modules.grid.entity.GridEntity">
        select id,community_code,grid_name,principal,principal_phone,remark,sort from jczz_grid
         where is_deleted = 0
    </select>
    <!--网格树-->
    <select id="getGridTree" resultType="org.springblade.common.node.TreeStringNode">
        SELECT code        as id,
               parent_code as parentId,
               name
        FROM blade_region
        where district_code = '361102'
        union all
        (select id,
                community_code as parentId,
                grid_name      as name
         from jczz_grid
         where is_deleted = 0)
    </select>
    <select id="gridInfo" resultType="org.springblade.modules.grid.entity.GridmanEntity">
        SELECT jg.id,
               jg.grid_name,
               jgm.pic_url,
               jgm.mobile,
               jgm.gridman_name
        FROM jczz_grid jg
                 LEFT JOIN jczz_gridman jgm ON jgm.grid_id = jg.id
                 LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
        WHERE jgr.house_code = #{houseCode}
          AND jg.is_deleted = '0'
          AND jgm.is_deleted = '0'
    </select>
    <select id="gridAoiName"
            resultType="org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity">
        SELECT aoi_name,
               GROUP_CONCAT(building_name) building_name
        FROM (SELECT DISTINCT aoi_name,
                              building_name
              FROM jczz_doorplate_address
              WHERE address_code IN (SELECT jgr.house_code
                                     FROM jczz_grid jg
                                              LEFT JOIN jczz_gridman jgm ON jgm.grid_id = jg.id
                                              LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
                                     WHERE jg.id = #{id})) a
        GROUP BY aoi_name
    </select>
    <!--网格集合查询-->
    <select id="getGridList" resultType="org.springblade.modules.grid.entity.GridEntity">
        SELECT * from jczz_grid
        where is_deleted = 0
        <if test="grid.communityCode!=null and grid.communityCode!=''">
            and community_code = #{grid.communityCode}
        </if>
        order by sort asc
    </select>
    <!--查询小区网格绑定-->
    <select id="getGridListByAoiCode" resultType="org.springblade.modules.grid.vo.GridVO">
        SELECT jg.grid_name from jczz_grid jg
        left join jczz_grid_range jgr on jg.id = jgr.grid_id
        where jg.is_deleted = 0
        and jgr.district_code = #{aoiCode}
        GROUP BY jg.grid_name
    </select>
</mapper>