using System; using System.Data; using System.Drawing; using System.Windows.Forms; using AgvCar; using AGVSystem.A17168; using AGVSystem.Cls; using BllSql; namespace AGVSystem { // Token: 0x02000013 RID: 19 public class Func { // Token: 0x060000FC RID: 252 RVA: 0x0001DB8C File Offset: 0x0001BD8C public static void CreatePanelLocation(string id, int direction, int x, int y, int area, string Assembly_ID) { Panel panel = new Panel(); bool flag = area == 1; if (flag) { panel.Parent = mainfrm.Map1; } else { bool flag2 = area == 2; if (flag2) { panel.Parent = mainfrm.Map2; } else { panel.Parent = mainfrm.Map3; } } panel.BackColor = Color.Transparent; Label label = new Label(); label.Visible = Param.Location_ID_Dispaly; label.Text = id; bool flag3 = Assembly_ID != "0" || Assembly_ID != ""; if (flag3) { label.Tag = Assembly_ID + "-" + id; label.DoubleClick += Path_Reset.label12_DoubleClick; label.MouseClick += Func.label_MouseClick; label.MouseUp += Func.label_UpClick; label.MouseDown += Func.label_DownClick; label.MouseMove += Func.label_MoveClick; } else { bool flag4 = !Param.Display_CrossID; if (flag4) { label.ForeColor = Color.Black; } } label.AutoSize = false; label.Height = Param.Icon_Size; label.Width = Param.Icon_Size; panel.Width = Param.Icon_Size; panel.Height = Param.Icon_Size; label.Parent = panel; label.BackColor = Color.Transparent; label.Font = new Font("宋体", 9f, FontStyle.Regular); label.TextAlign = ContentAlignment.MiddleCenter; bool flag5 = direction == 1; if (flag5) { panel.Location = new Point(x, y - Param.Icon_Size / 2); panel.Tag = id + "-1"; label.Dock = DockStyle.Left; } else { bool flag6 = direction == 2; if (flag6) { panel.Location = new Point(x, y - Param.Icon_Size / 2); panel.Tag = id + "-2"; label.Dock = DockStyle.Left; } else { bool flag7 = direction == 3; if (flag7) { panel.Location = new Point(x - Param.Icon_Size / 2, y); panel.Tag = id + "-3"; label.Dock = DockStyle.Top; } else { bool flag8 = direction == 4; if (flag8) { panel.Location = new Point(x - Param.Icon_Size / 2, y); panel.Tag = id + "-4"; label.Dock = DockStyle.Top; } } } } } // Token: 0x060000FD RID: 253 RVA: 0x0001DE24 File Offset: 0x0001C024 private static void label_MouseClick(object sender, MouseEventArgs e) { bool flag = e.Button == MouseButtons.Right; if (flag) { Func.loc_flag = (int)Convert.ToInt16(((Label)sender).Text); } } // Token: 0x060000FE RID: 254 RVA: 0x0001DE5C File Offset: 0x0001C05C private static void label_UpClick(object sender, MouseEventArgs e) { Func.moveFlag = false; try { bool flag = (Control.ModifierKeys & Keys.Control) == Keys.Control; if (flag) { bool flag2 = Param.UserName_temp == ""; if (flag2) { MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } else { Label label = (Label)sender; int num = (int)Convert.ToInt16(label.Text); bool flag3 = MessageBox.Show(string.Format("是否移动该{0}地标?", num), "消息", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) == DialogResult.No; if (!flag3) { bool flag4 = label.Parent.GetType() == typeof(Panel); if (flag4) { Panel panel = label.Parent as Panel; int y = panel.Top + Param.Icon_Size / 2; int left = panel.Left; Console.WriteLine(string.Concat(new string[] { num.ToString(), "up === X:", left.ToString(), "Y:", y.ToString() })); Func.UpLocation(num, left, y); } } } } } catch (Exception) { } } // Token: 0x060000FF RID: 255 RVA: 0x0001DFB0 File Offset: 0x0001C1B0 private static void label_DownClick(object sender, MouseEventArgs e) { Func.moveFlag = true; Func.xPos = e.X; Func.yPos = e.Y; } // Token: 0x06000100 RID: 256 RVA: 0x0001DFD0 File Offset: 0x0001C1D0 private static void label_MoveClick(object sender, MouseEventArgs e) { bool flag = !Func.moveFlag; if (!flag) { Label label = (Label)sender; int num = (int)Convert.ToInt16(label.Text); bool flag2 = label.Parent.GetType() == typeof(Panel); if (flag2) { Panel panel = label.Parent as Panel; panel.Top += e.Y - Func.yPos; panel.Left += e.X - Func.xPos; } } } // Token: 0x06000101 RID: 257 RVA: 0x0001E064 File Offset: 0x0001C264 private static void UpLocation(int rfid, int x, int y) { try { string a = Func.db_conn.Command(string.Format("UPDATE [LandMarkInfo] SET [Loc_X] = {0},[Loc_Y] = {1} WHERE [Loc_ID] = {2}", x, y, rfid)); bool flag = a == "1"; if (flag) { Console.WriteLine(string.Format("{0} 更新成功!x:{1},y:{2} ", rfid, x, y)); } } catch (Exception) { } } // Token: 0x06000102 RID: 258 RVA: 0x0001E0E8 File Offset: 0x0001C2E8 public static void DgvUpdate(DataGridView dgv, int row, string columnname, bool value) { object obj = Func.obj_dgvupdate; lock (obj) { Func.dgvUpdate(dgv, row, columnname, value); } } // Token: 0x06000103 RID: 259 RVA: 0x0001E130 File Offset: 0x0001C330 private static void dgvUpdate(DataGridView dgv, int row, string columnname, bool value) { dgv.Rows[row].Cells[columnname].Value = value; bool flag = columnname == "Status"; if (flag) { if (value) { dgv.Rows[row].DefaultCellStyle.ForeColor = Color.Red; } else { dgv.Rows[row].Cells["联网状态"].Value = value; dgv.Rows[row].DefaultCellStyle.ForeColor = Color.Gray; } } else { bool flag2 = columnname == "联网状态"; if (flag2) { if (value) { dgv.Rows[row].DefaultCellStyle.ForeColor = Color.Black; } else { dgv.Rows[row].DefaultCellStyle.ForeColor = Color.Red; } } } } // Token: 0x06000104 RID: 260 RVA: 0x0001E234 File Offset: 0x0001C434 public static int AgvIpToId(string IP) { object obj = Func.obj_AgvIpToId; int result; lock (obj) { int num = 0; DataTable dataTable = new DataView(mainfrm.ds_Agvlist.Tables[0]) { RowFilter = "IPAddress='" + IP + "'", RowStateFilter = DataViewRowState.OriginalRows }.ToTable(); try { num = (int)Convert.ToInt16(dataTable.Rows[0]["ID"].ToString()); } catch { } result = num; } return result; } // Token: 0x06000105 RID: 261 RVA: 0x0001E2F4 File Offset: 0x0001C4F4 public static void Agv_Car_Status(int agv_id, bool run_status, int warn_level, int current_location, int map_id, int run_fx) { try { Func.agvcar[agv_id - 1].Car_Warn_Level = warn_level; bool flag = current_location != Func.Agv_Location_Temp[agv_id - 1]; if (flag) { Func.agvcar[agv_id - 1].Run_Status = false; Func.Agv_Location_Temp[agv_id - 1] = current_location; } else { Func.agvcar[agv_id - 1].Run_Status = run_status; } bool flag2 = current_location == 0; if (!flag2) { Func.run_time = 0; Func.run_model = 0; Func.next_loc = 0; Panel panel = new Panel(); Panel panel2 = new Panel(); Panel panel3 = new Panel(); bool flag3 = map_id == 1; if (flag3) { panel3 = mainfrm.Map1; } else { bool flag4 = map_id == 2; if (flag4) { panel3 = mainfrm.Map2; } else { panel3 = mainfrm.Map3; } } foreach (object obj in panel3.Controls) { Control control = (Control)obj; bool flag5 = control.GetType().Name == "Panel"; if (flag5) { bool flag6 = (int)Convert.ToInt16(control.Tag.ToString().Split(new char[] { '-' })[0]) == current_location; if (flag6) { panel = (Panel)control; bool flag7 = panel != (Panel)Func.agvcar[agv_id - 1].Parent && !Func.agvcar[agv_id - 1].Run_Status; if (flag7) { Func.agvcar[agv_id - 1].Refresh(); panel2 = (Panel)Func.agvcar[agv_id - 1].Parent; Func.agvcar[agv_id - 1].Parent = panel; Func.agvcar[agv_id - 1].BringToFront(); bool flag8 = panel.Tag.ToString().Split(new char[] { '-' })[1] == "1"; if (flag8) { Func.agvcar[agv_id - 1].Dock = DockStyle.Left; } else { bool flag9 = panel.Tag.ToString().Split(new char[] { '-' })[1] == "2"; if (flag9) { Func.agvcar[agv_id - 1].Dock = DockStyle.Right; } else { bool flag10 = panel.Tag.ToString().Split(new char[] { '-' })[1] == "3"; if (flag10) { Func.agvcar[agv_id - 1].Dock = DockStyle.Top; } else { bool flag11 = panel.Tag.ToString().Split(new char[] { '-' })[1] == "4"; if (flag11) { Func.agvcar[agv_id - 1].Dock = DockStyle.Bottom; } } } } } else { bool flag12 = panel == (Panel)Func.agvcar[agv_id - 1].Parent && Func.agvcar[agv_id - 1].Run_Status; if (flag12) { bool flag13 = Func.agvcar[agv_id - 1].Parent != panel3; if (flag13) { panel2 = (Panel)Func.agvcar[agv_id - 1].Parent; Func.agvcar[agv_id - 1].Dock = DockStyle.None; Func.agvcar[agv_id - 1].Parent = panel3; string name = panel3.Name; Func.agvcar[agv_id - 1].Location = panel2.Location; Func.agvcar[agv_id - 1].BringToFront(); Func.nextStation((int)Convert.ToInt16(Func.agvcar[agv_id - 1].Tag.ToString().Split(new char[] { '-' })[1]), current_location, run_fx, out Func.run_time, out Func.run_model, out Func.next_loc); Func.agvcar[agv_id - 1].TimeLong = Func.run_time; Func.agvcar[agv_id - 1].Run_Model = Func.run_model; bool flag14 = Func.next_loc != 0; if (flag14) { foreach (object obj2 in panel3.Controls) { Control control2 = (Control)obj2; bool flag15 = control2.GetType().Name == "Panel"; if (flag15) { bool flag16 = (int)Convert.ToInt16(control2.Tag.ToString().Split(new char[] { '-' })[0]) == Func.next_loc; if (flag16) { Func.agvcar[agv_id - 1].NextLocation = control2.Location; return; } } } } } } } } } } int num = 0; foreach (object obj3 in panel.Controls) { Control control3 = (Control)obj3; num += Param.Icon_Size; } bool flag17 = panel.Tag != null && (panel.Tag.ToString().Split(new char[] { '-' })[1] == "3" || panel.Tag.ToString().Split(new char[] { '-' })[1] == "4"); if (flag17) { panel.Height = num; } else { panel.Width = num; } } } catch (Exception ex) { } } // Token: 0x06000106 RID: 262 RVA: 0x0001E8F0 File Offset: 0x0001CAF0 private static void nextStation(int Assembly_ID, int Landmark_ID, int flag, out int run_time1, out int run_model1, out int next_loc1) { run_time1 = 0; run_model1 = 0; next_loc1 = 0; DataTable dataTable = new DataView(mainfrm.ds_linelandmark.Tables[0]) { RowFilter = "Assembly_Line=" + Assembly_ID.ToString() + " and LOC_ID= " + Landmark_ID.ToString(), RowStateFilter = DataViewRowState.OriginalRows }.ToTable(); try { bool flag2 = dataTable.Rows.Count == 1; if (flag2) { bool flag3 = flag == 1; if (flag3) { next_loc1 = (int)Convert.ToInt16(dataTable.Rows[0]["Next_Station1"]); run_time1 = (int)Convert.ToInt16(dataTable.Rows[0]["LongTime1"]); run_model1 = (int)Convert.ToInt16(dataTable.Rows[0]["Drict1"]); } else { bool flag4 = flag == 2; if (flag4) { next_loc1 = (int)Convert.ToInt16(dataTable.Rows[0]["Next_Station1"]); run_time1 = (int)Convert.ToInt16(dataTable.Rows[0]["LongTime2"]); run_model1 = (int)Convert.ToInt16(dataTable.Rows[0]["Drict2"]); } else { bool flag5 = flag == 3; if (flag5) { next_loc1 = (int)Convert.ToInt16(dataTable.Rows[0]["Next_Station1"]); run_time1 = (int)Convert.ToInt16(dataTable.Rows[0]["LongTime2"]); run_model1 = (int)Convert.ToInt16(dataTable.Rows[0]["Drict2"]); } } } } } catch { } } // Token: 0x06000107 RID: 263 RVA: 0x0001EAC4 File Offset: 0x0001CCC4 public static void Agv_Alarm_Insert(int del_agv_no, string Assembly_Name, string Assembly_Id, int AGV_Internal_No, string AlarmInfo, int agv_no) { object obj = Func.obj_agv_alarm_insert; lock (obj) { Func.agv_alarm_insert(del_agv_no, Assembly_Name, Assembly_Id, AGV_Internal_No, AlarmInfo, agv_no); } } // Token: 0x06000108 RID: 264 RVA: 0x0001EB10 File Offset: 0x0001CD10 private static void agv_alarm_insert(int del_agv_no, string Assembly_Name, string Assembly_Id, int AGV_Internal_No, string AlarmInfo, int agv_no) { bool flag = del_agv_no == 0; if (flag) { bool flag2 = false; bool flag3 = mainfrm.ds_AgvWarn.Tables[0].Rows.Count > 0; if (flag3) { for (int i = 0; i < mainfrm.ds_AgvWarn.Tables[0].Rows.Count; i++) { bool flag4 = (int)Convert.ToInt16(mainfrm.ds_AgvWarn.Tables[0].Rows[i][3].ToString()) == agv_no && mainfrm.ds_AgvWarn.Tables[0].Rows[i][5].ToString().Trim() == AlarmInfo.Trim(); if (flag4) { return; } } } bool flag5 = !flag2; if (flag5) { DataRow dataRow = mainfrm.ds_AgvWarn.Tables[0].NewRow(); dataRow[0] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); dataRow[1] = Assembly_Id; dataRow[2] = Assembly_Name; dataRow[3] = agv_no; dataRow[4] = AGV_Internal_No; dataRow[5] = AlarmInfo; mainfrm.ds_AgvWarn.Tables[0].Rows.Add(dataRow); } } else { for (int j = 0; j < mainfrm.ds_AgvWarn.Tables[0].Rows.Count; j++) { bool flag6 = AlarmInfo == "正常"; if (flag6) { bool flag7 = (int)Convert.ToInt16(mainfrm.ds_AgvWarn.Tables[0].Rows[j][3]) == del_agv_no; if (flag7) { bool flag8 = !mainfrm.ds_AgvWarn.Tables[0].Rows[j][5].ToString().Contains("障碍物"); if (flag8) { Warn_Log item = new Warn_Log(mainfrm.ds_AgvWarn.Tables[0].Rows[j][0].ToString(), mainfrm.ds_AgvWarn.Tables[0].Rows[j][3].ToString(), mainfrm.ds_AgvWarn.Tables[0].Rows[j][5].ToString(), DateTime.Now.ToString()); UPDateDBList.upDbList.Add(item); } mainfrm.ds_AgvWarn.Tables[0].Rows.RemoveAt(j); j--; } } else { bool flag9 = (int)Convert.ToInt16(mainfrm.ds_AgvWarn.Tables[0].Rows[j][3]) == del_agv_no && mainfrm.ds_AgvWarn.Tables[0].Rows[j][5].ToString() == AlarmInfo; if (flag9) { bool flag10 = !mainfrm.ds_AgvWarn.Tables[0].Rows[j][5].ToString().Contains("障碍物"); if (flag10) { Warn_Log item2 = new Warn_Log(mainfrm.ds_AgvWarn.Tables[0].Rows[j][0].ToString(), mainfrm.ds_AgvWarn.Tables[0].Rows[j][3].ToString(), mainfrm.ds_AgvWarn.Tables[0].Rows[j][5].ToString(), DateTime.Now.ToString()); UPDateDBList.upDbList.Add(item2); } mainfrm.ds_AgvWarn.Tables[0].Rows.RemoveAt(j); j--; } } } } } // Token: 0x06000109 RID: 265 RVA: 0x0001EF80 File Offset: 0x0001D180 public static void CrossInfo_Insert(string Assembly_Name, string Assembly_Id, int AGV_Internal_No, int LandMark, string Info, int agv_no, int plc_value, int internal_id, int line_id, string line_name) { object obj = Func.obj_crossinfo_insert1; lock (obj) { Func.crossInfo_Insert(Assembly_Name, Assembly_Id, AGV_Internal_No, LandMark, Info, agv_no, plc_value, internal_id, line_id, line_name); } } // Token: 0x0600010A RID: 266 RVA: 0x0001EFD4 File Offset: 0x0001D1D4 public static void crossInfo_Insert(string Assembly_Name, string Assembly_Id, int AGV_Internal_No, int LandMark, string Info, int agv_no, int plc_value, int internal_id, int line_id, string line_name) { string sqlstr = string.Concat(new string[] { "INSERT INTO [Go_Log] ([Dt] ,[Agv_id] ,[Type] ,[Location],[plc_value] ,[Internal_ID],[Line_ID] ,[Line_Name]) VALUES ('", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "',", agv_no.ToString(), ",'", Info, "',", LandMark.ToString(), ",", plc_value.ToString(), ",", internal_id.ToString(), ",", line_id.ToString(), ",'", line_name, "')" }); Func.db_conn.Command(sqlstr); } // Token: 0x0600010B RID: 267 RVA: 0x0001F0A4 File Offset: 0x0001D2A4 public static void CrossInfo_Insert(string Assembly_Name, string Assembly_Id, int AGV_Internal_No, int LandMark, string Info, int agv_no, int plc_value) { UPDateDBList.upDbList.Add(new CrossInfo_Insert(DateTime.Now, Assembly_Name, Assembly_Id, AGV_Internal_No, LandMark, Info, agv_no, plc_value)); } // Token: 0x0600010C RID: 268 RVA: 0x0001F0D4 File Offset: 0x0001D2D4 public static int GetLandMarkId(int assemblyline_id, int value) { object obj = Func.obj_GetLandMarkId; int result; lock (obj) { int num = 0; DataTable dataTable = new DataView(mainfrm.ds_linelandmark.Tables[0]) { RowFilter = "Flag_Value=" + value.ToString() + " and Assembly_Line= " + assemblyline_id.ToString(), RowStateFilter = DataViewRowState.OriginalRows }.ToTable(); try { bool flag2 = dataTable.Rows.Count > 0; if (flag2) { num = (int)Convert.ToInt16(dataTable.Rows[0]["Loc_ID"].ToString()); } } catch { } result = num; } return result; } // Token: 0x0600010D RID: 269 RVA: 0x0001F1B0 File Offset: 0x0001D3B0 public static void Change_Rec(int agv_id, int current_loc, int histroy_loc, DateTime dt, int internal_id, int line_id, string line_name) { object obj = Func.obj_change; lock (obj) { bool flag2 = mainfrm.ds_Change.Tables[0].Rows.Count == 0; if (!flag2) { bool flag3 = histroy_loc == 0; if (!flag3) { bool flag4 = false; bool flag5 = false; bool flag6 = mainfrm.ds_Change.Tables[0].Rows.Count > 0; if (flag6) { foreach (object obj2 in mainfrm.ds_Change.Tables[0].Rows) { DataRow dataRow = (DataRow)obj2; bool flag7 = (int)Convert.ToInt16(dataRow[0].ToString()) == current_loc; if (flag7) { flag4 = true; return; } bool flag8 = (int)Convert.ToInt16(dataRow[0].ToString()) == histroy_loc; if (flag8) { flag5 = true; } } bool flag9 = !flag4 && flag5; if (flag9) { Func.db_conn.Command(string.Concat(new string[] { "INSERT INTO [Change_Log]([Agv_ID] ,[Start_time],[Finish_time] ,[Location_ID],internal_id, line_id, line_name) VALUES(", agv_id.ToString(), ",'", dt.ToString(), "','", DateTime.Now.ToString(), "',", histroy_loc.ToString(), ",", internal_id.ToString(), ",", line_id.ToString(), ",'", line_name, "')" })); } } } } } } // Token: 0x0600010E RID: 270 RVA: 0x0001F3C0 File Offset: 0x0001D5C0 public static void Change_Rec(int agv_id, int current_loc, int histroy_loc, DateTime dt) { object obj = Func.obj_change1; lock (obj) { bool flag2 = mainfrm.ds_Change.Tables[0].Rows.Count == 0; if (!flag2) { bool flag3 = histroy_loc == 0; if (!flag3) { bool flag4 = false; bool flag5 = false; bool flag6 = mainfrm.ds_Change.Tables[0].Rows.Count > 0; if (flag6) { foreach (object obj2 in mainfrm.ds_Change.Tables[0].Rows) { DataRow dataRow = (DataRow)obj2; bool flag7 = (int)Convert.ToInt16(dataRow[0].ToString()) == current_loc; if (flag7) { flag4 = true; return; } bool flag8 = (int)Convert.ToInt16(dataRow[0].ToString()) == histroy_loc; if (flag8) { flag5 = true; } } bool flag9 = !flag4 && flag5; if (flag9) { Func.db_conn.Command(string.Concat(new string[] { "INSERT INTO [Change_Log]([Agv_ID] ,[Start_time],[Finish_time] ,[Location_ID]) VALUES(", agv_id.ToString(), ",'", dt.ToString(), "','", DateTime.Now.ToString(), "',", histroy_loc.ToString(), ")" })); } } } } } } // Token: 0x040001F6 RID: 502 public static Agv[] agvcar; // Token: 0x040001F7 RID: 503 public static AgvInfo[] AgvInfo; // Token: 0x040001F8 RID: 504 public static ClsDBConn_sql db_conn = new ClsDBConn_sql(); // Token: 0x040001F9 RID: 505 public static BllBase bBllBase = new BllBase(); // Token: 0x040001FA RID: 506 public static int[] Agv_Location_Temp; // Token: 0x040001FB RID: 507 public static int loc_flag = 0; // Token: 0x040001FC RID: 508 private static bool moveFlag = false; // Token: 0x040001FD RID: 509 private static int xPos; // Token: 0x040001FE RID: 510 private static int yPos; // Token: 0x040001FF RID: 511 private static object obj_dgvupdate = new object(); // Token: 0x04000200 RID: 512 private static object obj_AgvIpToId = new object(); // Token: 0x04000201 RID: 513 private static int run_time; // Token: 0x04000202 RID: 514 private static int run_model; // Token: 0x04000203 RID: 515 private static int next_loc = 0; // Token: 0x04000204 RID: 516 private static object obj_agv_alarm_insert = new object(); // Token: 0x04000205 RID: 517 private static object obj_crossinfo_insert1 = new object(); // Token: 0x04000206 RID: 518 private static object obj_crossinfo_insert = new object(); // Token: 0x04000207 RID: 519 private static object obj_GetLandMarkId = new object(); // Token: 0x04000208 RID: 520 private static object obj_change = new object(); // Token: 0x04000209 RID: 521 private static object obj_change1 = new object(); } }