You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

165 lines
6.4 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using Aspose.Cells;
using Newtonsoft.Json;
using Prism.Mvvm;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StartServerWPF.Models
{
public class ApmsModel : BindableBase
{
private string station1;
private List<TTime> ttime1;
private string push2wx1;
private string savepath1;
private string xmin1;
private string xmax1;
private string ymin1;
private string ymax1;
private string zref1;
private string zmin1;
private string zmax1;
private string minstep1;
private List<StationChannelsModel> channels1;
[JsonProperty("station")]
public string station { get => station1; set => SetProperty(ref station1, value); }
[JsonProperty("ttime")]
public List<TTime> ttime { get => ttime1; set => SetProperty(ref ttime1, value); }
[JsonProperty("Main.log_level")]
public string log_level { get; set; }
[JsonProperty("Main.slice_seconds")]
public string slice_seconds { get; set; }
[JsonProperty("Main.overlap_seconds")]
public string overlap_seconds { get; set; }
[JsonProperty("Main.is_mag")]
public string is_mag { get; set; }
[JsonProperty("Main.is_write_slice")]
public string is_write_slice { get; set; }
[JsonProperty("Main.lon")]
public string lon { get; set; }
[JsonProperty("Main.lat")]
public string lat { get; set; }
[JsonProperty("Main.height")]
public string height { get; set; }
[JsonProperty("Main.savepath")]
public string savepath { get => savepath1; set => SetProperty(ref savepath1, value); }
[JsonProperty("Main.push2wx")]
public string push2wx { get => push2wx1; set => SetProperty(ref push2wx1, value); }
[JsonProperty("Main.push_url")]
public string push_url { get; set; }
[JsonProperty("Main.push_mag")]
public string push_mag { get; set; }
[JsonProperty("Main.message_id")]
public string message_id { get; set; }
[JsonProperty("Main.company_id")]
public string company_id { get; set; }
[JsonProperty("Main.area_id")]
public string area_id { get; set; }
[JsonProperty("Main.content")]
public string content { get; set; }
[JsonProperty("Main.push_key")]
public string push_key { get; set; }
[JsonProperty("RServer.host")]
public string host { get; set; }
public List<StationChannelsModel> channels { get => channels1; set => SetProperty(ref channels1, value); }
[JsonProperty("Locate.log_level")]
public string llog_level { get; set; }
[JsonProperty("Locate.work_path")]
public string work_path { get; set; }
[JsonProperty("Locate.xmin")]
public string xmin { get => xmin1; set => SetProperty(ref xmin1, value); }
[JsonProperty("Locate.xmax")]
public string xmax { get => xmax1; set => SetProperty(ref xmax1, value); }
[JsonProperty("Locate.ymin")]
public string ymin { get => ymin1; set => SetProperty(ref ymin1, value); }
[JsonProperty("Locate.ymax")]
public string ymax { get => ymax1; set => SetProperty(ref ymax1, value); }
[JsonProperty("Locate.zref")]
public string zref { get => zref1; set => SetProperty(ref zref1, value); }
[JsonProperty("Locate.zmin")]
public string zmin { get => zmin1; set => SetProperty(ref zmin1, value); }
[JsonProperty("Locate.zmax")]
public string zmax { get => zmax1; set => SetProperty(ref zmax1, value); }
[JsonProperty("Locate.minstep")]
public string minstep { get => minstep1; set => SetProperty(ref minstep1, value); }
[JsonProperty("Locate.method")]
public string method { get; set; }
[JsonProperty("Locate.clusted_otime")]
public string clusted_otime { get; set; }
// public string delaytime { get; set; }
public List<StationControlModel> CreateStationFromCSV(string fn)
{
if (!File.Exists(fn)) return null;
List<StationControlModel> stations = new List<StationControlModel>();
Aspose.Cells.TxtLoadOptions lo = new TxtLoadOptions();
lo.Encoding = Encoding.Default;//设置编码方式
Workbook workbook = new Workbook(fn, lo);
//配置读取文件的类型CSV
workbook.FileFormat = FileFormatType.Csv;//可在此配置Excel文件类型
Worksheet worksheet = workbook.Worksheets[0];//默认第一个Sheet页
Cells cells = worksheet.Cells;
//读取到DataTable中
DataTable dt = cells.ExportDataTableAsString(0, 0, cells.MaxDataRow + 1, cells.MaxColumn + 1, true);
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow row = dt.Rows[i];
StationControlModel model = new StationControlModel();
model.NetWork = row[0].ToString();
model.Num = row[1].ToString();
model.Coordinate = new Coordinate3D(double.Parse(row[2].ToString()), double.Parse(row[3].ToString()), double.Parse(row[4].ToString()));
model.Sens = double.Parse(row[5].ToString());
model.BeginUseTime = DateTime.Parse(row[6].ToString());
model.StopUseTime = DateTime.Parse(row[7].ToString());
// model.Location = this.StationConfig.Location;
stations.Add(model);
}
//释放资源
workbook = null;
worksheet = null;
return stations;
}
}
public class TTime : BindableBase
{
private string ttime2d1;
[JsonProperty("station")]
public string station { get; set; }
[JsonProperty("ttime")]
public string ttime { get; set; }
[JsonProperty("ttime2d")]
public string ttime2d { get => ttime2d1;
set => SetProperty(ref ttime2d1, value);
}
}
public class StationChannelsModel : BindableBase
{
private string station1;
public string network { get; set; }
public string location { get; set; }
public string channels { get; set; }
public string station { get => station1;
set => SetProperty(ref station1, value);
}
}
}