コード例 #1
0
 public void ProcessInit()
 {
     ProcedureTable[0]  = new Coffee_Procedure("PickACup", 100, 1);                            //机器人伸手取杯,等待100ms
     ProcedureTable[1]  = new Coffee_Procedure("DropACup", 2000, 1);                           //等待2s等待落杯
     ProcedureTable[2]  = new Coffee_Procedure("PutCupToCoffeeMachine", 500, 1);               //将杯子放到咖啡机上
     ProcedureTable[3]  = new Coffee_Procedure("PressLatte", 60000, 1);                        //等待1分钟等待做好咖啡
     ProcedureTable[4]  = new Coffee_Procedure("PressCappuccino", 90000, 1);                   //等待1分钟等待做好咖啡
     ProcedureTable[5]  = new Coffee_Procedure("PressAmaricanBlack", 65000, 1);                //等待1分钟等待做好咖啡
     ProcedureTable[6]  = new Coffee_Procedure("PressBlack", 90000, 1);                        //等待1分钟等待做好咖啡
     ProcedureTable[7]  = new Coffee_Procedure("PutCupToAddSugarPossition", 500, 1);           //将咖啡杯放到加糖位置
     ProcedureTable[8]  = new Coffee_Procedure("PutCupToPickUpPossition", 500, 1);             //将咖啡杯从咖啡机放到取杯位置
     ProcedureTable[9]  = new Coffee_Procedure("AddSugar", 15000, 1);                          //加糖,等待15s加糖完毕
     ProcedureTable[10] = new Coffee_Procedure("AddHalfSugar", 13000, 1);                      //加半糖,等待14s加半糖完毕
     ProcedureTable[11] = new Coffee_Procedure("Addchocolate", 10000, 1);                      //等待15s加入巧克力
     ProcedureTable[12] = new Coffee_Procedure("PutCoffeeWithSugarToPickUpPossiton", 1000, 1); //将杯子放到取杯位置
     ProcedureTable[13] = new Coffee_Procedure("PushOutCoffee", 1000, 1);                      //将杯子出杯给下单客户
     ProcedureTable[14] = new Coffee_Procedure("DiscardCoffee", 500, 1);                       //把做好的咖啡丢掉
 }
コード例 #2
0
        public List <Coffee_Procedure> Get_Coffee_Process_FromDB(int processid)
        {
            MySqlConnection conn = null;

            conn = new MySqlConnection(M_str_sqlcon);
            conn.Open();
            //MySqlCommand commn = new MySqlCommand("set names gb2312", conn);
            MySqlCommand commn = new MySqlCommand("set names UTF8", conn);

            commn.ExecuteNonQuery();
            string           sql = "select * from  Procedure_Process_Link where ProcessID =" + processid.ToString();
            MySqlDataAdapter mda = new MySqlDataAdapter(sql, conn);
            DataSet          ds  = new DataSet();

            // mda.Fill(ds, "coffee_excute");
            mda.Fill(ds, "Procedure_Process_Link");
            //this.dataGridView1.DataSource = ds.Tables["coffee_execute"];
            //任务表列顺序:ID,code_id,create_time,status,list_id,priority
            //对应意义:    ID,代码,  创建时间,  执行状态,高级ID,优先级(数字越小越高)

            //创建新的TaskTable
            MissionLists = new List <Coffee_Procedure>();

            //其中执行状态意义如下:0为未执行,1为正在执行,2为已完成
            if (ds.Tables[0].Rows.Count > 0)
            {
                int counter = 0;
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    string           str  = ds.Tables[0].Rows[i][0].ToString();
                    string           sql1 = "select * from coffee_procedure where ProcedureID = " + str + "";
                    DataSet          ds1  = new DataSet();
                    MySqlDataAdapter mda1 = new MySqlDataAdapter(sql1, conn);
                    mda1.Fill(ds1, "coffee_procedure");
                    if (ds1.Tables[0].Rows.Count >= 1)
                    {
                        string ProcessID = ds1.Tables[0].Rows[0][1].ToString();
                        MissionLists.Insert(counter,
                                            new Coffee_Procedure(
                                                ds1.Tables[0].Rows[0][0].ToString(),
                                                int.Parse(ds1.Tables[0].Rows[0][2].ToString()),
                                                int.Parse(ds1.Tables[0].Rows[0][1].ToString())
                                                )
                                            );
                        counter++;
                    }
                }
            }
            conn.Close();

            List <Coffee_Procedure> list1 = new List <Coffee_Procedure>();
            Coffee_Procedure        buf   = new Coffee_Procedure("", 0, 0);

            for (int i = 0; i < MissionLists.Count; i++)
            {
                for (int j = 0; j < MissionLists.Count; j++)
                {
                    int counter = 0;
                    buf = MissionLists[j];
                    if ((j + 1) < MissionLists.Count && MissionLists[j].ProcedureNumber > MissionLists[j + 1].ProcedureNumber)
                    {
                        Coffee_Procedure buf1 = MissionLists[j];
                        MissionLists.RemoveAt(j);
                        //MissionLists.Insert(j+1, buf);
                        MissionLists.Insert(j + 1, buf);
                    }
                }
            }
            return(MissionLists);
        }