diff --git a/app/Classes/Modules/Orders/Processors/ApproveChangeOrderAddressProcessor.php b/app/Classes/Modules/Orders/Processors/ApproveChangeOrderAddressProcessor.php index 9fe6c5a7..83ce0057 100644 --- a/app/Classes/Modules/Orders/Processors/ApproveChangeOrderAddressProcessor.php +++ b/app/Classes/Modules/Orders/Processors/ApproveChangeOrderAddressProcessor.php @@ -7,6 +7,7 @@ use App\Classes\Modules\Orders\Standards\Rules\CanApproveChangeOrderAddress; use App\Classes\Modules\Orders\Services\UpdatesOrdersAddress; use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\ValueObjects\Constants\OrderRoleTypes; +use App\Classes\ValueObjects\Constants\PackingListType; use Illuminate\Http\Request; class ApproveChangeOrderAddressProcessor @@ -65,7 +66,11 @@ class ApproveChangeOrderAddressProcessor $address->owner->addresses()->update(['status' => ApprovalStatus::EXPIRED]); $appointee = $address->owner->orderRoles()->where('role_id', '=', OrderRoleTypes::ORIGIN_FREIGHT_FORWARDER)->first()->appointee->id; - if($appointee === 2) $this->updateDoFromVTPortalProcessor->execute($address); + if($appointee === 2) { + foreach($address->owner->packingLists()->where('type', PackingListType::SHIPPING_PACKING_LIST) as $packingList){ + $this->updateDoFromVTPortalProcessor->execute($packingList); + } + } } diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index 4cd92f9d..1b409fc2 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -36,6 +36,7 @@ use App\Models\Transport; use Carbon\Carbon; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; +use Illuminate\Support\Str; class FetchOrderListsFromYdPortalProcessor { @@ -153,7 +154,6 @@ class FetchOrderListsFromYdPortalProcessor $rows = $this->fetchesDataFRomYDPortal->getResponseBody($orderRequest); foreach($rows->data as $row){ - $containerReference = null; $loadingDate = null; $unstuffingDate = null; @@ -168,6 +168,11 @@ class FetchOrderListsFromYdPortalProcessor $rows = $this->fetchesDataFRomYDPortal->getResponseBody($trackingRequest); + if(!$rows){ + Log::debug($row->expressno); + continue; + } + foreach (array_reverse($rows->data) as $trackingRow) { if ($trackingRow->tracking === '货物已送达仓库准备入库中') { $receiveDate = Carbon::parse($trackingRow->trackingtime); @@ -217,7 +222,7 @@ class FetchOrderListsFromYdPortalProcessor $unstuffingDate = Carbon::parse($trackingRow->trackingtime); } - if ($trackingRow->tracking === '货物已派送完成') { + if (Str::contains($trackingRow->tracking, ['派送中'])) { $deliveryDate = Carbon::parse($trackingRow->trackingtime); } } @@ -310,6 +315,13 @@ class FetchOrderListsFromYdPortalProcessor $this->createPackageProcessor->execute($packageObject, $packingList); } + if(!count($row->deliverysize)){ + $measurement = round(((float) $row->volume / (float) $row->goodcount) ** (1/3) * 100, 2); + $packageObject = new PackageObject(PackageType::CARTON, $row->goodname, (float) $measurement, (float) $measurement, (float) $measurement, 0, (float) $row->goodcount, ApprovalStatus::APPROVED); + $this->createPackageProcessor->execute($packageObject, $warehouseReceiveList); + $this->createPackageProcessor->execute($packageObject, $packingList); + } + $weightCbm = (float) $row->weight / 500; $overWeightCbm = $weightCbm - $packingList->packages()->sum(DB::raw('(width/100) * (height/100) * (length/100) * quantity')); @@ -395,7 +407,7 @@ class FetchOrderListsFromYdPortalProcessor } } - if($deliveryDate && !$packingList->transports){ + if($deliveryDate && !$packingList->transports()->exists()){ $packingList->status = ApprovalStatus::COMPLETED; $packingList->save(); diff --git a/app/Http/Resources/TransportResource.php b/app/Http/Resources/TransportResource.php index b931964d..2677782f 100644 --- a/app/Http/Resources/TransportResource.php +++ b/app/Http/Resources/TransportResource.php @@ -3,6 +3,7 @@ namespace App\Http\Resources; use App\Classes\ValueObjects\Constants\ApprovalStatus; +use Carbon\Carbon; use Illuminate\Http\Resources\Json\JsonResource; class TransportResource extends JsonResource @@ -24,7 +25,8 @@ class TransportResource extends JsonResource 'drop_date' => $this->drop_date ? $this->drop_date->format('d-m-Y') : $this->drop_date, 'status' => $this->status, 'current_schedule' => new ScheduleResource($this->schedules()->where('status', '=', ApprovalStatus::APPROVED)->first()), - 'schedule_history' => ScheduleResource::collection($this->schedules()->where('status', '=', ApprovalStatus::EXPIRED)->get()) + 'schedule_history' => ScheduleResource::collection($this->schedules()->where('status', '=', ApprovalStatus::EXPIRED)->get()), + 'dropped_days' => Carbon::now()->diffInDays($this->drop_date, false) ]; } } diff --git a/resources/assets/vue/components/companies/sections/CustomerProfileSectionComponent.vue b/resources/assets/vue/components/companies/sections/CustomerProfileSectionComponent.vue index 1a148c73..7d943d0b 100644 --- a/resources/assets/vue/components/companies/sections/CustomerProfileSectionComponent.vue +++ b/resources/assets/vue/components/companies/sections/CustomerProfileSectionComponent.vue @@ -6,6 +6,37 @@ +
diff --git a/resources/assets/vue/components/containers/elements/PackingListComponent.vue b/resources/assets/vue/components/containers/elements/PackingListComponent.vue index 89747c80..1139f971 100644 --- a/resources/assets/vue/components/containers/elements/PackingListComponent.vue +++ b/resources/assets/vue/components/containers/elements/PackingListComponent.vue @@ -23,7 +23,8 @@
-

