private void singleTaskFormCellMouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hitinfo; hitinfo = this.SingleTaskDTG.HitTest(e.X, e.Y); if (hitinfo.RowIndex >= 0) { this.SingleTaskDTG.ClearSelection(); this.SingleTaskDTG.Rows[hitinfo.RowIndex].Cells[hitinfo.ColumnIndex].Selected = true; this.SingleTaskDTG.CurrentCell = this.SingleTaskDTG.Rows[hitinfo.RowIndex].Cells[hitinfo.ColumnIndex]; SingleTask sl = (SingleTask)this.SingleTaskDTG.CurrentCell.Value; Console.WriteLine("this.SingleTaskDTG.CurrentRow value = " + this.SingleTaskDTG.CurrentCell.Value); //string sql = "select * from taskrecord, singletask where taskRecordStat in (1, 2, 3) and singleTask = singletask.id and singletask.taskName = '" + (string)this.SingleTaskDTG.CurrentRow.Cells[0].Value + "'"; if (sl.taskStat == TASKSTAT_T.TASK_NOT_ASSIGN || sl.taskStat == TASKSTAT_T.TASK_END) { Console.WriteLine("x = " + e.X + "y = " + e.Y); palletMenu.Show(this.SingleTaskDTG, new Point(e.X, e.Y)); } else if (sl.taskStat == TASKSTAT_T.TASK_READY_SEND) //该状态可以取消任务 { cancelTasktMenu.Show(this.SingleTaskDTG, new Point(e.X, e.Y)); } } Console.WriteLine("row = " + this.SingleTaskDTG.CurrentRow); } }
public DateTime updateTime; //发送成功时候的时间 public TaskRecord(TASKSTAT_T taskRecordStat, SingleTask singleTask, ForkLift forkLift = null) { this.forkLift = forkLift; this.taskRecordStat = taskRecordStat; this.singleTask = singleTask; this.taskRecordName = singleTask.taskName; }
/// <summary> /// 移除任务记录 /// </summary> /// <param name="taskRecordStat">任务状态</param> /// <param name="st">对应的任务ID</param> /// <param name="taskPalletType">托盘类型 默认托盘类型为0 表示忽略托盘类型这个条件</param> public void RemoveTaskRecord(SingleTask st, TASKSTAT_T taskRecordStat) { string sql = "delete from taskrecord where taskRecordStat = " + (int)taskRecordStat + " and singleTask = " + st.taskID; AGVLog.WriteInfo("RemoveTaskRecord sql = " + sql, new StackFrame(true)); try { lock (lockDB) { Console.WriteLine("removeTaskRecor sql = " + sql); if (this.OpenConnection() == true) { Console.WriteLine("sql = " + sql); MySqlCommand cmd = new MySqlCommand(sql, connection); cmd.ExecuteNonQuery(); this.CloseConnection(); } } }catch (Exception ex) { Console.WriteLine(ex.ToString()); this.CloseConnection(); } }
private void handleRecordTask(string taskName, string cmd) { SingleTask st = AGVInitialize.getInitialize().getSingleTaskByTaskName(taskName); if (cmd.Equals("add")) { st.taskStat = TASKSTAT_T.TASK_SEND; AGVInitialize.getInitialize().getSchedule().addTaskRecord(TASKSTAT_T.TASK_READY_SEND, st); } else if (cmd.Equals("remove")) { AGVInitialize.getInitialize().getSchedule().removeTaskRecord(st, TASKSTAT_T.TASK_READY_SEND); } }
public SingleTask getSingleTaskByTaskName(string taskName) { SingleTask singleTask = null; foreach (SingleTask st in singleTaskList) { if (st.taskName.StartsWith(taskName)) { singleTask = st; } } return(singleTask); }
public SingleTask getSingleTaskByID(int singleTaskID) { SingleTask singleTask = null; foreach (SingleTask st in singleTaskList) { if (st.taskID == singleTaskID) { singleTask = st; } } return(singleTask); }
public void setSingleTaskByTaskName(string taskName) { SingleTask st = AGVInitialize.getInitialize().getDBConnect().SelectSingleTaskByName(taskName); Console.WriteLine("TaskRecord taskName = " + taskName); if (st != null) { this.singleTask = st; } else { Console.WriteLine("TaskRecord Set Name error"); } }
private void palletItemClick(object sender, EventArgs e) { MenuItem item = (MenuItem)sender; Console.WriteLine("Name = " + item.Name + "value = " + this.SingleTaskDTG.CurrentCell.Value); SingleTask st = null; st = (SingleTask)this.SingleTaskDTG.CurrentCell.Value; if (st != null) { st.taskStat = TASKSTAT_T.TASK_READY_SEND; AGVInitialize.getInitialize().getSchedule().addTaskRecord(TASKSTAT_T.TASK_READY_SEND, st); this.SingleTaskDTG.CurrentCell.Style.BackColor = Color.LightGray; } }
/** * 只查询使用的任务 * 主要查询缓冲任务和已完成的任务 **/ public List <SingleTask> SelectSingleTaskList() { string query = "select * from singleTask where taskUsed = 1 order by id"; //Create a list to store the result List <SingleTask> list = new List <SingleTask>(); try { lock (lockDB) { //Open connection if (this.OpenConnection() == true) { //Create Command MySqlCommand cmd = new MySqlCommand(query, connection); //Create a data reader and Execute the command MySqlDataReader dataReader = cmd.ExecuteReader(); //Read the data and store them in the list while (dataReader.Read()) { SingleTask st = new SingleTask(); st.taskID = int.Parse(dataReader["id"] + ""); st.taskName = dataReader["taskName"] + ""; st.taskText = dataReader["taskText"] + ""; st.taskUsed = Convert.ToBoolean(int.Parse(dataReader["taskUsed"] + "")); st.taskType = (TASKTYPE_T)int.Parse(dataReader["taskType"] + ""); list.Add(st); } //close Data Reader dataReader.Close(); //close Connection this.CloseConnection(); } } }catch (Exception ex) { Console.WriteLine(ex.ToString()); this.CloseConnection(); } //return list to be displayed return(list); }
private void cancelItemClick(object sender, EventArgs e) { MenuItem item = (MenuItem)sender; Console.WriteLine("Name = " + item.Name + "value = " + this.SingleTaskDTG.CurrentCell.Value); SingleTask st = null; if (item.Name.Equals("cancelTaskItem")) { st = (SingleTask)this.SingleTaskDTG.CurrentCell.Value; } if (st != null) { st.taskStat = TASKSTAT_T.TASK_NOT_ASSIGN; this.SingleTaskDTG.CurrentCell.Style.BackColor = Color.White; AGVInitialize.getInitialize().getSchedule().removeTaskRecord(st, TASKSTAT_T.TASK_READY_SEND); } }
public SingleTask SelectSingleTaskByName(string taskName) //一个taskName只对应一条记录 { string query = "select * from singletask"; SingleTask st = new SingleTask(); //Open connection try { lock (lockDB) { if (this.OpenConnection() == true) { //Create Command MySqlCommand cmd = new MySqlCommand(query, connection); //Create a data reader and Execute the command MySqlDataReader dataReader = cmd.ExecuteReader(); //Read the data and store them in the list while (dataReader.Read()) { st.taskID = int.Parse(dataReader["id"] + ""); st.taskName = dataReader["taskName"] + ""; st.taskUsed = bool.Parse(dataReader["taskUsed"] + ""); } //close Data Reader dataReader.Close(); //close Connection this.CloseConnection(); } } }catch (Exception ex) { Console.WriteLine("ex " + ex.ToString()); this.CloseConnection(); } return(st); }
/// <summary> /// 插入任务记录 /// </summary> /// <param name="taskRecordStat"></param> /// <param name="st"></param> public void InsertTaskRecord(TASKSTAT_T taskRecordStat, SingleTask st) { string sql = "INSERT INTO `agv`.`taskrecord` (`taskRecordStat`, `singleTask`) VALUES ( " + (int)taskRecordStat + ", " + st.taskID + ");"; AGVLog.WriteInfo("InsertTaskRecord sql = " + sql, new StackFrame(true)); try { lock (lockDB) { if (this.OpenConnection() == true) { Console.WriteLine("sql = " + sql); MySqlCommand cmd = new MySqlCommand(sql, connection); cmd.ExecuteNonQuery(); this.CloseConnection(); } } }catch (Exception ex) { Console.WriteLine(ex.ToString()); this.CloseConnection(); } }
public void setSingleTask(SingleTask st) { this.st = st; }