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);
     }
 }
示例#2
0
        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;
        }
示例#3
0
        /// <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();
            }
        }
示例#4
0
        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);
            }
        }
示例#5
0
        public SingleTask getSingleTaskByTaskName(string taskName)
        {
            SingleTask singleTask = null;

            foreach (SingleTask st in singleTaskList)
            {
                if (st.taskName.StartsWith(taskName))
                {
                    singleTask = st;
                }
            }

            return(singleTask);
        }
示例#6
0
        public SingleTask getSingleTaskByID(int singleTaskID)
        {
            SingleTask singleTask = null;

            foreach (SingleTask st in singleTaskList)
            {
                if (st.taskID == singleTaskID)
                {
                    singleTask = st;
                }
            }

            return(singleTask);
        }
示例#7
0
        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;
            }
        }
示例#9
0
        /**
         *  只查询使用的任务
         *  主要查询缓冲任务和已完成的任务
         **/
        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);
            }
        }
示例#11
0
        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);
        }
示例#12
0
        /// <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();
            }
        }
示例#13
0
 public void setSingleTask(SingleTask st)
 {
     this.st = st;
 }