AgvController.cs 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. using Microsoft.AspNetCore.Mvc;
  2. using ServiceCenter.Extensions;
  3. using ServiceCenter.Logs;
  4. using ServiceCenter.Redis;
  5. using ServiceCenter.SqlSugars;
  6. using WCS.Entity;
  7. using WCS.WorkEngineering.WebApi.Models.AGV;
  8. using WCS.WorkEngineering.WebApi.Models.AGV.Request;
  9. using WCS.WorkEngineering.WebApi.Models.AGV.Response;
  10. namespace WCS.WorkEngineering.WebApi.Controllers
  11. {
  12. ///// <summary>
  13. ///// AGV相关接口控制器
  14. ///// </summary>
  15. //[ApiController]
  16. //[Route("api/[controller]/[action]")]
  17. //public class AgvController : ControllerBase
  18. //{
  19. // /// <summary>
  20. // /// AGV任务下发测试
  21. // /// </summary>
  22. // /// <param name="type">任务类型</param>
  23. // /// <param name="code">RFID</param>
  24. // /// <param name="pos">目标位置</param>
  25. // /// <returns></returns>
  26. // [HttpPost]
  27. // public string AgvDebug(int type, string code, string pos)
  28. // {
  29. // try
  30. // {
  31. // switch (type)
  32. // {
  33. // case 1:
  34. // //AgvApi.机台补空(pos, code, "1");
  35. // break;
  36. // case 2:
  37. // //AgvApi.机台补满();
  38. // break;
  39. // case 3:
  40. // //AgvApi.满轮入库(code, pos, Guid.NewGuid().ToString().Replace("-", ""), "1");
  41. // break;
  42. // }
  43. // return "成功";
  44. // }
  45. // catch (Exception ex)
  46. // {
  47. // return $"Error-----" +
  48. // $"{ex.Message}------" +
  49. // $"{ex.StackTrace}";
  50. // }
  51. // }
  52. // /// <summary>
  53. // /// AGV执行回调
  54. // /// </summary>
  55. // /// <param name="reqDto"></param>
  56. // /// <returns></returns>
  57. // [HttpPost]
  58. // public AgvCallbackResponse AgvCallback([FromBody] AgvCallbackRequest reqDto)
  59. // {
  60. // var key = $"WCS:Lock:AGV:{nameof(AgvCallback)}";
  61. // var res = new AgvCallbackResponse() { code = AgvResponseCode.Success, message = "失败" };
  62. // //LogHub.InterfacePublish(nameof(AgvCallback), $"传入参数--reqCode:{reqDto.reqCode}--taskCode:{reqDto.taskCode}--method:{reqDto.method}");
  63. // try
  64. // {
  65. // RedisHub.Do(key, redis =>
  66. // {
  67. // SqlSugarHelper.Do(db =>
  68. // {
  69. // //跟据AGVid找到对应的AGV任务
  70. // var agvTask = db.Default.Queryable<WCS_AgvTaskInfo>().UpdLock().SplitTable(tabs => tabs.Take(2))
  71. // .First(v => v.AgvID == reqDto.taskCode && v.Status < AGVTaskStatus.MissionCompleted);
  72. // if (agvTask == null)
  73. // {
  74. // res.code = AgvResponseCode.Fail;
  75. // res.message = "未找到对应的AGV任务";
  76. // return;
  77. // }
  78. // switch (reqDto.method)
  79. // {
  80. // case "applyContinue": //表示请求巷道
  81. // agvTask.AgvStatus = AGVTaskStatus.RequestOrPermission1;
  82. // break;
  83. // case "outbin": //小车退出取货位
  84. // agvTask.AgvStatus = AGVTaskStatus.LeaveGet;
  85. // break;
  86. // case "applySecurity": //表示请求放货或取货
  87. // agvTask.AgvStatus = AGVTaskStatus.RequestOrPermission2;
  88. // break;
  89. // case "applySecurityPut": //表示请求放货或取货
  90. // agvTask.AgvStatus = AGVTaskStatus.PutRequestOrPermission;
  91. // break;
  92. // case "FJend": //任务完成
  93. // agvTask.AgvStatus = AGVTaskStatus.MissionCompleted;
  94. // break;
  95. // case "cancel": //取消任务
  96. // if (agvTask.TaskType == AGVTaskType.EnterDepot)
  97. // {
  98. // agvTask.AgvStatus = AGVTaskStatus.Cancel;
  99. // }
  100. // break;
  101. // }
  102. // int i = db.Default.Updateable(agvTask).SplitTable(x => x.Take(2)).ExecuteCommand();
  103. // if (i > 0)
  104. // {
  105. // res.code = AgvResponseCode.Success;
  106. // res.message = "成功";
  107. // }
  108. // else
  109. // {
  110. // return;
  111. // }
  112. // });
  113. // });
  114. // }
  115. // catch (Exception ex)
  116. // {
  117. // res.code = AgvResponseCode.Error;
  118. // res.message = ex.Message;
  119. // }
  120. // //LogHub.InterfacePublish(nameof(AgvCallback), $"返回结果--reqCode:{reqDto.reqCode}--code:{res.code}--message:{res.message}--taskCode:{reqDto.taskCode}");
  121. // return res;
  122. // }
  123. //}
  124. }