diff --git a/View/HistoryRecordsView.xaml b/View/HistoryRecordsView.xaml
index be577a0..db1ae10 100644
--- a/View/HistoryRecordsView.xaml
+++ b/View/HistoryRecordsView.xaml
@@ -4,12 +4,60 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:viewmodel="clr-namespace:DyeingComputer.ViewModel"
+ xmlns:lang="clr-namespace:DyeingComputer.Properties"
xmlns:lvc="clr-namespace:LiveChartsCore.SkiaSharpView.WPF;assembly=LiveChartsCore.SkiaSharpView.WPF"
mc:Ignorable="d"
d:DataContext="{d:DesignInstance Type=viewmodel:HistoryRecordsViewModel}"
d:DesignHeight="630" d:DesignWidth="1280">
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/View/HistoryRecordsView.xaml.cs b/View/HistoryRecordsView.xaml.cs
index 5f722cf..bdb5524 100644
--- a/View/HistoryRecordsView.xaml.cs
+++ b/View/HistoryRecordsView.xaml.cs
@@ -1,9 +1,14 @@
using DyeingComputer.ViewModel;
+using ScottPlot.Hatches;
using System;
using System.Collections.Generic;
+using System.Data;
using System.Linq;
+using System.Net;
using System.Text;
+using System.Threading;
using System.Threading.Tasks;
+using System.Timers;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
@@ -13,6 +18,7 @@ using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
+using static DyeingComputer.UserClass.SqliteHelper;
namespace DyeingComputer.View
{
@@ -21,10 +27,34 @@ namespace DyeingComputer.View
///
public partial class HistoryRecordsView : UserControl
{
+ private SQLiteHelper SQLiteHelpers = null; //定义数据库
+ private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\800COMPUTER.db"; //数据库路径
+
+ DataTable GRIDDB = new DataTable();
public HistoryRecordsView()
{
InitializeComponent();
DataContext = new HistoryRecordsViewModel();
+
+ SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
+ SQLiteHelpers.Open(); //打开数据库
+ GRIDDB = SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime > '" + DateTime.Now.AddDays(-30).ToString("yyyy/MM/dd HH:mm:ss") + "order by StartTime'", null).Tables[0];
+ SQLiteHelpers.Close();
+
+ gridH.ItemsSource = GRIDDB.DefaultView;
}
+ private void Grid_SelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ int rownum = gridH.SelectedIndex;//获取鼠标选中行并定义变量
+ if (rownum != -1)//判断鼠标定位是否有效
+ {
+ HistoryRecordsViewModel.name = (gridH.Columns[0].GetCellContent(gridH.Items[rownum]) as TextBlock).Text;//定位第0列,
+ HistoryRecordsViewModel.stime = (gridH.Columns[5].GetCellContent(gridH.Items[rownum]) as TextBlock).Text;//定位第1列,
+ HistoryRecordsViewModel.etime = (gridH.Columns[6].GetCellContent(gridH.Items[rownum]) as TextBlock).Text;//定位第6列
+ HistoryRecordsViewModel.history_ = true;
+ // chart.Series = HistoryRecordsViewModel.Series;
+ }
+ }
+
}
}
diff --git a/ViewModel/HistoryRecordsViewModel.cs b/ViewModel/HistoryRecordsViewModel.cs
index 3081060..5c6ad7e 100644
--- a/ViewModel/HistoryRecordsViewModel.cs
+++ b/ViewModel/HistoryRecordsViewModel.cs
@@ -14,12 +14,19 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static DyeingComputer.UserClass.SqliteHelper;
+using ScottPlot.Hatches;
+using System.Windows.Controls;
+using ScottPlot;
+using System.Windows.Threading;
+using ScottPlot.Statistics;
+using System.Management.Instrumentation;
namespace DyeingComputer.ViewModel
{
public partial class HistoryRecordsViewModel : ObservableObject
{
- public ISeries[] Series { get; set; }
+
+ public static ISeries[] Series { get; set; }
//x轴时间格式
public Axis[] XAxes { get; set; } =
{
@@ -97,92 +104,128 @@ namespace DyeingComputer.ViewModel
//new AnimatableAxisBounds
};
- private readonly Random _r = new Random();
- private readonly ObservableCollection MTT_values;
- private readonly ObservableCollection MTL_values;
- private readonly ObservableCollection MTH_values;
- private readonly ObservableCollection MST_values;
- private readonly ObservableCollection MUT_values;
- private readonly ObservableCollection STTA_values;
- private readonly ObservableCollection STLA_values;
- private readonly ObservableCollection STTB_values;
- private readonly ObservableCollection STLB_values;
- private readonly ObservableCollection STTC_values;
- private readonly ObservableCollection STLC_values;
+ private Random _r = new Random();
+ private ObservableCollection MTT_values;
+ private ObservableCollection MTL_values;
+ private ObservableCollection MTH_values;
+ private ObservableCollection MST_values;
+ private ObservableCollection MUT_values;
+ private ObservableCollection STTA_values;
+ private ObservableCollection STLA_values;
+ private ObservableCollection STTB_values;
+ private ObservableCollection STLB_values;
+ private ObservableCollection STTC_values;
+ private ObservableCollection STLC_values;
private SQLiteHelper SQLiteHelpers = null; //定义数据库
private readonly string ChartAdress = Environment.CurrentDirectory + "\\DataBase\\Chart.db"; //数据库路径
- DataTable CDB = new DataTable();
+ public DataTable CDB = new DataTable();
private int CDB_Count;//长度
public HistoryRecordsViewModel()
{
- if (MainWindowViewModel.WorkNumder.ToString() != "----------")
- {
- SQLiteHelpers = new SQLiteHelper(ChartAdress); //数据库连接路径
- SQLiteHelpers.Open(); //打开数据库
- CDB = SQLiteHelpers.ExecuteDataSet("select * from Chart where DYELOT = '" + MainWindowViewModel.WorkNumder + "'order by Time", null).Tables[0];
- SQLiteHelpers.Close();
- CDB_Count = CDB.Rows.Count;
+ string Sys_Time = DateTime.Now.AddDays(-2).ToString("yyyy/MM/dd HH:mm:ss");
+ SQLiteHelpers = new SQLiteHelper(ChartAdress); //数据库连接路径
+ SQLiteHelpers.Open(); //打开数据库
+ CDB = SQLiteHelpers.ExecuteDataSet("select * from Chart where Time > '" + Sys_Time + "'order by Time", null).Tables[0];
+ SQLiteHelpers.Close();
+ CDB_Count = CDB.Rows.Count;
- var MTT_items = new List();
- var MTL_items = new List();
- var MTH_items = new List();
- var MST_items = new List();
- var MUT_items = new List();
- var STTA_items = new List();
- var STLA_items = new List();
- var STTB_items = new List();
- var STLB_items = new List();
- var STTC_items = new List();
- var STLC_items = new List();
- for (var i = 0; i < CDB_Count; i++)
- {
- DateTime TIME = Convert.ToDateTime(CDB.Rows[i].Field("Time"));
- MTT_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("MTT")));
- MTL_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("MTL")));
- MTH_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("MTH")));
- MST_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("MST")));
- MUT_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("MUT")));
- if (MainWindowViewModel.SM01 == 1)
- {
- STTA_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("STTA")));
- STLA_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("STLA")));
- }
- if (MainWindowViewModel.SM02 == 1)
- {
- STTB_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("STTB")));
- STLB_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("STLB")));
- }
- if (MainWindowViewModel.SM03 == 1)
- {
- STTC_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("STTC")));
- STLC_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("STLC")));
- }
- }
+ Chart_View();
+ CountDown();
+ }
+ public static bool history_ = false;
+ public static string name;
+ public static string stime;
+ public static string etime;
+ public void History()
+ {
+ SQLiteHelpers = new SQLiteHelper(ChartAdress); //数据库连接路径
+ SQLiteHelpers.Open(); //打开数据库
+ CDB = SQLiteHelpers.ExecuteDataSet("select * from Chart where DYELOT = '" + name + "'order by Time", null).Tables[0];
+ SQLiteHelpers.Close();
+ CDB_Count = CDB.Rows.Count;
- MTT_values = new ObservableCollection(MTT_items);
- MTL_values = new ObservableCollection(MTL_items);
- MTH_values = new ObservableCollection(MTH_items);
- MST_values = new ObservableCollection(MST_items);
- MUT_values = new ObservableCollection(MUT_items);
+ Chart_View();
+ }
+ public void CountDown()
+ {
+ DispatcherTimer timer1s = new DispatcherTimer//初始化循环,每1秒调用一次Tick
+ {
+ Interval = TimeSpan.FromSeconds(1)//秒
+ };
+ timer1s.Tick += Tick_Event_1S;
+ timer1s.Start();
+ }
+ void Tick_Event_1S(object sender, EventArgs e)//Tick_Event周期执行事件1S
+ {
+ if (history_)
+ {
+ History();
+ history_ = false;
+ }
+ }
+
+ public void Chart_View()
+ {
+ var MTT_items = new List();
+ var MTL_items = new List();
+ var MTH_items = new List();
+ var MST_items = new List();
+ var MUT_items = new List();
+ var STTA_items = new List();
+ var STLA_items = new List();
+ var STTB_items = new List();
+ var STLB_items = new List();
+ var STTC_items = new List();
+ var STLC_items = new List();
+ for (var i = 0; i < CDB_Count; i++)
+ {
+ DateTime TIME = Convert.ToDateTime(CDB.Rows[i].Field("Time"));
+ MTT_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("MTT")));
+ MTL_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("MTL")));
+ MTH_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("MTH")));
+ MST_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("MST")));
+ MUT_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("MUT")));
if (MainWindowViewModel.SM01 == 1)
{
- STTA_values = new ObservableCollection(STTA_items);
- STLA_values = new ObservableCollection(STLA_items);
+ STTA_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("STTA")));
+ STLA_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("STLA")));
}
if (MainWindowViewModel.SM02 == 1)
{
- STTB_values = new ObservableCollection(STTB_items);
- STLB_values = new ObservableCollection(STLB_items);
+ STTB_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("STTB")));
+ STLB_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("STLB")));
}
if (MainWindowViewModel.SM03 == 1)
{
- STTC_values = new ObservableCollection(STTC_items);
- STLC_values = new ObservableCollection(STLC_items);
+ STTC_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("STTC")));
+ STLC_items.Add(new DateTimePoint(TIME, CDB.Rows[i].Field("STLC")));
}
- Series = new ISeries[]
- {
+ }
+
+ MTT_values = new ObservableCollection(MTT_items);
+ MTL_values = new ObservableCollection(MTL_items);
+ MTH_values = new ObservableCollection(MTH_items);
+ MST_values = new ObservableCollection(MST_items);
+ MUT_values = new ObservableCollection(MUT_items);
+ if (MainWindowViewModel.SM01 == 1)
+ {
+ STTA_values = new ObservableCollection(STTA_items);
+ STLA_values = new ObservableCollection(STLA_items);
+ }
+ if (MainWindowViewModel.SM02 == 1)
+ {
+ STTB_values = new ObservableCollection(STTB_items);
+ STLB_values = new ObservableCollection(STLB_items);
+ }
+ if (MainWindowViewModel.SM03 == 1)
+ {
+ STTC_values = new ObservableCollection(STTC_items);
+ STLC_values = new ObservableCollection(STLC_items);
+ }
+ Series = new ISeries[]
+ {
new LineSeries
{
Name = Properties.Resources.MasterCylinder +"PH",
@@ -304,8 +347,7 @@ namespace DyeingComputer.ViewModel
LineSmoothness = 0,
ScalesYAt = 1,
}, //附缸3 液位
- };
- }
+ };
}
}
}