From 0c8cd957630d43aa71183d34ecb1faf60689f8a4 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 18 十二月 2024 11:30:15 +0800
Subject: [PATCH] 1

---
 src/main/resources/mapper/data/DirMapper.xml |   37 ++++++++++++++++++++++++++++++++-----
 1 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/src/main/resources/mapper/data/DirMapper.xml b/src/main/resources/mapper/data/DirMapper.xml
index 27ba5d6..8a4106c 100644
--- a/src/main/resources/mapper/data/DirMapper.xml
+++ b/src/main/resources/mapper/data/DirMapper.xml
@@ -16,7 +16,7 @@
         select a.*, fn_get_fullname(a.code, 2) fullName
         from lf.sys_dir a
         where pid = 0
-        order by code;
+        order by order_num, code;
     </select>
 
     <select id="selectProject" resultType="com.lf.server.entity.data.DirEntity">
@@ -28,7 +28,7 @@
                 and upper(name) like #{name}
             </if>
         </where>
-        order by code;
+        order by order_num, code;
     </select>
 
     <select id="selectDirRecursive" resultType="com.lf.server.entity.data.DirEntity">
@@ -37,7 +37,7 @@
             union
             select b.*, fn_get_fullname(b.code, 2) fullName from lf.sys_dir b, rs c where b.pid = c.id)
         select * from rs
-        order by order_num;
+        order by order_num, code;
     </select>
 
     <select id="selectRecursiveById" resultType="com.lf.server.entity.data.DirEntity">
@@ -49,8 +49,35 @@
         order by code;
     </select>
 
+    <select id="selectByPid" resultType="com.lf.server.entity.data.DirEntity">
+        with recursive rs as(
+            select a.* from lf.sys_dir a where id = #{pid}
+            union
+            select b.* from lf.sys_dir b, rs c where b.pid = c.id)
+        select * from rs
+        order by code;
+    </select>
+
     <select id="selectDirsForPrj" resultType="com.lf.server.entity.data.DirEntity">
         select a.* from lf.sys_dir a where code not like '00%' order by code;
+    </select>
+
+    <select id="selectMaxOrderNum" resultType="java.lang.Integer">
+        select coalesce(max(order_num), 0) + 1 from lf.sys_dir;
+    </select>
+
+    <select id="selectDirByName" resultType="com.lf.server.entity.data.DirEntity">
+        select * from lf.sys_dir
+        <where>
+            upper(name) = #{name}
+            <if test="pid != null">
+                and pid = #{pid}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectNameByCode" resultType="java.lang.String">
+        select name from lf.sys_dir where code = #{code};
     </select>
 
     <!-- 鎻掑叆涓�鏉� -->
@@ -62,7 +89,7 @@
         insert into lf.sys_dir
         (pid,name,exts,descr,level,order_num,create_user,create_time,checks,bak,code)
         values
-        (#{pid},#{name},#{exts},#{descr},#{level},#{orderNum},#{createUser},now(),#{checks},#{bak},#{code})
+        (#{pid},#{name},#{exts},#{descr},#{level},#{orderNum},#{createUser},now(),#{checks},#{bak},#{code});
     </insert>
 
     <!-- 鎻掑叆澶氭潯 -->
@@ -75,7 +102,7 @@
         </foreach>
     </insert>
 
-    <delete id="deleteDir"  >
+    <delete id="deleteDir">
         delete from lf.sys_dir where id = #{id}
     </delete>
 

--
Gitblit v1.9.3