service=app(StoreItemService::class); $dataInterval = intval(data_get(config('sync'), 'asn_sync.interval')) * 60 + 5; $startDate = \Illuminate\Support\Carbon::now()->subSeconds($dataInterval); $this->asnHeaders=OracleDOCASNHeader::query() ->with(['asnType', 'asnStatus', 'asnDetails' => function ($query) { $query->with(['lineStatus', 'qualityStatus','basSku']); }]) ->where('addTime', '>=', $startDate) ->get(); } public function testGetParamsByAsnHeader() { if (empty($this->asnHeaders)) return null; $asnDetails=$this->service->getAsnDetailsByAsnHerder($this->asnHeaders); $stores = Store::query()->whereIn('asn_code',array_unique(data_get($asnDetails,'*.asnno')))->get(); $store_asn_code_map = []; foreach ($stores as $store) { $store_asn_code_map[$store->asn_code]= $store; } $params=$this->service->getParamsByAsnDetails($asnDetails,$store_asn_code_map); if(count($params)> 0){ $this->assertNotEmpty($params); }else{ $this->assertEmpty($params); } } }