elixForms API v2

- update EFTL for table of amounts with year
This commit is contained in:
2026-07-09 16:56:29 +02:00
parent 42bc5d4bd9
commit e8e7858093
@@ -40,29 +40,10 @@ runtime:
prepareEftlDocument(String.raw`
[EFTL]
[!--
Codice Fiscale Anno Importo Modalità
RSSNDR76L16I153I 2026 171,46 In orario di lavoro
RSSNDR76L16I153I 2025 514,37 In orario di lavoro
RSSNDR76L16I153I 2024 220,45 In orario di lavoro
RSSNDR76L16I153I 2025 73,48 Fuori orario di lavoro
RSSNDR76L16I153I 2024 122,47 Fuori orario di lavoro
RSSNDR76L16I153I 2023 318,42 Fuori orario di lavoro
LNGSDR63M23L074R 7500 In orario di lavoro
TLTFRC83R30G337R 9.000 Fuori orario di lavoro
LNGSDR63M23L074R 4500 Fuori orario di lavoro
CRSDNL85E53G337Q 870,74 Fuori orario di lavoro
TLTFRC83R30G337R 800 In orario di lavoro
--]
[VAR name="insertCodiciFiscali" type="string"][TAG]SCHEMAID,862,COL0001,IUQOID, ,##[/TAG][/VAR]
[VAR name="insertImporti" type="string"][TAG]SCHEMAID,862,COL0002,IUQOID, ,##[/TAG][/VAR]
[VAR name="insertAnni" type="string"][TAG]SCHEMAID,862,COL0005,IUQOID, ,##[/TAG][/VAR]
[VAR name="insertModalita" type="string"][TAG]SCHEMAID,862,COL0003,IUQOID, ,##[/TAG][/VAR]
[VAR name="codiciFiscaliIterable" type="iterable"][SPLIT regex="##"][VALUE_OF varname="insertCodiciFiscali" /][/SPLIT][/VAR]
[VAR name="importiIterable" type="iterable"][SPLIT regex="##"][VALUE_OF varname="insertImporti" /][/SPLIT][/VAR]
[VAR name="anniIterable" type="iterable"][SPLIT regex="##"][VALUE_OF varname="insertAnni" /][/SPLIT][/VAR]
[VAR name="modalitaIterable" type="iterable"][SPLIT regex="##"][VALUE_OF varname="insertModalita" /][/SPLIT][/VAR]
[VAR name="codiciFiscaliIterable" type="iterable"][SPLIT regex="##"][TAG]SCHEMAID,862,COL0001,IUQOID, ,##[/TAG][/SPLIT][/VAR]
[VAR name="importiIterable" type="iterable"][SPLIT regex="##"][TAG]SCHEMAID,862,COL0002,IUQOID, ,##[/TAG][/SPLIT][/VAR]
[VAR name="anniIterable" type="iterable"][SPLIT regex="##"][TAG]SCHEMAID,862,COL0005,IUQOID, ,##[/TAG][/SPLIT][/VAR]
[VAR name="modalitaIterable" type="iterable"][SPLIT regex="##"][TAG]SCHEMAID,862,COL0003,IUQOID, ,##[/TAG][/SPLIT][/VAR]
[VAR name="insertCount" type="number"][SIZE_OF varname="codiciFiscaliIterable" /][/VAR]
[VAR name="datiRipartizioneIterable" type="iterable"][SPLIT regex="##" emptyIfBlank="true"][TAG]GETVALUEBYTAG,RIPARTIZIONE_DATI_COMPLETI,REQUEST,IUQOID,CONCAT,##[/TAG][/SPLIT][/VAR]
@@ -72,65 +53,49 @@ runtime:
[VAR name="item4" type="number"][% item4 = 3; %][/VAR]
[VAR name="item5" type="number"][% item5 = 4; %][/VAR]
<html>
<head>
<style>
body {
background-color: white;
}
</style>
</head>
<body>
<p>C: [%= insertCodiciFiscali %]</p>
<p>I: [%= insertImporti %]</p>
<p>A: [%= insertAnni %]</p>
<p>M: [%= insertModalita %]</p>
<table style='width: 95%; margin: 0 auto;'>
<tr>
<th>Nominativo</th>
<th>Codice fiscale</th>
<th>Qualifica</th>
<th>Struttura</th>
<th></th>
<th>Importo (&euro;)</th>
</tr>
[FOR varName="ripartizione" iterable="datiRipartizioneIterable"]
[VAR name="datiIterable" type="iterable"][SPLIT regex=";;" emptyIfBlank="true"][VALUE_OF varname="ripartizione" /][/SPLIT][/VAR]
[VAR name="importoDentro" type="number"][% importoDentro = 0; %][/VAR]
[VAR name="importoFuori" type="number"][% importoFuori = 0; %][/VAR]
[VAR name="codiceFiscaleCorrente"][VALUE_OF varname="datiIterable" index="item2" /][/VAR]
<tr>
<td style='text-align: left;'>[VALUE_OF varname="datiIterable" index="item1" /]</td>
<td>[VALUE_OF varname="datiIterable" index="item2" /]</td>
<td>[VALUE_OF varname="datiIterable" index="item3" /]</td>
<td>[VALUE_OF varname="datiIterable" index="item4" /]</td>
<td></td>
<td style='text-align: right;'>[FORMAT type="number" pattern="#,##0.00"][VALUE_OF varname="datiIterable" index="item5" /][/FORMAT]</td>
</tr>!
[% insertIdx = 0; %]
</tr>
[% insertIdx = 0; firstCfMatch = true; %]
[WHILE threshold="99"]
[CONDITION][% insertIdx < insertCount %][/CONDITION]
[DO]
[VAR name="codiceFiscaleCorrente"][VALUE_OF varname="datiIterable" index="item2" /][/VAR]
[VAR name="codiceFiscale"][VALUE_OF varname="codiciFiscaliIterable" index="insertIdx" /][/VAR]
[VAR name="anno"][VALUE_OF varname="anniIterable" index="insertIdx" /][/VAR]
[VAR name="modalita"][VALUE_OF varname="modalitaIterable" index="insertIdx" /][/VAR]
[VAR name="importo"][VALUE_OF varname="importiIterable" index="insertIdx" /][/VAR]
[IF]
[CONDITION][% codiceFiscale == codiceFiscaleCorrente &amp;&amp; modalita == "In orario di lavoro" %][/CONDITION]
[CONDITION][% codiceFiscale == codiceFiscaleCorrente && importo != "" && importo != 0 %][/CONDITION]
[THEN]
[VAR name="importoDentro" type="number"][VALUE_OF varname="importiIterable" index="insertIdx" /][/VAR]
![%= anno %]; [VALUE_OF varname="importo" /]
[% modalitaOut = ""; annoOut = ""; suddivisoOut = ""; %]
[IF][CONDITION][% modalita != "" %][/CONDITION][THEN][% modalitaOut = modalita + " "; %][/THEN][/IF]
[IF][CONDITION][% anno != "" %][/CONDITION][THEN][% annoOut = "nel " + anno; %][/THEN][/IF]
[IF][CONDITION][% firstCfMatch == true %][/CONDITION][THEN][% suddivisoOut = "suddiviso come "; %][/THEN][/IF]
<tr>
<td colspan="4" style='text-align: right;'>[%= suddivisoOut %]</td>
<td style='text-align: right;'>[%= modalitaOut %][%= annoOut %]</td>
<td style='text-align: right;'>[FORMAT type="number" pattern="#,##0.00"][VALUE_OF varname="importo" /][/FORMAT]</td>
</tr>
[IF][CONDITION][% firstCfMatch == true %][/CONDITION][THEN][% firstCfMatch = false; %][/THEN][/IF]
[/THEN]
[/IF]
[IF]
[CONDITION][% codiceFiscale == codiceFiscaleCorrente &amp;&amp; modalita == "Fuori orario di lavoro" %][/CONDITION]
[THEN]
[VAR name="importoFuori" type="number"][VALUE_OF varname="importiIterable" index="insertIdx" /][/VAR]
![%= anno %]; [VALUE_OF varname="importo" /]
[/THEN]
[/IF]
<tr><td colspan="5">[%= codiceFiscaleCorrente %] = [%= codiceFiscale %] and [%= modalita %] per [%= anno %] => [%= importoDentro %]; [%= importoFuori %]</td></tr>
[% insertIdx = insertIdx + 1; %]
[/DO]
[/WHILE]
@@ -138,9 +103,6 @@ runtime:
[/FOR]
</table>
</body>
</html>
[/EFTL]
`);
- type: after-response