'75603675975072','taskNum' => 'JI20220316211', 'asnNo' => 'asn002', 'type' => '推单'], * ['sku' => '75603675975072','taskNum' => 'JI20220316211', 'asnNo' => 'asn002', 'type' => '推单'], * ] */ private $asnNos; /** * RejectedPushJob constructor. * @param array $asnNos */ public function __construct(array $asnNos) { $this->asnNos = $asnNos; } /** * Execute the job. * * @return void */ public function handle() { $result = array(); $array = array(); if (count($this->asnNos) > 0) { $asnHerders=OracleDOCASNHeader::query()->whereIn('asnno',$this->asnNos) ->select('asnno','notes','asntype','asnstatus') ->get(); foreach ($asnHerders as $asnHerder) { if ($asnHerder->asntype == 'THRK' && $asnHerder->notes) { preg_match('/^[A-Z]{2}[0-9]{8}\d{0,8}/', $asnHerder->notes, $result); if (count($result) < 1) continue; $details = OracleDOCASNDetail::query()->select('sku', 'linestatus')->where('asnno', $asnHerder->asnno)->get(); if (count($details) < 1) continue; foreach ($details as $detail) { $array[] = [ 'sku' => $detail->sku, 'taskNum' => $result[0], 'asnNo' => $asnHerder->asnno, 'type' => $detail->linestatus == '99' ? '上架' : '推单' ]; } } } } $url = config('api.java.wms.rejectedPushTask.receivePush'); if (count($array) > 0) { $response = Http::post($url, $array); Log::info("推送信息!", ['res' => $response->body(), 'req' => $array]); }else{ Log::info("推送信息失败!", ['res' => $this->asnNos,'array'=>$array]); } } }