From c4efaf9345da0f7012a277408bef6db24cdaf542 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期四, 25 一月 2024 16:09:50 +0800
Subject: [PATCH] 单兵端查看指挥端位置提交

---
 ard-work/src/main/resources/mapper/alarmpoints/ArdWallMapper.xml |   45 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 43 insertions(+), 2 deletions(-)

diff --git a/ard-work/src/main/resources/mapper/alarmpoints/ArdWallMapper.xml b/ard-work/src/main/resources/mapper/alarmpoints/ArdWallMapper.xml
index 68933d9..5711613 100644
--- a/ard-work/src/main/resources/mapper/alarmpoints/ArdWallMapper.xml
+++ b/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>
\ No newline at end of file

--
Gitblit v1.9.3