Browse Source

fix quality declaration

Alexander Musikhin 1 day ago
parent
commit
10f5987d97
1 changed files with 17 additions and 13 deletions
  1. 17 13
      app/Services/GenerateDocumentsService.php

+ 17 - 13
app/Services/GenerateDocumentsService.php

@@ -267,6 +267,7 @@ class GenerateDocumentsService
         $sheet = $spreadsheet->getActiveSheet();
         $sheet->getPageSetup()->setFitToWidth(1);
         $sheet->getPageSetup()->setFitToHeight(0);
+        $sheet->getDrawingCollection()->exchangeArray([]);
 
         $address = 'г. Москва, ' . $order->district->shortname . ', район ' . $order->area->name . ', по адресу: ' . (filled(trim((string) $order->name)) ? $order->name : $order->object_address);
         $i = 1; // start of table
@@ -277,21 +278,10 @@ class GenerateDocumentsService
                 $i += $rowsPerDeclaration;
                 ExcelHelper::copyRows($sheet, $range, 'A' . $i);
                 $sheet->setBreak('A' . ($i - 1), Worksheet::BREAK_ROW);
-
-                // add header img
-                $drawing = new Drawing();
-                $drawing->setName('Header');
-                $drawing->setDescription('Header');
-                $drawing->setPath('templates/header1.png');
-                $drawing->setCoordinates('A' . $i);
-                $drawing->setOffsetX(16);
-                $drawing->setOffsetY(8);
-                $drawing->setResizeProportional(true);
-                $drawing->setWidth(680);
-                $drawing->setWorksheet($sheet);
-
             }
 
+            $this->addQualityDeclarationHeader($sheet, $i);
+
             // document date?
             $sheet->setCellValue('A' . ($i + 7), DateHelper::getHumanDate(date('Y-m-d'), true));
 
@@ -311,6 +301,20 @@ class GenerateDocumentsService
         $writer->save(storage_path('app/public/orders/') . $order->id . '/tmp/' . $fileName);
     }
 
+    private function addQualityDeclarationHeader(Worksheet $sheet, int $row): void
+    {
+        $drawing = new Drawing();
+        $drawing->setName('Header');
+        $drawing->setDescription('Header');
+        $drawing->setPath('templates/header1.png');
+        $drawing->setCoordinates('A' . $row);
+        $drawing->setOffsetX(0);
+        $drawing->setOffsetY(0);
+        $drawing->setResizeProportional(true);
+        $drawing->setWidth(680);
+        $drawing->setWorksheet($sheet);
+    }
+
     private function generateInventory(Order $order): void
     {
         $inputFileType = 'Xlsx';