Alexander Musikhin 7 miesięcy temu
rodzic
commit
0b5cf142b3
2 zmienionych plików z 262 dodań i 178 usunięć
  1. 13 8
      app/Services/GenerateDocumentsService.php
  2. 249 170
      composer.lock

+ 13 - 8
app/Services/GenerateDocumentsService.php

@@ -12,6 +12,9 @@ use Illuminate\Support\Facades\Storage;
 use Illuminate\Support\Str;
 use PhpOffice\PhpSpreadsheet\IOFactory;
 use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
+use PhpOffice\PhpSpreadsheet\Writer\Pdf\Dompdf;
+use PhpOffice\PhpSpreadsheet\Writer\Pdf\Mpdf;
+use PhpOffice\PhpSpreadsheet\Writer\Pdf\Tcpdf;
 use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
 
 class GenerateDocumentsService
@@ -432,7 +435,7 @@ class GenerateDocumentsService
         $writer->save(storage_path('app/public/reclamations/') . $reclamation->id . '/tmp/' . $reclamation->order->object_address . '/' . $fileName);
     }
 
-    private function generateReclamationGuarantee(Reclamation $reclamation): void
+    public function generateReclamationGuarantee(Reclamation $reclamation): void
     {
         $inputFileType = 'Xlsx';
         $inputFileName = './templates/ReclamationGuarantee.xlsx';
@@ -443,11 +446,12 @@ class GenerateDocumentsService
 
         $mafs = [];
         foreach ($reclamation->skus as $p) {
-            $mafs[] = 'Тип ' . $p->product->nomenclature_number . '(' . $p->product->passport_name . ')' ;
+            $mafs[] = 'Тип ' . $p->product->nomenclature_number . ' (' . $p->product->passport_name . ')' ;
         }
+        $contract = Contract::query()->where('contracts.year', $reclamation->order->year)->first();
 
-        $text = "ООО «НАШ ДВОР-СТ» в рамках обязательств по Договору №{$reclamation->order?->contract?->contract_number}" .
-            " от " . DateHelper::getHumanDate($reclamation->order?->contract?->contract_date ?? '1970-01-01', true) .
+        $text = "ООО «НАШ ДВОР-СТ» в рамках обязательств по Договору №{$contract?->contract_number}" .
+            " от " . DateHelper::getHumanDate($contract?->contract_date ?? '1970-01-01', true) .
             " г. на выполнение комплекса работ по поставке, монтажу устанавливаемых на городских территориях малых архитектурных форм гарантирует " .
             $reclamation->guarantee . " на оборудовании «" . implode('; ', $mafs) .
             "» установленному по адресу г. Москва, " . $reclamation->order->object_address . " в срок до " .
@@ -461,10 +465,11 @@ class GenerateDocumentsService
         // save file
         $fileName = 'Гарантийное письмо - ' . $reclamation->order->object_address . '.xlsx';
         $writer = new Xlsx($spreadsheet);
-        Storage::disk('public')->makeDirectory('reclamations/' . $reclamation->id . '/tmp/' . $reclamation->order->object_address);
-        $writer->save(storage_path('app/public/reclamations/') . $reclamation->id . '/tmp/' . $reclamation->order->object_address . '/' . $fileName);
-
-//        $writerPdf = new \PhpOffice\PhpSpreadSheet\Writer\Pdf\;
+        $fd = 'reclamations/' . $reclamation->id . '/tmp/' . $reclamation->order->object_address;
+        Storage::disk('public')->makeDirectory($fd);
+        $fp = storage_path('app/public/reclamations/') . $reclamation->id . '/tmp/' . $reclamation->order->object_address . '/' . $fileName;
+        Storage::disk('public')->delete($fd . '/' . $fileName);
+        $writer->save($fp);
 
     }
 

Plik diff jest za duży
+ 249 - 170
composer.lock


Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików