diff --git a/app/Classes/Modules/Exports/Services/ExportsArrivedParcel.php b/app/Classes/Modules/Exports/Services/ExportsArrivedParcel.php index 45b42a45..80fde322 100644 --- a/app/Classes/Modules/Exports/Services/ExportsArrivedParcel.php +++ b/app/Classes/Modules/Exports/Services/ExportsArrivedParcel.php @@ -37,9 +37,7 @@ class ExportsArrivedParcel implements WithHeadings, WithHeadingRow, WithMapping, */ public function query() { - return PackingList::where('type', '=', 1)->where('status', '=', 2)->where('owner_type', Order::class)->whereHas('transports', function($query){ - return $query->where('drop_date', '>=',Carbon::now()->subMonth()); - }); + return PackingList::where('type', '=', 1)->where('status', '=', 2)->where('owner_type', Order::class); } /** diff --git a/app/Classes/Modules/PackingLists/Processors/FetchLoadedContainersFromVTPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchLoadedContainersFromVTPortalProcessor.php index eeaca44c..ee511a0b 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchLoadedContainersFromVTPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchLoadedContainersFromVTPortalProcessor.php @@ -145,7 +145,6 @@ class FetchLoadedContainersFromVTPortalProcessor $containersRequest = $this->fetchesDataFRomVTPortal->clientRequest('http://portal.vtnation.com.my/Services/DataControllerService.asmx/GetPage', 'POST', json_decode('{"controller":"VCustomercontainer","view":"grid1","request":{"PageIndex":-1,"PageSize":10000,"SortExpression":"LoadedTime asc","Filter":'.$filter.'}}'), ''); $containers = $this->fetchesDataFRomVTPortal->getResponseBody($containersRequest); - foreach ($containers->Rows as $container){ $filter = '["ContainerID:=%js%'.$container[12].'"]'; $containerDetailRequest = $this->fetchesDataFRomVTPortal->clientRequest('http://portal.vtnation.com.my/Services/DataControllerService.asmx/GetPage', 'POST', json_decode('{"controller":"ParcelInContainer","view":"grid1","request":{"PageIndex":-1,"PageSize":10000,"SortExpression":null,"Filter":'.$filter.'}}'), ''); @@ -155,7 +154,6 @@ class FetchLoadedContainersFromVTPortalProcessor $containerObject = new ContainerObject($container[0], str_replace(' ', '', $container[24]), str_replace(' ', '', $container[16]), ContainerTypes::FORTY_FEET_DRY_CONTAINER, Carbon::parse($container[6]), ApprovalStatus::PENDING_VERIFICATION); $containerInfo = $container; - try { $container = $this->fetchesContainer->execute(['reference' => $containerObject->getReference()]); } catch (ResourceNotFoundException $exception){ @@ -163,9 +161,9 @@ class FetchLoadedContainersFromVTPortalProcessor $originWarehouse = $this->fetchesCompanyModule->execute(['id' => $warehouseId === 11 ? 3 : 4]); $container = $this->createContainerProcessor->execute($containerObject, $originWarehouse); } - $eta = Carbon::parse($containerInfo[4]); - $etd = Carbon::parse($eta)->subDays(5); + $eta = Carbon::parse($containerInfo[4])->addDays(2); + $etd = Carbon::parse($eta)->subDays(7); $delayDate = $containerInfo[7]; @@ -175,7 +173,9 @@ class FetchLoadedContainersFromVTPortalProcessor $transport = $container->transports()->first(); - if(!$transport){ + if(!$transport || $eta !== $transport->eta){ + $container->transports()->delete(); + $transportObject = new TransportObject(TransportType::SEA, null, null, $etd, null, ApprovalStatus::APPROVED); /** @var Transport $transport */ $transport = $this->createsTransport->execute($transportObject, $container); @@ -183,8 +183,7 @@ class FetchLoadedContainersFromVTPortalProcessor } if($delayDate){ - - $delayDate = Carbon::parse($delayDate); + $delayDate = Carbon::parse($delayDate)->addDays(2); $transport = $container->transports()->first(); if(!$transport->schedules()->where('eta', '=', $delayDate)->first()) { diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index a5a1901b..16205f62 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -184,7 +184,7 @@ class FetchOrderListsFromYdPortalProcessor $containerReference = explode('预计到港时间', $tracking[1])[0]; $loadingDate = Carbon::parse($trackingRow->trackingtime); $etd = Carbon::parse($tracking[2])->subDays(5); - $eta = Carbon::parse($tracking[2]); + $eta = Carbon::parse($tracking[2])->addDays(2); } $rescheduleETD = strpos($trackingRow->remark, '开') || strpos($trackingRow->remark, '到港'); @@ -351,7 +351,7 @@ class FetchOrderListsFromYdPortalProcessor if($order instanceof Order){ $marking = $order->companyModule->inviters()->withPivot('invitee_reference')->first()->pivot->invitee_reference; - if(!in_array($marking, ['2192KAA', '2353GFE', '6866DTR', '153DSR', '1291NSC', '8288MIB'])){ + if(!in_array($marking, ['2192KAA', '2353GFE', '6866DTR', '153DSR', '1291NSC', '8288MIB', '1152AAT', '962LOW', '3992WHE', '1290CSW', '9493TYS', '3397GSH'])){ $this->fetchesDataFRomYDPortal->clientRequest('http://www.yd-wl.com/api/confirmsendorder.ashx', 'GET', [ 'expressno' => $row->expressno ]); @@ -393,7 +393,7 @@ class FetchOrderListsFromYdPortalProcessor } if($delayDate){ - + $delayDate = $delayDate->addDays(2); $transport = $container->transports()->first(); if(!$transport->schedules()->whereDate('eta', '>=', $delayDate)->first()) { diff --git a/app/Classes/ValueObjects/Constants/WarehouseReferences.php b/app/Classes/ValueObjects/Constants/WarehouseReferences.php index 702059b7..39d27dcf 100644 --- a/app/Classes/ValueObjects/Constants/WarehouseReferences.php +++ b/app/Classes/ValueObjects/Constants/WarehouseReferences.php @@ -43,7 +43,9 @@ final class WarehouseReferences { public const YD_DESTINATION_WAREHOUSE = self::YD_KLANG; - public const YD_EXEMPT_LIST = [230, 294, 320, 652, 1248, 1726, 2349, 2574]; + public const YD_EXEMPT_LIST = [230, 294, 320, 652, 1248, 1726, 2349, 2574, 652]; + + public const MIN_CBM_EXEMPT_LIST = [230, 294, 320, 652, 1248, 1726, 2349, 2574]; public const REPLICA_WHITE_LIST = [502]; diff --git a/resources/assets/vue/components/orders/forms/OrderFormComponent.vue b/resources/assets/vue/components/orders/forms/OrderFormComponent.vue index 51c2ec09..1d5b9255 100644 --- a/resources/assets/vue/components/orders/forms/OrderFormComponent.vue +++ b/resources/assets/vue/components/orders/forms/OrderFormComponent.vue @@ -27,8 +27,7 @@
- -
+
@@ -40,7 +39,6 @@
-

Due to pandemic prevention, we have decided to temporarily disable our Yiwu warehouse.

diff --git a/resources/views/pdfs/qr.blade.php b/resources/views/pdfs/qr.blade.php index 9595f389..312e3aa2 100644 --- a/resources/views/pdfs/qr.blade.php +++ b/resources/views/pdfs/qr.blade.php @@ -38,7 +38,8 @@

仓库地址:

-

{{$warehouse_address->state->name.' '.$warehouse_address->district->name.' '.$warehouse_address->street_one.' '.$warehouse_address->street_two.' 邮编:'.$warehouse_address->postcode}}

+

{{$warehouse_address->state->name.' '.$warehouse_address->district->name.' '.$warehouse_address->street_one.' '.$warehouse_address->street_two}}

+

邮编:{{$warehouse_address->postcode}}

联系:@foreach($warehouse_contacts as $contact){{ $loop->first ? '' : ' / ' }}{{ $contact->phone.' '.$contact->reference }}@endforeach

{!! $remark !!}

diff --git a/routes/web.php b/routes/web.php index e4a20254..7bff15fd 100644 --- a/routes/web.php +++ b/routes/web.php @@ -202,9 +202,7 @@ Route::group(['prefix' => 'template', 'as' => 'template.'], function () { Route::get('/yiwu', function () { $orders = \App\Models\Order::whereHas('OrderRoles', function($query){ - return $query->where('role_id', \App\Classes\ValueObjects\Constants\OrderRoleTypes::ORIGIN_WAREHOUSE)->where('company_module_id', 4); - })->whereHas('addresses', function($query){ - return $query->where('status', \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED)->whereIn('state_id', [5, 13, 14]); + return $query->where('role_id', \App\Classes\ValueObjects\Constants\OrderRoleTypes::ORIGIN_WAREHOUSE)->where('company_module_id', 2358); })->get(); foreach ($orders as $order){ @@ -256,22 +254,20 @@ Route::get('/container/{reference}/refresh/', function (string $reference){ $container = Container::where('reference', $reference)->first(); $supplier = in_array($container->owner_id, [3, 4]) ? 'VT' : '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'); + if($supplier === 'VT'){ - $startDate = $container->loading_date->subDays(3); - $endDate = $container->loading_date->addDay(); - (App()->make(\App\Classes\Modules\PackingLists\Processors\FetchLoadedContainersFromVTPortalProcessor::class))->execute($startDate, $endDate); + return (App()->make(\App\Classes\Modules\PackingLists\Processors\FetchLoadedContainersFromVTPortalProcessor::class))->execute(\Carbon\Carbon::parse($endDate), \Carbon\Carbon::parse($endDate)->addDays(5)); } 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); }