using DyeingComputer.UserClass; using DyeingComputer.ViewModel; using DyeingComputer.Windows; using SkiaSharp; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.Entity; 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; using System.Windows.Threading; using System.Xml.Linq; using static DyeingComputer.UserClass.SqliteHelper; using static DyeingComputer.Windows.ViewProgram; using static System.Collections.Specialized.BitVector32; using static System.Net.WebRequestMethods; namespace DyeingComputer.View { /// /// WorkOrder.xaml 的交互逻辑 /// public partial class WorkOrderView : UserControl { public WorkOrderView() { DataContext = new WorkOrderViewModel(); InitializeComponent(); } private void UserControl_Loaded(object sender, RoutedEventArgs e) { //SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 //SQLiteHelpers.Open(); //打开数据库 string S09 = MainWindow.SQLiteHelpers.ExecuteScalar("select value from system where ParameterID = 'S09'", null).ToString(); //读取 string S10 = MainWindow.SQLiteHelpers.ExecuteScalar("select value from system where ParameterID = 'S10'", null).ToString(); string S11 = MainWindow.SQLiteHelpers.ExecuteScalar("select value from system where ParameterID = 'S11'", null).ToString(); string S18 = MainWindow.SQLiteHelpers.ExecuteScalar("select value from system where ParameterID = 'S18'", null).ToString(); //SQLiteHelpers.Close(); if (S09 == "0") WorkOrderView_new.IsEnabled = false;//禁止用户新建 if (S10 == "0") WorkOrderView_del.IsEnabled = false; if (S11 == "0") WorkOrderView_redy.IsEnabled = false; if (S18 == "0") WorkOrderView_lock.IsEnabled = false; TEMPTable.Columns.Add("Time", Type.GetType("System.String")); TEMPTable.Columns.Add("MST", Type.GetType("System.Double")); DispatcherTimer timer1s = new DispatcherTimer//初始化循环,每1秒调用一次Tick { Interval = TimeSpan.FromSeconds(1)//秒 }; timer1s.Tick += Tick_Event_1S; timer1s.Start(); WorkOrder_Numder = null; Process_Name = null; Process_id = null; _lock = null; } void Tick_Event_1S(object sender, EventArgs e) { if(!SQL_UPDATE) Workorder_sql(); } //private SQLiteHelper SQLiteHelpers = null; //定义数据库 //private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\800COMPUTER.db"; //数据库路径 DataSet sql; //内存数据缓存 Dictionary updata_temp = new Dictionary();//缓存函数 DataTable dat = new DataTable(); DataTable TEMPTable = new DataTable(); string WorkOrder_Numder; string Process_Name; string Process_id; string _lock; string Dyelot; bool SQL_UPDATE = false; int inf_cont = 0; public void Workorder_sql() { //SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 //SQLiteHelpers.Open(); //打开数据库 string sql_script = "select * from WorkOrder where EndTime > '" + DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'"; if (sql != null) sql.Clear(); //清空缓存 sql = MainWindow.SQLiteHelpers.ExecuteDataSet(sql_script, null); //读取计划表写入缓存 if (sql != null) Grid.ItemsSource = sql.Tables[0].DefaultView; //转换显示计划表 //SQLiteHelpers.Close(); //关闭连接 // WorkOrder_Numder = null; // Process_Name = null; // Process_id = null; // _lock = null; } private void WorkOrderView_lock_Click(object sender, RoutedEventArgs e)//锁定按钮 { if (!MainWindowViewModel._Lock_bool) { if (WorkOrder_Numder == null) return; //SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 // SQLiteHelpers.Open(); //打开数据库 updata_temp.Clear();//使用前清理缓存 if (_lock == "0") //改变lock的状态 { updata_temp.Add("lock", 1); MainWindow.SQLiteHelpers.Update("WorkOrder", updata_temp, "WorkOrder='" + WorkOrder_Numder + "'", null); } else { updata_temp.Add("lock", 0); MainWindow.SQLiteHelpers.Update("WorkOrder", updata_temp, "WorkOrder='" + WorkOrder_Numder + "'", null); } //SQLiteHelpers.Close(); Workorder_sql(); } else { MainWindowViewModel.USERinf(Properties.Resources.LockedState + "\n" + Properties.Resources.TCOIR + "\n" + Properties.Resources.PCATRIL); } } private void WorkOrderView_new_Click(object sender, RoutedEventArgs e)//新建按钮 { if (!MainWindowViewModel._Lock_bool) { ViewProgram viewProgram = new ViewProgram(); viewProgram.AddressUpdated += new ViewProgram.AddressUpdateHandler(Address_ButtonClicked); viewProgram.ShowDialog(); } else { MainWindowViewModel.USERinf(Properties.Resources.LockedState + "\n" + Properties.Resources.TCOIR + "\n" + Properties.Resources.PCATRIL); } } private void Address_ButtonClicked(object sender, AddressUpdateEventArgs e)//新建返回结果 { SQL_UPDATE = false; WorkOrder_Numder = MainWindowViewModel.S01 + "_" + DateTime.Now.ToString("yyMMddHHmmss"); Process_id = e.ID; Process_Name = e.NAME; Dictionary WorkOrder_new = new Dictionary();//缓存函数 WorkOrder_new.Add("WorkOrder", WorkOrder_Numder); WorkOrder_new.Add("Dyelot", WorkOrder_Numder); WorkOrder_new.Add("ProgramName", Process_Name); WorkOrder_new.Add("StartTime", DateTime.Now.AddMinutes(1).ToString("yyyy/MM/dd HH:mm:ss")); WorkOrder_new.Add("EndTime", (DateTime.Now.AddMinutes(1) + TimeSpan.Parse(e.TIME)).ToString("yyyy/MM/dd HH:mm:ss")); WorkOrder_new.Add("Time", e.TIME); WorkOrder_new.Add("State", "101"); WorkOrder_new.Add("ProgramID", Process_id); WorkOrder_new.Add("Machines", MainWindowViewModel.S01); WorkOrder_new.Add("lock", "0"); WorkOrder_new.Add("color", "#FFFFFFFF"); WorkOrder_new.Add("USER", MainWindowViewModel.S01); //SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 //SQLiteHelpers.Open(); //打开数据库 /*插入表头信息*/ MainWindow.SQLiteHelpers.InsertData("WorkOrder", WorkOrder_new);// /*获取转并插入步骤信息*/ DataTable step_dat = MainWindow.SQLiteHelpers.ExecuteDataSet( "select * from ProgramSteps where ProgramID='" + Process_id + "'", null).Tables[0]; //读取表写入缓存 step_dat.Columns.Add("WorkOrder", System.Type.GetType("System.String")); step_dat.Columns.Add("DYELOT", System.Type.GetType("System.String")); int a = step_dat.Rows.Count; for (int i = 0; i < a; i++) { DataRow dt = step_dat.Rows[i];//行转 dt.BeginEdit(); //添加订单号 dt["WorkOrder"] = WorkOrder_Numder; dt["DYELOT"] = WorkOrder_Numder; dt.EndEdit(); MainWindow.SQLiteHelpers.InsertData("WorkorderSteps", MainWindow.SQLiteHelpers.ToDictionary(dt));//行插入 } //SQLiteHelpers.Close(); } private void WorkOrderView_del_Click(object sender, RoutedEventArgs e)//删除按钮 { if (!MainWindowViewModel._Lock_bool) { if (WorkOrder_Numder == null) return; ///弹窗提示确认删除 if (System.Windows.Forms.MessageBox.Show(Properties.Resources.Confirm + Properties.Resources.Delete + WorkOrder_Numder, "Delete ", System.Windows.Forms.MessageBoxButtons.OKCancel, System.Windows.Forms.MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK) { ///执行删除 //SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 // SQLiteHelpers.Open(); //打开数据库 MainWindow.SQLiteHelpers.Delete("WorkOrder", "WorkOrder='" + WorkOrder_Numder + "'", null); //SQLiteHelpers.Close(); Workorder_sql(); } SQL_UPDATE = false; } else { MainWindowViewModel.USERinf(Properties.Resources.LockedState + "\n" + Properties.Resources.TCOIR + "\n" + Properties.Resources.PCATRIL); } } private void WorkOrderView_redy_Click(object sender, RoutedEventArgs e)//重染按钮 { if (!MainWindowViewModel._Lock_bool) { string WorkNum = MainWindowViewModel.WorkNumder.ToString(); if (WorkNum != null) { if (System.Windows.Forms.MessageBox.Show(Properties.Resources.Confirm + Properties.Resources.Redye + WorkNum, "Redye ", System.Windows.Forms.MessageBoxButtons.OKCancel, System.Windows.Forms.MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK) { ///执行重染 } } SQL_UPDATE = false; } else { MainWindowViewModel.USERinf(Properties.Resources.LockedState + "\n" + Properties.Resources.TCOIR + "\n" + Properties.Resources.PCATRIL); } } private void Grid_SelectionChanged(object sender, SelectionChangedEventArgs e)//表格选择事件 { int rownum = Grid.SelectedIndex;//获取鼠标选中行并定义变量 if (rownum != -1)//判断鼠标定位是否有效 { WorkOrder_Numder = (Grid.Columns[0].GetCellContent(Grid.Items[rownum]) as TextBlock).Text;//定位第0列, Process_Name = (Grid.Columns[1].GetCellContent(Grid.Items[rownum]) as TextBlock).Text;//定位第1列, Process_id = (Grid.Columns[2].GetCellContent(Grid.Items[rownum]) as TextBlock).Text;//定位第0列, _lock = (Grid.Columns[3].GetCellContent(Grid.Items[rownum]) as TextBlock).Text;//定位第1列, Dyelot = (Grid.Columns[4].GetCellContent(Grid.Items[rownum]) as TextBlock).Text;//定位第1列, SQL_UPDATE = true; //SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 //SQLiteHelpers.Open(); //打开数据库 dat = MainWindow.SQLiteHelpers.ExecuteDataSet( "select * from WorkorderSteps where WorkOrder='" + WorkOrder_Numder + "'", null).Tables[0]; //读取表写入缓存 //SQLiteHelpers.Close(); //关闭连接 inf_cont = 0; TEMP(); } } private void Image_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { ((System.Windows.Controls.Image)sender).RenderTransform = new ScaleTransform(0.9, 0.9); } private void Image_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { SQL_UPDATE = false; ((System.Windows.Controls.Image)sender).RenderTransform = Transform.Identity; if (string.IsNullOrEmpty(WorkOrder_Numder)) return; inf_cont++; if (inf_cont == 1) { DataGrid dataGrid = new DataGrid(); dataGrid.Columns.Add(new DataGridTextColumn() { Header = Properties.Resources.Step, Width = 60, Binding = new Binding("Step") }); dataGrid.Columns.Add(new DataGridTextColumn() { Header = Properties.Resources.Directives, Width = 300, Binding = new Binding("StepName") }); dataGrid.Columns.Add(new DataGridTextColumn() { Header = Properties.Resources.ParameterSet, Width = 500, Binding = new Binding("ParameterName") }); dataGrid.Columns.Add(new DataGridTextColumn() { Header = Properties.Resources.Subroutine +1, Width = 300, Binding = new Binding("StepName_S1") }); dataGrid.Columns.Add(new DataGridTextColumn() { Header = Properties.Resources.Subroutine +2, Width = 300, Binding = new Binding("StepName_S2") }); dataGrid.Columns.Add(new DataGridTextColumn() { Header = Properties.Resources.Subroutine +3, Width = 300, Binding = new Binding("StepName_S3") }); dataGrid.AutoGenerateColumns = false; dataGrid.CanUserReorderColumns = false; dataGrid.CanUserSortColumns = false; dataGrid.CanUserResizeRows = false; dataGrid.CanUserResizeColumns = false; dataGrid.ColumnHeaderHeight = 40; dataGrid.FontSize = 25; dataGrid.HorizontalGridLinesBrush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 201, 201, 201)); dataGrid.VerticalGridLinesBrush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 201, 201, 201)); //SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 //SQLiteHelpers.Open(); //打开数据库 string sql_script = "select * from WorkorderSteps where WorkOrder='" + WorkOrder_Numder + "'"; DataTable inf = MainWindow.SQLiteHelpers.ExecuteDataSet(sql_script, null).Tables[0]; //读取表写入缓存 //SQLiteHelpers.Close(); //关闭连接 dataGrid.ItemsSource = inf.DefaultView; //转换显示计划表 Picture.Content = dataGrid; }//步骤细节 else if (inf_cont == 2) { DataGrid dataGrid_ = new DataGrid(); dataGrid_.Columns.Add(new DataGridTextColumn() { Header = "", Width = Picture.ActualWidth / 2 , Binding = new Binding("NAME") }); dataGrid_.Columns.Add(new DataGridTextColumn() { Header = "", Width = Picture.ActualWidth / 2 - 25, Binding = new Binding("Value") }); dataGrid_.AutoGenerateColumns = false; dataGrid_.CanUserReorderColumns = false; dataGrid_.CanUserSortColumns = false; dataGrid_.CanUserResizeRows = false; dataGrid_.CanUserResizeColumns = false; dataGrid_.ColumnHeaderHeight = 40; dataGrid_.FontSize = 25; dataGrid_.HorizontalGridLinesBrush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 201, 201, 201)); dataGrid_.VerticalGridLinesBrush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 201, 201, 201)); //SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 // SQLiteHelpers.Open(); //打开数据库 string sql_script = "select * from Workorder where WorkOrder='" + WorkOrder_Numder + "'"; DataRow inf = MainWindow.SQLiteHelpers.ExecuteDataSet(sql_script, null).Tables[0].Select().First(); //读取表写入缓存 // SQLiteHelpers.Close(); //关闭连接 DataTable dataTable = new DataTable(); dataTable.Columns.Add("NAME", Type.GetType("System.String")); dataTable.Columns.Add("Value", Type.GetType("System.String")); dataTable.Rows.Add(new object[] { Properties.Resources.WorkOrder, inf.Field("WorkOrder")}); dataTable.Rows.Add(new object[] { Properties.Resources.Dyelot, inf.Field("Dyelot") }); dataTable.Rows.Add(new object[] { Properties.Resources.ProcessName, inf.Field("ProgramName") }); dataTable.Rows.Add(new object[] { Properties.Resources.Time, inf.Field("Time") }); dataTable.Rows.Add(new object[] { Properties.Resources.ColorNumber, inf.Field("ColorNumber") }); dataTable.Rows.Add(new object[] { Properties.Resources.ColorName, inf.Field("ColorName") }); dataTable.Rows.Add(new object[] { Properties.Resources.Client, inf.Field("Client") }); dataTable.Rows.Add(new object[] { Properties.Resources.ClothWeight, inf.Field("ClothWeight") }); dataTable.Rows.Add(new object[] { Properties.Resources.ClothSpecies, inf.Field("ClothSpecies") }); dataTable.Rows.Add(new object[] { Properties.Resources.BathRatio, inf.Field("BathRatio") }); dataTable.Rows.Add(new object[] { Properties.Resources.Total, inf.Field("Total") }); dataGrid_.ItemsSource = dataTable.DefaultView; //转换显示计划表 Picture.Content = dataGrid_; }//工单信息 else if (inf_cont == 3) { inf_cont = 0; TEMP(); }//显示曲线 }//信息 private void Image_MouseLeftButtonDown1(object sender, MouseButtonEventArgs e) { ((System.Windows.Controls.Image)sender).RenderTransform = new ScaleTransform(0.9, 0.9); } private void Image_MouseLeftButtonUp1(object sender, MouseButtonEventArgs e) { if (!MainWindowViewModel._Lock_bool) { SQL_UPDATE = false; ((System.Windows.Controls.Image)sender).RenderTransform = Transform.Identity; if (string.IsNullOrEmpty(WorkOrder_Numder)) return; if (_lock == "1") { MessageBoxResult messageBox = System.Windows.MessageBox.Show( Properties.Resources.Process_lock, "800", MessageBoxButton.OK); return; } DataTable WorkorderSteps = new DataTable(); int a; /*检查并写入run信息*/ //SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 // SQLiteHelpers.Open(); //打开数据库 int R_D = MainWindow.SQLiteHelpers.ExecuteDataSet("select * from RUN", null).Tables[0].Rows.Count; //读取表写入缓存 if (R_D > 0)//判断是否有运行中工艺 { //SQLiteHelpers.Close(); //关闭连接 MessageBoxResult messageBoxResult = System.Windows.MessageBox.Show( Properties.Resources.RunningProcess, "800", MessageBoxButton.YesNo); if (messageBoxResult == MessageBoxResult.No) return; if (messageBoxResult == MessageBoxResult.Yes) { if (MainWindowViewModel.S17 == 1) //拒绝操作 { System.Windows.MessageBox.Show(Properties.Resources.refuse, "800", MessageBoxButton.OK); return; } // SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 // SQLiteHelpers.Open(); //打开数据库 } } updata_temp.Clear(); //使用前清缓存 updata_temp.Add("State", 205); MainWindow.SQLiteHelpers.Update("WorkOrder", updata_temp, "WorkOrder='" + WorkOrder_Numder + "'", null); MainWindowViewModel.Dyelot_dat = MainWindow.SQLiteHelpers.ExecuteDataSet("select * from Dyelot where WorkOrder = '" + WorkOrder_Numder + "'", null).Tables[0]; var DT_Set = MainWindow.SQLiteHelpers.ExecuteDataSet("select * from WorkOrderSet where WorkOrder = '" + WorkOrder_Numder + "'", null).Tables[0].Rows[0]; MainWindowViewModel.Updata_dtm("1020", DT_Set.Field("PumpSpeed")); MainWindowViewModel.Updata_dtm("1030", DT_Set.Field("Swing")); MainWindowViewModel.Updata_dtm("1021", DT_Set.Field("Blower")); MainWindowViewModel.Updata_dtm("1025", DT_Set.Field("ClothWheel")); MainWindowViewModel.Updata_dtm("1026", DT_Set.Field("ClothWheel")); MainWindowViewModel.Updata_dtm("1027", DT_Set.Field("ClothWheel")); MainWindowViewModel.Updata_dtm("1028", DT_Set.Field("ClothWheel")); MainWindowViewModel.Updata_dtm("1029", DT_Set.Field("ClothWheel")); MainWindowViewModel.Updata_dtm("1035", DT_Set.Field("ClothWheel")); MainWindowViewModel.Updata_dtm("1036", DT_Set.Field("ClothWheel")); MainWindowViewModel.Updata_dtm("1037", DT_Set.Field("ClothWheel")); MainWindowViewModel.Updata_dtm("1038", DT_Set.Field("ClothWheel")); MainWindowViewModel.Updata_dtm("1039", DT_Set.Field("ClothWheel")); MainWindowViewModel.Updata_dtm("1040", DT_Set.Field("ClothWheel")); MainWindowViewModel.Updata_dtm("1041", DT_Set.Field("ClothWheel")); WorkorderSteps = MainWindow.SQLiteHelpers.ExecuteDataSet( "select * from WorkorderSteps where WorkOrder='" + WorkOrder_Numder + "'", null).Tables[0]; //读取表写入缓存 MainWindowViewModel.ProgramName = Process_Name; MainWindowViewModel.Dyelot = Dyelot; MainWindow.SQLiteHelpers.Delete("RUN", null, null); //删除run信息 a = WorkorderSteps.Rows.Count; for (int i = 0; i < a; i++) { DataRow dr = WorkorderSteps.Rows[i];//行转 dr.BeginEdit(); //添加订单号 dr["ProgramID"] = Process_id; dr["Program"] = MainWindowViewModel.ProgramName; dr.EndEdit(); MainWindow.SQLiteHelpers.InsertData("RUN", MainWindow.SQLiteHelpers.ToDictionary(dr));//行插入 } updata_temp.Clear(); //使用前清缓存 updata_temp.Add("RUN", 1); MainWindow.SQLiteHelpers.Update("RUN", updata_temp, "Step=1", null); //SQLiteHelpers.Close(); //关闭连接 /*触发启动*/ string Numder = WorkorderSteps.Select("Step = 1").First().Field("StepID");// double P1 = WorkorderSteps.Select("Step = 1").First().Field("Parameter1"); double P2 = WorkorderSteps.Select("Step = 1").First().Field("Parameter2"); double P3 = WorkorderSteps.Select("Step = 1").First().Field("Parameter3"); double P4 = WorkorderSteps.Select("Step = 1").First().Field("Parameter4"); double P5 = WorkorderSteps.Select("Step = 1").First().Field("Parameter5"); MainWindowViewModel.RUN_STEPID = Convert.ToInt16(1);//插入步骤号 MainWindowViewModel.STEP_START(Numder, Convert.ToDouble(P1), Convert.ToDouble(P2), Convert.ToDouble(P3), Convert.ToDouble(P4), Convert.ToDouble(P5)); MainWindowViewModel.WORK_RUN = 2; APILog.LOGlog(MainWindowViewModel.WorkNumder.ToString(), "UserActions", "Jump", "STEP = " + MainWindowViewModel.RUN_STEPID + ";StepID=" + Numder + ";P1=" + P1 + ";P2=" + P2 + ";P3=" + P3 + ";P4=" + P4 + ";P5=" + P5); /*选定工艺有效跳转准备 */ if (Process_id != null) //选定工艺有效跳转准备 { MainWindowViewModel.WorkNumder = WorkOrder_Numder; TechnologicalProcessView.workName = Process_id; MainWindowViewModel.SYS_REDYE = 0; MainWindowViewModel.ViewID = 1; var _mainWindow = Application.Current.Windows.Cast().FirstOrDefault(window => window is MainWindow) as MainWindow;//跨页面 _mainWindow.container.Content = new TechnologicalProcessView();//获取控件 } } else { MainWindowViewModel.USERinf(Properties.Resources.LockedState + "\n" + Properties.Resources.TCOIR + "\n" + Properties.Resources.PCATRIL); } }//开始 private void TEMP() { //处理计划温度图表 TEMPTable.Clear(); string TIMET = "00:00:00"; Double MSTT = 30.0; Double TT; Double TC; TEMPTable.Rows.Add(new object[] { TIMET, MSTT }); for (int i = 0; i < dat.Rows.Count; i++) { switch (dat.Rows[i].Field("StepID"))//步骤用时计算 { case "001": TT = MSTT; TC = dat.Rows[i].Field("Parameter2"); if (TC > 9.9 || TC < 0.1) TC = 9.9;//计算限制 MSTT = dat.Rows[i].Field("Parameter1"); TT = Math.Abs(MSTT - TT) / TC * 60; TIMET = Convert.ToDateTime(TIMET).AddSeconds(TT).ToString("HH:mm:ss"); TEMPTable.Rows.Add(new object[] { TIMET, MSTT }); TIMET = Convert.ToDateTime(TIMET).AddMinutes(dat.Rows[i].Field("Parameter3")).ToString("HH:mm:ss"); TEMPTable.Rows.Add(new object[] { TIMET, MSTT }); break; case "007": TIMET = Convert.ToDateTime(TIMET).AddMinutes(5).ToString("HH:mm:ss"); TEMPTable.Rows.Add(new object[] { TIMET, MSTT }); break; case "008": TIMET = Convert.ToDateTime(TIMET).AddMinutes(5).ToString("HH:mm:ss"); TEMPTable.Rows.Add(new object[] { TIMET, MSTT }); break; case "013": TIMET = Convert.ToDateTime(TIMET).AddMinutes(dat.Rows[i].Field("Parameter3") * dat.Rows[i].Field("Parameter4")).ToString("HH:mm:ss"); TEMPTable.Rows.Add(new object[] { TIMET, MSTT }); break; case "015": TIMET = Convert.ToDateTime(TIMET).AddMinutes(dat.Rows[i].Field("Parameter3")).ToString("HH:mm:ss"); TEMPTable.Rows.Add(new object[] { TIMET, MSTT }); break; case "017": TIMET = Convert.ToDateTime(TIMET).AddMinutes(dat.Rows[i].Field("Parameter3")).ToString("HH:mm:ss"); TEMPTable.Rows.Add(new object[] { TIMET, MSTT }); break; case "020": TIMET = Convert.ToDateTime(TIMET).AddMinutes(5).ToString("HH:mm:ss"); TEMPTable.Rows.Add(new object[] { TIMET, MSTT }); break; case "022": TIMET = Convert.ToDateTime(TIMET).AddMinutes(5).ToString("HH:mm:ss"); TEMPTable.Rows.Add(new object[] { TIMET, MSTT }); break; case "031": TIMET = Convert.ToDateTime(TIMET).AddMinutes(dat.Rows[i].Field("Parameter1")).ToString("HH:mm:ss"); TEMPTable.Rows.Add(new object[] { TIMET, MSTT }); break; case "065": TIMET = Convert.ToDateTime(TIMET).AddMinutes(dat.Rows[i].Field("Parameter3")).ToString("HH:mm:ss"); TEMPTable.Rows.Add(new object[] { TIMET, MSTT }); break; case "091": TT = MSTT; TC = (Double)dat.Rows[i][7]; if (TC > 9.9 || TC < 0.1) TC = 9.9;//计算限制 MSTT = (Double)dat.Rows[i][6]; TT = Math.Abs(MSTT - TT) / TC * 60; TIMET = Convert.ToDateTime(TIMET).AddSeconds(TT).ToString("HH:mm:ss"); TEMPTable.Rows.Add(new object[] { TIMET, MSTT }); break; case "093": TIMET = Convert.ToDateTime(TIMET).AddMinutes(dat.Rows[i].Field("Parameter1")).ToString("HH:mm:ss"); TEMPTable.Rows.Add(new object[] { TIMET, MSTT }); break; default: break; } } Picture.Content = new View.CurveTemp(TEMPTable); } //计划温度图表 } }