linwei
2024-01-31 b3b566ebdfed4005aaa513da3d5d2fd3924903cc
src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
@@ -2,9 +2,108 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.modules.place.mapper.PlaceExtMapper">
    <resultMap id="detailMap" type="org.springblade.modules.place.vo.PlaceExtVO" autoMapping="true">
        <id property="id" column="id"/>
        <collection property="placePractitioner" javaType="java.util.List"
                    ofType="org.springblade.modules.place.vo.PlacePractitionerVO" autoMapping="true">
            <id property="id" column="cid"/>
        </collection>
    </resultMap>
    <!--自定义分页查询-->
    <select id="selectPlaceExtPage" resultType="org.springblade.modules.place.vo.PlaceExtVO">
        select * from jczz_place_ext where is_deleted = 0
        SELECT
        jpe.*,
        jp.place_name AS placeName
        FROM
        jczz_place_ext jpe
        LEFT JOIN jczz_place jp ON jpe.place_id = jp.id AND jp.is_deleted = 0
        LEFT JOIN jczz_grid jg ON jp.grid_code = jg.grid_code AND jg.is_deleted = 0
        WHERE
        jpe.is_deleted = 0
        and jp.place_name != ''
        <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="placeExt.placeName != null and placeExt.placeName != ''">
            and jp.place_name like concat('%',#{placeExt.placeName},'%')
        </if>
        <if test="placeExt.placeId != null">
            and jp.id = #{placeExt.placeId}
        </if>
        <if test="placeExt.isApp != null">
            and jpe.confirm_flag != 4
        </if>
        <if test="placeExt.houseCode != null and placeExt.houseCode != ''">
            and jp.house_code like concat('%',#{placeExt.houseCode},'%')
        </if>
        <if test="placeExt.confirmFlag != null">
            and jpe.confirm_flag = #{placeExt.confirmFlag}
        </if>
        <if test="placeExt.startTime != null and placeExt.startTime != '' and placeExt.endTime != null and placeExt.endTime != '' ">
            AND jpe.create_time BETWEEN #{placeExt.startTime} and #{placeExt.endTime}
        </if>
        <if test="houseCodeList != null and houseCodeList.size()>0">
            and jp.house_code in
            <foreach collection="houseCodeList" item="houseCode" separator="," open="(" close=")">
                #{houseCode}
            </foreach>
        </if>
        order by jpe.create_time desc,jpe.id desc
    </select>
    <!--场所审核统计-->
    <select id="selectCount" resultType="java.lang.Integer">
        SELECT
        count( 1 )
        FROM
        jczz_place_ext jpe
        LEFT JOIN jczz_place jp ON jp.id = jpe.place_id and jp.is_deleted = 0
        LEFT JOIN jczz_doorplate_address jda ON locate(jda.address_code,jp.house_code)>0
        <where>
            <if test="confirmFlag != null">
                and jpe.confirm_flag = #{confirmFlag}
            </if>
            <if test="userId != null">
                AND jp.house_code IN (
                SELECT
                jgr.house_code
                FROM
                jczz_grid_range jgr
                LEFT JOIN jczz_grid jg ON jg.id = jgr.grid_id
                LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
                WHERE
                jg.is_deleted = 0
                <if test="neiCode != null and neiCode != ''">
                    and jg.community_code = #{neiCode}
                </if>
                AND jgm.user_id = #{userId} )
            </if>
            and jpe.is_deleted = 0
        </where>
    </select>
    <select id="getDetail" resultType="org.springblade.modules.place.vo.PlaceExtVO">
        select jpe.*,
        jp.place_name as placeName,
        jp.lng,
        jp.lat,
        jp.location
        from jczz_place_ext jpe
        left join jczz_place jp on jpe.place_id = jp.id and jp.is_deleted = 0
        where jpe.is_deleted = 0 and jpe.place_id = #{placeExt.placeId}
    </select>