diff --git a/app/Jobs/EDocument/MergeEDocument.php b/app/Jobs/EDocument/MergeEDocument.php index 2642cb0ea6bc..2618111fd105 100644 --- a/app/Jobs/EDocument/MergeEDocument.php +++ b/app/Jobs/EDocument/MergeEDocument.php @@ -20,7 +20,7 @@ class MergeEDocument implements ShouldQueue public $deleteWhenMissingModels = true; - public function __construct(private object $document, private object $pdf_file) + public function __construct(private object $document, private string $pdf_file) { } @@ -35,7 +35,6 @@ class MergeEDocument implements ShouldQueue $settings_entity = ($this->document instanceof PurchaseOrder) ? $this->document->vendor : $this->document->client; $e_document_type = strlen($settings_entity->getSetting('e_invoice_type')) > 2 ? $settings_entity->getSetting('e_invoice_type') : "XInvoice_3_0"; - $e_quote_type = strlen($settings_entity->getSetting('e_quote_type')) > 2 ? $settings_entity->getSetting('e_quote_type') : "OrderX_Extended"; if ($this->document instanceof Invoice){ switch ($e_document_type) { @@ -49,9 +48,8 @@ class MergeEDocument implements ShouldQueue case "XInvoice-Extended": case "XInvoice-BasicWL": case "XInvoice-Basic": - $xml = (new CreateEDocument($this->document))->handle(); - (new ZugferdDocumentPdfBuilder($xml, $this->pdf_file))->generateDocument()->saveDocument($mergeToPdf); - return $mergeToPdf; + $xml = (new CreateEDocument($this->document, true))->handle(); + return(new ZugferdDocumentPdfBuilder($xml, $this->pdf_file))->generateDocument()->downloadString("Invoice.pdf"); default: return $this->pdf_file; diff --git a/app/Jobs/Entity/CreateRawPdf.php b/app/Jobs/Entity/CreateRawPdf.php index 684860e492e1..d5026bacfd92 100644 --- a/app/Jobs/Entity/CreateRawPdf.php +++ b/app/Jobs/Entity/CreateRawPdf.php @@ -16,7 +16,6 @@ use App\Jobs\EDocument\MergeEDocument; use App\Models\Credit; use App\Models\CreditInvitation; use App\Models\Invoice; -use App\Models\Company; use App\Models\InvoiceInvitation; use App\Models\PurchaseOrder; use App\Models\PurchaseOrderInvitation; @@ -41,7 +40,7 @@ class CreateRawPdf public Invoice | Credit | Quote | RecurringInvoice | PurchaseOrder $entity; - public Company $company; + public $company; public $contact; @@ -109,8 +108,8 @@ class CreateRawPdf $pdf = $ps->boot()->getPdf(); nlog("pdf timer = ". $ps->execution_time); - if ($this->company->getSetting("enable_e_invoice")){ - $pdf = (new MergeEDocument($this->entity))->handle(); + if ($this->entity_string == "invoice" && $this->entity->company->getSetting("enable_e_invoice")){ + $pdf = (new MergeEDocument($this->entity, $pdf))->handle(); } return $pdf;