管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2023-01-10 a5de74e84d74eef4543e56b1181a5b4b269212e1
1
已修改3个文件
175 ■■■■■ 文件已修改
data/ts.sql 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data/update.sql 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/all/BaseUploadService.java 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data/ts.sql
@@ -70,24 +70,13 @@
alter sequence lf.sys_apply_id_seq restart with 3;
alter sequence lf.sys_flow_id_seq restart with 7;
-----------------------------------------------------------------------
----------------------------------------------------------------------- 递归查询
select depid from bd.dlg_25w_boul where depid > 0 and depid != ALL(fn_rec_array(38, 'dep'))
and ST_Intersects(geom, ST_PolygonFromText('POLYGON ((115.94927385452 32.3754479115071 0,121.989371092554 32.2766788010181 0,121.850621222894 29.6874200067864 0,115.9727267226 29.7835368627922 0,115.94927385452 32.3754479115071 0))', 4490))
group by depid;
select c.* from lf.sys_role a inner join lf.sys_role_user b on a.id = b.roleid inner join lf.sys_user c on b.userid = c.id
where a.is_admin = 2 and a.depid = 55 order by c.id limit 1
select * from lf.sys_apply order by id;
select * from lf.sys_flow order by id;
update lf.sys_flow set status = 1 where id = 3;
update lf.sys_apply a set status = (select count(*) from lf.sys_flow b where b.status = 1 and b.applyid = a.id) where id = 1;
update lf.sys_apply set status = 10 where status = count and id = 1;
select * from lf.sys_user
select * from lf.sys_role_user
select * from lf.sys_role
select c.*, fn_rec_query(c.depid, 'dep') depName,fn_uname(c.create_user) createName,fn_uname(c.update_user) updateName
from lf.sys_user a inner join lf.sys_role_user b on a.id = b.userid inner join lf.sys_role c on b.roleid = c.id
@@ -96,51 +85,29 @@
select a.*, fn_rec_query(a.depid, 'dep') depName,fn_uname(a.create_user) createName,fn_uname(a.update_user) updateName
from lf.sys_user a inner join lf.sys_role_user b on a.id = b.userid inner join lf.sys_role c on b.roleid = c.id
where c.id = 15
----------------------------------------------------------------------- 管网分析
select *, st_astext(geom) as wkt from bs.m_pipesegment;
select * from bs.m_pipesegment;
select gid, pipename, segname from bs.m_pipesegment order by pipename, segname;
select * from bd.dlg_25w_hydl limit 10;
select * from bd.dlg_25w_lrdl limit 10;
select * from bd.dlg_25w_lrrl limit 10;
select * from bd.dlg_25w_hyda limit 10;
select * from bs.m_pipesegment limit 10;
select ST_SRID(geom), ST_GeometryType(geom) from bd.dlg_25w_hydl limit 1;
select ST_SRID(geom), ST_GeometryType(geom) from bd.dlg_25w_lrdl limit 1;
select ST_SRID(geom), ST_GeometryType(geom) from bd.dlg_25w_lrrl limit 1;
select ST_SRID(geom), ST_GeometryType(geom) from bd.dlg_25w_hyda limit 1;
select ST_SRID(geom), ST_GeometryType(geom) from bd.dlg_25w_hydl  limit 1;
select ST_SRID(geom), ST_GeometryType(geom) from bd.dlg_25w_lrdl  limit 1;
select ST_SRID(geom), ST_GeometryType(geom) from bd.dlg_25w_lrrl  limit 1;
select ST_SRID(geom), ST_GeometryType(geom) from bd.dlg_25w_hyda  limit 1;
select ST_SRID(geom), ST_GeometryType(geom) from bs.m_pipesegment limit 1;
SELECT a.name as acrossName,
       b.segname as segName,
       b.remarks,
       b.pipename as pipeName,
SELECT a.name as acrossName, b.remarks, b.pipename as pipeName,
       st_length( st_geographyfromtext( st_astext( st_intersection( ST_MakeValid(a.geom), ST_MakeValid(b.geom) ) ) ) ) AS acrossLength,
       st_astext(b.geom) as wkt
FROM bd.dlg_25w_hyda AS a,
     (SELECT *
      FROM bs.m_pipesegment
      WHERE segname = 'DD' ) AS b
