管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2023-02-25 23b0d5e8ea63a9eef5a28e469c6ca789d6416caa
1
已修改2个文件
31 ■■■■ 文件已修改
data/db_fn.sql 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data/update.sql 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data/db_fn.sql
@@ -292,8 +292,8 @@
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.获取目录编码过滤条件 *
-- drop function fn_get_dir_similar(varchar);
create or replace function fn_get_dir_similar(name varchar)
-- drop function fn_dir_similar(varchar);
create or replace function fn_dir_similar(name varchar)
returns varchar as $$
    declare
        code varchar;
@@ -304,15 +304,15 @@
        end loop;
        
        if length(str) > 0 then
            return substr(str, 1);
            str := substr(str, 2);
        end if;
        
        return '1=1';
        return '(' || str || ')%';
    end;
$$ language plpgsql;
select * from lf.sys_meta where depcode similar to '(00|01|02)%';
select fn_get_dirs('基础测绘'); select fn_get_dirs('测量(ESV)'); select * from lf.sys_meta where depcode like '0000%';
select fn_dir_similar('基础测绘'); select fn_dir_similar('测量(ESV)'); select * from lf.sys_meta where dircode similar to fn_dir_similar('基础测绘');
----------------------------------------------------------------------------------------------------- 14.FME日志表触发器
-- drop function fn_meta_insert();
create or replace function fn_meta_insert() returns trigger as $$
data/update.sql
@@ -259,6 +259,15 @@
where name in ('基础测绘', '基础地灾', '基础勘察', '合规数据', '管理数据', '测量(ESV)', '勘察(EGE)', '地灾(EGD)', '洞库(EGD)')
group by name
order by name;
select name,
    (select count(b.id) from lf.sys_meta b where dircode similar to fn_dir_similar(a.name)) "count",
    (select coalesce(sum(b.sizes), 0) from lf.sys_meta b where dircode similar to fn_dir_similar(a.name)) "sizes"
from lf.sys_dir a
where name in ('基础测绘', '基础地灾', '基础勘察', '合规数据', '管理数据', '测量(ESV)', '勘察(EGE)', '地灾(EGD)', '洞库(EGD)')
group by name
order by name;
-- select * from lf.sys_meta where dircode similar to fn_dir_similar('基础测绘');
--------------------------------------------------------- 
select (select string_agg(code, ',') from lf.sys_dir where name = a.name) "key", name "value"
from lf.sys_dir a
@@ -266,6 +275,18 @@
group by name
order by key;
select * from lf.sys_meta;
select * from lf.sys_download;
select * from lf.sys_downlog;
select downid,count(*),max(create_time) from lf.sys_downlog group by downid having count(*)>1;
select * from lf.sys_dict order by id limit 30;