From 810ad9dbaa8553299a4516790a9f546a9b84905e Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期二, 08 七月 2025 16:16:26 +0800
Subject: [PATCH] 添加图层管理,修改权限管理

---
 se-system/src/main/resources/mapper/data/LayerMapper.xml |   89 +++++++++++++++++++++++++++++++++-----------
 1 files changed, 67 insertions(+), 22 deletions(-)

diff --git a/se-system/src/main/resources/mapper/data/LayerMapper.xml b/se-system/src/main/resources/mapper/data/LayerMapper.xml
index 7eaabd6..11eb882 100644
--- a/se-system/src/main/resources/mapper/data/LayerMapper.xml
+++ b/se-system/src/main/resources/mapper/data/LayerMapper.xml
@@ -1,51 +1,98 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.terra.system.mapper.data.LayerMapper">
+    <select id="selectLayers" resultType="com.terra.system.entity.sys.LayerEntity">
+        select distinct d.*, e.proxy, e.pubid
+        from lf.sys_user a
+        inner join lf.sys_role_user b on a.id = b.userid
+        inner join lf.sys_role_layer c on b.roleid = c.roleid
+        inner join lf.sys_layer d on c.layerid = d.id
+        left join lf.sys_res e on d.resid = e.id and e.status = 2
+        <where>
+            d.status = 1 and d.flag = 0
+            <if test="uid != null">
+                and a.uid = #{uid}
+            </if>
+        </where>
+        order by d.id;
+    </select>
+
+    <select id="selectProjectLayers" resultType="com.terra.system.entity.sys.LayerEntity">
+        select distinct d.*, e.proxy
+        from lf.sys_user a
+        inner join lf.sys_role_user b on a.id = b.userid
+        inner join lf.sys_role_layer c on b.roleid = c.roleid
+        inner join lf.sys_layer d on c.layerid = d.id
+        left join lf.sys_res e on d.resid = e.id and e.status = 2
+        <where>
+            d.status = 1 and d.flag = 1
+            <if test="uid != null">
+                and a.uid = #{uid}
+            </if>
+        </where>
+        order by d.id;
+    </select>
+
     <select id="selectCount" resultType="java.lang.Integer">
         select count(*) from lf.sys_layer
         <where>
-            <if test="cnName != null">
-                upper(cn_name) like #{cnName}
+            <if test="name != null">
+                upper(cn_name) like #{name} or upper(en_name) like #{name}
             </if>
         </where>
     </select>
 
-    <select id="selectByPage" resultType="com.terra.system.entity.data.LayerEntity">
+    <select id="selectByPage" resultType="com.terra.system.entity.sys.LayerEntity">
         select * from lf.sys_layer
         <where>
-            <if test="cnName != null">
-                upper(cn_name) like #{cnName}
+            <if test="name != null">
+                upper(cn_name) like #{name} or upper(en_name) like #{name}
             </if>
         </where>
-        order by id
+        order by id desc
         limit #{limit} offset #{offset}
     </select>
 
-    <select id="selectAll" resultType="com.terra.system.entity.data.LayerEntity">
-        select a.*,
-			(select ns from lf.sys_dict b where b.field = 'gid' and b.tab = a.en_name) "ns",
-			(select json from lf.sys_publish c where c.id = a.pubid)
-        from lf.sys_layer a
-        order by id;
+    <select id="selectAll" resultType="com.terra.system.entity.sys.LayerEntity">
+        select *
+        from lf.sys_layer
+        <where>
+            <if test="flag != null">
+                flag = #{flag}
+            </if>
+        </where>
+        order by id desc;
     </select>
 
-    <select id="selectById" resultType="com.terra.system.entity.data.LayerEntity">
+    <select id="selectById" resultType="com.terra.system.entity.sys.LayerEntity">
         select * from lf.sys_layer where id = #{id}
     </select>
 
-    <insert id="insert" parameterType="com.terra.system.entity.data.LayerEntity">
+    <select id="selectIdByName" resultType="java.lang.Integer">
+        select id from lf.sys_dir where name = #{name};
+    </select>
+
+    <select id="selectMaxOrderNumByPid" resultType="java.lang.Integer">
+        select coalesce(max(order_num), 0) + 1 from lf.sys_layer where pid = #{pid};
+    </select>
+
+    <select id="selectByResId" resultType="com.terra.system.entity.sys.LayerEntity">
+        select * from lf.sys_layer where resid = #{resid} limit 1;
+    </select>
+
+    <insert id="insert" parameterType="com.terra.system.entity.sys.LayerEntity">
         insert into lf.sys_layer
