123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- using Microsoft.Win32;
- using NEIntelligentControl2.Models.Alarm;
- using NEIntelligentControl2.Models.Messages;
- using NEIntelligentControl2.Models.Windturbine;
- using System;
- using System.Collections.Generic;
- using System.Configuration;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Imaging;
- using System.Windows.Navigation;
- using System.Windows.Shapes;
- namespace NEIntelligentControl2.Views.Alarm
- {
- /// <summary>
- /// 风机历史报警
- /// </summary>
- public partial class WindturbineHistoryAlarm : UserControl
- {
- private string _Url;
- private WEBHelper _WEBHelper;
- private List<AlarmInfo> _CurrentAlarmInfos;
- public WindturbineInfo WindturbineInfo { get; set; }
- /// <summary>
- /// 是否是预警
- /// </summary>
- public bool IsCustom { get; set; }
- public WindturbineHistoryAlarm()
- {
- InitializeComponent();
- _WEBHelper = App.ServiceProvider.GetService(typeof(WEBHelper)) as WEBHelper;
- _TBStartTime.Text = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd HH:mm:ss");
- _TBEndTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
- try
- {
- #if (DEBUG)
- _Url = ConfigurationManager.AppSettings["AlarmPathDebug"];
- #else
- _Url = ConfigurationManager.AppSettings["AlarmPath"];
- #endif
- }
- catch (Exception ex)
- {
- Console.WriteLine("读取配置文件[ServicePath]出错!", ex);
- }
- }
- private void UserControl_Loaded(object sender, RoutedEventArgs e)
- {
- Search();
- }
- private void Search()
- {
- DateTime.TryParse(_TBStartTime.Text, out DateTime ds);
- DateTime.TryParse(_TBEndTime.Text, out DateTime de);
- string start = ds.ToString("yyyy-MM-dd HH:mm:ss");
- string end = de.ToString("yyyy-MM-dd HH:mm:ss");
- Task.Run(() =>
- {
- _IBMain.Inof("查询数据...");
- var c1 = IsCustom ? "custom" : "windturbine";
- var ur = $"{_Url}/alarm/history/page?pagenum=1&windturbineid={WindturbineInfo.WindturbineId}&category1={c1}&pagesize=7000&stationid={WindturbineInfo.StationId}&starttime={start}&endtime={end}";
- try
- {
- var vs = _WEBHelper.HttpGetJSON<AlarmPage>(ur);
- if (vs == null || vs.Records == null)
- {
- vs.Records = new List<AlarmInfo>();
- }
- Dispatcher.Invoke(() =>
- {
- _DGMain.ItemsSource = vs.Records;
- });
- _CurrentAlarmInfos = vs.Records;
- _IBMain.Success();
- }
- catch (Exception e)
- {
- _IBMain.Warning($"查询数据出现错误:{e.Message}");
- }
- });
- }
- private void TextBox_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.Key != Key.Enter) return;
- Search();
- }
- private void Button_Click(object sender, RoutedEventArgs e)
- {
- switch (((Control)sender).Tag)
- {
- case "output":
- Output();
- break;
- case "ok":
- Search();
- break;
- default:return;
- }
- }
- private void Output()
- {
- SaveFileDialog dialog = new SaveFileDialog
- {
- Title = "保存csv文件",
- Filter = "csv文件(*.csv) |*.csv |所有文件(*.*) |*.*",
- FilterIndex = 1
- };
- var v = dialog.ShowDialog();
- if (v != true) return;
- var path = dialog.FileName;
- OutputToFile(path);
- }
- private void OutputToFile(string path)
- {
- Task.Run(() =>
- {
- try
- {
- _IBMain.Inof("导出数据...");
- if (File.Exists(path))
- {
- File.Delete(path);
- }
- using (StreamWriter sw = new StreamWriter(path, false, Encoding.UTF8))
- {
- sw.WriteLine("时间,设备,报警信息,级别,报警类型,停机类型,故障类型,故障原因");
- if (_CurrentAlarmInfos == null || _CurrentAlarmInfos.Count <= 0)
- {
- _IBMain.Success();
- return;
- }
- foreach (var v in _CurrentAlarmInfos)
- {
- sw.WriteLine(string.Format("{0},{1},{2},{3},{4},{5},{6},{7}", v.AlertTimeTimeString,
- v.ObjectName, v.AlertText, v.RankString, v.Category1String, "", "", ""));
- }
- }
- _IBMain.Success();
- Dispatcher.Invoke(() => MessageWindow.ShowMessage("数据导出成功!"));
- }
- catch (Exception ex)
- {
- _IBMain.Warning($"导出数据出现错误:{ex.Message}");
- }
- });
- }
- }
- }
|