From b5df0cfdfb8e43355bc60ff68adca554dd1d0228 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 04 三月 2024 10:01:44 +0800
Subject: [PATCH] 解决删除发布图层时会误删图层组

---
 src/main/resources/mapper/data/PublishMapper.xml |   37 ++++++++++++++++++++++++++-----------
 1 files changed, 26 insertions(+), 11 deletions(-)

diff --git a/src/main/resources/mapper/data/PublishMapper.xml b/src/main/resources/mapper/data/PublishMapper.xml
index 7bca2ca..dd6c40a 100644
--- a/src/main/resources/mapper/data/PublishMapper.xml
+++ b/src/main/resources/mapper/data/PublishMapper.xml
@@ -46,14 +46,14 @@
     </select>
 
     <select id="selectCount" resultType="java.lang.Integer">
-        select count(*) from lf.sys_publish
+        select count(*) from lf.sys_publish a
         <where>
             1 = 1
             <if test="name != null">
-                and upper(name) like #{name}
+                and upper(a.name) like #{name}
             </if>
             <if test="dircode != null">
-                and dirid like #{dircode}
+                and a.dirid like #{dircode}
             </if>
             <if test="type != null">
                 and ${type}
@@ -62,15 +62,15 @@
     </select>
 
     <select id="selectByPage" resultType="com.moon.server.entity.data.PublishEntity">
-        select ST_AsText(geom) "geom", a.*, fn_get_fullname(a.depid, 1) depName, fn_get_fullname(a.dirid, 2) dirName, fn_uname(create_user) createName, fn_uname(update_user) updateName
-        from lf.sys_publish a
+        select ST_AsText(a.geom) "geom", a.*, fn_get_fullname(a.depid, 1) depName, fn_get_fullname(a.dirid, 2) dirName, fn_uname(a.create_user) createName, fn_uname(a.update_user) updateName, b.proxy
+        from lf.sys_publish a left join lf.sys_res b on a.id = b.pubid
         <where>
             1 = 1
             <if test="name != null">
-                and upper(name) like #{name}
+                and upper(a.name) like #{name}
             </if>
             <if test="dircode != null">
-                and dirid like #{dircode}
+                and a.dirid like #{dircode}
             </if>
             <if test="type != null">
                 and ${type}
@@ -85,9 +85,9 @@
     </select>
 
     <select id="selectById" resultType="com.moon.server.entity.data.PublishEntity">
-        select ST_AsText(geom) "geom", a.*, fn_get_fullname(a.depid, 1) depName, fn_get_fullname(a.dirid, 2) dirName, fn_uname(create_user) createName, fn_uname(update_user) updateName
-        from lf.sys_publish a
-        where id = #{id}
+        select ST_AsText(a.geom) "geom", a.*, fn_get_fullname(a.depid, 1) depName, fn_get_fullname(a.dirid, 2) dirName, fn_uname(a.create_user) createName, fn_uname(a.update_user) updateName, b.proxy
+        from lf.sys_publish a left join lf.sys_res b on a.id = b.pubid
+        where a.id = #{id}
     </select>
 
     <select id="selectByIds" resultType="com.moon.server.entity.data.PublishEntity">
@@ -100,6 +100,21 @@
         inner join lf.sys_meta_pub b
         on a.id = b.metaid
         where b.pubid = #{pubid};
+    </select>
+
+    <select id="selectRaster" resultType="com.moon.server.entity.data.PublishEntity">
+        select c.cn_name "name", c.unit, a.*
+        from lf.sys_publish a inner join lf.sys_res b on a.id = b.pubid
+        inner join lf.sys_layer c on b.id = c.resid
+        where a.type in ('DOM', 'DEM') and a.status = 3 and c.status = 1;
+    </select>
+
+    <select id="selectByLayerId" resultType="com.moon.server.entity.data.PublishEntity">
+        select a.*
+        from lf.sys_publish a inner join lf.sys_res b on a.id = b.pubid
+        inner join lf.sys_layer c on b.id = c.resid
+        where c.id = #{layerId}
+        limit 1;
     </select>
 
     <select id="selectCodesForDir" resultType="java.lang.String">
@@ -163,7 +178,7 @@
     <delete id="deletes">
         delete from lf.sys_role_layer where layerid in (select a.id from lf.sys_layer a inner join lf.sys_res b on a.resid = b.id where b.pubid in (${ids}));
         delete from lf.sys_role_res where resid in (select id from lf.sys_res where pubid in (${ids}));
-        delete from lf.sys_layer where resid in (select id from lf.sys_res where pubid in (${ids}));
+        delete from lf.sys_layer where is_layer = 1 and resid in (select id from lf.sys_res where pubid in (${ids}));
         delete from lf.sys_res where pubid in (${ids});
         delete from lf.sys_meta_pub where pubid in (${ids});
         delete from lf.sys_publish where id in (${ids});

--
Gitblit v1.9.3