StorageController.php 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace App\Http\Controllers\api\thirdPart\haiq;
  3. use App\Services\LogService;
  4. use Illuminate\Support\Facades\Http;
  5. use Illuminate\Support\Facades\Request;
  6. class StorageController
  7. {
  8. protected $request;
  9. public function __construct()
  10. {
  11. $stockInfo = [
  12. "skuCode" => "TEST-BSSKU",//商品编码 sku
  13. "qty" => 9,//数量
  14. ];
  15. $bin = [
  16. "taskCode" => "TEST-BS2010100001",//任务编号 全局唯一
  17. "binCode" => "TEST-BIN01",//料箱编码
  18. "fromLocCode" => "HAIB1-02-01",//源库位编码
  19. "toLocCode" => "HAIB1-02-01",//目标库位编码 出库填多个,表示这些库位都可以支持
  20. "sequence" => -1,//出库顺序 -1表示没有顺序,只有移库出库时需要指定顺序,其他可为-1
  21. "stockInfo" => [$stockInfo],//商品信息
  22. ];
  23. /*$this->request = [[
  24. "groupCode" => 1,//组号/波次号 一组任务需要一起完成,再开始下一组任务;没有组任务的限制默认传-1或空
  25. "taskMode" => 3,//任务模式 值 1 (输送线入库)值 2 (输送线出库)值 3(货架到缓存货架)值4(货架到流利货架)
  26. "priority" => 99,//优先级 1-2147483647 1最低
  27. "sequenceFlag" => -1,//是否需要有序 1:需要有序 0:不需要有序
  28. "bins" => [$bin],//可执行货箱任务
  29. ]];*/
  30. $this->request = [[
  31. "taskMode" => 8,
  32. "bins"=>[[
  33. "taskCode" =>"TEST-BS2011160004",
  34. "binCode" => "TESTBINCODE-0",
  35. "fromLocCode" => "BIN-IN1",
  36. //"toLocCode" => "BIN-OUT1",
  37. ]],
  38. "groupCode" => 4,
  39. "priority" => 20,
  40. "sequenceFlag" => -1,
  41. ]];
  42. }
  43. public function relocate(Request $request){
  44. $response = Http::post(config('api.haiq.storage.relocate'),$this->request);return $response;
  45. if (!$response->ok()){
  46. app('LogService')->log(__METHOD__,"haiq-请求失败,路径异常","REQUEST:".json_encode($this->request)." | RESPONSE:".$response);
  47. return ['success'=>false,"data"=>"接口异常"];
  48. }
  49. if (($response["code"] ?? false) && $response["code"] != 200){
  50. app('LogService')->log(__METHOD__,"haiq-料箱出库失败","REQUEST:".json_encode($this->request)." | RESPONSE:".$response);
  51. return ['success'=>false,"data"=>$response["errMsg"]];
  52. }
  53. if (($response["status"] ?? false) && $response["status"] == 500){
  54. app('LogService')->log(__METHOD__,"haiq-料箱出库失败","REQUEST:".json_encode($this->request)." | RESPONSE:".$response);
  55. return ['success'=>false,"data"=>$response["msg"]];
  56. }
  57. app('LogService')->log(__METHOD__,"haiq-料箱出库成功","REQUEST:".json_encode($this->request)." | RESPONSE:".$response);
  58. return ["success"=>true];
  59. }
  60. }