diff --git a/app/Classes/Modules/Exports/Services/ExportsArrivedParcel.php b/app/Classes/Modules/Exports/Services/ExportsArrivedParcel.php new file mode 100644 index 00000000..66934840 --- /dev/null +++ b/app/Classes/Modules/Exports/Services/ExportsArrivedParcel.php @@ -0,0 +1,86 @@ +where('status', '=', 2)->get(); + $exceptionUsers = in_array(Auth()->user()->type, [RoleTypes::SHADOW_ADMIN, RoleTypes::SUPER_ADMIN]); + + foreach($packingLists as $packingList){ + $packages = !$packingList->packingLists()->exists() || $exceptionUsers ? $packingList->packages : $packingList->packingLists->first()->packages; + foreach ($packages as $package) { + $returnArray->push($package); + } + } + + return $returnArray; + } + + /** + * @param ReturnArray $returnArray + * + * @return array + */ + public function map($package): array + { + $packingList = $package->packingList; + $order = $packingList->owner; + + $connection = $order->companyModule()->first()->inviters()->withPivot('invitee_reference')->first(); + $marking = $connection ? $connection->pivot->invitee_reference:''; + + $warehouse = $order->orderRoles()->where('role_id', '=', OrderRoleTypes::ORIGIN_WAREHOUSE)->first()->appointee; + + $cbm = (($package->width / 100) * ($package->height / 100) * ($package->length / 100)) * $package->quantity; + + $arrival_date = $packingList->transports()->first()->drop_date->format('d-m-Y'); + + return [ + $packingList->owner->reference, + $marking, + $warehouse->reference, + $cbm, + $package->description, + $package->quantity, + $arrival_date, + '' + ]; + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Exports/ExportArrivedParcelController.php b/app/Http/Controllers/Exports/ExportArrivedParcelController.php new file mode 100644 index 00000000..1d67a5c0 --- /dev/null +++ b/app/Http/Controllers/Exports/ExportArrivedParcelController.php @@ -0,0 +1,29 @@ +headers->set('Authorization', 'Bearer '.$token); + } + + public function export(Request $request) { + $exportsPendingArrangementDeliveryList = new ExportsArrivedParcel($request); + $response = $exportsPendingArrangementDeliveryList->download('arrived-parcel.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); + ob_end_clean(); + return $response; + } +} diff --git a/resources/views/pages/warehouse_list.blade.php b/resources/views/pages/warehouse_list.blade.php index 10fa0581..10f92e66 100644 --- a/resources/views/pages/warehouse_list.blade.php +++ b/resources/views/pages/warehouse_list.blade.php @@ -7,6 +7,16 @@
Arrived Parcel
+ + +