| | |
| | | select * from lf.sys_layer where url is not null and serve_type='WMS' and data_type in ('工程项目','工程项目-地灾类','工程项目-测量类','工程项目-洞库类','工程项目-勘察类') order by id; |
| | | insert into lf.sys_layer (pid,cn_name,en_name,url,type,level,order_num,is_show,create_user,serve_type,data_type,elev) values |
| | | (423, '地面层', 'fushun_site', 'tileset/o/39HBFG/tileset.json', 2, 3, 5, 0, 1, 'Tileset', '工程测量模型', 1200); |
| | | update lf.sys_layer set elev=118,cn_name='地面层' where id=427; |
| | | |
| | | select concat(gb, '_', name) from bd.dlg_agnp limit 10; |
| | | select a.*, fn_uname(create_user) createName, fn_uname(update_user) updateName from lf.sys_dict a limit 10 |
| | | select * from lf.sys_download where position('管道基础大数据平台' in descr)>0 order by id desc; |
| | | select ST_AsText(geom) "geom", a.*, fn_get_fullname(a.depid, 1) depName, fn_get_fullname(a.dirid, 2) dirName, fn_uname(create_user) createName, fn_uname(update_user) updateName from lf.sys_publish a |
| | | |
| | | -- 添加节点 |
| | | alter table lf.sys_layer add column pubid integer; |
| | | insert into lf.sys_layer (pid,cn_name,en_name,type,level,order_num,is_show,create_user,data_type) values (0,'影像','img',1,1,3,0,1,'影像数据'); |
| | | insert into lf.sys_layer (pid,cn_name,en_name,type,level,order_num,is_show,create_user,data_type) values (430,'自动发布模型','auto_model',1,2,25,0,1,'自动发布模型'); |
| | | select * from lf.sys_layer order by id desc limit 20; |
| | | |
| | | select * from lf.sys_attach where tab = 'bs.s_explorationpoint' and tab_guid in (select eventid from bs.s_explorationpoint where exppointid = '001') |
| | | select * from lf.sys_meta where id in (1523,1525) |
| | | |
| | | -- update lf.sys_meta set path = '1\' || guid || '.' || type where id in (1523, 1525); |
| | | select * from lf.sys_publish; -- delete from lf.sys_publish |
| | | select * from lf.sys_meta_pub; -- delete from lf.sys_meta_pub |
| | | select * from lf.sys_layer order by id desc limit 20; -- delete from lf.sys_layer where id > 441; |
| | | |
| | | select coalesce(max(order_num), 0) + 1 from lf.sys_layer where pid = (select id from lf.sys_layer where cn_name = '自动发布模型' limit 1); |
| | | select * from lf.sys_meta where id in (1523,1529,1525); |
| | | |
| | | select * from lf.sys_publish order by id desc |
| | | select * from lf.sys_meta_pub order by id desc |
| | | select * from lf.sys_layer order by id desc limit 10 |
| | | select * from lf.sys_meta where name='勘探点表.xlsx' |
| | | select * from lf.sys_fme_log order by id desc limit 10; -- 236 |
| | | select * from lf.sys_meta order by id desc limit 10; -- 1686 > 1696 |
| | | |
| | | select * from lf.sys_fme_log |
| | | --where tcdm='u_sectionline' |
| | | order by id desc; |
| | | |
| | | |
| | | |
| | | where count > 0 and update_time is null and |
| | | position(tcdm in 'bd.b_pac_hydrogeology,bd.b_pac_frozensoil,bd.b_pac_geologic_hazard,bd.b_pac_marine_meteorological,bd.b_pac_meteorological,bs.m_equipment_nameplate,bs.m_hydraulic_protection,bs.m_marker,bs.s_explorationpoint,bs.u_sectionline') > 0 |
| | | --and create_time > now()::timestamp + '-1 min' |
| | | |
| | | |
| | | |
| | |
| | | begin |
| | | update lf.sys_meta set tab = new.pg_ns || '.' || new.tcdm, layer = new.tcmc, rows = new.count where eventid = new.parentid; |
| | | |
| | | if new.count > 0 and position(new.tcdm in 'b_pac_hydrogeology,b_pac_frozensoil,b_pac_geologic_hazard,b_pac_marine_meteorological,b_pac_meteorological,m_equipment_nameplate,m_hydraulic_protection,m_marker,s_explorationpoint,u_sectionline') > 0 then |
| | | select fn_auto_attach(new.id); |
| | | end if; |
| | | |
| | | return new; |
| | | end; |
| | | $$ language plpgsql; |
| | | |
| | | -- select id, pg_ns || '.' || tcdm, parentid from lf.sys_fme_log; |
| | | ----------------------------------------------------------------------------------------------------- 15.单位表触发器函数 |
| | | -- drop function fn_dep_insert(); |
| | | create or replace function fn_dep_insert() returns trigger as $$ |
| | |
| | | return new; |
| | | end; |
| | | $$ language plpgsql; |
| | | ----------------------------------------------------------------------------------------------------- 18.同步附件函数 |
| | | -- drop function fn_auto_attach(integer); |
| | | create or replace function fn_auto_attach(sid integer) returns void as $$ |
| | | declare |
| | | rec record; |
| | | str varchar; |
| | | tab varchar; |
| | | pid varchar; |
| | | field varchar := 'materiname'; |
| | | begin |
| | | select pg_ns || '.' || tcdm, parentid into tab, pid from lf.sys_fme_log a where a.id = sid limit 1; |
| | | |
| | | if position('bs.' in tab) > 0 then field := 'photono'; end if; |
| | | |
| | | execute format('select count(*) from %s where parentid = ''%s'' and %s is not null', tab, pid, field) into sid; |
| | | raise notice 'tab = %, pid = %, field = %, rows = %', tab, pid, field, sid; |
| | | |
| | | if sid = 0 then return; end if; |
| | | |
| | | for rec in execute format('select eventid "eid",%s "ns" from %s where parentid=''%s'' and %s is not null', field, tab, pid, field) loop |
| | | foreach str in array (select string_to_array(replace(replace(replace(rec.ns, ',', ','), ';', ','), ';', ','), ',')) loop |
| | | raise notice 'eventid = %, photono = %', rec.eid, str; |
| | | |
| | | execute format('insert into lf.sys_attach (name, guid, path, sizes, create_user, tab, tab_guid) ' || |
| | | 'select name, guid, path, sizes, create_user, ''%s'', ''%s'' from lf.sys_meta ' || |
| | | 'where name = ''%s'' and create_time > now()::timestamp + ''-1 hour'' order by id desc limit 1', tab, rec.eid, str); |
| | | end loop; |
| | | end loop; |
| | | end; |
| | | $$ language plpgsql; |
| | | |
| | | select fn_auto_attach(142); select fn_auto_attach(143); |
| | | select * from lf.sys_attach where tab = 'bs.m_marker'; |
| | | |
| | | select position('s_pac_hydrogeology' in 'b_pac_hydrogeology,bd.b_pac_frozensoil,bd.b_pac_geologic_hazard') |
| | | select parentid, pg_ns || '.' || tcdm from lf.sys_fme_log where id = 143; |
| | | select * from lf.sys_meta where eventid = '1caa28e2-b911-40e1-bfc5-4959a927cdd1'; |
| | | select * from bs.m_marker where parentid = '1caa28e2-b911-40e1-bfc5-4959a927cdd1'; |
| | | select * from lf.sys_fme_log |
| | | select * from lf.sys_meta a inner join lf.sys_fme_log b on a.eventid= b.parentid |
| | | select * from lf.sys_attach where tab='bs.m_marker'; |
| | | |
| | | select * from lf.sys_meta where name in ('警示牌10002.jpg','警示牌10004.jpg') order by id desc |
| | | ----------------------------------------------------------------------------------------------------- 19.路径分析 |
| | | -- 删除已存在的函数 |
| | | -- drop function pgr_fromAtoB(varchar, double precision, double precision, double precision, double precision); |
| | |
| | | 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; |
| | | ----------------------------------------------------------------------------------------------------- e.FME日志表触发器函数 * |
| | | -- drop function fn_meta_insert(); |
| | | create or replace function fn_meta_insert() returns trigger as $$ |
| | | begin |
| | | update lf.sys_meta set tab = new.pg_ns || '.' || new.tcdm, layer = new.tcmc, rows = new.count where eventid = new.parentid; |
| | | |
| | | --if new.count > 0 and position(new.tcdm in 'b_pac_hydrogeology,b_pac_frozensoil,b_pac_geologic_hazard,b_pac_marine_meteorological,b_pac_meteorological,m_equipment_nameplate,m_hydraulic_protection,m_marker,s_explorationpoint,u_sectionline') > 0 then |
| | | -- select fn_auto_attach(new.id, new.pg_ns || '.' || new.tcdm, new.parentid); |
| | | --end if; |
| | | |
| | | return new; |
| | | end; |
| | | $$ language plpgsql; |
| | | ----------------------------------------------------------------------------------------------------- f.同步附件函数 * |
| | | -- drop function fn_auto_attach(integer, varchar, varchar); |
| | | create or replace function fn_auto_attach(sid integer, tab varchar, pid varchar) returns void as $$ |
| | | declare |
| | | rec record; |
| | | str varchar; |
| | | field varchar := 'materiname'; |
| | | begin |
| | | if position('bs.' in tab) > 0 then field := 'photono'; end if; |
| | | |
| | | execute format('select count(*) from %s where parentid = ''%s'' and %s is not null', tab, pid, field) into sid; |
| | | --raise notice 'tab = %, pid = %, field = %, rows = %', tab, pid, field, sid; |
| | | |
| | | if sid = 0 then return; end if; |
| | | |
| | | for rec in execute format('select eventid "eid",%s "ns" from %s where parentid=''%s'' and %s is not null', field, tab, pid, field) loop |
| | | foreach str in array (select string_to_array(replace(replace(replace(rec.ns, ',', ','), ';', ','), ';', ','), ',')) loop |
| | | --raise notice 'eventid = %, photono = %', rec.eid, str; |
| | | |
| | | execute format('insert into lf.sys_attach (name, guid, path, sizes, create_user, tab, tab_guid) ' || |
| | | 'select name, guid, path, sizes, create_user, ''%s'', ''%s'' from lf.sys_meta ' || |
| | | 'where name = ''%s'' and create_time > now()::timestamp + ''-1 hour'' order by id desc limit 1', tab, rec.eid, str); |
| | | end loop; |
| | | end loop; |
| | | end; |
| | | $$ language plpgsql; |
| | | |
| | | -- select fn_auto_attach(142); select fn_auto_attach(143); |
| | | ----------------------------------------------------------------------------------------------------- |
| | |
| | | tcmc varchar(150), |
| | | tcdm varchar(50), |
| | | count integer default 0, |
| | | create_time timestamp(6) without time zone default now() |
| | | create_time timestamp(6) without time zone default now(), |
| | | update_time timestamp(6) without time zone |
| | | ); |
| | | comment on table lf.sys_fme_log is 'FME日志表'; |
| | | comment on column lf.sys_fme_log.id is '主键ID'; |
| | |
| | | comment on column lf.sys_fme_log.tcdm is '表名'; |
| | | comment on column lf.sys_fme_log.count is '行数'; |
| | | comment on column lf.sys_fme_log.create_time is '创建时间'; |
| | | comment on column lf.sys_fme_log.update_time is '更新时间'; |
| | | |
| | | select * from lf.sys_fme_log; -- delete from lf.sys_fme_log; |
| | | select * from lf.sys_fme_log order by id desc; -- delete from lf.sys_fme_log; |
| | | ----------------------------------------------------------------------------------------------------- 32.图层表 |
| | | -- DROP TABLE IF EXISTS lf.sys_layer; |
| | | create table lf.sys_layer( |
| | |
| | | package com.lf.server.entity.data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.sql.Timestamp; |
| | | |
| | | /** |
| | | * FME日志表 |
| | |
| | | private String tcdm; |
| | | |
| | | private Integer count; |
| | | |
| | | private Timestamp createTime; |
| | | |
| | | private Timestamp updateTime; |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | |
| | | public void setCount(Integer count) { |
| | | this.count = count; |
| | | } |
| | | |
| | | public Timestamp getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(Timestamp createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | public Timestamp getUpdateTime() { |
| | | return updateTime; |
| | | } |
| | | |
| | | public void setUpdateTime(Timestamp updateTime) { |
| | | this.updateTime = updateTime; |
| | | } |
| | | } |
| | |
| | | package com.lf.server.mapper.sys; |
| | | |
| | | import com.lf.server.entity.data.FmeLogEntity; |
| | | import com.lf.server.entity.sys.AttachEntity; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.springframework.stereotype.Repository; |
| | |
| | | * @return |
| | | */ |
| | | public Integer updates(List<AttachEntity> list); |
| | | |
| | | /** |
| | | * 查询FME日志 |
| | | * |
| | | * @return |
| | | */ |
| | | public List<FmeLogEntity> selectFmeLogs(); |
| | | |
| | | /** |
| | | * 更新FME日志 |
| | | * |
| | | * @param id ID |
| | | * @return |
| | | */ |
| | | public Integer updateFmeLog(Integer id); |
| | | } |
| | |
| | | /** |
| | | * Excel入库 |
| | | */ |
| | | private String excelLoader(List<MetaFileEntity> list, HttpServletRequest req) { |
| | | private void excelLoader(List<MetaFileEntity> list, HttpServletRequest req) { |
| | | List<MetaFileEntity> xlsList = getExcelFiles(list); |
| | | if (xlsList.isEmpty()) { |
| | | return ""; |
| | | return; |
| | | } |
| | | |
| | | String guid = null; |
| | | try { |
| | | MetaFileEntity meta = getExcelMeta(xlsList); |
| | | guid = fmeService.excelLoader(meta, req); |
| | | String guid = fmeService.excelLoader(meta, req); |
| | | } catch (Exception ex) { |
| | | log.error(ex.getMessage(), ex); |
| | | } |
| | | |
| | | return guid; |
| | | } |
| | | |
| | | /** |
| | |
| | | package com.lf.server.service.sys; |
| | | |
| | | import com.lf.server.entity.data.FmeLogEntity; |
| | | import com.lf.server.entity.sys.AttachEntity; |
| | | import com.lf.server.helper.StringHelper; |
| | | import com.lf.server.mapper.sys.AttachMapper; |
| | |
| | | public Integer updates(List<AttachEntity> list) { |
| | | return attachMapper.updates(list); |
| | | } |
| | | |
| | | @Override |
| | | public List<FmeLogEntity> selectFmeLogs() { |
| | | return attachMapper.selectFmeLogs(); |
| | | } |
| | | |
| | | @Override |
| | | public Integer updateFmeLog(Integer id) { |
| | | return attachMapper.updateFmeLog(id); |
| | | } |
| | | } |
| | |
| | | where id = #{item.id} |
| | | </foreach> |
| | | </update> |
| | | |
| | | <select id="selectFmeLogs" resultType="com.lf.server.entity.data.FmeLogEntity"> |
| | | select * from lf.sys_fme_log |
| | | where count > 0 and update_time is null and create_time > now()::timestamp + '-1 min' |
| | | position(tcdm in 'bd.b_pac_hydrogeology,bd.b_pac_frozensoil,bd.b_pac_geologic_hazard,bd.b_pac_marine_meteorological,bd.b_pac_meteorological,bs.m_equipment_nameplate,bs.m_hydraulic_protection,bs.m_marker,bs.s_explorationpoint,bs.u_sectionline') > 0; |
| | | </select> |
| | | |
| | | <update id="updateFmeLog"> |
| | | update lf.sys_fme_log set update_time = now() where id = #{id}; |
| | | </update> |
| | | </mapper> |