{{item.transport ? item.transport.current_schedule.eta : 'n/a'}}

+

{{ item.transport.current_schedule.eta }}

+

{{ item.packages[0].container.transport ? item.packages[0].container.transport.dropped_days+' Days': 'n/a'}}

diff --git a/resources/views/pages/admin/dashboard.blade.php b/resources/views/pages/admin/dashboard.blade.php index 7f694bb9..62a6df6b 100644 --- a/resources/views/pages/admin/dashboard.blade.php +++ b/resources/views/pages/admin/dashboard.blade.php @@ -45,13 +45,17 @@
-
+
+
+
+
Unclaimed Packing Lists
+
+
-
diff --git a/resources/views/pages/delivery_list.blade.php b/resources/views/pages/delivery_list.blade.php index 41c6d8e8..2f27f146 100644 --- a/resources/views/pages/delivery_list.blade.php +++ b/resources/views/pages/delivery_list.blade.php @@ -75,55 +75,69 @@
-
-
Marking
-
Quantity
-
CBM
-
Overweight CBM
-
Total CBM
-
status
-
Delivery Date
-
Action
+
+
+
+
Marking
+
Quantity
+
CBM
+
Overweight CBM
+
Total CBM
+
status
+
Delivery Details
+
Delivery Date
+
+
- +
-
-
Marking
-
Quantity
-
CBM
-
Overweight CBM
-
Total CBM
-
status
-
Delivery Date
+
+
+
+
Marking
+
Quantity
+
CBM
+
Overweight CBM
+
Total CBM
+
status
+
Delivery Details
+
Delivery Date
+
+
- +
-
-
Marking
-
Quantity
-
CBM
-
Overweight CBM
-
Total CBM
-
status
-
Delivery Date
+
+
+
+
Marking
+
Quantity
+
CBM
+
Overweight CBM
+
Total CBM
+
status
+
Delivery Details
+
Delivery Date
+
+
- +
diff --git a/routes/web.php b/routes/web.php index 273eda25..a7b97032 100644 --- a/routes/web.php +++ b/routes/web.php @@ -258,7 +258,7 @@ Route::get('/settings', function () { Route::get('/customer/summary/monthly', function () { // $containers = Container::whereMonth('loading_date', 1)->where('owner_id', 3)->get(); - $containers = Container::whereIn('reference', ['SM21-166', 'SM21-168', 'SM21-170', 'SM21-171', 'SM21-172', 'SM21-173', 'EPS-3833'])->get(); + $containers = Container::whereIn('reference', ['EPS-3850', 'EPS-3863', 'WP-1331', 'EPS-3856'])->get(); foreach ($containers as $container){ $packingLists = $container->packingLists()->get()->filter(function ($packingList) { return $packingList->owner->company_module_id === 248;