PageChartManage.cs 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using BLL.Dto.DataDto;
  11. using BLL.Manager;
  12. using Helper;
  13. using HZY.Framework.DependencyInjection;
  14. using Sunny.UI;
  15. namespace Scada.Page
  16. {
  17. public partial class PageChartManage : UIPage, ISingletonSelfDependency
  18. {
  19. private readonly DataManager _dataManager;
  20. public PageChartManage(DataManager dataManager)
  21. {
  22. InitializeComponent();
  23. this._dataManager = dataManager;
  24. this.dtp_Start.Value = DateTime.Now.AddDays(-1);
  25. this.dtp_End.Value = DateTime.Now;
  26. UILineOption uILineOption = new UILineOption
  27. {
  28. ToolTip = { Visible = true },
  29. Title = new UITitle { Text = "" },
  30. Legend = new UILegend
  31. {
  32. Orient = UIOrient.Horizontal,
  33. Top = UITopAlignment.Top,
  34. Left = UILeftAlignment.Left,
  35. },
  36. XAxisType = UIAxisType.DateTime,
  37. XAxis = { Name = "日期", AxisLabel = { DateTimeFormat = "HH:mm:ss" } },
  38. YAxis = { Name = "数值", AxisLabel = { DecimalPlaces = 1 } }
  39. };
  40. string[] legendData = {
  41. "脱脂喷淋泵压力值",
  42. "脱脂pH值",
  43. "粗洗喷淋泵压力值",
  44. "陶化喷淋泵压力值",
  45. "精洗喷淋泵压力值",
  46. "水分炉测量温度",
  47. "固化炉测量温度"
  48. };
  49. foreach (var data in legendData)
  50. {
  51. uILineOption.Legend.AddData(data);
  52. AddSeries(uILineOption, data);
  53. }
  54. lc_Chart.SetOption(uILineOption);
  55. }
  56. private void AddSeries(UILineOption uILineOption, string data)
  57. {
  58. var series = uILineOption.AddSeries(new UILineSeries(data));
  59. series.Symbol = UILinePointSymbol.Circle;
  60. series.SymbolSize = 4;
  61. series.SymbolLineWidth = 2;
  62. //series.YAxisDecimalPlaces = 1;
  63. series.Smooth = true;
  64. }
  65. private void PageChartManage_Load(object sender, EventArgs e)
  66. {
  67. }
  68. private async void btn_QueryData_Click(object sender, EventArgs e)
  69. {
  70. var t1 = this.dtp_Start.Value;
  71. var t2 = this.dtp_End.Value;
  72. if (t1 >= t2)
  73. {
  74. UIMessageBox.ShowError("开始时间不能大于或等于结束时间");
  75. return;
  76. }
  77. QueryDataDto queryDataDto = new QueryDataDto
  78. {
  79. StartTime = t1,
  80. EndTime = t2
  81. };
  82. ClearChartData(lc_Chart.Option);
  83. var res = await _dataManager.GetDataListByTimeAsync(queryDataDto);
  84. if(res.Result == SystemEnums.Result.Success)
  85. {
  86. for(int i = 0;i < res.Data.Count; i++)
  87. {
  88. if(i>30)
  89. {
  90. break;
  91. }
  92. var dt = res.Data[i].InsertTime;
  93. var dataRes = res.Data[i];
  94. lc_Chart.Option.AddData("脱脂喷淋泵压力值", dt, double.Parse(dataRes.脱脂喷淋泵压力值));
  95. lc_Chart.Option.AddData("脱脂PH值", dt, double.Parse(dataRes.脱脂PH值));
  96. lc_Chart.Option.AddData("粗洗喷淋泵压力值", dt, double.Parse(dataRes.粗洗喷淋泵压力值));
  97. lc_Chart.Option.AddData("陶化喷淋泵压力值", dt, double.Parse(dataRes.陶化喷淋泵压力值));
  98. lc_Chart.Option.AddData("精洗喷淋泵压力值", dt, double.Parse(dataRes.精洗喷淋泵压力值));
  99. lc_Chart.Option.AddData("水分炉测量温度", dt, double.Parse(dataRes.水分炉测量温度));
  100. lc_Chart.Option.AddData("固化炉测量温度", dt, double.Parse(dataRes.固化炉测量温度));
  101. }
  102. }
  103. lc_Chart.Refresh();
  104. }
  105. private void ClearChartData(UILineOption option)
  106. {
  107. // 清空所有系列的数据点
  108. //foreach (var series in option.Series)
  109. //{
  110. // var UILineSeries = series.Value;
  111. //}
  112. }
  113. }
  114. }