aijinhui
2023-09-21 700e079156d633305b5e03c3a4e54b78a49add51
ard-work/src/main/resources/mapper/alarmpoints/ArdWallMapper.xml
@@ -2,7 +2,7 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.alarmpoints.elecwall.mapper.ArdWallMapper">
<mapper namespace="com.ruoyi.alarmpoints.wall.mapper.ArdWallMapper">
    
    <resultMap type="ArdWall" id="ArdWallResult">
        <result property="id"    column="id"    />
@@ -16,6 +16,19 @@
        <result property="createTime"    column="create_time"    />
        <result property="updateBy"    column="update_by"    />
        <result property="updateTime"    column="update_time"    />
        <!-- 子查询,关联 ard_dispatch_police_user 表 -->
        <collection property="sysUserList" ofType="java.util.List" select="getSysUserListByMainTableId" column="id"/>
    </resultMap>
    <select id="getSysUserListByMainTableId" resultType="SysUser">
        SELECT u.*
        FROM ard_wall_user b
        left join sys_user u on b.user_id = u.user_id
        WHERE wall_id = #{id}
    </select>
    <resultMap type="SysUser" id="SysUserListResult">
        <result property="userId" column="sub_user_id"/>
        <result property="nickName" column="sub_nick_name"/>
        <result property="deptId" column="sub_dept_id"/>
    </resultMap>
    <sql id="selectArdWallVo">
@@ -29,8 +42,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>
    
@@ -96,4 +111,30 @@
            #{id}
        </foreach>
    </delete>
    <insert id="batchArdWallUser">
        insert into ard_wall_user( wall_id, user_id) values
        <foreach item="item" index="index" collection="list" separator=",">
            ( #{item.wallId}, #{item.userId})
        </foreach>
    </insert>
    <delete id="deleteArdWallUserByWallId" parameterType="String">
        delete
        from ard_wall_user
        where wall_id = #{wallId}
    </delete>
    <delete id="deleteArdWallUserByWallIds" parameterType="String">
        delete from ard_wall_user where wall_id in
        <foreach item="wallId" collection="array" open="(" separator="," close=")">
            #{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>
</mapper>