Stornorechnung: Fix überdeckte Artikelzeile + Regenerate-Command
Der ACHTUNG-Hinweiskasten hat wegen fixer 15mm-Höhe des Titel-Blocks den Tabellenkopf und die erste Artikelzeile überdeckt (z.B. Artikel 5010400 auf den Stornos zu Bestellung 56965/56966). Titel-Block wächst jetzt mit dem Inhalt. Neuer Command sales:regenerate-cancellation-pdf erzeugt die PDFs bestehender Stornorechnungen neu (gleiche Nummer/Pfade, keine Punktebuchung, keine Mails) – per Rechnungs-ID oder mit --order per Bestell-ID. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
8e09aaefe8
commit
1e7ae92d0c
4 changed files with 271 additions and 2 deletions
|
|
@ -16,7 +16,7 @@ use Storage;
|
|||
|
||||
class InvoiceRepository extends BaseRepository
|
||||
{
|
||||
/** @var \App\Models\ShoppingOrder */
|
||||
/** @var ShoppingOrder */
|
||||
protected $model;
|
||||
|
||||
private $invoice_date;
|
||||
|
|
@ -356,6 +356,32 @@ class InvoiceRepository extends BaseRepository
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Erzeugt die PDF-Dateien einer bestehenden Stornorechnung neu (z. B. nach Template-Fixes).
|
||||
*
|
||||
* Verwendet Nummer, Datum und Dateipfade der bestehenden Stornorechnung und überschreibt
|
||||
* die vorhandenen Dateien – es wird keine neue Rechnungsnummer vergeben und es werden
|
||||
* keine Punkte gebucht.
|
||||
*/
|
||||
public function regenerateCancellationPDF(UserInvoice $cancellation_invoice): void
|
||||
{
|
||||
$original_invoice = UserInvoice::where('cancellation_id', $cancellation_invoice->id)->first();
|
||||
|
||||
if (! $original_invoice) {
|
||||
throw new \Exception('Keine Originalrechnung zur Stornorechnung #'.$cancellation_invoice->id.' gefunden.');
|
||||
}
|
||||
|
||||
$this->makeCancellationPDF(
|
||||
$cancellation_invoice->date,
|
||||
$cancellation_invoice->full_number,
|
||||
$cancellation_invoice->dir,
|
||||
$cancellation_invoice->filename,
|
||||
$cancellation_invoice->delivery_dir,
|
||||
$cancellation_invoice->delivery_filename,
|
||||
$original_invoice
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Erstellt die Storno-PDFs (Rechnung und Lieferschein)
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue