service=app(OrderService::class); $this->orderHeaderService=app(OracleDOCOrderHeaderService::class); } public function testCreateOrderByWMSOrderHeaders() { $carbon =Carbon::now()->subHours(10); $date = '2020-09-18 18:13:50'; $orderHeaders = $this->orderHeaderService->getWMSOrderOnStartDate($carbon); $orders = $this->service->createOrderByWMSOrderHeaders($orderHeaders); $existOrders = $this->service->getByWmsOrders($orderHeaders); $collect =null; if($existOrders->count()!==$orders->count()){ $collect = $existOrders->map(function($order)use($orders){ $_order = $orders->where($order->code)->first(); return $_order ?? $order; }); $this->assertEquals($collect->count(),$orderHeaders->count()); }else{ $this->assertEquals($orderHeaders->counts(),$orders->count()); } foreach ($orderHeaders as $orderHeader) { $code = $orderHeader->orderno; $order = $collect->where('code',$code)->first(); $this->assertNotNull($order); $warehouse = Warehouse::query()->where('code',$orderHeader->warehouseid)->first(); if($orderHeader->warehouseid ?? false) $this->assertEquals($warehouse->id ?? '',$order->warehouse_id ?? ''); $owner = Owner::query()->where('code',$orderHeader->customerid)->first(); if($orderHeader->customerid ?? false) $this->assertEquals($order->owner_id ?? '',$owner->id??''); $logistic = Logistic::query()->where('code',$orderHeader->userdefine1??'')->first(); if($orderHeader->userdefine1 ?? false) $this->assertEquals($logistic->id ?? '',$logistic->id ?? ''); $shop = Shop::query()->where('name',$orderHeader->issuepartyname)->where('owner_id',$owner->id)->first(); if($orderHeader->issuepartyname ?? false) $this->assertEquals($shop->name,$orderHeader->issuepartyname); $this->assertEquals($order->consignee_name ,$orderHeader->c_contact); $this->assertEquals($order->consignee_phone ,empty($orderHeader->c_tel2)?$orderHeader->c_tel1:$orderHeader->c_tel2); $this->assertEquals($order->province ,$orderHeader->c_province); $this->assertEquals($order->city ,$orderHeader->c_city); $this->assertEquals($order->district ,$orderHeader->c_district); $this->assertEquals($order->client_code ,$orderHeader->soreference1); $this->assertEquals($order->wms_edittime ,(string)$orderHeader->edittime); $this->assertEquals($order->wms_status ,$orderHeader->oracleBASCode_codename_c); $this->assertEquals((string)$order->created_at ,(string)$orderHeader->addtime); } } /* 'code' => $orderHeader->orderno, 'warehouse_id' => $warehouse->id ?? null, 'owner_id' => $owner->id ?? null, 'shop_id' => $shop->id ?? null, 'logistic_id' => $logistic->id ?? null, 'consignee_name' => $orderHeader->c_contact, 'consignee_phone' => empty($orderHeader->c_tel2)?$orderHeader->c_tel1:$orderHeader->c_tel2, 'province' => $orderHeader->c_province, 'city' => $orderHeader->c_city, 'district' => $orderHeader->c_district, 'address' => $orderHeader->c_address1, 'client_code' => $orderHeader->soreference1, 'wms_edittime' => $orderHeader->edittime, 'wms_status' => $orderHeader->oracleBASCode_codename_c ?? '', 'updated_at' => (string)$date, 'created_at' => $orderHeader->addtime, ]);*/ }