using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; using Newtonsoft.Json.Linq; namespace XCore { /// /// 执行处理类 /// public class ExcuteBll { #region 外部单个消息文本处理 public string DealWithMsg(JObject jobject) { string strResult = ""; string message_id = jobject["message_id"].ToString(); string message_type = jobject["message_type"].ToString(); string method = jobject["method"].ToString(); string equipment_id = jobject["equipment_id"].ToString(); string data = jobject["data"]==null?"": jobject["data"].ToString(); //string parameters = jobject["parameters"].ToString(); //string process_info = jobject["process_info"].ToString(); //string estimate_time = jobject["estimate_time"].ToString(); //string timeout = jobject["timeout"].ToString(); //string description = jobject["description"].ToString(); //string timestamp = jobject["timestamp"].ToString(); if(data!="")//返回命令 { string methodStatus = jobject["method_status"].ToString(); switch (method) { case "OpenDoor"://开门板位移动到工作站 { if(methodStatus=="2")//执行成功 { return "1"; } else if(methodStatus=="3")//执行失败 { string error = jobject["error"].ToString(); return error; } else { } } break; case "CloseDoor"://关门板位移动出工作站 { if (methodStatus == "2")//执行成功 { return "1"; } else if (methodStatus == "3")//执行失败 { string error = jobject["error"].ToString(); return error; } else { } } break; case "GripperControl": { if (methodStatus == "2")//执行成功 { return "1"; } else if (methodStatus == "3")//执行失败 { string error = jobject["error"].ToString(); return error; } else { } } break; case "Run": { if (methodStatus == "2")//执行成功 { return data; } else if (methodStatus == "3")//执行失败 { string error = jobject["error"].ToString(); return error; } else { } } break; case "Calibrate": { if (methodStatus == "2")//执行成功 { return data; } else if (methodStatus == "3")//执行失败 { string error = jobject["error"].ToString(); return error; } else { } } break; case "Home": { if (equipment_id == "ID1001")//拍照系统 { if (methodStatus == "2")//执行完成 { return data; } else if (methodStatus == "3")//执行失败 { string error = jobject["error"].ToString(); return error; } else { } } else if(equipment_id=="ID2023")//中控系统 { if (methodStatus == "2")//执行完成 { return data; } else if (methodStatus == "3")//执行失败 { string error = jobject["error"].ToString(); return error; } else { } } } break; default: break; } } else//下发命令 { } return strResult; } #endregion } }