WHERE ST_Intersects(a.geom, b.geom)
FROM bd.dlg_25w_hyda AS a, (SELECT * FROM bs.m_pipesegment WHERE segname = 'DD' ) AS b WHERE ST_Intersects(a.geom, b.geom);
select row_number() over() as gid, a.name as acrossName, b.segname as segName, b.remarks, b.pipename as pipeName,
  cast( st_length( st_geographyfromtext( st_astext( st_intersection(ST_MakeValid(a.geom), ST_MakeValid(b.geom) ) ) ) ) as decimal(12, 3) ) AS acrossLength,
  st_astext( st_intersection( ST_MakeValid(a.geom), ST_MakeValid(b.geom) ) ) as wkt
from bd.dlg_25w_hyda as a, (select segname, remarks, pipename, geom from bs.m_pipesegment where gid = 24) as b
where ST_Intersects(a.geom, b.geom)
where ST_Intersects(a.geom, b.geom);
----------------------------------------------------------------------- 查询 57, 163
select fn_rec_query(a.id, 'dir'), a.* from lf.sys_dir a where id = ANY(fn_rec_array(163, 'dir'));
select * from lf.sys_dir where pid = 0;
select * from lf.sys_download where type = 5;
select * from bs.m_pipesegment;
select tab from lf.sys_dict where ns='md' group by tab order by tab;
select * from lf.sys_meta where id > 150;
select * from lf.sys_meta_file where metaid > 150;
select path from lf.sys_meta_file where guid = '8466c363eb269ed5b6664e66913aee71' limit 1
delete from lf.sys_meta where id > 150;
delete from lf.sys_meta_file where metaid > 150;
data/update.sql
@@ -48,67 +48,40 @@
select * from lf.sys_menu where cn_name = '资源审核';
update lf.sys_menu set url = 'http://10.7.0.186:88/resm/#/resapproval?embed=true&token=' where cn_name = '资源审核';
------------------------------------------------------
insert into lf.sys_meta_new (name,dirid) values ('项目WBS导出.xlsx',57);
insert into lf.sys_meta_new (name,dirid) values ('00116BT02-CR001#ESV-DW-0101 封面.docx',62);
insert into lf.sys_meta_new (name,dirid) values ('00116BT02-CR001#ESV-DW-0101(大河沿河穿越地形图)0.dwg',62);
insert into lf.sys_meta_new (name,dirid) values ('00116BT02-CR001#ESV-DW-0101(大河沿河穿越地形图)0.dwl',62);
insert into lf.sys_meta_new (name,dirid) values ('00116BT02-CR001#ESV-DW-0101(大河沿河穿越地形图)0.dwl2',62);
insert into lf.sys_meta_new (name,dirid) values ('00116BT02-CR001#ESV-DW-0101(大河沿河穿越纵断面图)0.dwg',62);
insert into lf.sys_meta_new (name,dirid) values ('00116BT02-CR001#ESV-IN-0101(资料图纸目录).doc',62);
insert into lf.sys_meta_new (name,dirid) values ('1类.gdb.zip',74);
insert into lf.sys_meta_new (name,dirid) values ('2类.gdb.zip',74);
insert into lf.sys_meta_new (name,dirid) values ('易燃易爆.gdb.zip',74);
insert into lf.sys_meta_new (name,dirid) values ('地面线.xlsx',64);
insert into lf.sys_meta_new (name,dirid) values ('控制点.xlsx',64);
insert into lf.sys_meta_new (name,dirid) values ('离散点.xlsx',64);
------------------------------------------------------ 初始化元数据
insert into lf.sys_meta (name,dirid) values ('项目WBS导出.xlsx',57);
insert into lf.sys_meta (name,dirid) values ('00116BT02-CR001#ESV-DW-0101 封面.docx',62);
insert into lf.sys_meta (name,dirid) values ('00116BT02-CR001#ESV-DW-0101(大河沿河穿越地形图)0.dwg',62);
insert into lf.sys_meta (name,dirid) values ('00116BT02-CR001#ESV-DW-0101(大河沿河穿越地形图)0.dwl',62);
insert into lf.sys_meta (name,dirid) values ('00116BT02-CR001#ESV-DW-0101(大河沿河穿越地形图)0.dwl2',62);
insert into lf.sys_meta (name,dirid) values ('00116BT02-CR001#ESV-DW-0101(大河沿河穿越纵断面图)0.dwg',62);
insert into lf.sys_meta (name,dirid) values ('00116BT02-CR001#ESV-IN-0101(资料图纸目录).doc',62);
insert into lf.sys_meta (name,dirid) values ('1类.gdb.zip',74);
insert into lf.sys_meta (name,dirid) values ('2类.gdb.zip',74);
insert into lf.sys_meta (name,dirid) values ('易燃易爆.gdb.zip',74);
insert into lf.sys_meta (name,dirid) values ('地面线.xlsx',64);
insert into lf.sys_meta (name,dirid) values ('控制点.xlsx',64);
insert into lf.sys_meta (name,dirid) values ('离散点.xlsx',64);
insert into lf.sys_meta_new (name,dirid) values ('平面图索引文件.xlsx',64);
insert into lf.sys_meta_new (name,dirid) values ('中线成果表.xlsx',64);
update lf.sys_meta_new set depid=1,type='file',path='2\'||name,sizes=1;
update lf.sys_meta set depid=1,type='file',path='2\'||name,sizes=1;
insert into lf.sys_meta_new (name,dirid) values ('S318 洛陕线穿越工程地质剖面图.dwg',80);
insert into lf.sys_meta_new (name,dirid) values ('地质剖面图索引表.xlsx',80);
insert into lf.sys_meta_new (name,dirid) values ('地质资料表.xlsx',80);
insert into lf.sys_meta_new (name,dirid) values ('勘探点坐标表.xlsx',80);
insert into lf.sys_meta_new (name,dirid) values ('土壤电阻率表.xlsx',80);
insert into lf.sys_meta (name,dirid) values ('S318 洛陕线穿越工程地质剖面图.dwg',80);
insert into lf.sys_meta (name,dirid) values ('地质剖面图索引表.xlsx',80);
insert into lf.sys_meta (name,dirid) values ('地质资料表.xlsx',80);
insert into lf.sys_meta (name,dirid) values ('勘探点坐标表.xlsx',80);
insert into lf.sys_meta (name,dirid) values ('土壤电阻率表.xlsx',80);
update lf.sys_meta_new set depid=1,type='file',path='2\'||name,sizes=1 where path is null;
update lf.sys_meta set depid=1,type='file',path='2\'||name,sizes=1 where path is null;
with rs as (select id from lf.sys_dir where name='西气东输四线天然气管道工程(吐鲁番-中卫)(00116BT02)')
select fn_rec_query(a.dirid,'dir'),a.* from lf.sys_meta_new a where dirid = ANY(fn_rec_array((select id from rs), 'dir'));
select * from lf.sys_meta_new where substr(path,1,2) = '2\';
------------------------------------------------------
------------------------------------------------------ 根据用户ID查询权限
select * from lf.sys_menu order by id;
select gid from md.md_u_special_evaluation_report;
select dd from md.md_s_hole_column_diagram;
select * from lf.sys_meta;
select * from lf.sys_meta_file;
select * from lf.sys_dir order by id;
select * from lf.sys_dep order by id;
select * from lf.sys_ver;
select fn_rec_query(9, 'dir'); -- dir,dep
select fn_rec_array(8, 'dir'); -- dir,dep
select fn_rec_array(10, 'dep');
select * from lf.sys_meta a inner join lf.sys_meta_file b on a.id = b.metaid
where dirid = ANY(fn_rec_array(1, 'dir'));
select * from lf.sys_meta a inner join lf.sys_meta_file b on a.id = b.metaid
where depid = ANY(fn_rec_array(10, 'dep'));
select * from lf.sys_dir order by id;
select zoning from lf.sys_coord group by zoning;
select id, name from lf.sys_dir where pid = 0 and id > 1;
select * from lf.sys_coord where epsgcode = 'EPSG:4490';
select * from lf.sys_operate;
---------------------------------------------------------
select * from lf.sys_user where uid='ptzh'
select distinct e.id,e.pid,e.cn_name,e.en_name,e.url,e.perms,e.type,e.css,e.icon,e.level,e.order_num,e.is_show
from lf.sys_user a inner join lf.sys_role_user b on a.id = b.userid
src/main/java/com/lf/server/service/all/BaseUploadService.java
@@ -6,6 +6,7 @@
import com.lf.server.entity.data.VerEntity;
import com.lf.server.entity.sys.UserEntity;
import com.lf.server.helper.*;
import com.lf.server.service.data.DirService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -27,7 +28,10 @@
@Service
public class BaseUploadService {
    @Autowired
    public PathHelper pathHelper;
    private DirService dirService;
    @Autowired
    private PathHelper pathHelper;
    public final Log log = LogFactory.getLog(getClass());
@@ -199,14 +203,13 @@
            meta.setEpsgCode(epsgCode);
            if (StaticData.ZIP.equals(meta.getExtName())) {
                List<MetaFileEntity> subs = getMapperFiles(path, meta);
                List<MetaFileEntity> subs = getMapperFiles(path, dir, meta);
                if (null != subs && subs.size() > 0) {
                    list.addAll(subs);
                    continue;
                }
            }
            meta.setEventid(StringHelper.getGuid());
            list.add(meta);
        }
