fix change commande = order_number and dossier = case_number

This commit is contained in:
Tolotsoa 2025-09-03 15:36:24 +03:00
parent 9f0450a76c
commit 37818547d2
3 changed files with 23 additions and 22 deletions

View File

@ -3457,6 +3457,8 @@ class Bdd
devis.id as devis_id, devis.id as devis_id,
devis.date as devis_date, devis.date as devis_date,
devis.num as calendar_uuid, devis.num as calendar_uuid,
devis.order_number, -- AJOUTÉ
devis.case_number, -- AJOUTÉ
devis.comment as devis_comment, devis.comment as devis_comment,
devis.id_client as devis_id_client, devis.id_client as devis_id_client,
devis.devis_full_number, devis.devis_full_number,
@ -3509,6 +3511,8 @@ class Bdd
devis.id as devis_id, devis.id as devis_id,
devis.date as devis_date, devis.date as devis_date,
devis.num as calendar_uuid, devis.num as calendar_uuid,
devis.order_number, -- AJOUTÉ
devis.case_number, -- AJOUTÉ
devis.comment as devis_comment, devis.comment as devis_comment,
devis.id_client as devis_id_client, devis.id_client as devis_id_client,
devis.devis_full_number, devis.devis_full_number,

View File

@ -36,8 +36,8 @@ class DevisDataProcessor
return array( return array(
'devis_id' => $devis['devis_id'], 'devis_id' => $devis['devis_id'],
'devis_full_number' => $devis['devis_full_number'], 'devis_full_number' => $devis['devis_full_number'],
'calendar_uuid' => $devis['calendar_uuid'], 'case_number' => $devis['case_number'], // NOUVEAU : remplace calendar_uuid
'num_commande' => '', 'order_number' => $devis['order_number'], // NOUVEAU : remplace num_commande vide
'devis_date' => $devis['devis_date'], 'devis_date' => $devis['devis_date'],
'lieu_nom' => $devis['lieu_nom'], 'lieu_nom' => $devis['lieu_nom'],
'lieu_adresse' => $devis['lieu_adresse'], 'lieu_adresse' => $devis['lieu_adresse'],
@ -52,6 +52,7 @@ class DevisDataProcessor
'group_city' => $devis['group_city'], 'group_city' => $devis['group_city'],
'group_email' => $devis['group_email'], 'group_email' => $devis['group_email'],
'group_siret_number' => $devis['group_siret_number'], 'group_siret_number' => $devis['group_siret_number'],
'article' => 'SOINS',
'montant_htc' => 0, 'montant_htc' => 0,
'tva' => $currentConfig->tva_default, 'tva' => $currentConfig->tva_default,
'montant_tva' => 0, 'montant_tva' => 0,
@ -132,9 +133,11 @@ class DevisDataProcessor
'Client Entreprise', 'Client Entreprise',
'Défunt', 'Défunt',
'Lieu', 'Lieu',
'Article',
'Thanatopracteur', 'Thanatopracteur',
'Commentaire', 'Commentaire',
'UUID Calendrier' 'N° Dossier', // case_number
'N° Commande' // order_number
]; ];
$csvContent = $this->arrayToCsv($headers); $csvContent = $this->arrayToCsv($headers);
@ -147,9 +150,11 @@ class DevisDataProcessor
$devis['client_entreprise'] ?? '', $devis['client_entreprise'] ?? '',
$devis['defunt_nom'] ?? '', $devis['defunt_nom'] ?? '',
$devis['lieu_nom'] ?? '', $devis['lieu_nom'] ?? '',
$devis['article'] ?? 'SOINS',
trim(($devis['thanato_nom'] ?? '') . ' ' . ($devis['thanato_prenom'] ?? '')), trim(($devis['thanato_nom'] ?? '') . ' ' . ($devis['thanato_prenom'] ?? '')),
$devis['devis_comment'] ?? '', $devis['devis_comment'] ?? '',
$devis['calendar_uuid'] ?? '' $devis['case_number'] ?? '', // NOUVEAU
$devis['order_number'] ?? '' // NOUVEAU
]; ];
$csvContent .= $this->arrayToCsv($row); $csvContent .= $this->arrayToCsv($row);

View File

