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 | 119 ++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 93 insertions(+), 26 deletions(-) diff --git a/src/main/resources/mapper/data/DirMapper.xml b/src/main/resources/mapper/data/DirMapper.xml index 074165b..8a4106c 100644 --- a/src/main/resources/mapper/data/DirMapper.xml +++ b/src/main/resources/mapper/data/DirMapper.xml @@ -2,44 +2,107 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.lf.server.mapper.data.DirMapper"> <select id="selectDir" resultType="com.lf.server.entity.data.DirEntity"> - select a.*, fn_rec_query(a.id, 'dir') fullName from lf.sys_dir a where id = #{id} + select a.*, fn_get_fullname(a.code, 2) fullName from lf.sys_dir a where id = #{id} + </select> + <select id="selectByCode" resultType="com.lf.server.entity.data.DirEntity"> + select a.*, fn_get_fullname(a.code, 2) fullName from lf.sys_dir a where code = #{code} </select> <select id="selectDirAll" resultType="com.lf.server.entity.data.DirEntity"> - select a.*, fn_rec_query(a.id, 'dir') fullName from lf.sys_dir a order by order_num; + select a.*, fn_get_fullname(a.code, 2) fullName from lf.sys_dir a order by order_num; </select> <select id="selectDirRoot" resultType="com.lf.server.entity.data.DirEntity"> - select a.*, fn_rec_query(a.id, 'dir') fullName from lf.sys_dir a where pid=0 order by order_num; + select a.*, fn_get_fullname(a.code, 2) fullName + from lf.sys_dir a + where pid = 0 + order by order_num, code; + </select> + + <select id="selectProject" resultType="com.lf.server.entity.data.DirEntity"> + select a.*, fn_get_fullname(a.code, 2) fullName + from lf.sys_dir a + <where> + pid = 0 and id > 1 + <if test="name != null"> + and upper(name) like #{name} + </if> + </where> + order by order_num, code; </select> <select id="selectDirRecursive" resultType="com.lf.server.entity.data.DirEntity"> with recursive rs as( - select a.*, fn_rec_query(a.id, 'dir') fullName from lf.sys_dir a where name = #{name} - union - select b.*, fn_rec_query(b.id, 'dir') fullName from lf.sys_dir b, rs c where b.pid = c.id - ) - select * from rs order by order_num; + select a.*, fn_get_fullname(a.code, 2) fullName from lf.sys_dir a where name = #{name} + 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, code; </select> - <insert id="insertDir" parameterType="com.lf.server.entity.data.DirEntity"> - insert into lf.sys_dir - (pid,name,code,descr,level,order_num,create_user,create_time,bak) - values - (#{pid},#{name},#{code},#{descr},#{level} ,#{orderNum},#{createUser},now(),#{bak}); + <select id="selectRecursiveById" resultType="com.lf.server.entity.data.DirEntity"> + with recursive rs as( + select a.*, fn_get_fullname(a.code, 2) fullName from lf.sys_dir a where id = #{id} + 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 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> + + <!-- 鎻掑叆涓�鏉� --> + <insert id="insert" parameterType="com.lf.server.entity.data.DirEntity"> + <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id"> + select currval('lf.sys_dir_id_seq'::regclass) as id + </selectKey> + + 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}); </insert> - <insert id="insertDirs"> + <!-- 鎻掑叆澶氭潯 --> + <insert id="inserts"> insert into lf.sys_dir - (pid,name,code,descr,level,order_num,create_user,create_time,bak) + (pid,name,exts,descr,level,order_num,create_user,create_time,checks,bak,code) values <foreach collection="list" item="item" index="index" separator=","> - (#{item.pid},#{item.name},#{item.code},#{item.descr},#{item.level} - ,#{item.orderNum},#{item.createUser},now(),#{item.bak}) + (#{item.pid},#{item.name},#{item.exts},#{item.descr},#{item.level},#{item.orderNum},#{item.createUser},now(),#{item.checks},#{item.bak},#{item.code}) </foreach> </insert> - <delete id="deleteDir" > + <delete id="deleteDir"> delete from lf.sys_dir where id = #{id} </delete> @@ -50,18 +113,22 @@ </foreach> </delete> - <update id="updateDir"> - update lf.sys_dir set pid=#{pid},name=#{name},code=#{code},descr=#{descr},level=#{level},order_num=#{orderNum}, - update_user=#{updateUser},update_time=now(),bak=#{bak} where id=#{id} + <!-- 鏇存柊涓�鏉� --> + <update id="update"> + update lf.sys_dir + set pid=#{pid},name=#{name},exts=#{exts},descr=#{descr},level=#{level},order_num=#{orderNum}, + update_user=#{updateUser},update_time=now(),checks=#{checks},bak=#{bak},code=#{code} + where id=#{id} </update> - <update id="updateDirs"> + <!-- 鏇存柊澶氭潯 --> + <update id="updates"> <foreach collection="list" item="item" index="index" separator=";"> update lf.sys_dir - <set> - pid=#{item.pid},name=#{item.name},code=#{item.code},descr=#{item.descr},level=#{item.level}, - order_num=#{item.orderNum},update_user=#{item.updateUser},update_time=now(),bak=#{item.bak} - </set> + <set> + pid=#{item.pid},name=#{item.name},exts=#{item.exts},descr=#{item.descr},level=#{item.level},order_num=#{item.orderNum}, + update_user=#{item.updateUser},update_time=now(),checks=#{item.checks},bak=#{item.bak},code=#{item.code} + </set> where id = #{item.id} </foreach> </update> -- Gitblit v1.9.3