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); //把做好的咖啡丢掉 }
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); }