-        (pid,cn_name,en_name,url,test_url,type,icon,level,order_num,is_show,create_user,create_time,bak,serve_type,data_type,elev,is_project)
+        (pid,cn_name,en_name,url,is_layer,is_show,icon,level,order_num,status,create_user,create_time,bak,elev,resid,type,data,tab,category,flag,unit)
         values
-        (#{pid},#{cnName},#{enName},#{url},#{testUrl},#{type},#{icon},#{level},#{orderNum},#{isShow},#{createUser},now(),#{bak},#{serveType},#{dataType},#{elev},#{isProject})
+        (#{pid},#{cnName},#{enName},#{url},#{isLayer},#{isShow},#{icon},#{level},#{orderNum},#{status},#{createUser},now(),#{bak},#{elev},#{resid},#{type},#{data},#{tab},#{category},#{flag},#{unit})
     </insert>
 
     <insert id="inserts">
         insert into lf.sys_layer
-        (pid,cn_name,en_name,url,test_url,type,icon,level,order_num,is_show,create_user,create_time,bak,serve_type,data_type,elev,is_project)
+        (pid,cn_name,en_name,url,is_layer,is_show,icon,level,order_num,status,create_user,create_time,bak,elev,resid,type,data,tab,category,flag,unit)
         values
         <foreach collection="list" item="item" index="index" separator=",">
-            (#{item.pid},#{item.cnName},#{item.enName},#{item.url},#{item.testUrl},#{item.type},#{item.icon},#{item.level},#{item.orderNum},#{item.isShow},#{item.createUser},now(),#{item.bak},#{item.serveType},#{item.dataType},#{item.elev},#{item.isProject})
+            (#{item.pid},#{item.cnName},#{item.enName},#{item.url},#{item.isLayer},#{item.isShow},#{item.icon},#{item.level},#{item.orderNum},#{item.status},#{item.createUser},now(),#{item.bak},#{item.elev},#{item.resid},#{item.type},#{item.data},#{item.tab},#{item.category},#{item.flag},#{item.unit})
         </foreach>
     </insert>
 
@@ -62,16 +109,14 @@
 
     <update id="update">
         update lf.sys_layer
-        set pid=#{pid},cn_name=#{cnName},en_name=#{enName},url=#{url},test_url=#{testUrl},type=#{type},icon=#{icon},level=#{level},order_num=#{orderNum},is_show=#{isShow},update_user=#{updateUser},update_time=now(),bak=#{bak},serve_type=#{serveType},data_type=#{dataType},elev=#{elev},is_project=#{isProject}
+        set pid=#{pid},cn_name=#{cnName},en_name=#{enName},url=#{url},is_layer=#{isLayer},is_show=#{isShow},icon=#{icon},level=#{level},order_num=#{orderNum},status=#{status},update_user=#{updateUser},update_time=now(),bak=#{bak},elev=#{elev},resid=#{resid},type=#{type},data=#{data},tab=#{tab},category=#{category},flag=#{flag},unit=#{unit}
         where id=#{id}
     </update>
 
     <update id="updates">
         <foreach collection="list" item="item" index="index" separator=";">
             update lf.sys_layer
-            <set>
-                pid=#{item.pid},cn_name=#{item.cnName},en_name=#{item.enName},url=#{item.url},test_url=#{item.testUrl},type=#{item.type},icon=#{item.icon},level=#{item.level},order_num=#{item.orderNum},is_show=#{item.isShow},update_user=#{item.updateUser},update_time=now(),bak=#{item.bak},serve_type=#{item.serveType},data_type=#{item.dataType},elev=#{item.elev},is_project=#{item.isProject}
-            </set>
+            set pid=#{item.pid},cn_name=#{item.cnName},en_name=#{item.enName},url=#{item.url},is_layer=#{item.isLayer},is_show=#{item.isShow},icon=#{item.icon},level=#{item.level},order_num=#{item.orderNum},status=#{item.status},update_user=#{item.updateUser},update_time=now(),bak=#{item.bak},elev=#{item.elev},resid=#{item.resid},type=#{item.type},data=#{item.data},tab=#{item.tab},category=#{item.category},flag=#{item.flag},unit=#{item.unit}
             where id = #{item.id}
         </foreach>
     </update>

--
Gitblit v1.9.3