service=app('ForeignHaiRoboticsService'); $stockInfo = [ "skuCode" => "TEST-BSSKU",//商品编码 sku "qty" => 9,//数量 ]; $bin = [ "taskCode" => "TEST-BS2010100001",//任务编号 全局唯一 "binCode" => "TEST-BIN01",//料箱编码 "fromLocCode" => "HAIB1-02-01",//源库位编码 "toLocCode" => "HAIB1-02-01",//目标库位编码 出库填多个,表示这些库位都可以支持 "sequence" => -1,//出库顺序 -1表示没有顺序,只有移库出库时需要指定顺序,其他可为-1 "stockInfo" => [$stockInfo],//商品信息 ]; /*$this->request = [[ "groupCode" => 1,//组号/波次号 一组任务需要一起完成,再开始下一组任务;没有组任务的限制默认传-1或空 "taskMode" => 3,//任务模式 值 1 (输送线入库)值 2 (输送线出库)值 3(货架到缓存货架)值4(货架到流利货架) "priority" => 99,//优先级 1-2147483647 1最低 "sequenceFlag" => -1,//是否需要有序 1:需要有序 0:不需要有序 "bins" => [$bin],//可执行货箱任务 ]];*/ $this->post = [[ "taskMode" => 2, "bins"=>[[ "taskCode" =>"TEST-BS2011160007", "binCode" => "IDE0000001", // "fromLocCode" => "BIN-IN1", "toLocCode" => "BIN-OUT1", ],[ "taskCode" =>"TEST-BS2011160008", "binCode" => "IDE0000001", // "fromLocCode" => "BIN-IN1", "toLocCode" => "BIN-OUT1", ],[ "taskCode" =>"TEST-BS2011160009", "binCode" => "IDE0000001", // "fromLocCode" => "BIN-IN1", "toLocCode" => "BIN-OUT1", ]], "groupCode" => 21, "priority" => 20, "sequenceFlag" => -1, ]]; $this->post2 = [[ "taskMode" => 2, "bins"=>[[ "taskCode" =>"TEST-BS2011160016", "binCode" => "IDE0000002", // "fromLocCode" => "BIN-IN1", "toLocCode" => "BIN-OUT1", ],[ "taskCode" =>"TEST-BS2011160017", "binCode" => "IDE0000009", // "fromLocCode" => "BIN-IN1", "toLocCode" => "BIN-OUT1", ],[ "taskCode" =>"TEST-BS2011160018", "binCode" => "IDE0000014", // "fromLocCode" => "BIN-IN1", "toLocCode" => "BIN-OUT1", ],[ "taskCode" =>"TEST-BS2011160019", "binCode" => "IDE0000016", // "fromLocCode" => "BIN-IN1", "toLocCode" => "BIN-OUT1", ]], "groupCode" => 'W12346', "priority" => 20, "sequenceFlag" => -1, ]]; $this->backIn = [[ "taskMode" => 1, "bins"=>[[ "taskCode" =>"TESTININ-BS2011160016", "binCode" => "IDE0000052", "fromLocCode" => "BIN-OUT1", ],[ "taskCode" =>"TESTIN-BS2011160017", "binCode" => "IDE0000004", "fromLocCode" => "BIN-OUT1", ],[ "taskCode" =>"TESTIN-BS2011160018", "binCode" => "IDE0000054", "fromLocCode" => "BIN-OUT1", ],[ "taskCode" =>"TESTIN-BS2011160019", "binCode" => "IDE0005683", "fromLocCode" => "BIN-OUT1", ]], "groupCode" => 'W12346In', "priority" => 20, "sequenceFlag" => -1, ]]; $this->move = [[ "taskMode" => 3, "bins"=>[[ "taskCode" =>"TESTINM-BS2011160024", "binCode" => "IDE0000054", "fromLocCode" => "", "toLocCode" => "HAIB2-01-02", ],[ "taskCode" =>"TESTINM-BS2011160023", "binCode" => "IDE0000004", "fromLocCode" => "", "toLocCode" => "HAIB2-01-01", ],[ "taskCode" =>"TESTINM-BS2011160022", "binCode" => "IDE0005683", "fromLocCode" => "", "toLocCode" => "HAIB2-02-03", ]], "groupCode" => 'WM12352', "priority" => 20, "sequenceFlag" => -1, ]]; $this->lightOn = [ "areaCode"=> "1004", "PTLAction"=> 1, "PTLSettings"=> [ "color"=> 1, "frequency"=> 1 ], "displayInfo"=> [ "detail01"=> "detail01", "detail02"=> "detail02", "detail03"=> "detail03", "qrCode"=> "qrCode", "qty00"=> "11", "qty01"=> 1, "qty02"=> 2, "title"=> "title", "uomDesc01"=> "uo", "uomDesc02"=> "uo" ], "locCode"=> "1004-BZ04-01-01" ]; $this->lightOff = [ "locCode"=> "12G03-21", ]; } public function relocate(Request $request,$post){ $response = Http::post(config('api.haiq.storage.moveBin'),$post); if (!$response->ok()){ app('LogService')->log(__METHOD__,"haiq-请求失败,路径异常","REQUEST:".json_encode($this->post)." | RESPONSE:".$response); return ['success'=>false,"data"=>$response->body()]; } if (($response["code"] ?? false) && $response["code"] != 200){ app('LogService')->log(__METHOD__,"haiq-料箱出库失败","REQUEST:".json_encode($this->post)." | RESPONSE:".$response); return ['success'=>false,"data"=>$response["errMsg"]]; } if (($response["status"] ?? false) && $response["status"] == 500){ app('LogService')->log(__METHOD__,"haiq-料箱出库失败","REQUEST:".json_encode($this->post)." | RESPONSE:".$response); return ['success'=>false,"data"=>$response["msg"]]; } app('LogService')->log(__METHOD__,"haiq-料箱出库成功","REQUEST:".json_encode($this->post)." | RESPONSE:".$response); return ["success"=>true]; } public function light(Request $request,$post){ $response = Http::post(config('api.haiq.storage.moveBin'),$post); if (!$response->ok()){ app('LogService')->log(__METHOD__,"haiq-请求失败,路径异常","REQUEST:".json_encode($this->post)." | RESPONSE:".$response); return ['success'=>false,"data"=>$response->body()]; } if (($response["code"] ?? false) && $response["code"] != 200){ app('LogService')->log(__METHOD__,"haiq-料箱出库失败","REQUEST:".json_encode($this->post)." | RESPONSE:".$response); return ['success'=>false,"data"=>$response["errMsg"]]; } if (($response["status"] ?? false) && $response["status"] == 500){ app('LogService')->log(__METHOD__,"haiq-料箱出库失败","REQUEST:".json_encode($this->post)." | RESPONSE:".$response); return ['success'=>false,"data"=>$response["msg"]]; } app('LogService')->log(__METHOD__,"haiq-料箱出库成功","REQUEST:".json_encode($this->post)." | RESPONSE:".$response); return ["success"=>true]; } public function moveBin(Request $request){ return $this->relocate($request,$this->post); } public function moveBin2(Request $request){ return $this->relocate($request,$this->post2); } public function moveBinIn(Request $request){ return $this->relocate($request,$this->backIn); } public function moveBinM(Request $request){ return $this->relocate($request,$this->move); } public function lightOn(Request $request){ return $this->relocate($request,$this->lightOn); } public function taskUpdate(Request $request){ $this->service->taskUpdate(); app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->all())); return ['code'=>200,'errMsg'=>'','data'=>$request->all()]; } public function exception(Request $request){ $this->service->taskUpdate(); app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->all())); return ['code'=>200,'errMsg'=>'','data'=>$request->all()]; } }