From f15c13bea9f5b47e4527ae9ec715c54602a9ae45 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期六, 25 二月 2023 14:35:28 +0800
Subject: [PATCH] 1

---
 src/main/resources/mapper/all/BaseQueryMapper.xml |    2 +-
 data/db_fn.sql                                    |   31 +++++++++++++++++++++++++------
 data/db_cx.sql                                    |    5 +++--
 3 files changed, 29 insertions(+), 9 deletions(-)

diff --git a/data/db_cx.sql b/data/db_cx.sql
index d4e9373..452884d 100644
--- a/data/db_cx.sql
+++ b/data/db_cx.sql
@@ -11,6 +11,7 @@
 select uuid_generate_v4();                    -- uuid锛�36浣�
 select split_part('12.34.56.78', '.', 1);     -- 鍒囧壊
 select substr('FY2021', 3, 2);                -- 鎻愬彇
+select substr('FY2021', 3);                   -- 鎻愬彇
 select substring('FY2021' FROM 3 for 2);      -- 鎻愬彇
 select position('23' in 'w123456');           -- 浣嶇疆
 select md5('');                               -- MD5
@@ -325,9 +326,9 @@
 
 select (select string_agg(code, ',') from lf.sys_dir where name = a.name) "key", name "value"
 from lf.sys_dir a
-where name in ('DOM', 'DEM', 'DRG', 'DLG', '娴嬮噺锛圗SV锛�', 'OSM鏁版嵁', '鍩虹鍦扮伨', '鍩虹鍕樺療', '鍚堣鏁版嵁', '绠$悊鏁版嵁', '鍕樺療锛圗GE锛�', '鍦扮伨锛圗GD锛�', '娲炲簱锛圗GD锛�')
+where name in ('鍩虹娴嬬粯', '鍩虹鍦扮伨', '鍩虹鍕樺療', '鍚堣鏁版嵁', '绠$悊鏁版嵁', '娴嬮噺锛圗SV锛�', '鍕樺療锛圗GE锛�', '鍦扮伨锛圗GD锛�', '娲炲簱锛圗GD锛�')
 group by name
-order by key
+order by key;
 
 
 
diff --git a/data/db_fn.sql b/data/db_fn.sql
index 9d4d1e3..451b41a 100644
--- a/data/db_fn.sql
+++ b/data/db_fn.sql
@@ -291,7 +291,28 @@
 
 select id, name, code from lf.sys_dir order by id;
 select fn_set_tab_codes(1, 1); select fn_set_tab_codes(0, 2);
------------------------------------------------------------------------------------------------------ 13.FME鏃ュ織琛ㄨЕ鍙戝櫒
+----------------------------------------------------------------------------------------------------- 13.鑾峰彇鐩綍缂栫爜杩囨护鏉′欢
+-- drop function fn_get_dirs(varchar); 
+create or replace function fn_get_dirs(name varchar)
+returns varchar as $$
+	declare
+	    code varchar;
+		str  varchar := '';
+	begin
+		for code in execute 'select code from lf.sys_dir where name=''' || name || '''' loop
+			str := str || ' or depcode like ''' || code || '%''';
+		end loop;
+		
+		if length(str) > 0 then
+			return substr(str, 5);
+		end if;
+		
+		return '1=1';
+	end;
+$$ language plpgsql;
+
+select fn_get_dirs('鍩虹娴嬬粯'); select fn_get_dirs('娴嬮噺锛圗SV锛�'); select * from lf.sys_meta where depcode like '0000%';
+----------------------------------------------------------------------------------------------------- 14.FME鏃ュ織琛ㄨЕ鍙戝櫒
 -- drop function fn_meta_insert();
 create or replace function fn_meta_insert() returns trigger as $$
   begin
@@ -309,7 +330,7 @@
 /*insert into lf.sys_fme_log (parentid,dirpath,pg_ns,tcmc,tcdm,count) values
   ('8fb3c3dd-6a12-488d-80ae-a93cc7e8b2e3','','bs','涓嚎鎴愭灉琛�','m_pipelinepoint',0);
 select * from bs.m_pipelinepoint where parentid='8fb3c3dd-6a12-488d-80ae-a93cc7e8b2e3';*/
------------------------------------------------------------------------------------------------------ 14.鍗曚綅琛ㄨЕ鍙戝櫒
+----------------------------------------------------------------------------------------------------- 15.鍗曚綅琛ㄨЕ鍙戝櫒
 -- drop function fn_dep_insert();
 create or replace function fn_dep_insert() returns trigger as $$
   begin
@@ -326,7 +347,7 @@
 select * from lf.sys_dep where pid = 0 order by id;
 /*insert into lf.sys_dep (pid,name,level,order_num) values (0,'鏂板崟浣�',1,2);
 delete from lf.sys_dep where pid = 0 and id > 1;*/
------------------------------------------------------------------------------------------------------ 15.鐩綍琛ㄨЕ鍙戝櫒
+----------------------------------------------------------------------------------------------------- 16.鐩綍琛ㄨЕ鍙戝櫒
 -- drop function fn_dir_insert();
 create or replace function fn_dir_insert() returns trigger as $$
   begin
@@ -343,9 +364,7 @@
 select * from lf.sys_dir where pid = 0 order by id;
 /*insert into lf.sys_dir (pid,name,level,order_num) values (0,'鏂扮洰褰�',1,6);
 delete from lf.sys_dir where pid = 0 and id > 309;*/
-
-
------------------------------------------------------------------------------------------------------ 16.璺緞鍒嗘瀽
+----------------------------------------------------------------------------------------------------- 17.璺緞鍒嗘瀽
 -- 鍒犻櫎宸插瓨鍦ㄧ殑鍑芥暟
 -- drop function pgr_fromAtoB(varchar, double precision, double precision, double precision, double precision);
 
diff --git a/src/main/resources/mapper/all/BaseQueryMapper.xml b/src/main/resources/mapper/all/BaseQueryMapper.xml
index ac6c05d..6312f87 100644
--- a/src/main/resources/mapper/all/BaseQueryMapper.xml
+++ b/src/main/resources/mapper/all/BaseQueryMapper.xml
@@ -74,7 +74,7 @@
         select (select string_agg(code, ',') from lf.sys_dir where name = a.name) "key", name "value"
         from lf.sys_dir a
         <where>
-            name in ('DOM', 'DEM', 'DRG', 'DLG', '娴嬮噺锛圗SV锛�', 'OSM鏁版嵁', '鍩虹鍦扮伨', '鍩虹鍕樺療', '鍚堣鏁版嵁', '绠$悊鏁版嵁', '娴嬮噺锛圗SV锛�', '鍕樺療锛圗GE锛�', '鍦扮伨锛圗GD锛�', '娲炲簱锛圗GD锛�')
+            name in ('鍩虹娴嬬粯', '鍩虹鍦扮伨', '鍩虹鍕樺療', '鍚堣鏁版嵁', '绠$悊鏁版嵁', '娴嬮噺锛圗SV锛�', '鍕樺療锛圗GE锛�', '鍦扮伨锛圗GD锛�', '娲炲簱锛圗GD锛�')
             <if test="name != null">
                 and name like #{name}
             </if>

--
Gitblit v1.9.3