@@ -216,7 +219,7 @@
    /**
     * 获取映射文件
     */
    private List<MetaFileEntity> getMapperFiles(String path, MetaFileEntity meta) {
    private List<MetaFileEntity> getMapperFiles(String path, DirEntity dir, MetaFileEntity meta) {
        String zipFile = pathHelper.getConfig().getTempPath() + File.separator + meta.getPath();
        File file = new File(zipFile);
        if (!file.exists() || file.isDirectory()) {
@@ -237,13 +240,13 @@
            return null;
        }
        return getMapperFiles(files, meta, subPath);
        return getMapperFiles(files, dir, meta, subPath);
    }
    /**
     * 获取映射文件
     */
    private List<MetaFileEntity> getMapperFiles(File[] files, MetaFileEntity meta,String subPath) {
    private List<MetaFileEntity> getMapperFiles(File[] files, DirEntity dir, MetaFileEntity meta, String subPath) {
        List<MetaFileEntity> list = new ArrayList<>();
        for (File f : files) {
            boolean isGdb = isGdbFile(f);
@@ -257,9 +260,10 @@
                continue;
            }
            int dirid = getDirByPath(f.getPath(), dir);
            boolean isShp = StaticData.SHP.equals(extName);
            if (isGdb) {
                List<MetaFileEntity> rs = getGdbMappers(f, meta, subPath);
                List<MetaFileEntity> rs = getGdbMappers(f, meta, dirid, subPath);
                if (null != rs && rs.size() > 0) {
                    list.addAll(rs);
                }
@@ -267,6 +271,7 @@
            }
            MetaFileEntity mf = createMetaFileEntity(meta);
            mf.setDirid(dirid);
            mf.setEventid(StringHelper.getGuid());
            mf.setName(fileName);
            mf.setExtName(extName);
@@ -299,6 +304,31 @@
        mf.setEpsgCode(meta.getEpsgCode());
        return mf;
    }
    /**
     * 根据文件路径获取目录ID
     */
    private int getDirByPath(String filePath, DirEntity dir) {
        if (0 != dir.getPid()) {
            return dir.getId();
        }
        List<DirEntity> list = dirService.selectDirRecursive(dir.getName());
        if (null == list || list.isEmpty()) {
            return dir.getId();
        }
        if ("/".equals(File.separator)) {
            filePath = filePath.replace("/", "\\");
        }
        for (DirEntity entity : list) {
            if (filePath.contains(entity.getFullName())) {
                return entity.getId();
            }
        }
        return dir.getId();
    }
    /**
@@ -375,7 +405,7 @@
    /**
     * 获取GDB文件映射
     */
    private List<MetaFileEntity> getGdbMappers(File f, MetaFileEntity meta, String subPath) {
    private List<MetaFileEntity> getGdbMappers(File f, MetaFileEntity meta, int dirid, String subPath) {
        List<String> tabs = GdbHelper.getTabNames(f.getPath());
        if (null == tabs || tabs.size() == 0) {
            return null;
@@ -391,6 +421,7 @@
        List<MetaFileEntity> list = new ArrayList<>();
        for (String tab : tabs) {
            MetaFileEntity mf = createMetaFileEntity(meta);
            mf.setDirid(dirid);
            mf.setEventid(StringHelper.getGuid());
            mf.setName(fileName);
            mf.setExtName(extName);