liusuyi
2024-04-28 d1ebb26ab19f83f32c5314771a5381db6f1b2a6d
ard-work/src/main/resources/mapper/alarmpoints/ArdWallMapper.xml
@@ -19,6 +19,19 @@
        <!-- 子查询,关联 ard_dispatch_police_user 表 -->
        <collection property="sysUserList" ofType="java.util.List" select="getSysUserListByMainTableId" column="id"/>
    </resultMap>
    <resultMap type="ArdWall" id="ArdWallOnlyResult">
        <result property="id"    column="id"    />
        <result property="wallName"    column="wall_name"    />
        <result property="wallPoi"    column="wall_poi"    />
        <result property="type"    column="type"    />
        <result property="color"    column="color"    />
        <result property="deptId"    column="dept_id"    />
        <result property="userId"    column="user_id"    />
        <result property="createBy"    column="create_by"    />
        <result property="createTime"    column="create_time"    />
        <result property="updateBy"    column="update_by"    />
        <result property="updateTime"    column="update_time"    />
    </resultMap>
    <select id="getSysUserListByMainTableId" resultType="SysUser">
        SELECT u.*
        FROM ard_wall_user b
@@ -42,8 +55,10 @@
            <if test="wallPoi != null  and wallPoi != ''"> and wall_poi = #{wallPoi}</if>
            <if test="type != null  and type != ''"> and type = #{type}</if>
            <if test="color != null  and color != ''"> and color = #{color}</if>
            <if test="deptId != null "> and dept_id = #{deptId}</if>
            <if test="userId != null  and userId != ''"> and user_id = #{userId}</if>
            <if test="deptId != null ">and (dept_id = #{deptId} OR dept_id IN ( SELECT t.dept_id FROM sys_dept t
                WHERE cast(#{deptId} as varchar) = any(string_to_array(ancestors,',')) ))
            </if>
        </where>
    </select>
    
@@ -126,4 +141,18 @@
            #{wallId}
        </foreach>
    </delete>
    <select id="selectArdWallListByUserId" parameterType="String"  resultMap="ArdWallResult">
        SELECT
            aw.*
        FROM
            ard_wall aw
                LEFT JOIN ard_wall_user awu ON awu.wall_id = aw.ID
        WHERE
            awu.user_id =  #{userId}
    </select>
    <select id="getArdWallListByUserId" parameterType="java.lang.String"  resultMap="ArdWallOnlyResult">
        select aw.* from ard_wall_user awu
        inner join ard_wall aw on awu.wall_id = aw.id
        where awu.user_id = #{userId}
    </select>
</mapper>