@ -116,55 +116,48 @@ class DevisPdfTableRenderer
// Fonction généraliste pour gérer automatiquement le débordement // Fonction généraliste pour gérer automatiquement le débordement
$addSmartCell = function ($pdf, $x, $y, $width, $text, $align = 'L') use ($yDevis) { $addSmartCell = function ($pdf, $x, $y, $width, $text, $align = 'L') use ($yDevis) {
$textWidth = $pdf->GetStringWidth($text); $textWidth = $pdf->GetStringWidth($text);
$maxWidth = $width - 2; // Marge de sécurité $maxWidth = $width - 2;
if ($textWidth > $maxWidth && strlen($text) > 10) { if ($textWidth > $maxWidth && strlen($text) > 10) {
// DÉBORDEMENT : utiliser MultiCell pour affichage complet
$pdf->SetXY($x, $y); $pdf->SetXY($x, $y);
$pdf->MultiCell($width, 2.5, $text, 0, $align); $pdf->MultiCell($width, 2.5, $text, 0, $align);
} else { } else {
// PAS DE DÉBORDEMENT : utiliser Cell normal
$pdf->SetXY($x, $y); $pdf->SetXY($x, $y);
$pdf->Cell($width, 5, $text, 0, 0, $align); $pdf->Cell($width, 5, $text, 0, 0, $align);
} }
}; };
if (!$sansMontant) { if (!$sansMontant) {
// N° Devis
$addSmartCell($pdf, 6, $yDevis, 18, $devis['devis_full_number']); $addSmartCell($pdf, 6, $yDevis, 18, $devis['devis_full_number']);
// N° Dossier - GESTION AUTOMATIQUE // N° Dossier - UTILISER case_number
$addSmartCell($pdf, 26, $yDevis, 18, $devis['calendar_uuid']); $addSmartCell($pdf, 26, $yDevis, 18, $devis['case_number'] ?? '');
// N° Commande - GESTION AUTOMATIQUE // N° Commande - UTILISER order_number
$addSmartCell($pdf, 46, $yDevis, 18, $devis['num_commande']); $addSmartCell($pdf, 46, $yDevis, 18, $devis['order_number'] ?? '');
// Date
$addSmartCell($pdf, 66, $yDevis, 13, mb_convert_encoding($formatterDate->format($dateSoin), 'ISO-8859-1', 'UTF-8')); $addSmartCell($pdf, 66, $yDevis, 13, mb_convert_encoding($formatterDate->format($dateSoin), 'ISO-8859-1', 'UTF-8'));
// Article - GESTION AUTOMATIQUE
$articleText = \OCA\Gestion\Helpers\FileExportHelpers::FormatTextForExport($devis['article'] ?? 'SOINS'); $articleText = \OCA\Gestion\Helpers\FileExportHelpers::FormatTextForExport($devis['article'] ?? 'SOINS');
$addSmartCell($pdf, 81, $yDevis, 18, $articleText); $addSmartCell($pdf, 81, $yDevis, 18, $articleText);
// Lieu du soin - GESTION AUTOMATIQUE
$lieuText = \OCA\Gestion\Helpers\FileExportHelpers::FormatTextForExport($devis['lieu_nom'] ?? ''); $lieuText = \OCA\Gestion\Helpers\FileExportHelpers::FormatTextForExport($devis['lieu_nom'] ?? '');
$addSmartCell($pdf, 101, $yDevis, 23, $lieuText); $addSmartCell($pdf, 101, $yDevis, 23, $lieuText);
// Défunt - GESTION AUTOMATIQUE
$defuntText = \OCA\Gestion\Helpers\FileExportHelpers::FormatTextForExport($devis['defunt_nom'] ?? ''); $defuntText = \OCA\Gestion\Helpers\FileExportHelpers::FormatTextForExport($devis['defunt_nom'] ?? '');
$addSmartCell($pdf, 126, $yDevis, 18, $defuntText); $addSmartCell($pdf, 126, $yDevis, 18, $defuntText);
// Montants - Toujours centrés
$addSmartCell($pdf, 146, $yDevis, 18, number_format($devis['montant_htc'], 2, '.', '') . chr(128), 'C'); $addSmartCell($pdf, 146, $yDevis, 18, number_format($devis['montant_htc'], 2, '.', '') . chr(128), 'C');
$addSmartCell($pdf, 166, $yDevis, 18, number_format($devis['montant_tva'], 2, '.', '') . chr(128), 'C'); $addSmartCell($pdf, 166, $yDevis, 18, number_format($devis['montant_tva'], 2, '.', '') . chr(128), 'C');
$addSmartCell($pdf, 186, $yDevis, 18, number_format($devis['montant_ttc'], 2, '.', '') . chr(128), 'C'); $addSmartCell($pdf, 186, $yDevis, 18, number_format($devis['montant_ttc'], 2, '.', '') . chr(128), 'C');
} else { } else {
// Mode sans montants - POSITIONS AJUSTÉES
$addSmartCell($pdf, 6, $yDevis, 28, $devis['devis_full_number']); $addSmartCell($pdf, 6, $yDevis, 28, $devis['devis_full_number']);
$addSmartCell($pdf, 36, $yDevis, 33, $devis['calendar_uuid']); // N° Dossier - UTILISER case_number
$addSmartCell($pdf, 36, $yDevis, 33, $devis['case_number'] ?? '');
$addSmartCell($pdf, 71, $yDevis, 33, $devis['num_commande']); // N° Commande - UTILISER order_number
$addSmartCell($pdf, 71, $yDevis, 33, $devis['order_number'] ?? '');
$addSmartCell($pdf, 106, $yDevis, 13, mb_convert_encoding($formatterDate->format($dateSoin), 'ISO-8859-1', 'UTF-8')); $addSmartCell($pdf, 106, $yDevis, 13, mb_convert_encoding($formatterDate->format($dateSoin), 'ISO-8859-1', 'UTF-8'));
@ -174,9 +167,8 @@ class DevisPdfTableRenderer
$lieuText = \OCA\Gestion\Helpers\FileExportHelpers::FormatTextForExport($devis['lieu_nom'] ?? ''); $lieuText = \OCA\Gestion\Helpers\FileExportHelpers::FormatTextForExport($devis['lieu_nom'] ?? '');
$addSmartCell($pdf, 136, $yDevis, 23, $lieuText); $addSmartCell($pdf, 136, $yDevis, 23, $lieuText);
// Défunt - DERNIÈRE COLONNE plus large (45 au lieu de 23)
$defuntText = \OCA\Gestion\Helpers\FileExportHelpers::FormatTextForExport($devis['defunt_nom'] ?? ''); $defuntText = \OCA\Gestion\Helpers\FileExportHelpers::FormatTextForExport($devis['defunt_nom'] ?? '');
$addSmartCell($pdf, 161, $yDevis, 44, $defuntText); // Plus large pour remplir l'espace $addSmartCell($pdf, 161, $yDevis, 44, $defuntText);
} }
} }