终端一体化运控平台
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 

822 行
50 KiB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Net;
  7. using System.Web;
  8. using Newtonsoft.Json;
  9. using System.Net.Http;
  10. using System.Configuration;
  11. using System.Security.Cryptography;
  12. namespace BPASmartClient.AGV
  13. {
  14. public class AGVHelper
  15. {
  16. public static AGVHelper _Instance { get; set; }
  17. public static AGVHelper GetInstance => _Instance ?? (_Instance = new AGVHelper());
  18. public AGVHelper()
  19. {
  20. }
  21. /// <summary>
  22. /// 获取配置文件信息
  23. /// </summary>
  24. /// <param name="strKey"></param>
  25. /// <returns></returns>
  26. public string GetAppSettingValue(string strKey)
  27. {
  28. string file = System.Environment.CurrentDirectory;
  29. Configuration config = ConfigurationManager.OpenExeConfiguration(file);
  30. foreach (string key in config.AppSettings.Settings.AllKeys)
  31. {
  32. if (key == strKey)
  33. {
  34. return config.AppSettings.Settings[strKey].Value.ToString();
  35. }
  36. }
  37. return null;
  38. }
  39. public string HttpRequest(string url, string head, string body)
  40. {
  41. return PostData(url, head, body);
  42. }
  43. public string PostData(string url, string head, string body)
  44. {
  45. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
  46. request.Method = "POST";
  47. request.Headers["header"] = head;
  48. request.Proxy = null;
  49. byte[] bytes = Encoding.UTF8.GetBytes(body);
  50. request.ContentType = "application/json; charset=UTF-8"; ;//窗体数据被编码为名称/值对形式
  51. //request.ContentType = "application/json";
  52. request.ContentLength = bytes.Length;
  53. Stream myResponseStream = request.GetRequestStream();
  54. myResponseStream.Write(bytes, 0, bytes.Length);
  55. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  56. StreamReader myStreamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);//解码
  57. string retString = myStreamReader.ReadToEnd();
  58. myStreamReader.Close();
  59. myResponseStream.Close();
  60. if (response != null)
  61. {
  62. response.Close();
  63. }
  64. if (request != null)
  65. {
  66. request.Abort();
  67. }
  68. return retString;//返回响应报文
  69. }
  70. /// <summary>
  71. /// MD5哈希摘要转16进制
  72. /// </summary>
  73. /// <param name="body"></param>
  74. /// <returns></returns>
  75. public string MD5Deal(string body)
  76. {
  77. //如果启用签名 用MD5 哈希摘要 再转16进制
  78. MD5 md5 = MD5.Create();
  79. byte[] bte = md5.ComputeHash(Encoding.UTF8.GetBytes(body));
  80. StringBuilder build = new StringBuilder();
  81. for (int i = 0; i < bte.Length; i++)
  82. {
  83. build.Append(bte[i].ToString("X"));
  84. }
  85. return build.ToString();
  86. }
  87. /// <summary>
  88. /// AGV去1号线体装桶
  89. /// </summary>
  90. /// <returns></returns>
  91. public string AgvToLineOneLoadRoller(string robotJobId)
  92. {
  93. //string url = AGVRequestUrl.GetInstance.TaskSendUrl;
  94. ////请求报文头
  95. //HttpRequestHeaderModel.GetInstance.appKey = "";
  96. //HttpRequestHeaderModel.GetInstance.appSecret = "";
  97. //HttpRequestHeaderModel.GetInstance.requestId = "";
  98. //HttpRequestHeaderModel.GetInstance.timestamp = "";
  99. //HttpRequestHeaderModel.GetInstance.version = "2.8";
  100. //string head = JsonConvert.SerializeObject(HttpRequestHeaderModel.GetInstance);
  101. ////请求报文体
  102. //AGVModel.GetInstance.robotJobId = robotJobId;//上游提供
  103. //AGVModel.GetInstance.warehouseId = 123; //仓库编号
  104. //AGVModel.GetInstance.jobPriority = 1;//任务执行的优先级
  105. //AGVModel.GetInstance.jobPriorityType = 1;//0:根据优先级来执行,1:强制执行
  106. //AGVModel.GetInstance.jobType = "POINT_ROLLER_MOVE"; //SLOT_ROLLER_MOVE / POINT_ROLLER_MOVE
  107. ////详细任务数据
  108. ////点到点
  109. //AGV_PointRollerJobData.GetInstance.startPoint = "";//起点点位
  110. //AGV_PointRollerJobData.GetInstance.endPoint = "";//目的点位
  111. //AGV_PointRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  112. //AGV_PointRollerJobData.GetInstance.enableIOLoad = true;//上料交互方式 false:接口交互 true:光电交互
  113. //AGV_PointRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  114. //AGV_PointRollerJobData.GetInstance.enableIOUnload = true;//下料交互方式 false:接口交互 true:光电交互
  115. //AGVModel.GetInstance.jobData = AGV_PointRollerJobData.GetInstance;
  116. //string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  117. //// string newBody = String.Join(",\r\n", body.Split(','));//格式处理,看需求
  118. ////货位到货位
  119. ////AGV_SlotRollerJobData.GetInstance.startSlotCode = "";//起点槽位编号
  120. ////AGV_SlotRollerJobData.GetInstance.endSlotCode = "";//目的槽位编号
  121. ////AGV_SlotRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  122. ////AGV_SlotRollerJobData.GetInstance.enableIOLoad = true;//上料交互方式 false:接口交互 true:光电交互
  123. ////AGV_SlotRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  124. ////AGV_SlotRollerJobData.GetInstance.enableIOUnload = true;//下料交互方式 false:接口交互 true:光电交互
  125. ////AGVModel.GetInstance.jobData = AGV_SlotRollerJobData.GetInstance;
  126. ////string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  127. ////启用签名
  128. ////url = url + "?sign=" + MD5Deal(body);
  129. //string data = HttpRequest(url, head, body);
  130. //object objData = JsonConvert.DeserializeObject(data);
  131. //if (objData != null && objData is HttpResponseBodyModel response)
  132. //{
  133. // return response.code;
  134. //}
  135. return "Analysis Error";
  136. }
  137. /// <summary>
  138. /// AGV去2号线体装桶
  139. /// </summary>
  140. /// <returns></returns>
  141. public string AgvToLineTwoLoadRoller(string robotJobId)
  142. {
  143. //string url = AGVRequestUrl.GetInstance.TaskSendUrl;
  144. ////请求报文头
  145. //HttpRequestHeaderModel.GetInstance.appKey = "";
  146. //HttpRequestHeaderModel.GetInstance.appSecret = "";
  147. //HttpRequestHeaderModel.GetInstance.requestId = "";
  148. //HttpRequestHeaderModel.GetInstance.timestamp = "";
  149. //HttpRequestHeaderModel.GetInstance.version = "2.8";
  150. //string head = JsonConvert.SerializeObject(HttpRequestHeaderModel.GetInstance);
  151. ////请求报文体
  152. //AGVModel.GetInstance.robotJobId = robotJobId;//上游提供
  153. //AGVModel.GetInstance.warehouseId = 123; //仓库编号
  154. //AGVModel.GetInstance.jobPriority = 1;//任务执行的优先级
  155. //AGVModel.GetInstance.jobPriorityType = 1;//0:根据优先级来执行,1:强制执行
  156. //AGVModel.GetInstance.jobType = "POINT_ROLLER_MOVE"; //SLOT_ROLLER_MOVE / POINT_ROLLER_MOVE
  157. ////详细任务数据
  158. ////点到点
  159. //AGV_PointRollerJobData.GetInstance.startPoint = "";//起点点位
  160. //AGV_PointRollerJobData.GetInstance.endPoint = "";//目的点位
  161. //AGV_PointRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  162. //AGV_PointRollerJobData.GetInstance.enableIOLoad = true;//上料交互方式 false:接口交互 true:光电交互
  163. //AGV_PointRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  164. //AGV_PointRollerJobData.GetInstance.enableIOUnload = true;//下料交互方式 false:接口交互 true:光电交互
  165. //AGVModel.GetInstance.jobData = AGV_PointRollerJobData.GetInstance;
  166. //string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  167. ////货位到货位
  168. ////AGV_SlotRollerJobData.GetInstance.startSlotCode = "";//起点槽位编号
  169. ////AGV_SlotRollerJobData.GetInstance.endSlotCode = "";//目的槽位编号
  170. ////AGV_SlotRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  171. ////AGV_SlotRollerJobData.GetInstance.enableIOLoad=true;//上料交互方式 false:接口交互 true:光电交互
  172. ////AGV_SlotRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  173. ////AGV_SlotRollerJobData.GetInstance.enableIOUnload=true;//下料交互方式 false:接口交互 true:光电交互
  174. ////AGVModel.GetInstance.jobData = AGV_SlotRollerJobData.GetInstance;
  175. ////string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  176. ////启用签名
  177. ////url = url + "?sign=" + MD5Deal(body);
  178. //string data= HttpRequest(url, head, body);
  179. //object objData = JsonConvert.DeserializeObject(data);
  180. //if (objData != null && objData is HttpResponseBodyModel response)
  181. //{
  182. // return response.code;
  183. //}
  184. return "Analysis Error";
  185. }
  186. /// <summary>
  187. /// AGV去3号线体装桶
  188. /// </summary>
  189. /// <returns></returns>
  190. public string AgvToLineThreeLoadRoller(string robotJobId)
  191. {
  192. //string url = AGVRequestUrl.GetInstance.TaskSendUrl;
  193. ////请求报文头
  194. //HttpRequestHeaderModel.GetInstance.appKey = "";
  195. //HttpRequestHeaderModel.GetInstance.appSecret = "";
  196. //HttpRequestHeaderModel.GetInstance.requestId = "";
  197. //HttpRequestHeaderModel.GetInstance.timestamp = "";
  198. //HttpRequestHeaderModel.GetInstance.version = "2.8";
  199. //string head = JsonConvert.SerializeObject(HttpRequestHeaderModel.GetInstance);
  200. ////请求报文体
  201. //AGVModel.GetInstance.robotJobId = robotJobId;//上游提供
  202. //AGVModel.GetInstance.warehouseId = 123; //仓库编号
  203. //AGVModel.GetInstance.jobPriority = 1;//任务执行的优先级
  204. //AGVModel.GetInstance.jobPriorityType = 1;//0:根据优先级来执行,1:强制执行
  205. //AGVModel.GetInstance.jobType = "POINT_ROLLER_MOVE"; //SLOT_ROLLER_MOVE / POINT_ROLLER_MOVE
  206. ////详细任务数据
  207. ////点到点
  208. //AGV_PointRollerJobData.GetInstance.startPoint = "";//起点点位
  209. //AGV_PointRollerJobData.GetInstance.endPoint = "";//目的点位
  210. //AGV_PointRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  211. //AGV_PointRollerJobData.GetInstance.enableIOLoad = true;//上料交互方式 false:接口交互 true:光电交互
  212. //AGV_PointRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  213. //AGV_PointRollerJobData.GetInstance.enableIOUnload = true;//下料交互方式 false:接口交互 true:光电交互
  214. //AGVModel.GetInstance.jobData = AGV_PointRollerJobData.GetInstance;
  215. //string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  216. ////货位到货位
  217. ////AGV_SlotRollerJobData.GetInstance.startSlotCode = "";//起点槽位编号
  218. ////AGV_SlotRollerJobData.GetInstance.endSlotCode = "";//目的槽位编号
  219. ////AGV_SlotRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  220. ////AGV_SlotRollerJobData.GetInstance.enableIOLoad=true;//上料交互方式 false:接口交互 true:光电交互
  221. ////AGV_SlotRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  222. ////AGV_SlotRollerJobData.GetInstance.enableIOUnload=true;//下料交互方式 false:接口交互 true:光电交互
  223. ////AGVModel.GetInstance.jobData = AGV_SlotRollerJobData.GetInstance;
  224. ////string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  225. ////启用签名
  226. ////url = url + "?sign=" + MD5Deal(body);
  227. //string data = HttpRequest(url, head, body);
  228. //object objData = JsonConvert.DeserializeObject(data);
  229. //if (objData != null && objData is HttpResponseBodyModel response)
  230. //{
  231. // return response.code;
  232. //}
  233. return "Analysis Error";
  234. }
  235. /// <summary>
  236. /// AGV从清洗台到4号线体卸桶
  237. /// </summary>
  238. /// <returns></returns>
  239. public string AgvFromCleanToLineFourUnLoadRoller(string robotJobId)
  240. {
  241. //string url = AGVRequestUrl.GetInstance.TaskSendUrl;
  242. ////请求报文头
  243. //HttpRequestHeaderModel.GetInstance.appKey = "";
  244. //HttpRequestHeaderModel.GetInstance.appSecret = "";
  245. //HttpRequestHeaderModel.GetInstance.requestId = "";
  246. //HttpRequestHeaderModel.GetInstance.timestamp = "";
  247. //HttpRequestHeaderModel.GetInstance.version = "2.8";
  248. //string head = JsonConvert.SerializeObject(HttpRequestHeaderModel.GetInstance);
  249. ////请求报文体
  250. //AGVModel.GetInstance.robotJobId = robotJobId;//上游提供
  251. //AGVModel.GetInstance.warehouseId = 123; //仓库编号
  252. //AGVModel.GetInstance.jobPriority = 1;//任务执行的优先级
  253. //AGVModel.GetInstance.jobPriorityType = 1;//0:根据优先级来执行,1:强制执行
  254. //AGVModel.GetInstance.jobType = "POINT_ROLLER_MOVE"; //SLOT_ROLLER_MOVE / POINT_ROLLER_MOVE
  255. ////详细任务数据
  256. ////点到点
  257. //AGV_PointRollerJobData.GetInstance.startPoint = "";//起点点位
  258. //AGV_PointRollerJobData.GetInstance.endPoint = "";//目的点位
  259. //AGV_PointRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  260. //AGV_PointRollerJobData.GetInstance.enableIOLoad = true;//上料交互方式 false:接口交互 true:光电交互
  261. //AGV_PointRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  262. //AGV_PointRollerJobData.GetInstance.enableIOUnload = true;//下料交互方式 false:接口交互 true:光电交互
  263. //AGVModel.GetInstance.jobData = AGV_PointRollerJobData.GetInstance;
  264. //string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  265. ////货位到货位
  266. ////AGV_SlotRollerJobData.GetInstance.startSlotCode = "";//起点槽位编号
  267. ////AGV_SlotRollerJobData.GetInstance.endSlotCode = "";//目的槽位编号
  268. ////AGV_SlotRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  269. ////AGV_SlotRollerJobData.GetInstance.enableIOLoad=true;//上料交互方式 false:接口交互 true:光电交互
  270. ////AGV_SlotRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  271. ////AGV_SlotRollerJobData.GetInstance.enableIOUnload=true;//下料交互方式 false:接口交互 true:光电交互
  272. ////AGVModel.GetInstance.jobData = AGV_SlotRollerJobData.GetInstance;
  273. ////string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  274. ////启用签名
  275. ////url = url + "?sign=" + MD5Deal(body);
  276. //string data = HttpRequest(url, head, body);
  277. //object objData = JsonConvert.DeserializeObject(data);
  278. //if (objData != null && objData is HttpResponseBodyModel response)
  279. //{
  280. // return response.code;
  281. //}
  282. return "Analysis Error";
  283. }
  284. /// <summary>
  285. /// AGV离开炒锅1
  286. /// </summary>
  287. /// <returns></returns>
  288. public string AgvLeaveFryPotOne(string robotJobId)
  289. {
  290. //string url = AGVRequestUrl.GetInstance.TaskSendUrl;
  291. ////请求报文头
  292. //HttpRequestHeaderModel.GetInstance.appKey = "";
  293. //HttpRequestHeaderModel.GetInstance.appSecret = "";
  294. //HttpRequestHeaderModel.GetInstance.requestId = "";
  295. //HttpRequestHeaderModel.GetInstance.timestamp = "";
  296. //HttpRequestHeaderModel.GetInstance.version = "2.8";
  297. //string head = JsonConvert.SerializeObject(HttpRequestHeaderModel.GetInstance);
  298. ////请求报文体
  299. //AGVModel.GetInstance.robotJobId = robotJobId;//上游提供
  300. //AGVModel.GetInstance.warehouseId = 123; //仓库编号
  301. //AGVModel.GetInstance.jobPriority = 1;//任务执行的优先级
  302. //AGVModel.GetInstance.jobPriorityType = 1;//0:根据优先级来执行,1:强制执行
  303. //AGVModel.GetInstance.jobType = "POINT_ROLLER_MOVE"; //SLOT_ROLLER_MOVE / POINT_ROLLER_MOVE
  304. ////详细任务数据
  305. ////点到点
  306. //AGV_PointRollerJobData.GetInstance.startPoint = "";//起点点位
  307. //AGV_PointRollerJobData.GetInstance.endPoint = "";//目的点位
  308. //AGV_PointRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  309. //AGV_PointRollerJobData.GetInstance.enableIOLoad = true;//上料交互方式 false:接口交互 true:光电交互
  310. //AGV_PointRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  311. //AGV_PointRollerJobData.GetInstance.enableIOUnload = true;//下料交互方式 false:接口交互 true:光电交互
  312. //AGVModel.GetInstance.jobData = AGV_PointRollerJobData.GetInstance;
  313. //string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  314. ////货位到货位
  315. ////AGV_SlotRollerJobData.GetInstance.startSlotCode = "";//起点槽位编号
  316. ////AGV_SlotRollerJobData.GetInstance.endSlotCode = "";//目的槽位编号
  317. ////AGV_SlotRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  318. ////AGV_SlotRollerJobData.GetInstance.enableIOLoad=true;//上料交互方式 false:接口交互 true:光电交互
  319. ////AGV_SlotRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  320. ////AGV_SlotRollerJobData.GetInstance.enableIOUnload=true;//下料交互方式 false:接口交互 true:光电交互
  321. ////AGVModel.GetInstance.jobData = AGV_SlotRollerJobData.GetInstance;
  322. ////string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  323. ////启用签名
  324. ////url = url + "?sign=" + MD5Deal(body);
  325. //string data = HttpRequest(url, head, body);
  326. //object objData = JsonConvert.DeserializeObject(data);
  327. //if (objData != null && objData is HttpResponseBodyModel response)
  328. //{
  329. // return response.code;
  330. //}
  331. return "Analysis Error";
  332. }
  333. /// <summary>
  334. /// AGV离开炒锅2
  335. /// </summary>
  336. /// <returns></returns>
  337. public string AgvLeaveFryPotTwo(string robotJobId)
  338. {
  339. //string url = AGVRequestUrl.GetInstance.TaskSendUrl;
  340. ////请求报文头
  341. //HttpRequestHeaderModel.GetInstance.appKey = "";
  342. //HttpRequestHeaderModel.GetInstance.appSecret = "";
  343. //HttpRequestHeaderModel.GetInstance.requestId = "";
  344. //HttpRequestHeaderModel.GetInstance.timestamp = "";
  345. //HttpRequestHeaderModel.GetInstance.version = "2.8";
  346. //string head = JsonConvert.SerializeObject(HttpRequestHeaderModel.GetInstance);
  347. ////请求报文体
  348. //AGVModel.GetInstance.robotJobId = robotJobId;//上游提供
  349. //AGVModel.GetInstance.warehouseId = 123; //仓库编号
  350. //AGVModel.GetInstance.jobPriority = 1;//任务执行的优先级
  351. //AGVModel.GetInstance.jobPriorityType = 1;//0:根据优先级来执行,1:强制执行
  352. //AGVModel.GetInstance.jobType = "POINT_ROLLER_MOVE"; //SLOT_ROLLER_MOVE / POINT_ROLLER_MOVE
  353. ////详细任务数据
  354. ////点到点
  355. //AGV_PointRollerJobData.GetInstance.startPoint = "";//起点点位
  356. //AGV_PointRollerJobData.GetInstance.endPoint = "";//目的点位
  357. //AGV_PointRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  358. //AGV_PointRollerJobData.GetInstance.enableIOLoad = true;//上料交互方式 false:接口交互 true:光电交互
  359. //AGV_PointRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  360. //AGV_PointRollerJobData.GetInstance.enableIOUnload = true;//下料交互方式 false:接口交互 true:光电交互
  361. //AGVModel.GetInstance.jobData = AGV_PointRollerJobData.GetInstance;
  362. //string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  363. ////货位到货位
  364. ////AGV_SlotRollerJobData.GetInstance.startSlotCode = "";//起点槽位编号
  365. ////AGV_SlotRollerJobData.GetInstance.endSlotCode = "";//目的槽位编号
  366. ////AGV_SlotRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  367. ////AGV_SlotRollerJobData.GetInstance.enableIOLoad=true;//上料交互方式 false:接口交互 true:光电交互
  368. ////AGV_SlotRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  369. ////AGV_SlotRollerJobData.GetInstance.enableIOUnload=true;//下料交互方式 false:接口交互 true:光电交互
  370. ////AGVModel.GetInstance.jobData = AGV_SlotRollerJobData.GetInstance;
  371. ////string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  372. ////启用签名
  373. ////url = url + "?sign=" + MD5Deal(body);
  374. //string data = HttpRequest(url, head, body);
  375. //object objData = JsonConvert.DeserializeObject(data);
  376. //if (objData != null && objData is HttpResponseBodyModel response)
  377. //{
  378. // return response.code;
  379. //}
  380. return "Analysis Error";
  381. }
  382. /// <summary>
  383. /// AGV离开炒锅3
  384. /// </summary>
  385. /// <returns></returns>
  386. public string AgvLeaveFryPotThree(string robotJobId)
  387. {
  388. //string url = AGVRequestUrl.GetInstance.TaskSendUrl;
  389. ////请求报文头
  390. //HttpRequestHeaderModel.GetInstance.appKey = "";
  391. //HttpRequestHeaderModel.GetInstance.appSecret = "";
  392. //HttpRequestHeaderModel.GetInstance.requestId = "";
  393. //HttpRequestHeaderModel.GetInstance.timestamp = "";
  394. //HttpRequestHeaderModel.GetInstance.version = "2.8";
  395. //string head = JsonConvert.SerializeObject(HttpRequestHeaderModel.GetInstance);
  396. ////请求报文体
  397. //AGVModel.GetInstance.robotJobId = robotJobId;//上游提供
  398. //AGVModel.GetInstance.warehouseId = 123; //仓库编号
  399. //AGVModel.GetInstance.jobPriority = 1;//任务执行的优先级
  400. //AGVModel.GetInstance.jobPriorityType = 1;//0:根据优先级来执行,1:强制执行
  401. //AGVModel.GetInstance.jobType = "POINT_ROLLER_MOVE"; //SLOT_ROLLER_MOVE / POINT_ROLLER_MOVE
  402. ////详细任务数据
  403. ////点到点
  404. //AGV_PointRollerJobData.GetInstance.startPoint = "";//起点点位
  405. //AGV_PointRollerJobData.GetInstance.endPoint = "";//目的点位
  406. //AGV_PointRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  407. //AGV_PointRollerJobData.GetInstance.enableIOLoad = true;//上料交互方式 false:接口交互 true:光电交互
  408. //AGV_PointRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  409. //AGV_PointRollerJobData.GetInstance.enableIOUnload = true;//下料交互方式 false:接口交互 true:光电交互
  410. //AGVModel.GetInstance.jobData = AGV_PointRollerJobData.GetInstance;
  411. //string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  412. ////货位到货位
  413. ////AGV_SlotRollerJobData.GetInstance.startSlotCode = "";//起点槽位编号
  414. ////AGV_SlotRollerJobData.GetInstance.endSlotCode = "";//目的槽位编号
  415. ////AGV_SlotRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  416. ////AGV_SlotRollerJobData.GetInstance.enableIOLoad=true;//上料交互方式 false:接口交互 true:光电交互
  417. ////AGV_SlotRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  418. ////AGV_SlotRollerJobData.GetInstance.enableIOUnload=true;//下料交互方式 false:接口交互 true:光电交互
  419. ////AGVModel.GetInstance.jobData = AGV_SlotRollerJobData.GetInstance;
  420. ////string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  421. ////启用签名
  422. ////url = url + "?sign=" + MD5Deal(body);
  423. //string data = HttpRequest(url, head, body);
  424. //object objData = JsonConvert.DeserializeObject(data);
  425. //if (objData != null && objData is HttpResponseBodyModel response)
  426. //{
  427. // return response.code;
  428. //}
  429. return "Analysis Error";
  430. }
  431. /// <summary>
  432. /// AGV离开炒锅4
  433. /// </summary>
  434. /// <returns></returns>
  435. public string AgvLeaveFryPotFour(string robotJobId)
  436. {
  437. //string url = AGVRequestUrl.GetInstance.TaskSendUrl;
  438. ////请求报文头
  439. //HttpRequestHeaderModel.GetInstance.appKey = "";
  440. //HttpRequestHeaderModel.GetInstance.appSecret = "";
  441. //HttpRequestHeaderModel.GetInstance.requestId = "";
  442. //HttpRequestHeaderModel.GetInstance.timestamp = "";
  443. //HttpRequestHeaderModel.GetInstance.version = "2.8";
  444. //string head = JsonConvert.SerializeObject(HttpRequestHeaderModel.GetInstance);
  445. ////请求报文体
  446. //AGVModel.GetInstance.robotJobId = robotJobId;//上游提供
  447. //AGVModel.GetInstance.warehouseId = 123; //仓库编号
  448. //AGVModel.GetInstance.jobPriority = 1;//任务执行的优先级
  449. //AGVModel.GetInstance.jobPriorityType = 1;//0:根据优先级来执行,1:强制执行
  450. //AGVModel.GetInstance.jobType = "POINT_ROLLER_MOVE"; //SLOT_ROLLER_MOVE / POINT_ROLLER_MOVE
  451. ////详细任务数据
  452. ////点到点
  453. //AGV_PointRollerJobData.GetInstance.startPoint = "";//起点点位
  454. //AGV_PointRollerJobData.GetInstance.endPoint = "";//目的点位
  455. //AGV_PointRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  456. //AGV_PointRollerJobData.GetInstance.enableIOLoad = true;//上料交互方式 false:接口交互 true:光电交互
  457. //AGV_PointRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  458. //AGV_PointRollerJobData.GetInstance.enableIOUnload = true;//下料交互方式 false:接口交互 true:光电交互
  459. //AGVModel.GetInstance.jobData = AGV_PointRollerJobData.GetInstance;
  460. //string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  461. ////货位到货位
  462. ////AGV_SlotRollerJobData.GetInstance.startSlotCode = "";//起点槽位编号
  463. ////AGV_SlotRollerJobData.GetInstance.endSlotCode = "";//目的槽位编号
  464. ////AGV_SlotRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  465. ////AGV_SlotRollerJobData.GetInstance.enableIOLoad=true;//上料交互方式 false:接口交互 true:光电交互
  466. ////AGV_SlotRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  467. ////AGV_SlotRollerJobData.GetInstance.enableIOUnload=true;//下料交互方式 false:接口交互 true:光电交互
  468. ////AGVModel.GetInstance.jobData = AGV_SlotRollerJobData.GetInstance;
  469. ////string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  470. ////启用签名
  471. ////url = url + "?sign=" + MD5Deal(body);
  472. //string data = HttpRequest(url, head, body);
  473. //object objData = JsonConvert.DeserializeObject(data);
  474. //if (objData != null && objData is HttpResponseBodyModel response)
  475. //{
  476. // return response.code;
  477. //}
  478. return "Analysis Error";
  479. }
  480. /// <summary>
  481. /// AGV离开炒锅5
  482. /// </summary>
  483. /// <returns></returns>
  484. public string AgvLeaveFryPotFive(string robotJobId)
  485. {
  486. //string url = AGVRequestUrl.GetInstance.TaskSendUrl;
  487. ////请求报文头
  488. //HttpRequestHeaderModel.GetInstance.appKey = "";
  489. //HttpRequestHeaderModel.GetInstance.appSecret = "";
  490. //HttpRequestHeaderModel.GetInstance.requestId = "";
  491. //HttpRequestHeaderModel.GetInstance.timestamp = "";
  492. //HttpRequestHeaderModel.GetInstance.version = "2.8";
  493. //string head = JsonConvert.SerializeObject(HttpRequestHeaderModel.GetInstance);
  494. ////请求报文体
  495. //AGVModel.GetInstance.robotJobId = robotJobId;//上游提供
  496. //AGVModel.GetInstance.warehouseId = 123; //仓库编号
  497. //AGVModel.GetInstance.jobPriority = 1;//任务执行的优先级
  498. //AGVModel.GetInstance.jobPriorityType = 1;//0:根据优先级来执行,1:强制执行
  499. //AGVModel.GetInstance.jobType = "POINT_ROLLER_MOVE"; //SLOT_ROLLER_MOVE / POINT_ROLLER_MOVE
  500. ////详细任务数据
  501. ////点到点
  502. //AGV_PointRollerJobData.GetInstance.startPoint = "";//起点点位
  503. //AGV_PointRollerJobData.GetInstance.endPoint = "";//目的点位
  504. //AGV_PointRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  505. //AGV_PointRollerJobData.GetInstance.enableIOLoad = true;//上料交互方式 false:接口交互 true:光电交互
  506. //AGV_PointRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  507. //AGV_PointRollerJobData.GetInstance.enableIOUnload = true;//下料交互方式 false:接口交互 true:光电交互
  508. //AGVModel.GetInstance.jobData = AGV_PointRollerJobData.GetInstance;
  509. //string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  510. ////货位到货位
  511. ////AGV_SlotRollerJobData.GetInstance.startSlotCode = "";//起点槽位编号
  512. ////AGV_SlotRollerJobData.GetInstance.endSlotCode = "";//目的槽位编号
  513. ////AGV_SlotRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  514. ////AGV_SlotRollerJobData.GetInstance.enableIOLoad=true;//上料交互方式 false:接口交互 true:光电交互
  515. ////AGV_SlotRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  516. ////AGV_SlotRollerJobData.GetInstance.enableIOUnload=true;//下料交互方式 false:接口交互 true:光电交互
  517. ////AGVModel.GetInstance.jobData = AGV_SlotRollerJobData.GetInstance;
  518. ////string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  519. ////启用签名
  520. ////url = url + "?sign=" + MD5Deal(body);
  521. //string data = HttpRequest(url, head, body);
  522. //object objData = JsonConvert.DeserializeObject(data);
  523. //if (objData != null && objData is HttpResponseBodyModel response)
  524. //{
  525. // return response.code;
  526. //}
  527. return "Analysis Error";
  528. }
  529. /// <summary>
  530. /// AGV从1号线运空桶洗桶
  531. /// </summary>
  532. /// <returns></returns>
  533. public string AgvLeaveLOneToClean(string robotJobId)
  534. {
  535. //string url = AGVRequestUrl.GetInstance.TaskSendUrl;
  536. ////请求报文头
  537. //HttpRequestHeaderModel.GetInstance.appKey = "";
  538. //HttpRequestHeaderModel.GetInstance.appSecret = "";
  539. //HttpRequestHeaderModel.GetInstance.requestId = "";
  540. //HttpRequestHeaderModel.GetInstance.timestamp = "";
  541. //HttpRequestHeaderModel.GetInstance.version = "2.8";
  542. //string head = JsonConvert.SerializeObject(HttpRequestHeaderModel.GetInstance);
  543. ////请求报文体
  544. //AGVModel.GetInstance.robotJobId = robotJobId;//上游提供
  545. //AGVModel.GetInstance.warehouseId = 123; //仓库编号
  546. //AGVModel.GetInstance.jobPriority = 1;//任务执行的优先级
  547. //AGVModel.GetInstance.jobPriorityType = 1;//0:根据优先级来执行,1:强制执行
  548. //AGVModel.GetInstance.jobType = "POINT_ROLLER_MOVE"; //SLOT_ROLLER_MOVE / POINT_ROLLER_MOVE
  549. ////详细任务数据
  550. ////点到点
  551. //AGV_PointRollerJobData.GetInstance.startPoint = "";//起点点位
  552. //AGV_PointRollerJobData.GetInstance.endPoint = "";//目的点位
  553. //AGV_PointRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  554. //AGV_PointRollerJobData.GetInstance.enableIOLoad = true;//上料交互方式 false:接口交互 true:光电交互
  555. //AGV_PointRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  556. //AGV_PointRollerJobData.GetInstance.enableIOUnload = true;//下料交互方式 false:接口交互 true:光电交互
  557. //AGVModel.GetInstance.jobData = AGV_PointRollerJobData.GetInstance;
  558. //string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  559. ////货位到货位
  560. ////AGV_SlotRollerJobData.GetInstance.startSlotCode = "";//起点槽位编号
  561. ////AGV_SlotRollerJobData.GetInstance.endSlotCode = "";//目的槽位编号
  562. ////AGV_SlotRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  563. ////AGV_SlotRollerJobData.GetInstance.enableIOLoad=true;//上料交互方式 false:接口交互 true:光电交互
  564. ////AGV_SlotRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  565. ////AGV_SlotRollerJobData.GetInstance.enableIOUnload=true;//下料交互方式 false:接口交互 true:光电交互
  566. ////AGVModel.GetInstance.jobData = AGV_SlotRollerJobData.GetInstance;
  567. ////string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  568. ////启用签名
  569. ////url = url + "?sign=" + MD5Deal(body);
  570. //string data = HttpRequest(url, head, body);
  571. //object objData = JsonConvert.DeserializeObject(data);
  572. //if (objData != null && objData is HttpResponseBodyModel response)
  573. //{
  574. // return response.code;
  575. //}
  576. return "Analysis Error";
  577. }
  578. /// <summary>
  579. /// AGV从2号线运空桶洗桶
  580. /// </summary>
  581. /// <returns></returns>
  582. public string AgvLeaveLTwoToClean(string robotJobId)
  583. {
  584. //string url = AGVRequestUrl.GetInstance.TaskSendUrl;
  585. ////请求报文头
  586. //HttpRequestHeaderModel.GetInstance.appKey = "";
  587. //HttpRequestHeaderModel.GetInstance.appSecret = "";
  588. //HttpRequestHeaderModel.GetInstance.requestId = "";
  589. //HttpRequestHeaderModel.GetInstance.timestamp = "";
  590. //HttpRequestHeaderModel.GetInstance.version = "2.8";
  591. //string head = JsonConvert.SerializeObject(HttpRequestHeaderModel.GetInstance);
  592. ////请求报文体
  593. //AGVModel.GetInstance.robotJobId = robotJobId;//上游提供
  594. //AGVModel.GetInstance.warehouseId = 123; //仓库编号
  595. //AGVModel.GetInstance.jobPriority = 1;//任务执行的优先级
  596. //AGVModel.GetInstance.jobPriorityType = 1;//0:根据优先级来执行,1:强制执行
  597. //AGVModel.GetInstance.jobType = "POINT_ROLLER_MOVE"; //SLOT_ROLLER_MOVE / POINT_ROLLER_MOVE
  598. ////详细任务数据
  599. ////点到点
  600. //AGV_PointRollerJobData.GetInstance.startPoint = "";//起点点位
  601. //AGV_PointRollerJobData.GetInstance.endPoint = "";//目的点位
  602. //AGV_PointRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  603. //AGV_PointRollerJobData.GetInstance.enableIOLoad = true;//上料交互方式 false:接口交互 true:光电交互
  604. //AGV_PointRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  605. //AGV_PointRollerJobData.GetInstance.enableIOUnload = true;//下料交互方式 false:接口交互 true:光电交互
  606. //AGVModel.GetInstance.jobData = AGV_PointRollerJobData.GetInstance;
  607. //string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  608. ////货位到货位
  609. ////AGV_SlotRollerJobData.GetInstance.startSlotCode = "";//起点槽位编号
  610. ////AGV_SlotRollerJobData.GetInstance.endSlotCode = "";//目的槽位编号
  611. ////AGV_SlotRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  612. ////AGV_SlotRollerJobData.GetInstance.enableIOLoad=true;//上料交互方式 false:接口交互 true:光电交互
  613. ////AGV_SlotRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  614. ////AGV_SlotRollerJobData.GetInstance.enableIOUnload=true;//下料交互方式 false:接口交互 true:光电交互
  615. ////AGVModel.GetInstance.jobData = AGV_SlotRollerJobData.GetInstance;
  616. ////string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  617. ////启用签名
  618. ////url = url + "?sign=" + MD5Deal(body);
  619. //string data = HttpRequest(url, head, body);
  620. //object objData = JsonConvert.DeserializeObject(data);
  621. //if (objData != null && objData is HttpResponseBodyModel response)
  622. //{
  623. // return response.code;
  624. //}
  625. return "Analysis Error";
  626. }
  627. /// <summary>
  628. /// AGV从3号线运空桶洗桶
  629. /// </summary>
  630. /// <returns></returns>
  631. public string AgvLeaveLThreeToClean(string robotJobId)
  632. {
  633. //string url = AGVRequestUrl.GetInstance.TaskSendUrl;
  634. ////请求报文头
  635. //HttpRequestHeaderModel.GetInstance.appKey = "";
  636. //HttpRequestHeaderModel.GetInstance.appSecret = "";
  637. //HttpRequestHeaderModel.GetInstance.requestId = "";
  638. //HttpRequestHeaderModel.GetInstance.timestamp = "";
  639. //HttpRequestHeaderModel.GetInstance.version = "2.8";
  640. //string head = JsonConvert.SerializeObject(HttpRequestHeaderModel.GetInstance);
  641. ////请求报文体
  642. //AGVModel.GetInstance.robotJobId = robotJobId;//上游提供
  643. //AGVModel.GetInstance.warehouseId = 123; //仓库编号
  644. //AGVModel.GetInstance.jobPriority = 1;//任务执行的优先级
  645. //AGVModel.GetInstance.jobPriorityType = 1;//0:根据优先级来执行,1:强制执行
  646. //AGVModel.GetInstance.jobType = "POINT_ROLLER_MOVE"; //SLOT_ROLLER_MOVE / POINT_ROLLER_MOVE
  647. ////详细任务数据
  648. ////点到点
  649. //AGV_PointRollerJobData.GetInstance.startPoint = "";//起点点位
  650. //AGV_PointRollerJobData.GetInstance.endPoint = "";//目的点位
  651. //AGV_PointRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  652. //AGV_PointRollerJobData.GetInstance.enableIOLoad = true;//上料交互方式 false:接口交互 true:光电交互
  653. //AGV_PointRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  654. //AGV_PointRollerJobData.GetInstance.enableIOUnload = true;//下料交互方式 false:接口交互 true:光电交互
  655. //AGVModel.GetInstance.jobData = AGV_PointRollerJobData.GetInstance;
  656. //string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  657. ////货位到货位
  658. ////AGV_SlotRollerJobData.GetInstance.startSlotCode = "";//起点槽位编号
  659. ////AGV_SlotRollerJobData.GetInstance.endSlotCode = "";//目的槽位编号
  660. ////AGV_SlotRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  661. ////AGV_SlotRollerJobData.GetInstance.enableIOLoad=true;//上料交互方式 false:接口交互 true:光电交互
  662. ////AGV_SlotRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  663. ////AGV_SlotRollerJobData.GetInstance.enableIOUnload=true;//下料交互方式 false:接口交互 true:光电交互
  664. ////AGVModel.GetInstance.jobData = AGV_SlotRollerJobData.GetInstance;
  665. ////string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  666. ////启用签名
  667. ////url = url + "?sign=" + MD5Deal(body);
  668. //string data = HttpRequest(url, head, body);
  669. //object objData = JsonConvert.DeserializeObject(data);
  670. //if (objData != null && objData is HttpResponseBodyModel response)
  671. //{
  672. // return response.code;
  673. //}
  674. return "Analysis Error";
  675. }
  676. /// <summary>
  677. /// AGV从洗桶处运桶到4号洗桶线
  678. /// </summary>
  679. /// <returns></returns>
  680. public string AgvLeaveCleanToLFour(string robotJobId)
  681. {
  682. //string url = AGVRequestUrl.GetInstance.TaskSendUrl;
  683. ////请求报文头
  684. //HttpRequestHeaderModel.GetInstance.appKey = "";
  685. //HttpRequestHeaderModel.GetInstance.appSecret = "";
  686. //HttpRequestHeaderModel.GetInstance.requestId = "";
  687. //HttpRequestHeaderModel.GetInstance.timestamp = "";
  688. //HttpRequestHeaderModel.GetInstance.version = "2.8";
  689. //string head = JsonConvert.SerializeObject(HttpRequestHeaderModel.GetInstance);
  690. ////请求报文体
  691. //AGVModel.GetInstance.robotJobId = robotJobId;//上游提供
  692. //AGVModel.GetInstance.warehouseId = 123; //仓库编号
  693. //AGVModel.GetInstance.jobPriority = 1;//任务执行的优先级
  694. //AGVModel.GetInstance.jobPriorityType = 1;//0:根据优先级来执行,1:强制执行
  695. //AGVModel.GetInstance.jobType = "POINT_ROLLER_MOVE"; //SLOT_ROLLER_MOVE / POINT_ROLLER_MOVE
  696. ////详细任务数据
  697. ////点到点
  698. //AGV_PointRollerJobData.GetInstance.startPoint = "";//起点点位
  699. //AGV_PointRollerJobData.GetInstance.endPoint = "";//目的点位
  700. //AGV_PointRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  701. //AGV_PointRollerJobData.GetInstance.enableIOLoad = true;//上料交互方式 false:接口交互 true:光电交互
  702. //AGV_PointRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  703. //AGV_PointRollerJobData.GetInstance.enableIOUnload = true;//下料交互方式 false:接口交互 true:光电交互
  704. //AGVModel.GetInstance.jobData = AGV_PointRollerJobData.GetInstance;
  705. //string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  706. ////货位到货位
  707. ////AGV_SlotRollerJobData.GetInstance.startSlotCode = "";//起点槽位编号
  708. ////AGV_SlotRollerJobData.GetInstance.endSlotCode = "";//目的槽位编号
  709. ////AGV_SlotRollerJobData.GetInstance.autoLoad = true;//是否自动上料 true:自动上料 false:人工上料
  710. ////AGV_SlotRollerJobData.GetInstance.enableIOLoad=true;//上料交互方式 false:接口交互 true:光电交互
  711. ////AGV_SlotRollerJobData.GetInstance.autoUnload = true;//是否自动下料 true:自动下料 false:人工下料
  712. ////AGV_SlotRollerJobData.GetInstance.enableIOUnload=true;//下料交互方式 false:接口交互 true:光电交互
  713. ////AGVModel.GetInstance.jobData = AGV_SlotRollerJobData.GetInstance;
  714. ////string body = JsonConvert.SerializeObject(AGVModel.GetInstance);
  715. ////启用签名
  716. ////url = url + "?sign=" + MD5Deal(body);
  717. //string data = HttpRequest(url, head, body);
  718. //object objData = JsonConvert.DeserializeObject(data);
  719. //if (objData != null && objData is HttpResponseBodyModel response)
  720. //{
  721. // return response.code;
  722. //}
  723. return "Analysis Error";
  724. }
  725. /// <summary>
  726. /// 任务取消
  727. /// </summary>
  728. /// <param name="robotJobId">上游系统任务号,全局唯一</param>
  729. public string CancelJobTask(string robotJobId)
  730. {
  731. string url = AGVRequestUrl.GetInstance.TaskCancelUrl;
  732. //请求报文头
  733. HttpRequestHeaderModel.GetInstance.appKey = "";
  734. HttpRequestHeaderModel.GetInstance.appSecret = "";
  735. HttpRequestHeaderModel.GetInstance.requestId = "";
  736. HttpRequestHeaderModel.GetInstance.timestamp = "";
  737. HttpRequestHeaderModel.GetInstance.version = "2.8";
  738. string head = JsonConvert.SerializeObject(HttpRequestHeaderModel.GetInstance);
  739. //请求报文体
  740. AGVTaskCancelModel.GetInstance.robotJobId = robotJobId;
  741. AGVTaskCancelModel.GetInstance.warehouseId = 123;//仓库编号
  742. string body = JsonConvert.SerializeObject(AGVTaskCancelModel.GetInstance);
  743. //启用签名
  744. //url = url + "?sign=" + MD5Deal(body);
  745. string data = HttpRequest(url, head, body);
  746. object objData = JsonConvert.DeserializeObject(data);
  747. if (objData != null && objData is HttpResponseBodyModel response)
  748. {
  749. return response.code;
  750. }
  751. return "Analysis Error";
  752. }
  753. /// <summary>
  754. /// 实操任务完成通知
  755. /// </summary>
  756. /// <returns></returns>
  757. public string TaskCompleteNotify(string robotJobId)
  758. {
  759. string url = AGVRequestUrl.GetInstance.TaskCompleteUrl;
  760. //请求报文头
  761. HttpRequestHeaderModel.GetInstance.appKey = "";
  762. HttpRequestHeaderModel.GetInstance.appSecret = "";
  763. HttpRequestHeaderModel.GetInstance.requestId = "";
  764. HttpRequestHeaderModel.GetInstance.timestamp = "";
  765. HttpRequestHeaderModel.GetInstance.version = "2.8";
  766. string head = JsonConvert.SerializeObject(HttpRequestHeaderModel.GetInstance);
  767. //请求报文体
  768. AGVTaskCompleteNotifyModel.GetInstance.robotJobId = robotJobId;
  769. AGVTaskCompleteNotifyModel.GetInstance.warehouseId = 123;//仓库编号
  770. string body = JsonConvert.SerializeObject(AGVTaskCompleteNotifyModel.GetInstance);
  771. //启用签名
  772. //url = url + "?sign=" + MD5Deal(body);
  773. string data = HttpRequest(url, head, body);
  774. object objData = JsonConvert.DeserializeObject(data);
  775. if (objData != null && objData is HttpResponseBodyModel response)
  776. {
  777. return response.code;
  778. }
  779. return "Analysis Error";
  780. }
  781. /// <summary>
  782. /// AGV上下料交互反馈
  783. /// </summary>
  784. /// <param name="agvCode">AGV编号</param>
  785. /// <param name="jobId">任务编号</param>
  786. /// <param name="msgId">消息编号</param>
  787. /// <returns></returns>
  788. public string UpDownFeedBack(string agvCode, string jobId, string msgId)
  789. {
  790. string url = AGVRequestUrl.GetInstance.TaskCompleteUrl;
  791. //请求报文头
  792. HttpRequestHeaderModel.GetInstance.appKey = "";
  793. HttpRequestHeaderModel.GetInstance.appSecret = "";
  794. HttpRequestHeaderModel.GetInstance.requestId = "";
  795. HttpRequestHeaderModel.GetInstance.timestamp = "";
  796. HttpRequestHeaderModel.GetInstance.version = "2.8";
  797. string head = JsonConvert.SerializeObject(HttpRequestHeaderModel.GetInstance);
  798. //请求报文体
  799. AGVLoadInteracteModel.GetInstance.agvCode = agvCode;
  800. AGVLoadInteracteModel.GetInstance.jobId = jobId;
  801. AGVLoadInteracteModel.GetInstance.msgId = msgId;
  802. string body = JsonConvert.SerializeObject(AGVLoadInteracteModel.GetInstance);
  803. //启用签名
  804. //url = url + "?sign=" + MD5Deal(body);
  805. string data = HttpRequest(url, head, body);
  806. object objData = JsonConvert.DeserializeObject(data);
  807. if (objData != null && objData is HttpResponseBodyModel response)
  808. {
  809. return response.code;
  810. }
  811. return "Analysis Error";
  812. }
  813. }
  814. }