管道基础大数据平台系统开发-【CS】-ExportMap
13693261870
2023-06-27 1f1f18ba49c9a776e0c9e0d2cd6abf9ee8ca5443
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
 
namespace ExportMap.cs
{
    public class TBUtils
    {
        /// <summary>
        /// 获取源目录
        /// </summary>
        public static string SourcesPath
        {
            get
            {
                return Path.Combine(Tools.BaseDir, "TerraBuilder");
            }
        }
 
        /// <summary>
        /// 获取时间客串
        /// </summary>
        public static string GetTime
        {
            get
            {
                return DateTime.Now.ToString("yyyyMMddhhmmss");
            }
        }
 
        /// <summary>
        /// Mpt路径
        /// </summary>
        public static string MptPath
        {
            get
            {
                return Tools.GetSetting("mpt");
            }
        }
 
        /// <summary>
        /// 创建MPT
        /// </summary>
        public static string CreateMpt(string path, ref string err)
        {
            string tbp = null;
            try
            {
                tbp = GetNewTbp();
 
 
                return null;
            }
            catch (Exception ex)
            {
                LogOut.Error(ex.Message + "\r\n" + ex.StackTrace);
                err = ex.Message;
                return null;
            }
            finally
            {
                if (tbp != null && File.Exists(tbp)) File.Delete(tbp);
 
            }
        }
 
        /// <summary>
        /// 获取新Tbp文件
        /// </summary>
        private static string GetNewTbp()
        {
            string tbp = Path.Combine(SourcesPath, "tb.tbp");
            string newTbp = Path.Combine(SourcesPath, GetTime + ".tbp");
 
            File.Copy(tbp, newTbp);
 
            return newTbp;
        }
 
        /// <summary>
        /// 获取新JS
        /// </summary>
        private static string GetNewJs(string tbp, string shp, string img, string dem)
        {
            string js = Path.Combine(SourcesPath, "template.js");
            string str = File.ReadAllText(js);
            str = str.Replace("{tbp}", tbp)
                .Replace("{shp}", shp)
                .Replace("{img}", img)
                .Replace("{dem}", dem)
                .Replace("\\", "\\\\");
 
            string newJs = Path.Combine(SourcesPath, GetTime + ".js");
            File.WriteAllText(newJs, str);
 
            return newJs;
        }
 
        /// <summary>
        /// 重启TB程序
        /// </summary>
        private static void ReloadTB()
        {
            List<string> list = new List<string>();
            list.Add("taskkill /f /t /im TerraBuilder.exe");
            list.Add("taskkill /f /t /im TBFuser.exe");
            list.Add("start /d \"C:\\Program Files\\Skyline\\TerraBuilder Fuser\" TBFuser.exe");
 
            Tools.ExecCmd(list, false);
        }
    }
}