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

188 lines
9.1 KiB

using MaterialDesignThemes.Wpf;
using OpenTK.Graphics.ES11;
using SunlightCentralizedControlManagement_SCCM_.ViewModel;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
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.Markup;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Xaml;
using static SunlightCentralizedControlManagement_SCCM_.UserClass.SqliteHelper;
namespace SunlightCentralizedControlManagement_SCCM_.View
{
/// <summary>
/// CurveView.xaml 的交互逻辑
/// </summary>
public partial class CurveView : UserControl
{
public static DataTable WorkOrder = new DataTable(); //物料缓存
public static string CurveDiagram;
private readonly UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(Convert.ToString(System.AppDomain.CurrentDomain.BaseDirectory) + "SCCM.ini");
private string SYS_machines =null;
public CurveView()
{
InitializeComponent();
Sdatepicker.Language = XmlLanguage.GetLanguage(Configini.IniReadvalue("SYS", "Language"));
}
public static object Selet_Machines(DataTable DB, string name, int key)//查询
{
try
{
lock (DB)
{
DataRow drEmployee = DB.Rows[key];
object index = drEmployee.Field<object>(name);
return index;
}
}
catch (Exception)
{
// LogGing.LogGingDATA("SDTD:" + ex.ToString());
return "ERR";
}
}
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
Sdatepicker.Text = DateTime.Now.ToString("yyyy/MM/dd");
Picture.Content = new View.CurveDiagram(false,"","","", CurveDiagram);
Griddata.ItemsSource = MainWindowViewModel.Machines.DefaultView;
}
private void WorkOrderNumder_Click(object sender, RoutedEventArgs e)
{
CurveDiagram =Select_WorkOrderNumder.Text;
Picture.Content = new View.CurveDiagram(true, "", "", "", CurveDiagram);
}
private void ListViewItem_Before(object sender, MouseButtonEventArgs e)//前一天
{
Sdatepicker.Text = DateTime.Parse(Sdatepicker.Text).AddDays(-1).ToString("yyyy/MM/dd");
if (!string.IsNullOrEmpty(SYS_machines))
{
Picture.Content = new View.CurveDiagram(false, SYS_machines, DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd"),
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd"), CurveDiagram);
WorkOrder = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd") + "' and StartTime>='" +
DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd") + "'and Machines='" +
SYS_machines + "'", null).Tables[0]; //读取表写入缓存
GridWorkOrder.ItemsSource = WorkOrder.DefaultView;
}
else
{
WorkOrder = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd") + "' and StartTime>='" +
DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd") + "'", null).Tables[0]; //读取表写入缓存
GridWorkOrder.ItemsSource = WorkOrder.DefaultView;
}
}
private void ListViewItem_Today(object sender, MouseButtonEventArgs e)//今天
{
Sdatepicker.Text = DateTime.Now.ToString("yyyy/MM/dd");
if (!string.IsNullOrEmpty(SYS_machines))
{
Picture.Content = new View.CurveDiagram(false, SYS_machines, DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd"),
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd"), CurveDiagram);//刷新图表
WorkOrder = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd") + "' and StartTime>='" +
DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd") + "'and Machines='" +
SYS_machines + "'", null).Tables[0]; //读取表写入缓存
GridWorkOrder.ItemsSource = WorkOrder.DefaultView; }
else
{
WorkOrder = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd") + "' and StartTime>='" +
DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd") + "'", null).Tables[0]; //读取表写入缓存
GridWorkOrder.ItemsSource = WorkOrder.DefaultView;
}
}
private void ListViewItem_DayAfter(object sender, MouseButtonEventArgs e)//后一天
{
Sdatepicker.Text = DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd");
if (!string.IsNullOrEmpty(SYS_machines))
{
Picture.Content = new View.CurveDiagram(false, SYS_machines, DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd"),
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd"), CurveDiagram);
WorkOrder = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd") + "' and StartTime>='" +
DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd") + "'and Machines='" +
SYS_machines + "'", null).Tables[0]; //读取表写入缓存
GridWorkOrder.ItemsSource = WorkOrder.DefaultView;
}
else
{
WorkOrder = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd") + "' and StartTime>='" +
DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd") + "'", null).Tables[0]; //读取表写入缓存
GridWorkOrder.ItemsSource = WorkOrder.DefaultView;
}
}
private void Griddata_MouseDoubleClick(object sender, MouseButtonEventArgs e)//选择机台
{
int rownum = Griddata.SelectedIndex;//获取鼠标选中行并定义变量
if (rownum != -1)//判断鼠标定位是否有效
{
SYS_machines = (Griddata.Columns[1].GetCellContent(Griddata.Items[rownum]) as TextBlock).Text;//定位第1列,
mac.Text = SYS_machines;
WorkOrder = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where StartTime<='" +
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd") + "' and StartTime>='" +
DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd") + "'and Machines='" +
SYS_machines + "'", null).Tables[0]; //读取表写入缓存
GridWorkOrder.ItemsSource = WorkOrder.DefaultView;
Picture.Content = new View.CurveDiagram(false, SYS_machines, DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd"),
DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd"), CurveDiagram);
}
}
private void GridWorkOrder_MouseDoubleClick(object sender, MouseButtonEventArgs e)//选择料单
{
int rownum = Griddata.SelectedIndex;//获取鼠标选中行并定义变量
if (rownum != -1)//判断鼠标定位是否有效
{
string Cd = (Griddata.Columns[1].GetCellContent(Griddata.Items[rownum]) as TextBlock).Text;//定位第1列,
Select_WorkOrderNumder.Text = Cd;
Picture.Content = new View.CurveDiagram(true, "", "", "", Cd);
}
}
private void Sdatepicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e)//
{
string SysTime = DateTime.Parse(sender.ToString()).ToString("yyyy/MM/dd");
string SysTimeDays = DateTime.Parse(sender.ToString()).AddDays(1).ToString("yyyy/MM/dd");
WorkOrder = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from WorkOrder where " + "StartTime>='" + SysTime + "'and StartTime<='" + SysTimeDays + "'", null).Tables[0]; //读取表写入缓存
GridWorkOrder.ItemsSource = WorkOrder.DefaultView;
}
}
}