IwmsApi.cs 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  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. /// <param name="wetIntoBinCode">仓位号</param>
  40. /// <returns></returns>
  41. public static zhongTianIntoStockResponse 满轮出库(string matCode, string wbCode, string taskNo, string rfid, string matNo, bool isSurplus, bool isRework, bool matFast, string gradeCode, string wetIntoBinCode)
  42. {
  43. return zhongTianIntoStock(new zhongTianIntoStockRequest()
  44. {
  45. matCode = matCode,
  46. wbCode = wbCode,
  47. inSpoolFull = "1",
  48. getOutEmpty = false,
  49. wetInto = true,
  50. wetIntoSpec = false,
  51. wetIntoReturn = false,
  52. wetSpecWbCode = "0",
  53. isSurplus = isSurplus == false ? "0" : "1",
  54. isRework = isRework == false ? "0" : "1",
  55. spoolNo = rfid,
  56. gradeCode = gradeCode,
  57. matFast = matFast == false ? "0" : "1",
  58. matNo = matNo,
  59. orderProcessLenOut = "0",
  60. taskNo = $"RK{taskNo}",
  61. returnDesc = "",
  62. lockFlag = "0",
  63. wetIntoBinCode = wetIntoBinCode
  64. });
  65. //return zhongTianOutStock(new zhongTianOutStockRequest()
  66. //{
  67. // matCode = matCode,
  68. // workAreaCode = wbCode,
  69. // outSpoolFull = "1"
  70. //});
  71. }
  72. public static zhongTianOutStockResponse 空轮回库(string matCode, string wbCode, bool isSurplus, bool isRework, int taskNo, string RFID)
  73. {
  74. return zhongTianOutStock(new zhongTianOutStockRequest()
  75. {
  76. matCode = matCode,
  77. workAreaCode = wbCode,
  78. outSpoolFull = "0",
  79. intoEmpty = false,
  80. wetOut = "",
  81. wetOutReturn = true,
  82. spoolNo = RFID,
  83. isSurplus = isSurplus == false ? "0" : "1",
  84. isRework = isRework == false ? "0" : "1",
  85. reqCode = Guid.NewGuid().ToString().Replace("-", ""),
  86. taskNo = $"CK{wbCode}{taskNo}"
  87. });
  88. }
  89. public static zhongTianIntoStockResponse zhongTianIntoStock(zhongTianIntoStockRequest req)
  90. {
  91. var res = APICaller.CallApi2<zhongTianIntoStockResponse>(IwmsUrl + "/databus/publish/zhongTianIntoStock", req);
  92. if (res.code != AgvResponseCode.Success)
  93. {
  94. throw new KnownException(res.message, LogLevelEnum.High);
  95. }
  96. return res;
  97. }
  98. public static zhongTianOutStockResponse zhongTianOutStock(zhongTianOutStockRequest req)
  99. {
  100. var res = APICaller.CallApi2<zhongTianOutStockResponse>(IwmsUrl + "/databus/publish/zhongTianOutStock", req);
  101. if (res.code != AgvResponseCode.Success)
  102. {
  103. throw new KnownException(res.message, LogLevelEnum.High);
  104. }
  105. return res;
  106. }
  107. }
  108. }