diff --git a/app/Classes/Modules/Exports/Services/ExportsDeliveryOrders.php b/app/Classes/Modules/Exports/Services/ExportsDeliveryOrders.php index 802cd3ef..658220a3 100644 --- a/app/Classes/Modules/Exports/Services/ExportsDeliveryOrders.php +++ b/app/Classes/Modules/Exports/Services/ExportsDeliveryOrders.php @@ -13,8 +13,9 @@ use Maatwebsite\Excel\Concerns\WithHeadingRow; use Maatwebsite\Excel\Concerns\WithHeadings; use Maatwebsite\Excel\Concerns\WithMapping; use Illuminate\Http\Request; +use Maatwebsite\Excel\Concerns\WithTitle; -class ExportsDeliveryOrders implements FromQuery, WithHeadings, WithHeadingRow, WithMapping, ShouldAutoSize +class ExportsDeliveryOrders implements FromQuery, WithHeadings, WithHeadingRow, WithMapping, ShouldAutoSize, WithTitle { use Exportable; @@ -70,6 +71,11 @@ class ExportsDeliveryOrders implements FromQuery, WithHeadings, WithHeadingRow, return Order::where('type', OrderType::LAST_MILE_DELIVERY)->whereIn('id', $selectedIds); } + public function title(): string + { + return 'bulk-shipment'; + } + /** * @param Order $order * @@ -100,7 +106,7 @@ class ExportsDeliveryOrders implements FromQuery, WithHeadings, WithHeadingRow, $deliveryAddress->contacts()->first()->phone, $package->type === PackageType::CARTON ? 'Package' : ($package->type === PackageType::PALLET ? 'Pallet' : 'Documents'), 'Pick Up', - 'Sender', + 'Default', $order->reference, $package->quantity, $package->weight * $package->quantity, diff --git a/app/Classes/Modules/Exports/Services/ExportsDeliveryValidValues.php b/app/Classes/Modules/Exports/Services/ExportsDeliveryValidValues.php new file mode 100644 index 00000000..ef85dfeb --- /dev/null +++ b/app/Classes/Modules/Exports/Services/ExportsDeliveryValidValues.php @@ -0,0 +1,74 @@ +request = $request; + } + + public function headings(): array + { + return [ + 'Types_Of_Services', + 'Service_Type', + 'Mode', + 'Flag', + 'Pickup Address' + ]; + } + + /** + * @return \Illuminate\Support\Collection|mixed + */ + public function collection() + { + $returnArray = collect(); + + $returnArray->push(['Domestic Shipment', 'Package', 'Pick Up', 'Yes', 'Default']); + $returnArray->push(['', 'Documents', 'Lodge In / Walk In', 'No', 'Sender']); + $returnArray->push(['', 'Pallet', '', '', '']); + + return $returnArray; + } + + public function title(): string + { + return 'valid-values'; + } + + /** + * @param ReturnArray $returnArray + * + * @return array + */ + public function map($returnArray): array + { + return [ + $returnArray[0], + $returnArray[1], + $returnArray[2], + $returnArray[3], + $returnArray[4], + ]; + } +} \ No newline at end of file diff --git a/app/Classes/Modules/Exports/Services/ExportsMultipleDeliveryOrders.php b/app/Classes/Modules/Exports/Services/ExportsMultipleDeliveryOrders.php new file mode 100644 index 00000000..0b6bf899 --- /dev/null +++ b/app/Classes/Modules/Exports/Services/ExportsMultipleDeliveryOrders.php @@ -0,0 +1,38 @@ +request = $request; + } + + /** + * @return array + */ + public function sheets(): array + { + $sheets = []; + $sheets[] = new ExportsDeliveryOrders($this->request); + $sheets[] = new ExportsDeliveryValidValues($this->request); + + return $sheets; + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Delivery/ExportDeliveryOrdersToExcelController.php b/app/Http/Controllers/Delivery/ExportDeliveryOrdersToExcelController.php index 9121fe00..e88ebc67 100644 --- a/app/Http/Controllers/Delivery/ExportDeliveryOrdersToExcelController.php +++ b/app/Http/Controllers/Delivery/ExportDeliveryOrdersToExcelController.php @@ -4,7 +4,7 @@ namespace App\Http\Controllers\Delivery; use App\Classes\Modules\Exports\Services\ExportsCustomers; -use App\Classes\Modules\Exports\Services\ExportsDeliveryOrders; +use App\Classes\Modules\Exports\Services\ExportsMultipleDeliveryOrders; use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; @@ -24,7 +24,7 @@ class ExportDeliveryOrdersToExcelController } public function lineClear(Request $request){ - $exportsTransactions = new ExportsDeliveryOrders($request); + $exportsTransactions = new ExportsMultipleDeliveryOrders($request); $response = $exportsTransactions->download('line-clear-export.xls', Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); ob_end_clean(); return $response;