|
|
|
|
@@ -139,10 +139,10 @@
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.main .sub-title {
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
letter-spacing: 0;
|
|
|
|
|
padding: 8px;
|
|
|
|
|
padding: 4px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.main .base {
|
|
|
|
|
@@ -203,94 +203,79 @@
|
|
|
|
|
<h1 style="color: red; text-align: center; width: 100%; font-size: 36px">
|
|
|
|
|
Arrivage du {{ firstArrivalDate ?? '-' }}
|
|
|
|
|
</h1>
|
|
|
|
|
<table style="width:100%; border-collapse:collapse; table-layout:fixed; margin-bottom: 16px">
|
|
|
|
|
<table style="width:100%; border-collapse:collapse; table-layout:fixed; margin-bottom: 4px">
|
|
|
|
|
<colgroup>
|
|
|
|
|
{# 28 colonnes ≈ 3.571% chacune #}
|
|
|
|
|
{% for _ in 0..27 %}<col style="width:3.571%">{% endfor %}
|
|
|
|
|
</colgroup>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="width:40%; vertical-align:top; padding-right:2mm; border:0;">
|
|
|
|
|
<table style="width:100%; border-collapse:collapse; table-layout:fixed;">
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 0; height: 20px"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="font-weight:700; text-align: left; border: none; font-size: 24px">CASE N° {{ buildingCase.caseNumber ?? '' }}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</td>
|
|
|
|
|
<td style="border:0; text-align:left; font-weight:700; font-size: 18px;" colspan="4">PROVENANCE</td>
|
|
|
|
|
|
|
|
|
|
<td style="width:60%; vertical-align:top; padding-left:2mm; border:0;">
|
|
|
|
|
<table class="header-right-free" style="width:100%; border-collapse:collapse; table-layout:fixed;">
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border:0; text-align:center; font-weight:700; height: 20px;" colspan="5"></td>
|
|
|
|
|
<td style="border:0;" colspan="2"></td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b; text-align:center; font-weight:700; height: 20px;">1</td>
|
|
|
|
|
<td style="border:0; height: 20px;"></td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b; text-align:center; font-weight:700; height: 20px;">2</td>
|
|
|
|
|
<td style="border:0; height: 20px;"></td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b; text-align:center; font-weight:700; height: 20px;">3</td>
|
|
|
|
|
<td style="border:0; height: 20px;"></td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b; text-align:center; font-weight:700; height: 20px;">4</td>
|
|
|
|
|
<td style="border:0;" colspan="2"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border:0; text-align:left; font-weight:700; font-size: 24px; width:40%; height: 20px;" colspan="5">PROVENANCE</td>
|
|
|
|
|
<td style="border:0;" colspan="2"></td>
|
|
|
|
|
{# Paire 1 : chiffre + case vide #}
|
|
|
|
|
<td style="border:1px solid #2b2b2b; text-align:center; font-weight:700; font-size: 11px; padding:0;">1</td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b;"></td>
|
|
|
|
|
<td style="border:0;"></td>
|
|
|
|
|
{# Paire 2 #}
|
|
|
|
|
<td style="border:1px solid #2b2b2b; text-align:center; font-weight:700; font-size: 11px; padding:0;">2</td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b;"></td>
|
|
|
|
|
<td style="border:0;"></td>
|
|
|
|
|
{# Paire 3 #}
|
|
|
|
|
<td style="border:1px solid #2b2b2b; text-align:center; font-weight:700; font-size: 11px; padding:0;">3</td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b;"></td>
|
|
|
|
|
<td style="border:0;"></td>
|
|
|
|
|
{# Paire 4 #}
|
|
|
|
|
<td style="border:1px solid #2b2b2b; text-align:center; font-weight:700; font-size: 11px; padding:0;">4</td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b;"></td>
|
|
|
|
|
|
|
|
|
|
{# Espacement entre PROVENANCE et RACE (1 col, RACE commence plus tôt) #}
|
|
|
|
|
<td style="border:0;"></td>
|
|
|
|
|
|
|
|
|
|
{# Bloc RACE #}
|
|
|
|
|
<td style="border:0; text-align:left; font-weight:700; font-size: 18px;" colspan="2">RACE</td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b; text-align:center; font-weight:700;" colspan="2">LIMOUSIN</td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b;"></td>
|
|
|
|
|
<td style="border:0;"></td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b; text-align:center; font-weight:700;" colspan="2">CHAROLAIS</td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b;"></td>
|
|
|
|
|
<td style="border:0;"></td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b; text-align:center; font-weight:700;">AUTRE</td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b;"></td>
|
|
|
|
|
<td style="border: 0; width: 20%;" colspan="2"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 0; height: 20px" colspan="16"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="border: 0; text-align:left; font-weight:700; font-size: 24px" colspan="3">RACE</td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b; text-align:center; font-weight:700;" colspan="3">LIMOUSIN</td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b; text-align:center; font-weight:700;" colspan="1"></td>
|
|
|
|
|
<td style="border: 0; text-align:center; font-weight:700;" colspan="1"></td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b; text-align:center; font-weight:700;" colspan="3">CHAROLAIS</td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b; text-align:center; font-weight:700;" colspan="1"></td>
|
|
|
|
|
<td style="border: 0; text-align:center; font-weight:700;" colspan="1"></td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b; text-align:center; font-weight:700;" colspan="2">Autre</td>
|
|
|
|
|
<td style="border:1px solid #2b2b2b; text-align:center; font-weight:700;" colspan="1"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
|
|
|
|
|
<div style="font-weight:700; text-align:left; font-size: 18px; margin-bottom: 16px;">
|
|
|
|
|
CASE N° {{ buildingCase.caseNumber ?? '' }}
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- =========================
|
|
|
|
|
TABLEAU PRINCIPAL
|
|
|
|
|
========================= -->
|
|
|
|
|
<table class="main">
|
|
|
|
|
<thead>
|
|
|
|
|
<tr>
|
|
|
|
|
<th rowspan="4" class="head-big" style="width:5%">N° de<br>travail</th>
|
|
|
|
|
<th rowspan="4" class="head-big" style="width:5%">N° de<br>travail</th>
|
|
|
|
|
<th rowspan="4" class="head-big head-big-weight" style="width:4%">Poids<br>(kg)</th>
|
|
|
|
|
<th rowspan="4" class="head-big" style="width:7%">Date de<br>naissance</th>
|
|
|
|
|
|
|
|
|
|
{% for month in monthHeaders|default([]) %}
|
|
|
|
|
{% for month in monthHeaders|default([])|reverse %}
|
|
|
|
|
<th class="month" style="width:6.58%">{{ month.name }}</th>
|
|
|
|
|
{% endfor %}
|
|
|
|
|
<th rowspan="4" class="head-big" style="width:7%">Date de<br>naissance</th>
|
|
|
|
|
<th rowspan="4" class="head-big head-big-weight" style="width:4%">Poids<br>(kg)</th>
|
|
|
|
|
<th rowspan="4" class="head-big" style="width:5%">N° de<br>travail</th>
|
|
|
|
|
<th rowspan="4" class="head-big" style="width:5%">N° de<br>travail</th>
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
|
{% for month in monthHeaders|default([]) %}
|
|
|
|
|
{% for month in monthHeaders|default([])|reverse %}
|
|
|
|
|
<th class="days">{{ month.days }}</th>
|
|
|
|
|
{% endfor %}
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
|
<th class="days">Foin</th>
|
|
|
|
|
<th class="days">Foin</th>
|
|
|
|
|
<th colspan="{{ monthHeaders|length -2 }}" class="sub-title">POIDS PAR MOIS</th>
|
|
|
|
|
<th class="days">Foin</th>
|
|
|
|
|
<th class="days">Foin</th>
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
|
{% for month in monthHeaders|default([]) %}
|
|
|
|
|
{% for month in monthHeaders|default([])|reverse %}
|
|
|
|
|
<th class="base">
|
|
|
|
|
{% if month.baseValue is defined %}
|
|
|
|
|
{{ month.baseValue|round(0, 'common') }} kg
|
|
|
|
|
@@ -303,27 +288,28 @@
|
|
|
|
|
</thead>
|
|
|
|
|
|
|
|
|
|
<tbody>
|
|
|
|
|
{# 11 lignes comme dans ton code (0..10) #}
|
|
|
|
|
{# 13 lignes comme dans ton code (0..12) #}
|
|
|
|
|
{% for i in 0..12 %}
|
|
|
|
|
{% set row = rows[i] ?? null %}
|
|
|
|
|
{% set baseWeight = row ? (row.receivedWeight ?? null) : null %}
|
|
|
|
|
|
|
|
|
|
<tr class="data-row">
|
|
|
|
|
<td class="row-work"></td>
|
|
|
|
|
<td class="row-work">{{ row ? (row.workNumber ?? '') : '' }}</td>
|
|
|
|
|
<td class="row-weight">{{ baseWeight ?? '' }}</td>
|
|
|
|
|
{% for idx in 0..(monthCount > 0 ? monthCount - 1 : 0) %}
|
|
|
|
|
{% set reversedIdx = (monthCount - 1) - idx %}
|
|
|
|
|
{% set projectedWeight = row and row.projectedWeights is defined ? (row.projectedWeights[reversedIdx] ?? null) : null %}
|
|
|
|
|
<td class="row-month"{% if reversedIdx < 4 %} style="background:#e0e0e0;"{% endif %}>
|
|
|
|
|
{{ projectedWeight is not null ? projectedWeight|round(0, 'common') : '' }}
|
|
|
|
|
</td>
|
|
|
|
|
{% endfor %}
|
|
|
|
|
<td class="row-birth">
|
|
|
|
|
{% if row and row.birthDate %}
|
|
|
|
|
{% set birthParts = row.birthDate|split('/') %}
|
|
|
|
|
{{ birthParts|length == 3 ? birthParts[1] ~ '/' ~ birthParts[2] : row.birthDate }}
|
|
|
|
|
{% endif %}
|
|
|
|
|
</td>
|
|
|
|
|
{% for idx in 0..(monthCount > 0 ? monthCount - 1 : 0) %}
|
|
|
|
|
{% set projectedWeight = row and row.projectedWeights is defined ? (row.projectedWeights[idx] ?? null) : null %}
|
|
|
|
|
<td class="row-month"{% if loop.index0 < 4 %} style="background:#e0e0e0;"{% endif %}>
|
|
|
|
|
{{ projectedWeight is not null ? projectedWeight|round(0, 'common') : '' }}
|
|
|
|
|
</td>
|
|
|
|
|
{% endfor %}
|
|
|
|
|
<td class="row-weight">{{ baseWeight ?? '' }}</td>
|
|
|
|
|
<td class="row-work">{{ row ? (row.workNumber ?? '') : '' }}</td>
|
|
|
|
|
<td class="row-work"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
{% endfor %}
|
|
|
|
|
</tbody>
|
|
|
|
|
@@ -331,41 +317,89 @@
|
|
|
|
|
<!-- =========================
|
|
|
|
|
FOOTER (traitements / vaccins)
|
|
|
|
|
========================= -->
|
|
|
|
|
<table class="footer" style="border-collapse:collapse; margin-top: 32px">
|
|
|
|
|
<table style="width:100%; border:0; border-collapse:collapse; table-layout:fixed; margin-top: 12px">
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="height: 20px; border: 0" colspan="4"></td>
|
|
|
|
|
<td style="font-weight: 700" colspan="2">Grippe</td>
|
|
|
|
|
<td style="font-weight: 700" colspan="2">Protivity</td>
|
|
|
|
|
<td style="border:0; padding:0; width:49%; vertical-align:top;">
|
|
|
|
|
<table class="footer" style="border-collapse:collapse; width:100%; table-layout:fixed;">
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="font-weight: 700; height: 20px" colspan="10">Traitements</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="height: 20px">Date</td>
|
|
|
|
|
<td>Antibiotique</td>
|
|
|
|
|
<td>Date</td>
|
|
|
|
|
<td>Antero</td>
|
|
|
|
|
<td>Date</td>
|
|
|
|
|
<td>Intranasale</td>
|
|
|
|
|
<td>Date</td>
|
|
|
|
|
<td>Rappel 30 jours</td>
|
|
|
|
|
<td style="height: 20px" colspan="2">Date</td>
|
|
|
|
|
<td colspan="2"></td>
|
|
|
|
|
<td>Dose</td>
|
|
|
|
|
<td colspan="5">Observation</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="height: 20px"></td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td style="height: 20px" colspan="2"></td>
|
|
|
|
|
<td colspan="2">Grippe</td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td colspan="5"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="height: 20px"></td>
|
|
|
|
|
<td style="height: 20px" colspan="2"></td>
|
|
|
|
|
<td colspan="2">Antéro</td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td colspan="5"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="height: 20px" colspan="2"></td>
|
|
|
|
|
<td colspan="2">Antibiotiques</td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td colspan="5"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="height: 20px" colspan="2"></td>
|
|
|
|
|
<td colspan="2">Déparasitage</td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td colspan="5"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="height: 20px" colspan="2"></td>
|
|
|
|
|
<td colspan="2"></td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td colspan="5"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</td>
|
|
|
|
|
<td style="border:0; padding:0; width:2%;"></td>
|
|
|
|
|
<td style="border:0; padding:0; width:49%; vertical-align:top;">
|
|
|
|
|
<table class="footer" style="border-collapse:collapse; width:100%; table-layout:fixed;">
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="font-weight: 700; height: 20px" colspan="10">Rappel</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="height: 20px" colspan="2">Date</td>
|
|
|
|
|
<td>Dose</td>
|
|
|
|
|
<td colspan="7">Observation</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="height: 20px" colspan="2"></td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td colspan="7"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="height: 20px" colspan="2"></td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td colspan="7"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="height: 20px" colspan="2"></td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td colspan="7"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="height: 20px" colspan="2"></td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td colspan="7"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="height: 20px" colspan="2"></td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td colspan="7"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
|