Skip to content

Commit 72ae4ba

Browse files
authored
feat: update export people template to include registered date + remove sample data (#1556)
1 parent b912d30 commit 72ae4ba

3 files changed

Lines changed: 21 additions & 15 deletions

File tree

src/backend/app/Http/Controllers/PersonExportController.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@ public function downloadCsv(Request $request): StreamedResponse {
5858

5959
$this->peopleExportService->setPeopleData($people);
6060
$this->peopleExportService->setExportingData();
61-
$headers = ['Title', 'Name', 'Surname', 'Birth Date', 'Gender', 'Email', 'Phone', 'City', 'Device Serial', 'Agent Name'];
62-
$csvPath = $this->peopleExportService->saveCsv($headers);
61+
$csvPath = $this->peopleExportService->saveCsv(PersonExportService::HEADERS);
6362

6463
return Storage::download($csvPath, 'customer_export_'.now()->format('Ymd_His').'.csv');
6564
}

src/backend/app/Services/ExportServices/PersonExportService.php

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,33 @@
44

55
use App\Models\Person\Person;
66
use Illuminate\Support\Collection;
7+
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
78

89
class PersonExportService extends AbstractExportService {
10+
public const HEADERS = [
11+
'Title',
12+
'Name',
13+
'Surname',
14+
'Registered Date',
15+
'Birth Date',
16+
'Gender',
17+
'Email',
18+
'Phone',
19+
'City',
20+
'Device Serial',
21+
'Agent Name',
22+
];
23+
924
/** @var Collection<int, Person> */
1025
private Collection $peopleData;
1126

1227
public function writePeopleData(): void {
1328
$this->setActivatedSheet('Sheet1');
1429

1530
foreach ($this->exportingData as $key => $value) {
16-
$this->worksheet->setCellValue('A'.($key + 2), $value[0]);
17-
$this->worksheet->setCellValue('B'.($key + 2), $value[1]);
18-
$this->worksheet->setCellValue('C'.($key + 2), $value[2]);
19-
$this->worksheet->setCellValue('D'.($key + 2), $value[3]);
20-
$this->worksheet->setCellValue('E'.($key + 2), $value[4]);
21-
$this->worksheet->setCellValue('F'.($key + 2), $value[5]);
22-
$this->worksheet->setCellValue('G'.($key + 2), $value[6]);
23-
$this->worksheet->setCellValue('H'.($key + 2), $value[7]);
24-
$this->worksheet->setCellValue('I'.($key + 2), $value[8]);
25-
$this->worksheet->setCellValue('J'.($key + 2), $value[9]);
26-
$this->worksheet->setCellValue('K'.($key + 2), $value[10]);
31+
foreach (array_values($value) as $columnIndex => $cellValue) {
32+
$this->worksheet->setCellValue(Coordinate::stringFromColumnIndex($columnIndex + 1).($key + 2), $cellValue);
33+
}
2734
}
2835

2936
foreach ($this->worksheet->getColumnIterator() as $column) {
@@ -41,12 +48,12 @@ public function setExportingData(): void {
4148
$person->title,
4249
$person->name,
4350
$person->surname,
51+
$person->created_at?->format('d/m/Y'),
4452
$person->birth_date,
4553
$person->gender,
4654
$primaryAddress?->email,
4755
$primaryAddress?->phone,
4856
$primaryAddress?->city?->name,
49-
$primaryAddress?->street,
5057
$devices,
5158
$agent->person->name ?? '',
5259
];
@@ -86,12 +93,12 @@ public function exportDataToArray(): array {
8693
'title' => $person->title,
8794
'name' => $person->name,
8895
'surname' => $person->surname,
96+
'registered_date' => $person->created_at?->format('d/m/Y'),
8997
'birth_date' => $person->birth_date,
9098
'gender' => $person->gender,
9199
'email' => $primaryAddress?->email,
92100
'phone' => $primaryAddress?->phone,
93101
'city' => $primaryAddress?->city?->name,
94-
'street' => $primaryAddress?->street,
95102
'devices' => $devices,
96103
'agent' => $agent->person->name ?? '',
97104
];
-2.78 KB
Binary file not shown.

0 commit comments

Comments
 (0)