| | |
| | | using HMI.Base; |
| | | using HMI.Core.Entity; |
| | | using HMI.Core.Manager; |
| | | using HMI.Core.Util; |
| | | using HMI.UI.Util; |
| | | using HMI.Util; |
| | |
| | | set { Set(ref _options, value); } |
| | | } |
| | | |
| | | private string iniFile; |
| | | public override void InitFinish() |
| | | { |
| | | iniFile = Path.Combine(BaseFolder, "Config.ini"); |
| | | if (!File.Exists(iniFile)) |
| | | { |
| | | File.Create(iniFile); |
| | | } |
| | | LoadProduct(); |
| | | } |
| | | |
| | | private void PluginControl_Loaded(object sender, RoutedEventArgs e) |
| | | { |
| | | |
| | | } |
| | | |
| | | private void LoadProduct() |
| | | { |
| | | List<ProductData> products = ProductManager.GetProducts<List<ProductData>>() |
| | | ?? new List<ProductData>(); |
| | | this.modelSelect.Items.Clear(); |
| | | List<string> productSource = new List<string>(); |
| | | foreach (var prd in products) |
| | | { |
| | | this.modelSelect.Items.Add(prd.Name); |
| | | productSource.Add(prd.Name); |
| | | } |
| | | |
| | | string model = IniFileHelper.ReadIniData("Config", "Model", "", iniFile); |
| | | if (!string.IsNullOrEmpty(model)) |
| | | { |
| | | this.modelSelect.SelectedItem = model; |
| | | } |
| | | else if (products.Count > 0) |
| | | { |
| | | this.modelSelect.SelectedIndex = 0; |
| | | } |
| | | } |
| | | |
| | | private void RefreshAll() |
| | | { |
| | | try |
| | | { |
| | | var start0 = dtp00.SelectedDateTime ?? DateTime.Now; |
| | | var end0 = dtp01.SelectedDateTime ?? DateTime.Now; |
| | | RefreshChart0(start0, end0); |
| | | } |
| | | catch { } |
| | | |
| | | try |
| | | { |
| | | var start1 = dtp10.SelectedDateTime ?? DateTime.Now; |
| | | var end1 = dtp11.SelectedDateTime ?? DateTime.Now; |
| | | RefreshChart1(start1, end1); |
| | | } |
| | | catch { } |
| | | |
| | | try |
| | | { |
| | | var start2 = dtp20.SelectedDateTime ?? DateTime.Now; |
| | | var end2 = dtp21.SelectedDateTime ?? DateTime.Now; |
| | | RefreshChart2(start2, end2); |
| | | } |
| | | catch { } |
| | | |
| | | try |
| | | { |
| | | var start3 = dtp30.SelectedDateTime ?? DateTime.Now; |
| | | var end3 = dtp31.SelectedDateTime ?? DateTime.Now; |
| | | RefreshChart3(start3, end3); |
| | | } |
| | | catch { } |
| | | } |
| | | |
| | | private void Button_Click(object sender, RoutedEventArgs e) |
| | |
| | | DateTime start, end; |
| | | switch (btn.Name) |
| | | { |
| | | case "btnAll": |
| | | RefreshAll(); |
| | | break; |
| | | case "btn0": |
| | | start = dtp00.SelectedDateTime ?? DateTime.Now; |
| | | end = dtp01.SelectedDateTime ?? DateTime.Now; |
| | |
| | | } |
| | | |
| | | |
| | | private List<SerialData> SelectSerialDataByTime(DateTime start, DateTime end) |
| | | private List<SerialData> SelectSerialDataByTime(string model, DateTime start, DateTime end) |
| | | { |
| | | var s1 = DateTime.Now; |
| | | string[] files = GetDbFiles(BaseFolder, start, end); |
| | |
| | | { |
| | | return new List<SerialData>(); |
| | | } |
| | | string sql = $"SELECT * FROM serialData WHERE time BETWEEN '{start:yyyy-MM-dd HH:mm:ss}' AND '{end:yyyy-MM-dd HH:mm:ss}' ORDER BY time DESC;"; |
| | | string segment = string.Empty; |
| | | if (!string.IsNullOrEmpty(model)) |
| | | { |
| | | segment = $"AND model = '{model}'"; |
| | | } |
| | | |
| | | string sql = $@"SELECT * FROM serialData WHERE time BETWEEN '{start:yyyy-MM-dd HH:mm:ss}' AND '{end:yyyy-MM-dd HH:mm:ss}' |
| | | {segment} ORDER BY time DESC;"; |
| | | |
| | | DataTable dt = new DataTable(); |
| | | foreach (string file in files) |
| | |
| | | return data; |
| | | } |
| | | |
| | | private List<SerialData> SelectResultDataByTime(DateTime start, DateTime end) |
| | | private List<SerialData> SelectResultDataByTime(string model, DateTime start, DateTime end) |
| | | { |
| | | string[] files = GetDbFiles(BaseFolder, start, end); |
| | | if (files == null || files.Length <= 0) |
| | | { |
| | | return new List<SerialData>(); |
| | | } |
| | | string sql = $"SELECT * FROM testResult WHERE time BETWEEN '{start:yyyy-MM-dd HH:mm:ss}' AND '{end:yyyy-MM-dd HH:mm:ss}';"; |
| | | |
| | | string segment = string.Empty; |
| | | if (!string.IsNullOrEmpty(model)) |
| | | { |
| | | segment = $"AND model = '{model}'"; |
| | | } |
| | | |
| | | string sql = $@"SELECT * FROM testResult WHERE time BETWEEN '{start:yyyy-MM-dd HH:mm:ss}' AND '{end:yyyy-MM-dd HH:mm:ss}' {segment};"; |
| | | |
| | | DataTable dt = new DataTable(); |
| | | foreach (string file in files) |
| | |
| | | { |
| | | dtp00.SelectedDateTime = start; |
| | | dtp01.SelectedDateTime = end; |
| | | string model = modelSelect.SelectedItem?.ToString(); |
| | | Task.Run(() => |
| | | { |
| | | try |
| | |
| | | { |
| | | webview2.CoreWebView2?.ExecuteScriptAsync($"loading0('加载中,请稍后...')"); |
| | | })); |
| | | List<SerialData> datas = SelectResultDataByTime(start, end); |
| | | List<SerialData> datas = SelectResultDataByTime(model, start, end); |
| | | datas.OrderByDescending(e => e.time); |
| | | int all = 0, output = 0; |
| | | HashSet<string> snCache = new HashSet<string>(); |
| | |
| | | { |
| | | dtp10.SelectedDateTime = start; |
| | | dtp11.SelectedDateTime = end; |
| | | string model = modelSelect.SelectedItem?.ToString(); |
| | | Task.Run(() => |
| | | { |
| | | try |
| | |
| | | { |
| | | webview2.CoreWebView2?.ExecuteScriptAsync($"loading1('加载中,请稍后...')"); |
| | | })); |
| | | List<SerialData> datas = SelectResultDataByTime(start, end); |
| | | List<SerialData> datas = SelectResultDataByTime(model, start, end); |
| | | |
| | | datas = datas.OrderByDescending(e => e.time).ToList(); |
| | | Dictionary<string, int?> pieData = new Dictionary<string, int?> { |
| | |
| | | { |
| | | dtp20.SelectedDateTime = start; |
| | | dtp21.SelectedDateTime = end; |
| | | string model = modelSelect.SelectedItem?.ToString(); |
| | | Task.Run(() => |
| | | { |
| | | try |
| | |
| | | { |
| | | webview2.CoreWebView2?.ExecuteScriptAsync($"loading2('加载中,请稍后...')"); |
| | | })); |
| | | List<SerialData> datas = SelectResultDataByTime(start, end); |
| | | List<SerialData> datas = SelectResultDataByTime(model, start, end); |
| | | |
| | | var groups = |
| | | datas.GroupBy(d => d.time.ToString("yyyy-MM-dd")); |
| | |
| | | { |
| | | dtp30.SelectedDateTime = start; |
| | | dtp31.SelectedDateTime = end; |
| | | string model = modelSelect.SelectedItem?.ToString(); |
| | | Task.Run(() => |
| | | { |
| | | try |
| | |
| | | webview2.CoreWebView2?.ExecuteScriptAsync($"loading3('加载中,请稍后...')"); |
| | | })); |
| | | var st = DateTime.Now; |
| | | List<SerialData> datas = SelectSerialDataByTime(start, end); |
| | | List<SerialData> datas = SelectSerialDataByTime(model, start, end); |
| | | var s2 = DateTime.Now; |
| | | log.Info($"RefreshChart3 Data Cast {(s2 - st).TotalMilliseconds}"); |
| | | |
| | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | private void modelSelect_SelectionChanged(object sender, SelectionChangedEventArgs e) |
| | | { |
| | | if (e.AddedItems.Count > 0) |
| | | { |
| | | IniFileHelper.WriteIniData("Config", "Model", e.AddedItems[0].ToString(), iniFile); |
| | | } |
| | | } |
| | | } |
| | | } |