service = app('OrderPackageService'); $this->orderService = app('OrderService'); $this->orderHeaderService = app('OracleDOCOrderHeaderService'); } /** * @test */ public function syncOrderPackage() { $orderHeader = OracleDOCOrderHeader::query()->orderByDesc('addTime')->first(); $carbon =Carbon::parse($orderHeader->addtime)->subMinutes(10); $orderHeaders = $this->orderHeaderService->getWMSOrderOnStartDate($carbon); if(!$orderHeaders){ $this->assertNull($orderHeaders); return; } $orders = $this->orderService->getByWmsOrders($orderHeaders); $packages = $this->service->getByWmsOrders($orderHeaders); $this->service->syncOrderPackage($orderHeaders,$orders,$packages); $exits_packages = $this->service->getByWmsOrders($orderHeaders); $exits_count = $exits_packages->count(); $logistic_numbers = data_get($orderHeaders,'*.actAllocationDetails.*.picktotraceid'); $logistic_numbers = array_unique(array_diff($logistic_numbers,['',' ','*'])); $this->assertEquals(count($logistic_numbers),$exits_count); foreach ($logistic_numbers as $logistic_number) { $exits_package = $exits_packages->where('logistic_number',$logistic_number); $this->assertEmpty($exits_package); $this->assertEquals($exits_package->count(),1); } } }