load($inputFileName);
$sheet = $spreadsheet->getActiveSheet();
$sheet->getPageSetup()->setOrientation(PageSetup::ORIENTATION_LANDSCAPE);
$i = 3;
$first = true;
$from = '-';
$prevInstDate = '';
$j = 1;
foreach ($orders as $order) {
$instDate = ($order->installation_date) ? DateHelper::getHumanDate($order->installation_date, true) : '';
$readyDate = ($order->ready_date) ? DateHelper::getHumanDate($order->ready_date, true) : '';
$mafs = Str::replace('
', '', $order->productsWithCount);
$mafs = Str::replace('
', "\n", $mafs);
$sheet->setCellValue('A' . $i, $order->id);
$sheet->setCellValue('B' . $i, $order->name);
$sheet->setCellValue('C' . $i, $order->user->name);
$sheet->setCellValue('D' . $i, $order->district->shortname);
$sheet->setCellValue('E' . $i, $order->area->name);
$sheet->setCellValue('F' . $i, $order->object_address);
$sheet->setCellValue('G' . $i, $order->objectType->name);
$sheet->setCellValue('H' . $i, $order->comment);
$sheet->setCellValue('I' . $i, $instDate);
$sheet->setCellValue('J' . $i, $readyDate);
$sheet->setCellValue('K' . $i, $order->brigadier?->name);
$sheet->setCellValue('L' . $i, $order->orderStatus->name);
$sheet->setCellValue('M' . $i, $order->tg_group_name);
$sheet->setCellValue('N' . $i, $order->tg_group_link);
$sheet->setCellValue('O' . $i, $mafs);
$sheet->setCellValue('P' . $i, $order->ready_to_mount);
$i++;
}
$sheet->getStyle('A1:P' . $i - 1)->getBorders()->getAllBorders()->setBorderStyle(Border::BORDER_THIN)->setColor(new Color('777777'));
$sheet->getStyle('A1:P' . $i - 1)->getAlignment()->setWrapText(true);
$sheet->getStyle('A1:P' . $i - 1)->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);
$fileName = 'Площадки ' . date('Y-m-d H-i-s') . '.xlsx';
$writer = new Xlsx($spreadsheet);
$fd = 'export/orders/tmp';
Storage::disk('public')->makeDirectory($fd);
$fp = storage_path('app/public/export/orders/') . '/tmp/' . $fileName;
Storage::disk('public')->delete($fd . '/' . $fileName);
$writer->save($fp);
PdfConverterClient::convert($fp);
// create zip archive
$fileModel = (new FileService())->createZipArchive($fd, Str::replace('.xlsx', '.zip', $fileName), $userId);
// remove temp files
Storage::disk('public')->deleteDirectory($fd);
// return link
return $fileModel?->link ?? '';
}
}