Spett.le {{ macchina.luogo.azienda.ragionesociale }},
Alla C.A. {{ macchina.luogo.azienda.nome }}
SEGNALAZIONE DI NON CONFORMITÀ codice {{ code }}
{% if info %}
Problemi di Congruità Rilevati
{% set congruityIssues = [] %}
{% set c = info.c|default(1) %}
{# Configura i controlli di congruità #}
{% set congruityConfig = [
{
'key': 'Inbound',
'label': 'Volume',
'unit': 'm³',
'usePercentageCheck': true
},
{
'key': 'Netweight',
'label': 'Peso',
'unit': 'Kg',
'usePercentageCheck': true
},
{
'key': 'ncolli',
'label': 'Numero pezzi',
'unit': 'pz',
'usePercentageCheck': false
},
{
'key': 'box',
'label': 'Box',
'unit': 'box',
'usePercentageCheck': false
}
] %}
{# Aggiungi dimensioni solo se c == 1 #}
{% if c == 1 %}
{% set congruityConfig = congruityConfig|merge([
{
'key': 'HPackage',
'label': 'Altezza',
'unit': 'cm',
'usePercentageCheck': true
},
{
'key': 'LPackage',
'label': 'Lunghezza',
'unit': 'cm',
'usePercentageCheck': true
},
{
'key': 'WPackage',
'label': 'Larghezza',
'unit': 'cm',
'usePercentageCheck': true
}
]) %}
{% endif %}
{% set hasIssues = false %}
{% for config in congruityConfig %}
{% set diff = attribute(info, config.key ~ 'Diff')|default(0) %}
{% set diffPerc = config.key == 'ncolli' ? info.colliDiffPerc|default(0) : attribute(info, config.key ~ 'DiffPerc')|default(0) %}
{% set hasIssue = false %}
{% if config.usePercentageCheck %}
{% set hasIssue = (diffPerc|abs) > 5 %}
{% else %}
{% set hasIssue = diff != 0 %}
{% endif %}
{% if hasIssue and diff > 0 %}
{% set hasIssues = true %}
-
{{ config.label|trans }}
{% if config.unit != 'pz' and config.unit != 'box' %}
superiore del
{{ (diffPerc|abs)|number_format(0) }}%
[{{ diff > 0 ? '+' : '-' }}{{ (diff|abs)|number_format(config.unit == 'pz' or config.unit == 'box' ? 0 : 2) }} {{ config.unit }}]
{% else %}
: +{{ diff|number_format(0) }} {{ config.unit }} di differenza
{% endif %}
{% endif %}
{% endfor %}
{% if not hasIssues %}
✓ Tutti i dati sono congrui
{% endif %}
Dettaglio Analisi Congruità
| Parametro |
Unità |
Dichiarato |
Rilevato |
Differenza |
% |
{% set tableConfig = [
{
'key': 'Inbound',
'label': 'Volume',
'unit': '[m³]',
'showIfMultiple': true
},
{
'key': 'Netweight',
'label': 'Peso',
'unit': '[Kg]',
'showIfMultiple': true
},
{
'key': 'ncolli',
'label': 'Pz',
'unit': '[n]',
'showIfMultiple': true
},
{
'key': 'box',
'label': 'Box',
'unit': '[n]',
'showIfMultiple': true
}
] %}
{# Aggiungi dimensioni solo se c == 1 #}
{% if c == 1 %}
{% set tableConfig = tableConfig|merge([
{
'key': 'HPackage',
'label': 'H',
'unit': '[cm]',
'showIfMultiple': false
},
{
'key': 'LPackage',
'label': 'L',
'unit': '[cm]',
'showIfMultiple': false
},
{
'key': 'WPackage',
'label': 'W',
'unit': '[cm]',
'showIfMultiple': false
}
]) %}
{% endif %}
{% for config in tableConfig %}
{% if c == 1 or config.showIfMultiple %}
{% set secondValue = attribute(info, 'e_' ~ config.key)|default(0) %}
{% set thirdValue = attribute(info, 'i_' ~ config.key)|default(0) %}
{% set diff = attribute(info, config.key ~ 'Diff')|default(0) %}
{% set diffPerc = config.key == 'ncolli' ? info.colliDiffPerc|default(0) : attribute(info, config.key ~ 'DiffPerc')|default(0) %}
{% set rowColor = 'color: #333;' %}
{% if (diffPerc|abs) > 5 %}
{% if diffPerc < -5 %}
{% set rowColor = 'color: #4caf50;' %}
{% else %}
{% set rowColor = 'color: #d32f2f;' %}
{% endif %}
{% endif %}
| {{ config.label|trans }} |
{{ config.unit }} |
{{ config.unit == '[n]' ? secondValue|number_format(0) : secondValue|number_format(2) }}
|
{{ config.unit == '[n]' ? thirdValue|number_format(0) : thirdValue|number_format(2) }}
|
{% if diff == 0 %}
[ -- ]
{% else %}
{{ diff > 0 ? '+' : '-' }}{{ (diff|abs)|number_format(config.unit == '[n]' ? 0 : 2) }}
{% endif %}
|
{% if diffPerc == 0 %}
[ -- ]
{% else %}
{{ diffPerc > 0 ? '+ ' : '- ' }}{{ (diffPerc|abs)|number_format(0) }}%
{% endif %}
|
{% endif %}
{% endfor %}
{% endif %}
{% if code %}
{% endif %}
{% endapply %}