From af2d3adbcd4832e5c3c9b056abceac34bebb43c7 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 18 Jul 2022 08:01:44 +0800 Subject: [PATCH] fix vt warehouse list api --- ...ehouseReceiveListFromVTPortalProcessor.php | 21 +++++++++-------- .../elements/ContainerComponent.vue | 4 ++-- routes/web.php | 23 ++++++++++++++++++- 3 files changed, 35 insertions(+), 13 deletions(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchWarehouseReceiveListFromVTPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchWarehouseReceiveListFromVTPortalProcessor.php index 8ba2957e..3b20d24b 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchWarehouseReceiveListFromVTPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchWarehouseReceiveListFromVTPortalProcessor.php @@ -116,7 +116,7 @@ class FetchWarehouseReceiveListFromVTPortalProcessor try { - $start = $start ? $start : Carbon::now()->subMonth(); + $start = $start ? $start : Carbon::today()->subDays(2); $startLimit = Carbon::parse('11-08-2021'); @@ -124,7 +124,7 @@ class FetchWarehouseReceiveListFromVTPortalProcessor $start = $startLimit; } - $end = $end ? $end : Carbon::now(); + $end = $end ? $end : Carbon::today()->addDay(); $filter = '["ParcelDate:$between$%js%\"'.$start->format('Y-m-d').'T00:00:00.000\"$and$%js%\"'.$end->format('Y-m-d').'T00:00:00.000\"\u0000"]'; @@ -134,18 +134,20 @@ class FetchWarehouseReceiveListFromVTPortalProcessor foreach ($response->Rows as $parcel){ - $marking = preg_split('(-|\(|\)|\/)', str_replace("/YW","", $parcel[29])); + $marking = preg_split('(-|\(|\)|\/)', str_replace("/YW","", $parcel[11])); $orderNumber = $marking[array_key_last($marking)]; - if(!$parcel[3]){ + $quantity = $parcel[16]; + if(!$quantity){ continue; } + try { + $order = $this->fetchesOrder->execute(['reference' => $orderNumber]); } catch (ResourceNotFoundException $exception) { $oldOrder = OldOrders::where('marking', '=', $orderNumber)->first(); - if(!$oldOrder){ continue; } @@ -175,7 +177,7 @@ class FetchWarehouseReceiveListFromVTPortalProcessor } - $warehouseId = $parcel[44]; + $warehouseId = $parcel[43]; $originWarehouse = $this->fetchesCompanyModule->execute(['id' => $warehouseId === 11 ? 3 : 4]); $order = $this->createOrderProcessor->execute($companyModule->company, $originWarehouse, $address, $orderNumber); @@ -186,10 +188,9 @@ class FetchWarehouseReceiveListFromVTPortalProcessor } $packingListReference = $parcel[0]; - $quantity = $parcel[3]; // $measurement = round(($parcel[10]/$quantity) ** (1/3) * 100, 2); - $description = $parcel[31]; - $tracking = $parcel[38]; + $description = $parcel[13]; + $tracking = $parcel[37]; $receiveDate = $parcel[1]; $packingListObject = new PackingListObject($packingListReference, $order->orderRoles()->where('role_id', '=', OrderRoleTypes::ORIGIN_WAREHOUSE)->first()->appointee->id, PackingListType::WAREHOUSE_RECEIVE_LIST, ApprovalStatus::APPROVED); @@ -215,7 +216,7 @@ class FetchWarehouseReceiveListFromVTPortalProcessor $packingList->packages()->delete(); if($replica) $replica->packages()->delete(); - $packageObject = new PackageObject(PackageType::CARTON, $description, $parcel[10], $parcel[9], $parcel[8], 0, $quantity, ApprovalStatus::APPROVED); + $packageObject = new PackageObject(PackageType::CARTON, $description, $parcel[23], $parcel[22], $parcel[21], 0, $quantity, ApprovalStatus::APPROVED); $this->createPackageProcessor->execute($packageObject, $packingList); } } catch (\Exception $exception){ diff --git a/resources/assets/vue/components/containers/elements/ContainerComponent.vue b/resources/assets/vue/components/containers/elements/ContainerComponent.vue index e60059a1..c23cafaf 100644 --- a/resources/assets/vue/components/containers/elements/ContainerComponent.vue +++ b/resources/assets/vue/components/containers/elements/ContainerComponent.vue @@ -57,8 +57,8 @@
- - + + diff --git a/routes/web.php b/routes/web.php index 4d0c797b..5f03d2bf 100644 --- a/routes/web.php +++ b/routes/web.php @@ -139,6 +139,8 @@ Route::get('/customer/{marking}/details', function ($marking) { Route::get('/orders/refresh', function(){ + dd((App()->make(\App\Classes\Modules\PackingLists\Processors\FetchWarehouseReceiveListFromVTPortalProcessor::class))->execute()); + FetchWarehouseReceiveListFromVTPortalJob::withChain([ new FetchLoadedContainersFromVTPortalJob, new FetchPackingListFromVTPortalJob, @@ -232,7 +234,26 @@ Route::get('/yd', function (\Illuminate\Http\Request $request){ $start = $request->input('start_date') ? \Carbon\Carbon::parse($request->input('start_date')): null; $end = $request->input('end_date') ? \Carbon\Carbon::parse($request->input('end_date')): null; (App()->make(FetchOrderListsFromYdPortalProcessor::class))->execute($start, $end); -}); +})->name('yd.refresh'); + +Route::get('/container/{reference}/refresh/', function (string $reference){ + $container = Container::where('reference', $reference)->first(); + $supplier = in_array($container->owner_id, [3, 4]) ? 'VT' : 'YD'; + + if($supplier === 'YD'){ + $arrivalDates = \App\Models\PackingList::whereIn('reference', $container->packingLists->pluck('reference'))->where('type', \App\Classes\ValueObjects\Constants\PackingListType::WAREHOUSE_RECEIVE_LIST)->get()->map(function($packingList){ + return $packingList->transports()->first()->drop_date; + })->sortBy(function($date){ + return $date; + }); + + $startDate = $arrivalDates->first()->subDay()->format('d-m-Y'); + $endDate = $arrivalDates->last()->addDay()->format('d-m-Y'); + + return redirect(route('yd.refresh').'?start_date='.$startDate.'&end_date='.$endDate); + } + +})->name('container.refresh'); Route::get('/min_cbm', function (){ $companies = CompanyModule::where('type', \App\Classes\ValueObjects\Constants\BusinessType::IMPORTER)->whereHas('orders', function ($query){