IwmsApi.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. using ServiceCenter.Logs;
  2. using ServiceCenter.Redis;
  3. using ServiceCenter.WebApi;
  4. using WCS.WorkEngineering.WebApi.Models.AGV;
  5. using WCS.WorkEngineering.WebApi.Models.AGV.Request;
  6. using WCS.WorkEngineering.WebApi.Models.AGV.Response;
  7. namespace WCS.WorkEngineering.WebApi.Controllers
  8. {
  9. public class IwmsApi
  10. {
  11. private static string _IwmsUrl = null!;
  12. /// <summary>
  13. /// AGV地址
  14. /// </summary>
  15. public static string IwmsUrl
  16. {
  17. get
  18. {
  19. _IwmsUrl ??= RedisHub.Default.Check("IwmsUrl");
  20. if (string.IsNullOrEmpty(_IwmsUrl))
  21. {
  22. throw new KnownException($"请在Redis配置IwmsUrl", LogLevelEnum.High);
  23. }
  24. return _IwmsUrl;
  25. }
  26. }
  27. /// <summary>
  28. /// 满轮出库
  29. /// </summary>
  30. /// <param name="matCode">物料编号</param>
  31. /// <param name="wbCode">取货点位置</param>
  32. /// <param name="taskNo">任务号</param>
  33. /// <param name="rfid">RFID</param>
  34. /// <param name="matNo">材料号</param>
  35. /// <param name="isSurplus">改手盘标记</param>
  36. /// <param name="isRework">返工标记</param>
  37. /// <param name="matFast">快投标记</param>
  38. /// <param name="gradeCode">质量等级</param>
  39. /// <returns></returns>
  40. public static zhongTianIntoStockResponse 满轮出库(string matCode, string wbCode, string taskNo, string rfid, string matNo, bool isSurplus, bool isRework, bool matFast, string gradeCode)
  41. {
  42. return zhongTianIntoStock(new zhongTianIntoStockRequest()
  43. {
  44. matCode = matCode,
  45. wbCode = wbCode,
  46. inSpoolFull = "1",
  47. getOutEmpty = false,
  48. wetInto = true,
  49. wetIntoSpec = false,
  50. wetIntoReturn = false,
  51. wetSpecWbCode = "0",
  52. isSurplus = isSurplus == false ? "0" : "1",
  53. isRework = isRework == false ? "0" : "1",
  54. spoolNo = rfid,
  55. gradeCode = gradeCode,
  56. matFast = matFast == false ? "0" : "1",
  57. matNo = matNo,
  58. orderProcessLenOut = "0",
  59. taskNo = $"RK{taskNo}",
  60. returnDesc = "",
  61. lockFlag = "0",
  62. });
  63. //return zhongTianOutStock(new zhongTianOutStockRequest()
  64. //{
  65. // matCode = matCode,
  66. // workAreaCode = wbCode,
  67. // outSpoolFull = "1"
  68. //});
  69. }
  70. public static zhongTianOutStockResponse 空轮回库(string matCode, string wbCode, bool isSurplus, bool isRework, int taskNo, string RFID)
  71. {
  72. return zhongTianOutStock(new zhongTianOutStockRequest()
  73. {
  74. matCode = matCode,
  75. workAreaCode = wbCode,
  76. outSpoolFull = "0",
  77. intoEmpty = false,
  78. wetOut = "",
  79. wetOutReturn = true,
  80. spoolNo = RFID,
  81. isSurplus = isSurplus == false ? "0" : "1",
  82. isRework = isRework == false ? "0" : "1",
  83. reqCode = Guid.NewGuid().ToString().Replace("-", ""),
  84. taskNo = $"CK{wbCode}{taskNo}"
  85. });
  86. }
  87. public static zhongTianIntoStockResponse zhongTianIntoStock(zhongTianIntoStockRequest req)
  88. {
  89. var res = APICaller.CallApi2<zhongTianIntoStockResponse>(IwmsUrl + "/databus/publish/zhongTianIntoStock", req);
  90. if (res.code != AgvResponseCode.Success)
  91. {
  92. throw new KnownException(res.message, LogLevelEnum.High);
  93. }
  94. return res;
  95. }
  96. public static zhongTianOutStockResponse zhongTianOutStock(zhongTianOutStockRequest req)
  97. {
  98. var res = APICaller.CallApi2<zhongTianOutStockResponse>(IwmsUrl + "/databus/publish/zhongTianOutStock", req);
  99. if (res.code != AgvResponseCode.Success)
  100. {
  101. throw new KnownException(res.message, LogLevelEnum.High);
  102. }
  103. return res;
  104. }
  105. }
  106. }