管道基础大数据平台系统开发-【CS】-ExportMap
1
13693261870
2023-03-17 d3602925206857045b993e67bf82697168bde3c7
1
已修改5个文件
108 ■■■■ 文件已修改
ExportMap/Controllers/ConvertController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/Models/XYZArgs.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/cs/ConvertUtils.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/cs/SGUtils.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/cs/XYZUtils.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/Controllers/ConvertController.cs
@@ -32,7 +32,7 @@
                    return ResponseMsg<int>.fail("令牌无效");
                }
                int count = ConvertUtils.Convert(args.ids);
                int count = ConvertUtils.Convert(args);
                if (0 == count)
                {
                    return ResponseMsg<int>.fail("失败");
ExportMap/Models/XYZArgs.cs
@@ -21,6 +21,16 @@
        public string token { set; get; }
        /// <summary>
        /// 名称
        /// </summary>
        public string name { set; get; }
        /// <summary>
        /// 用户ID
        /// </summary>
        public int userId { set; get; }
        /// <summary>
        /// 地图最小级别
        /// </summary>
        public int min { set; get; }
@@ -36,6 +46,11 @@
        public string dircode { set; get; }
        /// <summary>
        /// 单位目录编码
        /// </summary>
        public string depcode { set; get; }
        /// <summary>
        /// 元数据ID集合
        /// </summary>
        public List<int> ids { set; get; }
ExportMap/cs/ConvertUtils.cs
@@ -35,13 +35,13 @@
        /// <summary>
        /// 模型转换
        /// </summary>
        public static int Convert(List<int> ids)
        public static int Convert(XYZArgs args)
        {
            int count = 0;
            string uploadFolder = Tool.GetSetting("uploadFolder");
            string tilesFolder = Path.Combine(Tool.GetSetting("lfData"), "3d\\3dtiles");
            List<SysMeta> list = XYZUtils.selectMetas(ids, "and type in ('ifc', 'fbx', 'rvt')");
            List<SysMeta> list = XYZUtils.selectMetas(args.ids, "and type in ('ifc', 'fbx', 'rvt')");
            if (null == list || list.Count == 0) return 0;
            foreach (SysMeta meta in list)
@@ -60,10 +60,13 @@
                ExecNavisworks(modelFile, configFile);
                File.Delete(configFile);
                count += File.Exists(jsonFile) ? 1 : 0;
                if (File.Exists(jsonFile))
                {
                    string path = jsonFile.Replace(Tool.GetSetting("lfData") + "\\", "");
                    InsertToDB(meta, args, path);
                string path = jsonFile.Replace(Tool.GetSetting("lfData") + "\\", "");
                InsertToDB(meta, path);
                    count++;
                }
            }
            return count;
@@ -118,11 +121,11 @@
        /// <summary>
        /// 插入数据库
        /// </summary>
        private static void InsertToDB(SysMeta meta, string path)
        private static void InsertToDB(SysMeta meta, XYZArgs args, string path)
        {
            if (PubDBHelper.IsPublish(meta.id)) return;
            SysPublish sys = NewPublish(meta);
            SysPublish sys = NewPublish(meta, args);
            sys.path = path;
            int pubid = PubDBHelper.InsertPublish(sys);
@@ -135,7 +138,7 @@
        /// <summary>
        /// 创建数据发布类
        /// </summary>
        private static SysPublish NewPublish(SysMeta meta)
        private static SysPublish NewPublish(SysMeta meta, XYZArgs args)
        {
            SysPublish sp = new SysPublish();
            sp.name = meta.name;
@@ -143,11 +146,11 @@
            sp.type = meta.type;
            sp.status = 3;
            sp.dirid = meta.dircode;
            sp.depid = meta.depcode;
            sp.depid = args.depcode;
            sp.min = 0;
            sp.max = 0;
            sp.json = null;
            sp.create_user = meta.create_user;
            sp.create_user = args.userId;
            sp.geom = null;
            sp.bak = null;
ExportMap/cs/SGUtils.cs
@@ -99,7 +99,7 @@
                List<SpatialItem> items = SelectItems(maxId);
                if (null == items || items.Count == 0) continue;
                InsertInto(list, items);
                InsertInto(list, items, args);
                count = items.Count;
                break;
            }
@@ -235,7 +235,7 @@
        /// <summary>
        /// 插入数据发布表
        /// </summary>
        private void InsertInto(List<SysMeta> list, List<SpatialItem> items)
        private void InsertInto(List<SysMeta> list, List<SpatialItem> items, XYZArgs args)
        {
            foreach (SysMeta meta in list)
            {
@@ -243,18 +243,18 @@
                if (null == si) continue;
                meta.verid = si.id;
                InsertToDB(meta);
                InsertToDB(meta, args);
            }
        }
        /// <summary>
        /// 插入数据库
        /// </summary>
        private static void InsertToDB(SysMeta meta)
        private static void InsertToDB(SysMeta meta, XYZArgs args)
        {
            if (PubDBHelper.IsPublish(meta.id)) return;
            SysPublish sys = NewPublish(meta);
            SysPublish sys = NewPublish(meta, args);
            sys.path = meta.id + "\\" + meta.name;
            int pubid = PubDBHelper.InsertPublish(sys);
@@ -267,7 +267,7 @@
        /// <summary>
        /// 创建数据发布类
        /// </summary>
        private static SysPublish NewPublish(SysMeta meta)
        private static SysPublish NewPublish(SysMeta meta, XYZArgs args)
        {
            SysPublish sp = new SysPublish();
            sp.name = meta.name;
@@ -275,11 +275,11 @@
            sp.type = meta.type;
            sp.status = 3;
            sp.dirid = meta.dircode;
            sp.depid = meta.depcode;
            sp.depid = args.depcode;
            sp.min = 0;
            sp.max = 0;
            sp.json = null;
            sp.create_user = meta.create_user;
            sp.create_user = args.userId;
            sp.geom = null;
            sp.bak = null;
ExportMap/cs/XYZUtils.cs
@@ -45,9 +45,9 @@
        /// <summary>
        /// 获取发布地址
        /// </summary>
        public static string GetReleaseUrl(XYZArgs args)
        public static string GetReleaseUrl(string dircode)
        {
            return "http://{host}/LFData/2d/tiles/" + args.dircode + "/{z}/{x}/{y}.png";
            return "http://{host}/LFData/2d/tiles/" + dircode + "/{z}/{x}/{y}.png";
        }
        /// <summary>
@@ -84,10 +84,15 @@
            err = ExecCmd(cmd);
            if (File.Exists(tifFile)) File.Delete(tifFile);
            string viewFile = Path.Combine(xyzPath, "view.html");
            if (File.Exists(viewFile))
            {
                string path = "";
                InsertToDB(list, args, path);
                return 1;
            }
            return File.Exists(viewFile) ? 1 : 0;
            return 0;
        }
        /// <summary>
@@ -172,5 +177,44 @@
            return str;
        }
        /// <summary>
        /// 插入数据库
        /// </summary>
        private static void InsertToDB(List<SysMeta> metas, XYZArgs args, string path)
        {
            if (PubDBHelper.IsPublish(args.dircode)) return;
            SysPublish sys = NewPublish(metas[0], args);
            sys.path = path;
            int pubid = PubDBHelper.InsertPublish(sys);
            if (pubid > 0)
            {
                //PubDBHelper.InsertMetaPub(meta.id, pubid);
            }
        }
        /// <summary>
        /// 创建数据发布类
        /// </summary>
        private static SysPublish NewPublish(SysMeta meta, XYZArgs args)
        {
            SysPublish sp = new SysPublish();
            sp.name = args.name;
            sp.url = GetReleaseUrl(args.dircode);
            sp.type = "DOM";
            sp.status = 3;
            sp.dirid = args.dircode;
            sp.depid = args.depcode;
            sp.min = args.min;
            sp.max = args.max;
            sp.json = null;
            sp.create_user = args.userId;
            sp.geom = null;
            sp.bak = null;
            return sp;
        }
    }
}