diff --git a/StartServerWPF.Models/StartServerWPF.Models.csproj b/StartServerWPF.Models/StartServerWPF.Models.csproj index 21f7542..039d32d 100644 --- a/StartServerWPF.Models/StartServerWPF.Models.csproj +++ b/StartServerWPF.Models/StartServerWPF.Models.csproj @@ -42,7 +42,20 @@ ..\packages\Prism.Core.8.1.97\lib\net461\Prism.dll + + ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + + + ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll + + + + ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + ..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll @@ -66,6 +79,7 @@ + diff --git a/StartServerWPF.Models/WorkareaModel.cs b/StartServerWPF.Models/WorkareaModel.cs index fd1f250..2a2a046 100644 --- a/StartServerWPF.Models/WorkareaModel.cs +++ b/StartServerWPF.Models/WorkareaModel.cs @@ -66,6 +66,7 @@ namespace StartServerWPF.Models { if (!File.Exists(fn)) return null; List stations = new List(); + Aspose.Cells.TxtLoadOptions lo = new TxtLoadOptions(); //Debug.WriteLine(Encoding.Default.ToString()); lo.Encoding = Encoding.Default;//设置编码方式 diff --git a/StartServerWPF.Models/app.config b/StartServerWPF.Models/app.config new file mode 100644 index 0000000..1696df6 --- /dev/null +++ b/StartServerWPF.Models/app.config @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/StartServerWPF.Models/packages.config b/StartServerWPF.Models/packages.config index e9b5c53..6d1417d 100644 --- a/StartServerWPF.Models/packages.config +++ b/StartServerWPF.Models/packages.config @@ -3,5 +3,9 @@ + + + + \ No newline at end of file diff --git a/StartServerWPF.Modules.Main/Models/MsEventModel.cs b/StartServerWPF.Modules.Main/Models/MsEventModel.cs index bdf48a3..8ba7c81 100644 --- a/StartServerWPF.Modules.Main/Models/MsEventModel.cs +++ b/StartServerWPF.Modules.Main/Models/MsEventModel.cs @@ -1,10 +1,11 @@ -using System; +using Prism.Mvvm; +using System; using System.Reflection; using System.Windows.Forms; namespace StartServerWPF.Modules.Main.Models { - public class MsEventModel + public class MsEventModel:BindableBase { public int ID { get; set; } public DateTime CurrentTime { get; set; } @@ -18,8 +19,7 @@ namespace StartServerWPF.Modules.Main.Models public int EarthquakeSource { get; set; } - public bool IsSend { get; set; } = false; - + public bool IsSend { get => isSend; set => SetProperty(ref isSend, value); } public MsEventModel(string message) { this.eventMessage = message; @@ -32,6 +32,8 @@ namespace StartServerWPF.Modules.Main.Models ML = (evtS.Length == 7) ?- 10: double.Parse(evtS[5]); } private string eventMessage; + private bool isSend = false; + public override string ToString() { return eventMessage; diff --git a/StartServerWPF.Modules.Main/ViewModels/AddWorkAreaDialogViewModel.cs b/StartServerWPF.Modules.Main/ViewModels/AddWorkAreaDialogViewModel.cs index dd26447..0907841 100644 --- a/StartServerWPF.Modules.Main/ViewModels/AddWorkAreaDialogViewModel.cs +++ b/StartServerWPF.Modules.Main/ViewModels/AddWorkAreaDialogViewModel.cs @@ -90,6 +90,8 @@ namespace StartServerWPF.Modules.Main.ViewModels workareas.filepath = WorkAreaPath; workareaModel.savepath = WorkAreaPath; workareaModel.workareaname = WorkAreaName; + workareaModel.apmModel.station = string.Empty; + workareaModel.apmModel.ttime[0].ttime2d = string.Empty; //生成工区默认配置文件 File.WriteAllText(Path.Combine(WorkAreaPath, Path.GetFileName(WorkAreaPath) + ".json"), JsonConvert.SerializeObject(workareaModel, Formatting.Indented)); dialog.Parameters.Add("param1", workareas); diff --git a/StartServerWPF.Modules.Main/ViewModels/DataProcessViewModel.cs b/StartServerWPF.Modules.Main/ViewModels/DataProcessViewModel.cs index e82a607..a9643b6 100644 --- a/StartServerWPF.Modules.Main/ViewModels/DataProcessViewModel.cs +++ b/StartServerWPF.Modules.Main/ViewModels/DataProcessViewModel.cs @@ -77,10 +77,13 @@ namespace StartServerWPF.Modules.Main.ViewModels { var model = _workareasModelArray.workarea[value]; path = Path.Combine(model.filepath, "datapro.json"); - string jsonStr = File.ReadAllText(path); - var datas = JsonConvert.DeserializeObject>(jsonStr); NameSource = new ObservableCollection(); - datas.ForEach(d => { NameSource.Add(d); }); + if (File.Exists(path)) + { + string jsonStr = File.ReadAllText(path); + var datas = JsonConvert.DeserializeObject>(jsonStr); + datas.ForEach(d => { NameSource.Add(d); }); + } } catch (Exception ex) { @@ -155,11 +158,16 @@ namespace StartServerWPF.Modules.Main.ViewModels WareaSelectedIndex = _workareasModelArray.selectIndex; _workareasModelArray.workarea.Select(n => n.workareaname).ToList().ForEach(a => WorkareaNameSource.Add(a)); var model = _workareasModelArray.workarea[WareaSelectedIndex]; - string jsonStr = File.ReadAllText(Path.Combine(model.filepath, "datapro.json")); - var datas = JsonConvert.DeserializeObject>(jsonStr); - NameSource = new ObservableCollection(); - datas.ForEach(d => { NameSource.Add(d); }); - DataSelectedIndex = 0; + string jsonFile = Path.Combine(model.filepath, "datapro.json"); + if (File.Exists(jsonFile)) + { + string jsonStr = File.ReadAllText(jsonFile); + var datas = JsonConvert.DeserializeObject>(jsonStr); + NameSource = new ObservableCollection(); + datas.ForEach(d => { NameSource.Add(d); }); + DataSelectedIndex = 0; + } + } }); @@ -345,7 +353,7 @@ namespace StartServerWPF.Modules.Main.ViewModels if (string.IsNullOrEmpty(outLine.Data)) return; var pro = sendingProcess as Process; - if (pro != null && pro.MainModule.ModuleName.Contains(_systemConfig.dataProTools.ProName)) + if (pro != null) { string mes = outLine.Data; if (outLine.Data.Contains("run time cost=")) diff --git a/StartServerWPF.Modules.Main/ViewModels/MainViewModel.cs b/StartServerWPF.Modules.Main/ViewModels/MainViewModel.cs index 38a183d..aa5df88 100644 --- a/StartServerWPF.Modules.Main/ViewModels/MainViewModel.cs +++ b/StartServerWPF.Modules.Main/ViewModels/MainViewModel.cs @@ -69,7 +69,7 @@ namespace StartServerWPF.Modules.Main.ViewModels } private void WebSocket4Net_MessageReceived(string message) { - Debug.WriteLine($"服务端回复数据:{message}!"); + Debug.WriteLine($"服务端回复数据:{message}"); using (JsonDocument document = JsonDocument.Parse(message)) { JsonElement root = document.RootElement; diff --git a/StartServerWPF.Modules.Main/ViewModels/SetParamViewModel.cs b/StartServerWPF.Modules.Main/ViewModels/SetParamViewModel.cs index a44c589..a25863d 100644 --- a/StartServerWPF.Modules.Main/ViewModels/SetParamViewModel.cs +++ b/StartServerWPF.Modules.Main/ViewModels/SetParamViewModel.cs @@ -1,4 +1,5 @@ using Google.Protobuf.WellKnownTypes; +using HandyControl.Expression.Media; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Prism.Commands; @@ -35,8 +36,6 @@ namespace StartServerWPF.Modules.Main.ViewModels this._workareasModelArray = workareasModelArray; MainModel = _systemConfig.vpnInfo; WorkareaNameSource = new ObservableCollection(); - - _workareasModelArray.workarea.ForEach(a => WorkareaNameSource.Add(a)); } private string _title = "应用列表"; public string Title => _title; @@ -62,27 +61,28 @@ namespace StartServerWPF.Modules.Main.ViewModels { try { - var area = _workareasModelArray.workarea[value]; + var area = WorkareaNameSource[value]; WareaModel.savepath = area.filepath; string file = Path.Combine(area.filepath, Path.GetFileName(area.filepath) + ".json"); string json = File.ReadAllText(file); WareaModel = JsonConvert.DeserializeObject(json); + if (WareaModel.StationConfig.Stations == null) + { + WareaModel.StationConfig.Stations = WareaModel.CreateStationFromCSV(Path.Combine(WareaModel.savepath, WareaModel.apmModel.station), WareaModel.StationConfig.Location) + ?.Select(a => new StationState { IsEnable = a.Enable, Name = a.Num }).ToList(); + } + } catch (Exception ex) { //生成工区默认配置文件 string str = File.ReadAllText(Path.Combine(JsonParser.workareaPath, "Workarea.json")); - string path = WareaModel.savepath; WareaModel = JsonConvert.DeserializeObject(str); - WareaModel.savepath = path; - string file = Path.Combine(path, Path.GetFileName(path) + ".json"); WareaModel.workareaname = Path.GetFileName(WareaModel.savepath); - if (File.Exists(file)) - { - File.WriteAllText(file, JsonConvert.SerializeObject(WareaModel)); - } - //MessageBox.Show("当前工区目录配置文件不存在," + ex.Message); - } + string file = Path.Combine(WareaModel.savepath, WareaModel.workareaname + ".json"); + WareaModel.StationConfig.Stations = WareaModel.CreateStationFromCSV(Path.Combine(WareaModel.savepath, WareaModel.apmModel.station), WareaModel.StationConfig.Location) + ?.Select(a => new StationState { IsEnable = a.Enable, Name = a.Num }).ToList(); + } } SetProperty(ref _wareaSelectedIndex, value); } @@ -112,13 +112,25 @@ namespace StartServerWPF.Modules.Main.ViewModels { apmStationFile = string.Empty; apmttime2dFile = string.Empty; + if(WorkareaNameSource.Count != 0) WorkareaNameSource.Clear(); + _workareasModelArray.workarea.ForEach(a => WorkareaNameSource.Add(a)); WareaSelectedIndex = _workareasModelArray.selectIndex; }); public DelegateCommand AddItemCommand => new(() => { DialogParameters param = new DialogParameters(); - // param.Add("type", 1);// 编辑 + // param.Add("type", 1);// 编辑 + if (!isSave) + { + if (MessageBox.Show("修改内容是否保存?", "提示", MessageBoxButton.YesNo, + MessageBoxImage.Exclamation) == MessageBoxResult.No) + { + LoadedCommand?.Execute(); + isSave = true; + } + return; + } _dialogService.ShowDialog("AddWorkAreaDialog", param, new Action(result => @@ -129,7 +141,6 @@ namespace StartServerWPF.Modules.Main.ViewModels var file = WorkareaNameSource.Where(f => f.workareaname == area.workareaname).FirstOrDefault(); if (file == null) { - // _workareasModelArray.workarea.Add(area); WorkareaNameSource.Add(area); WareaSelectedIndex = WorkareaNameSource.Count()-1; } @@ -137,8 +148,9 @@ namespace StartServerWPF.Modules.Main.ViewModels { //更新当前工区目录 file.filepath = area.filepath; - WareaSelectedIndex = _workareasModelArray.selectIndex; + WareaSelectedIndex = 0; } + isSave = false; } })); }); @@ -153,7 +165,7 @@ namespace StartServerWPF.Modules.Main.ViewModels try { string jsonStr = File.ReadAllText(fbd.FileName); - var _workareasArray = JsonConvert.DeserializeObject(jsonStr); + var _workareasArray = JsonConvert.DeserializeObject(jsonStr); WorkareaNameSource = new ObservableCollection(); _workareasArray.workarea.ForEach(a => WorkareaNameSource.Add(a)); WareaSelectedIndex = _workareasArray.selectIndex; @@ -185,15 +197,27 @@ namespace StartServerWPF.Modules.Main.ViewModels public DelegateCommand DeleteItemCommand => new(() => { + if (!isSave) + { + if (MessageBox.Show("修改内容是否保存?", "提示", MessageBoxButton.YesNo, + MessageBoxImage.Exclamation) == MessageBoxResult.No) + { + LoadedCommand?.Execute(); + isSave = true; + } + return; + } if (MessageBox.Show($"删除{WareaModel.workareaname}工区所有文件?", "提示", MessageBoxButton.OKCancel, MessageBoxImage.Exclamation) == MessageBoxResult.OK) { - var area= WorkareaNameSource.Where(a => a.workareaname == WareaModel.workareaname).FirstOrDefault(); + + var area= WorkareaNameSource.Where(a => a.workareaname == WareaModel.workareaname).FirstOrDefault(); if (area != null) { WorkareaNameSource.Remove(area); WareaSelectedIndex = 0; } + isSave = false; } }); @@ -208,15 +232,15 @@ namespace StartServerWPF.Modules.Main.ViewModels switch (para) { case "apmsStation": - WareaModel.apmModel.station = fbd.SafeFileName; + WareaModel.apmModel.station = fbd.SafeFileName; //文件名 apmStationFile = fbd.FileName; - - WareaModel.StationConfig.Stations= WareaModel.CreateStationFromCSV(apmStationFile, WareaModel.StationConfig.Location) + WareaModel.StationConfig.Stations= WareaModel.CreateStationFromCSV(fbd.FileName, WareaModel.StationConfig.Location) ?.Select(a => new StationState { IsEnable = a.Enable, Name = a.Num }).ToList(); break; case "apmsttime2d": WareaModel.apmModel.ttime[0].ttime2d = fbd.SafeFileName; apmttime2dFile = fbd.FileName; + break; default: break; @@ -250,138 +274,150 @@ namespace StartServerWPF.Modules.Main.ViewModels MainModel.SystemLogPath = fbd.SelectedPath; } }); - + bool isSave = true; public ICommand ConfirmCommand { get => new DelegateCommand(() => { // 数据校验(关键字段不能为空、年龄做数字区间的校验、做UserName的唯一检查(自定义特性检查) - //if(WareaSelectedIndex == -1) - //{ - // MessageBox.Show("工区名称不能为空", "提示", MessageBoxButton.OK); - // return; - //} - if (string.IsNullOrEmpty(WareaModel.savepath) - || string.IsNullOrEmpty(WareaModel.apmModel.station) - || string.IsNullOrEmpty(WareaModel.apmModel.ttime[0].ttime2d)) + if (string.IsNullOrEmpty(WareaModel.savepath)) { MessageBox.Show("目录内容不能为空", "提示", MessageBoxButton.OK); return; } - if (MessageBox.Show("确认修改?", "参数设置", MessageBoxButton.OKCancel, + if (MessageBox.Show("确认修改?", "设置", MessageBoxButton.OKCancel, MessageBoxImage.Exclamation) == MessageBoxResult.OK) { - //1 Workarea配置更新,选择的索引 - _workareasModelArray.selectIndex = WareaSelectedIndex; - - int count = _workareasModelArray.workarea.Count; - int wIndex = count-1; - while (wIndex < 0) + try { - //清除目录保存文件 - var item = _workareasModelArray.workarea[wIndex]; - var model = WorkareaNameSource.Where(p => p.workareaname == item.workareaname).FirstOrDefault(); - if (model == null) + //1 Workareas.json更新,选择的索引 + _workareasModelArray.selectIndex = WareaSelectedIndex; + + int count = _workareasModelArray.workarea.Count; + int wIndex = count - 1; + while (wIndex >= 0) { - _workareasModelArray.workarea.Remove(item); - if (Directory.Exists(item.filepath)) + var item = _workareasModelArray.workarea[wIndex]; + var model = WorkareaNameSource.Where(p => p.workareaname == item.workareaname).FirstOrDefault(); + if (model == null) + { + _workareasModelArray.workarea.Remove(item); + if (Directory.Exists(item.filepath)) + { + Directory.Delete(item.filepath, true); + } + } + else { - Directory.Delete(item.filepath, true); + item.workareaname=model.workareaname; + item.filepath = model.filepath; } + wIndex--; } - wIndex--; - } - - if(_workareasModelArray.workarea.Count<= 0) - { - //没有数据直接删除文件; - WareaModel.savepath = string.Empty; - File.Delete(Path.Combine(JsonParser.workareaPath, "Workareas.json")); - return; - } - _workareasModelArray.workarea[WareaSelectedIndex].filepath = WareaModel.savepath; - JsonParser.WriteSystemConfigFile(Path.Combine(JsonParser.workareaPath, "Workareas.json"), _workareasModelArray); - _wareaModel.apmModel.channels = new List - { + foreach (var item in WorkareaNameSource) + { + var model = _workareasModelArray.workarea.Where(p => p.workareaname == item.workareaname).FirstOrDefault(); + if (model == null) + { + _workareasModelArray.workarea.Add(item); + } + } + wareaModelSingleton.workareaname = _wareaModel.workareaname; + wareaModelSingleton.apmpush2wx = _wareaModel.apmpush2wx; + wareaModelSingleton.toolpush2wx = _wareaModel.toolpush2wx; + wareaModelSingleton.savepath = _wareaModel.savepath; + wareaModelSingleton.chartsavepath = _wareaModel.chartsavepath; + wareaModelSingleton.apmsavepath = _wareaModel.apmsavepath; + wareaModelSingleton.toolsavepath = _wareaModel.toolsavepath; + wareaModelSingleton.delayTime = _wareaModel.delayTime; + wareaModelSingleton.apmModel = _wareaModel.apmModel; + wareaModelSingleton.StationConfig = _wareaModel.StationConfig; + if (WorkareaNameSource.Count <= 0) + { + //没有数据直接删除文件; + WareaModel.savepath = string.Empty; + File.Delete(Path.Combine(JsonParser.workareaPath, "Workareas.json")); + isSave = true; + return; + } + + JsonParser.WriteSystemConfigFile(Path.Combine(JsonParser.workareaPath, "Workareas.json"), _workareasModelArray); + var stations = _wareaModel.StationConfig.Stations?.Where(p => p.IsEnable).Select(n => n.Name); + _wareaModel.apmModel.channels = new List + { new StationChannelsModel() { location = _wareaModel.StationConfig.Location, network = _wareaModel.StationConfig.Network, channels = _wareaModel.StationConfig.Channels, - station = string.Join(",", _wareaModel.StationConfig.Stations.Where(p => p.IsEnable).Select(n => n.Name)) + station = (stations==null)?null:string.Join(",", stations) } - }; - - wareaModelSingleton.workareaname = _wareaModel.workareaname; - wareaModelSingleton.apmpush2wx =_wareaModel.apmpush2wx; - wareaModelSingleton.toolpush2wx =_wareaModel.toolpush2wx; - wareaModelSingleton.savepath =_wareaModel.savepath; - wareaModelSingleton.chartsavepath=_wareaModel.chartsavepath; - wareaModelSingleton.apmsavepath =_wareaModel.apmsavepath; - wareaModelSingleton.toolsavepath =_wareaModel.toolsavepath; - wareaModelSingleton.delayTime =_wareaModel.delayTime; - wareaModelSingleton.apmModel = _wareaModel.apmModel; - wareaModelSingleton.StationConfig = _wareaModel.StationConfig; + }; + WareaModel.workareaname = WorkareaNameSource[WareaSelectedIndex].workareaname; + JsonParser.WriteSystemConfigFile(Path.Combine(_wareaModel.savepath, WareaModel.workareaname + ".json"), _wareaModel); + string temJson = JsonConvert.SerializeObject(_wareaModel); + var curWorkarea = JsonConvert.DeserializeObject(temJson); + if (!string.IsNullOrEmpty(apmStationFile)) + { + string destFileName = Path.GetFullPath(Path.Combine(curWorkarea.savepath, curWorkarea.apmModel.station)); + if (destFileName != apmStationFile) + { + File.Copy(apmStationFile, destFileName, true); + } + apmStationFile = null; + } + if (!string.IsNullOrEmpty(apmttime2dFile)) + { + string destFileName = Path.GetFullPath(Path.Combine(curWorkarea.savepath, curWorkarea.apmModel.ttime[0].ttime2d)); + if (destFileName != apmttime2dFile) + { + File.Copy(apmttime2dFile, destFileName, true); + } + apmttime2dFile = null; + } - JsonParser.WriteSystemConfigFile(Path.Combine(_wareaModel.savepath, Path.GetFileName(_wareaModel.savepath) + ".json"), _wareaModel); - - string temJson = JsonConvert.SerializeObject(_wareaModel); - var curWorkarea = JsonConvert.DeserializeObject(temJson); - if (!string.IsNullOrEmpty(apmStationFile)) - { - string destFileName = Path.GetFullPath(Path.Combine(curWorkarea.savepath, curWorkarea.apmModel.station)); - if (destFileName != apmStationFile) + //2 gw.apms.exe配置更新 { - File.Copy(apmStationFile, destFileName, true); + ApmsModel apms = curWorkarea.apmModel; + apms.station = Path.GetFullPath(Path.Combine(curWorkarea.savepath, curWorkarea.apmModel.station)).Replace("\\", "/"); + apms.ttime[0].ttime2d = Path.GetFullPath(Path.Combine(curWorkarea.savepath, curWorkarea.apmModel.ttime[0].ttime2d)).Replace("\\", "/"); + apms.savepath = Path.Combine(curWorkarea.savepath, curWorkarea.apmsavepath).Replace("\\", "/"); ; + apms.push2wx = curWorkarea.apmpush2wx ? "YES" : "NO"; + JsonParser.WriteSystemConfigFile(Path.Combine(_systemConfig.proApms.ProPath, "apms.json"), apms); } - apmStationFile = null; - } - if (!string.IsNullOrEmpty(apmttime2dFile)) - { - string destFileName = Path.GetFullPath(Path.Combine(curWorkarea.savepath, curWorkarea.apmModel.ttime[0].ttime2d)); - if (destFileName != apmttime2dFile) + + //3 gw.tools.exe配置更新 { - File.Copy(apmttime2dFile, destFileName, true); + ApmsModel tools = curWorkarea.apmModel; + tools.station = Path.GetFullPath(Path.Combine(curWorkarea.savepath, curWorkarea.apmModel.station)).Replace("\\", "/"); + tools.ttime[0].ttime2d = Path.GetFullPath(Path.Combine(curWorkarea.savepath, curWorkarea.apmModel.ttime[0].ttime2d)).Replace("\\", "/"); + tools.savepath = curWorkarea.savepath + "/" + curWorkarea.toolsavepath; + tools.push2wx = curWorkarea.toolpush2wx ? "YES" : "NO"; ; + JsonParser.WriteSystemConfigFile(Path.Combine(_systemConfig.proTools.ProPath, "apms.json"), tools); + + //4 SystemConfig.json配置更新 + int index = _systemConfig.proTools.ProParams.IndexOf("-savepath"); + string str = _systemConfig.proTools.ProParams.Substring(0, index) + "-savepath"; + _systemConfig.proTools.ProParams = $"{str} {Path.Combine(curWorkarea.savepath, curWorkarea.chartsavepath).Replace("\\", "/")} -delay {curWorkarea.delayTime * 60}"; + JsonParser.WriteSystemConfigFile(JsonParser.systemConfigPath, _systemConfig); } - apmttime2dFile = null; - } + //dataProTools配置更新 + ApmsModel protools = curWorkarea.apmModel; + // tools.savepath = SavePath; // _workareaModel.savepath + "/" +SavePath;; + protools.station = Path.GetFullPath(Path.Combine(curWorkarea.savepath, curWorkarea.apmModel.station)).Replace("\\", "/"); + protools.ttime[0].ttime2d = Path.GetFullPath(Path.Combine(curWorkarea.savepath, curWorkarea.apmModel.ttime[0].ttime2d)).Replace("\\", "/"); + // protools.push2wx = _workareaModel.toolpush2wx ? "YES" : "NO"; - //2 gw.apms.exe配置更新 - { - ApmsModel apms = curWorkarea.apmModel; - apms.station = Path.GetFullPath(Path.Combine(curWorkarea.savepath, curWorkarea.apmModel.station)).Replace("\\", "/"); - apms.ttime[0].ttime2d = Path.GetFullPath(Path.Combine(curWorkarea.savepath, curWorkarea.apmModel.ttime[0].ttime2d)).Replace("\\", "/"); - apms.savepath = Path.Combine(curWorkarea.savepath, curWorkarea.apmsavepath).Replace("\\", "/"); ; - apms.push2wx = curWorkarea.apmpush2wx ? "YES" : "NO"; - JsonParser.WriteSystemConfigFile(Path.Combine(_systemConfig.proApms.ProPath, "apms.json"), apms); - } + JsonParser.WriteSystemConfigFile(Path.Combine(_systemConfig.dataProTools.ProPath, "apms.json"), protools); - //3 gw.tools.exe配置更新 + //5 gw.recvftp.exe配置更新 + JsonParser.UpdateRecvJson(Path.Combine(_systemConfig.proRecv.ProPath, _systemConfig.proRecv.JsonPath), Path.Combine(curWorkarea.savepath, curWorkarea.chartsavepath).Replace("\\", "/")); + isSave = true; + } + catch (Exception ex) { - ApmsModel tools = curWorkarea.apmModel; - tools.station = Path.GetFullPath(Path.Combine(curWorkarea.savepath, curWorkarea.apmModel.station)).Replace("\\", "/"); - tools.ttime[0].ttime2d = Path.GetFullPath(Path.Combine(curWorkarea.savepath, curWorkarea.apmModel.ttime[0].ttime2d)).Replace("\\", "/"); - tools.savepath =curWorkarea.savepath+"/"+ curWorkarea.toolsavepath; - tools.push2wx = curWorkarea.toolpush2wx ? "YES" : "NO"; ; - JsonParser.WriteSystemConfigFile(Path.Combine(_systemConfig.proTools.ProPath, "apms.json"), tools); - - //4 SystemConfig.json配置更新 - int index = _systemConfig.proTools.ProParams.IndexOf("-savepath"); - string str = _systemConfig.proTools.ProParams.Substring(0, index) + "-savepath"; - _systemConfig.proTools.ProParams = $"{str} {Path.Combine(curWorkarea.savepath, curWorkarea.chartsavepath).Replace("\\", "/")} -delay {curWorkarea.delayTime * 60}"; - JsonParser.WriteSystemConfigFile(JsonParser.systemConfigPath, _systemConfig); + MessageBox.Show("数据保存失败,"+ ex); } - //dataProTools配置更新 - ApmsModel protools = curWorkarea.apmModel; - // tools.savepath = SavePath; // _workareaModel.savepath + "/" +SavePath;; - protools.station = Path.GetFullPath(Path.Combine(curWorkarea.savepath, curWorkarea.apmModel.station)).Replace("\\", "/"); - protools.ttime[0].ttime2d = Path.GetFullPath(Path.Combine(curWorkarea.savepath, curWorkarea.apmModel.ttime[0].ttime2d)).Replace("\\", "/"); - // protools.push2wx = _workareaModel.toolpush2wx ? "YES" : "NO"; - - JsonParser.WriteSystemConfigFile(Path.Combine(_systemConfig.dataProTools.ProPath, "apms.json"), protools); - - //5 gw.recvftp.exe配置更新 - JsonParser.UpdateRecvJson(Path.Combine(_systemConfig.proRecv.ProPath, _systemConfig.proRecv.JsonPath), Path.Combine(curWorkarea.savepath, curWorkarea.chartsavepath).Replace("\\", "/")); } }); } diff --git a/StartServerWPF.Modules.Main/Views/DataProcessView.xaml b/StartServerWPF.Modules.Main/Views/DataProcessView.xaml index c34bbe3..1b800f8 100644 --- a/StartServerWPF.Modules.Main/Views/DataProcessView.xaml +++ b/StartServerWPF.Modules.Main/Views/DataProcessView.xaml @@ -53,7 +53,7 @@