管道基础大数据平台系统开发-【CS】-ExportMap
1
13693261870
2023-03-17 e436cb6668a0d80a3065c1606ac201079d1961a4
1
已修改2个文件
57 ■■■■■ 文件已修改
ExportMap/Models/SysMeta.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/cs/SGUtils.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/Models/SysMeta.cs
@@ -19,7 +19,7 @@
        public string dircode { set; get; }
        public int verid { set; get; }
        public long verid { set; get; }
        public string name { set; get; }
ExportMap/cs/SGUtils.cs
@@ -99,6 +99,7 @@
                List<SpatialItem> items = SelectItems(maxId);
                if (null == items || items.Count == 0) continue;
                InsertInto(list, items);
                count = items.Count;
                break;
            }
@@ -230,5 +231,59 @@
            if (!File.Exists(targetMidx)) list.Add(string.Format("mklink \"{0}\" \"{1}\"", targetMidx, midx));
            if (!File.Exists(targetStrmi)) list.Add(string.Format("mklink \"{0}\" \"{1}\"", targetStrmi, strmi));
        }
        /// <summary>
        /// 插入数据发布表
        /// </summary>
        private void InsertInto(List<SysMeta> list, List<SpatialItem> items)
        {
            foreach (SysMeta meta in list)
            {
                SpatialItem si = (from item in items where meta.name.Equals(item.Name) select item).First();
                if (null == si) continue;
                meta.verid = si.id;
                InsertToDB(meta);
            }
        }
        /// <summary>
        /// 插入数据库
        /// </summary>
        private static void InsertToDB(SysMeta meta)
        {
            if (PubDBHelper.IsPublish(meta.id)) return;
            SysPublish sys = NewPublish(meta);
            sys.path = meta.id + "\\" + meta.name;
            int pubid = PubDBHelper.InsertPublish(sys);
            if (pubid > 0)
            {
                PubDBHelper.InsertMetaPub(meta.id, pubid);
            }
        }
        /// <summary>
        /// 创建数据发布类
        /// </summary>
        private static SysPublish NewPublish(SysMeta meta)
        {
            SysPublish sp = new SysPublish();
            sp.name = meta.name;
            sp.url = GetReleaseUrl(meta, meta.verid);
            sp.type = meta.type;
            sp.status = 3;
            sp.dirid = meta.dircode;
            sp.depid = meta.depcode;
            sp.min = 0;
            sp.max = 0;
            sp.json = null;
            sp.create_user = meta.create_user;
            sp.geom = null;
            sp.bak = null;
            return sp;
        }
    }
}