feat : ajout du numéro identification des receptions et ajustement du bon de reception

This commit is contained in:
2026-01-29 09:43:46 +01:00
parent f901d52324
commit cff80b5ab2
10 changed files with 213 additions and 191 deletions

View File

@@ -7,7 +7,7 @@
@page { margin: 56px 56px; }
body{
font-family: Arial, sans-serif;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 13px;
margin:0;
color:#000;
@@ -19,7 +19,7 @@
.red{ color:red; }
.company-block{
font-size:13px;
font-size:14px;
text-align:left;
line-height:1.25;
}
@@ -36,15 +36,30 @@
text-align:center;
font-size: 18pt;
font-weight: 700;
margin: 0 0 4mm 0;
margin: 64px 0 15px 0;
}
.info-table {
margin-bottom: 32px;
width:100%;
border-collapse:collapse;
table-layout:fixed;
}
.info-table th {
font-size: 16px;
}
table{
width:100%;
border-collapse: collapse;
}
table{ width:100%; border-collapse: collapse; }
th, td{
border:1px solid #333;
padding:4px 6px;
vertical-align: top;
font-size: 9pt;
font-size: 12px;
}
th{ text-align:center; font-weight:700; }
@@ -52,7 +67,17 @@
.layout, .layout td{ border:none !important; padding:0; }
/* GRAND TABLEAU : verrouillage dompdf */
.bigtable{ table-layout: fixed; }
.bigtable{
table-layout: fixed;
}
.bigtable th,
.bigtable td{
font-size: 16px;
}
.bigtable-notes{
font-size: 14px;
line-height: 1.25;
}
/* ligne “filler” pour forcer la hauteur comme l'exemple */
.fill td{
@@ -60,32 +85,9 @@
height: 75mm; /* ajuste si besoin */
}
/* Bloc IDTF comme lexemple */
table.idtf{
width: 350px; /* ou 100% si tu préfères */
border-collapse: collapse;
border: 1px solid #333 !important; /* bordure extérieure */
margin-top: 12px; /* ~3mm */
font-size: 8.5pt;
table-layout: fixed;
}
/* IMPORTANT: on cible td DANS table.idtf et on force */
table.idtf td{
border: 1px solid #333 !important;
padding: 3px 5px;
vertical-align: top;
}
/* Largeurs en % (pas de mm) */
table.idtf td.n{ width: 8%; text-align:center; }
table.idtf td.prod{ width: 52%; }
table.idtf td.net{ width: 20%; }
table.idtf td.date{ width: 20%; }
.signature-title{ font-size:9pt; margin-bottom:2mm; }
.signature-title{ font-size:12px; margin-bottom:2mm; }
.signature-box{ height: 22mm; margin-bottom: 4mm; }
.meta{ font-size: 9pt; line-height: 1.35; }
.meta{ font-size: 16px; line-height: 1.35; }
</style>
</head>
@@ -95,33 +97,26 @@
<table class="layout" style="width:100%;">
<tr>
<td style="width:70%; vertical-align:top;">
<!-- table imbriquée : 1 ligne logo, 1 ligne texte (dompdf-friendly) -->
<table class="layout" style="width:100%;">
<tr>
<td style="padding:0; border:none;">
<img src="https://static.mixsuite.fr/liot/logo.png"
style="width:110px; display:block; margin:0 0 4mm 0;">
</td>
</tr>
<tr>
<td class="company-block" style="padding:0; border:none;">
<strong>SA LIOT Châtellerault</strong><br>
Site de <b>Châtellerault</b><br>
<strong>SCEA LES NAUDS</strong><br>
14 Allée dArgenson<br>
Z.I Nord Secteur Est<br>
86100 CHATELLERAULT<br>
TEL : 05 49 20 09 10 Fax : 05 49 85 37 82<br>
TEL : 05 49 20 09 10<br>
Email : lpc.contacts@lpc-liot.fr<br>
RCS Châtellerault B 339 505 612
RCS Châtellerault B 444 262 455
</td>
</tr>
</table>
</td>
<td style="width:30%; text-align:left; vertical-align:top;">
<div class="box" style="display:inline-block; width:75mm;">
<strong class="red">Nom de l'entreprise</strong><br><br><br>
<span class="red">Adresse de l'entreprise</span>
<td style="width:30%; text-align:right; vertical-align:top; font-size: 14px;">
<div style="display:inline-block; width:75mm;">
<strong>{{ reception.supplier.name }}</strong><br>
<span>{{ reception.address.street }}</span><br>
<span>{{ reception.address.postalCode }} {{ reception.address.city }}</span>
</div>
</td>
</tr>
@@ -130,18 +125,18 @@
<div class="title">BON DE RECEPTION</div>
<!-- INFOS (code/date/num) -->
<table style="margin-bottom:3mm; width:100%; border-collapse:collapse; table-layout:fixed;">
<table class="info-table">
<tr>
<th style="width:60%; text-align:center;">Code fournisseur</th>
<th style="width:55%; text-align:center;">Code fournisseur</th>
<th style="width:20%; text-align:center; white-space:nowrap;">Date</th>
<th style="width:20%; text-align:center; white-space:nowrap;">N° réception</th>
<th style="width:25%; text-align:center; white-space:nowrap;">N° réception</th>
</tr>
<tr>
<td class="red" style="width:60%; text-align:center;">XXX</td>
<td style="width:55%; text-align:center;">{{ reception.supplier.name }}</td>
<td style="width:20%; text-align:center; white-space:nowrap;">
{{ reception.receptionDate|date('d/m/Y') }}
</td>
<td class="red" style="width:20%; text-align:center; white-space:nowrap;">86-BR-XXXX</td>
<td style="width:25%; text-align:center; white-space:nowrap;">{{ reception.identificationNumber }}</td>
</tr>
</table>
@@ -150,20 +145,17 @@
<table class="bigtable" style="margin-bottom:10px; width:100%; border-collapse:collapse; table-layout:fixed;">
<thead>
<tr>
<th style="width:15%; text-align:center;">Code</th>
<th style="width:65%; text-align:center;">Désignation</th>
<th style="width:20%; text-align:right; white-space:nowrap;">Qté livrée (kg)</th>
<th style="width:75%; text-align:center;">Désignation</th>
<th style="width:25%; text-align:right; white-space:nowrap;">Qté livrée (kg)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="red" style="width:12%;">M</td>
<td style="width:68%;">
<td style="width:75%;">
<strong class="red">MAÏS sec</strong><br><br>
<div style="font-size:8.5pt; line-height:1.25;">
<div class="bigtable-notes">
{% set grossWeight = null %}
{% set tareWeight = null %}
@@ -179,7 +171,7 @@
</div>
</td>
<td class="red" style="width:20%; text-align:right; white-space:nowrap;">
<td style="width:25%; text-align:right; white-space:nowrap;">
{% if grossWeight and tareWeight %}
{{ grossWeight.weight - tareWeight.weight }}
{% else %}
@@ -190,9 +182,8 @@
<!-- filler : garde le grand bloc haut comme sur l'exemple -->
<tr class="fill">
<td style="width:15%;"></td>
<td style="width:65%;"></td>
<td style="width:20%;"></td>
<td style="width:75%;"></td>
<td style="width:25%;"></td>
</tr>
</tbody>
</table>
@@ -202,32 +193,16 @@
<table class="layout">
<tr>
<td style="width:60%; padding-right:8mm; vertical-align:top;">
<div class="meta red">
Transporteur : <strong class="red">Nom du transporteur</strong><br>
Mode de livraison : <strong class="red">Fond-mouvant</strong><br>
Immatriculation : <strong class="red">{{ reception.licensePlate }}</strong><br><br>
Poids annoncé : <strong class="red">XXXXX kg</strong>
<div class="meta">
Transporteur : <strong>{{ reception.carrier.name }}</strong><br>
Mode de livraison : <strong>{{ reception.truck.name }}</strong><br>
Immatriculation : <strong>{{ reception.licensePlate }}</strong><br><br>
</div>
<!-- Bloc IDTF -->
<table class="idtf">
<tr>
<td class="n">1</td>
<td class="prod red">
Produit : <span class="red">Nom du produit</span><br>
N° IDTF : <span class="red">4000XX</span>
</td>
<td class="net red">Nettoyage : <span class="red">A</span></td>
<td class="date red">Date : <span class="red">14/01/2026</span></td>
</tr>
<!-- répète le <tr> si besoin -->
</table>
</td>
<td style="width:40%; vertical-align:top;">
<div class="signature-title">Signature :</div>
<div class="box signature-box">Ets Liot :</div>
<div class="box signature-box">Les Nauds :</div>
<div class="box signature-box">Transporteur :</div>
</td>
</tr>