管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2023-03-02 c230d12f5cf0af02003e4f2acf77058658bc3150
1
已修改2个文件
80 ■■■■■ 文件已修改
data/db_cx.sql 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data/db_fn.sql 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data/db_cx.sql
@@ -301,31 +301,12 @@
select fn_rec_query(depid,'dep') depName,fn_rec_query(dirid,'dir') dirName,fn_ver(verid) verName,fn_uname(createuser) createName,fn_uname(updateuser) updateName from bd.dlg_agnp limit 5;
select ns,tab from lf.sys_dict a where not exists (select id from lf.sys_dict b where b.ns=a.ns and b.tab=a.tab and b.field='gid') group by ns,tab; -- 查询字典中不存在gid的表
----------------------------------------------------------------------------------------------
-- 10进制转62进制
WITH RECURSIVE T(N, S) AS (
    SELECT 3843::NUMERIC(30, 0) N, '' S
    UNION ALL
    SELECT trunc(N / 62)::NUMERIC(30, 0), substr('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', (N % 62)::INT + 1, 1) || S FROM T WHERE N > 0
)
SELECT S FROM T WHERE N = 0;
-- 62进制转10进制
WITH RECURSIVE T(S, N) AS (
    SELECT 'ZZ' S, 0::NUMERIC N
    UNION ALL
    SELECT SUBSTR(S, 2), (POWER(62, LENGTH(S)::NUMERIC - 1) * (strpos('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', SUBSTR(S, 1, 1)) - 1) + N) FROM T WHERE LENGTH(S) > 0
)
SELECT N::NUMERIC(30, 0) FROM T WHERE LENGTH(S) < 1;
---------------------------------------------------------------------------------------------- -1.测试
---------------------------------------------------------------------------------------------- SQL测试
select (select string_agg(code, ',') from lf.sys_dir where name = a.name) "key", name "value"
from lf.sys_dir a
where name in ('基础测绘', '基础地灾', '基础勘察', '合规数据', '管理数据', '测量(ESV)', '勘察(EGE)', '地灾(EGD)', '洞库(EGD)')
group by name
order by key;
select * from lf.sys_meta order by id desc;
select * from lf.sys_meta where metaid>0 or ismeta>0;
-- 按照大类统计
select name,
@@ -336,36 +317,6 @@
group by name
order by name;
select name, code
from lf.sys_dir a
where pid = 0 order by code;
select * from lf.sys_download where guid='a0eab5c60810301c6bc86a295be1435a'
select * from lf.sys_meta where id = 1208 order by id desc
select * from lf.sys_meta where rows > 0 and type in ('xls', 'xlsx');
--bs.m_geocontrolpoint,6,1208
select * from lf.sys_dict where ns='bs' and tab='project'
select * from lf.sys_meta where id=1208
--ad22a117-037c-4e30-ba86-d754584d23cb,bs.m_geocontrolpoint
select * from lf.sys_meta where tab='bs.m_geocontrolpoint'
update lf.sys_meta set eventid='ad22a117-037c-4e30-ba86-d754584d23cb' where
select * from bs.m_geocontrolpoint where parentid='ad22a117-037c-4e30-ba86-d754584d23cb'
update bs.m_geocontrolpoint set parentid='ad22a117-037c-4e30-ba86-d754584d23cb' where parentid='11'
select * from bs.m_geocontrolpoint order by parentid
update lf.sys_menu set pid=35,level=3,order_num=43 where cn_name='数据统计';
select * from lf.sys_menu where cn_name in ('运维监控','数据统计','系统监控');
select * from lf.sys_menu where pid=35 order by order_num;
select * from lf.sys_menu where cn_name in ('项目管理','数据库管理') -- 85,86 level=2
select * from lf.sys_menu where cn_name in ('目录管理','项目信息','版本管理') order by order_num;
update lf.sys_menu set pid=85,level=3 where cn_name in ('项目信息','信息管理','版本管理');
select * from lf.sys_menu where cn_name in ('数据上传','信息管理','值域管理','字典管理','样式管理','数据查询') order by order_num;
update lf.sys_menu set pid=86,level=3 where cn_name in ('数据上传','信息管理','值域管理','字典管理','样式管理','数据查询');
select name,
 (select count(b.id) from lf.sys_meta b where dircode similar to '(' || (select string_agg(code, '|') from lf.sys_dir c where c.name = a.name) || ')%') "count",
 (select coalesce(sum(b.sizes), 0) from lf.sys_meta b where dircode similar to '(' || (select string_agg(code, '|') from lf.sys_dir c where c.name = a.name) || ')%') "sizes"
@@ -374,13 +325,9 @@
group by name
order by name;
select modular1, count(*) from lf.sys_operate group by modular1;
select modular1,modular2 from lf.sys_operate where modular1 not in ('综合展示','数据质检','数据管理','数据交换','服务管理','系统对接','运维管理');
delete from lf.sys_operate where modular1 not in ('综合展示','数据质检','数据管理','数据交换','服务管理','系统对接','运维管理');
select id,cn_name,elev from lf.sys_layer where cn_name in ('火车站','地下管线','中卫站','庆阳站','地层示例');
select * from lf.sys_dir where pid=0 order by code;
select * from lf.sys_meta order by id desc;
select gid, pipename, segname, ST_AsText(ST_LineMerge(geom)) "wkt"
from bs.m_pipesegment
@@ -399,3 +346,12 @@
data/db_fn.sql
@@ -529,4 +529,20 @@
select gid,depid,dirid from bd.dlg_agnp limit 10;
select gid,depid,dirid from bd.dlg_25w_resa limit 10;
select gid,depid,dirid from bd.dlg_25w_boul limit 10;
----------------------------------------------------------------------------------------------------- d.10进制与62进制互转
-- 10进制转62进制
WITH RECURSIVE T(N, S) AS (
    SELECT 3843::NUMERIC(30, 0) N, '' S
    UNION ALL
    SELECT trunc(N / 62)::NUMERIC(30, 0), substr('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', (N % 62)::INT + 1, 1) || S FROM T WHERE N > 0
)
SELECT S FROM T WHERE N = 0;
-- 62进制转10进制
WITH RECURSIVE T(S, N) AS (
    SELECT 'ZZ' S, 0::NUMERIC N
    UNION ALL
    SELECT SUBSTR(S, 2), (POWER(62, LENGTH(S)::NUMERIC - 1) * (strpos('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', SUBSTR(S, 1, 1)) - 1) + N) FROM T WHERE LENGTH(S) > 0
)
SELECT N::NUMERIC(30, 0) FROM T WHERE LENGTH(S) < 1;
-----------------------------------------------------------------------------------------------------