diff --git a/collections/elixForms API v2/EFTL processing/CCT - Liquidazione Compensi/Proposta/elixPro - Recupero importi inseriti.yml b/collections/elixForms API v2/EFTL processing/CCT - Liquidazione Compensi/Proposta/elixPro - Recupero importi inseriti.yml
index b2123a3..2306b02 100644
--- a/collections/elixForms API v2/EFTL processing/CCT - Liquidazione Compensi/Proposta/elixPro - Recupero importi inseriti.yml
+++ b/collections/elixForms API v2/EFTL processing/CCT - Liquidazione Compensi/Proposta/elixPro - Recupero importi inseriti.yml
@@ -70,8 +70,8 @@ runtime:
Codice fiscale |
Qualifica |
Struttura |
- Importo (€) |
- [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] [% insertIdx = 0; %] [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="modalita"][VALUE_OF varname="modalitaIterable" index="insertIdx" /][/VAR] [VAR name="importo"][VALUE_OF varname="importiIterable" index="insertIdx" /][/VAR] [IF] [CONDITION][% codiceFiscale == codiceFiscaleCorrente && modalita == "In orario di lavoro" %][/CONDITION] [THEN][VAR name="importoDentro" type="number"][VALUE_OF varname="importiIterable" index="insertIdx" /][/VAR][/THEN] [/IF] [IF] [CONDITION][% codiceFiscale == codiceFiscaleCorrente && modalita == "Fuori orario di lavoro" %][/CONDITION] [THEN][VAR name="importoFuori" type="number"][VALUE_OF varname="importiIterable" index="insertIdx" /][/VAR][/THEN] [/IF] [% insertIdx = insertIdx + 1; %] [/DO] [/WHILE]
+ Importo (€) |
+ [FOR varName="ripartizione" iterable="datiRipartizioneIterable"] [% modalita = ""; %] [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] [% insertIdx = 0; %] [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="modalita"][VALUE_OF varname="modalitaIterable" index="insertIdx" /][/VAR] [VAR name="importo"][VALUE_OF varname="importiIterable" index="insertIdx" /][/VAR] [IF] [CONDITION][% codiceFiscale == codiceFiscaleCorrente && modalita == "In orario di lavoro" %][/CONDITION] [THEN][VAR name="importoDentro" type="number"][VALUE_OF varname="importiIterable" index="insertIdx" /][/VAR][/THEN] [/IF] [IF] [CONDITION][% codiceFiscale == codiceFiscaleCorrente && modalita == "Fuori orario di lavoro" %][/CONDITION] [THEN][VAR name="importoFuori" type="number"][VALUE_OF varname="importiIterable" index="insertIdx" /][/VAR][/THEN] [/IF] [% insertIdx = insertIdx + 1; %] [/DO] [/WHILE]
| [VALUE_OF varname="datiIterable" index="item1" /] |
[VALUE_OF varname="datiIterable" index="item2" /] |
@@ -79,6 +79,7 @@ runtime:
[VALUE_OF varname="datiIterable" index="item4" /] |
[FORMAT type="number" pattern="#,##0.00"][VALUE_OF varname="datiIterable" index="item5" /][/FORMAT] |
+ [IF] [CONDITION][% importoDentro == 0 && importoFuori == 0 %][/CONDITION] [THEN][/THEN] [ELSE]
|
di cui in orario di lavoro |
@@ -88,7 +89,9 @@ runtime:
|
fuori orario di lavoro |
[FORMAT type="number" pattern="#,##0.00"][VALUE_OF varname="importoFuori" /][/FORMAT] |
-
[/FOR]
+
+ [/ELSE] [/IF]
+ [/FOR]
[!--
diff --git a/collections/elixForms API v2/EFTL processing/CCT - Liquidazione Compensi/Proposta/elixPro - Template Delibera.yml b/collections/elixForms API v2/EFTL processing/CCT - Liquidazione Compensi/Proposta/elixPro - Template Delibera.yml
new file mode 100644
index 0000000..ebe6070
--- /dev/null
+++ b/collections/elixForms API v2/EFTL processing/CCT - Liquidazione Compensi/Proposta/elixPro - Template Delibera.yml
@@ -0,0 +1,149 @@
+info:
+ name: elixPro - Template Delibera
+ type: http
+ seq: 27
+
+http:
+ method: POST
+ url: "{{elixFormsApiUrl}}/eftl/process/v1"
+ headers:
+ - name: x-requested-with
+ value: XMLHttpRequest
+ - name: x-api-key
+ value: "{{elixFormsWsAuthenticationToken}}"
+ - name: x-ef-request-id
+ value: "31630"
+ - name: x-ef-request-id
+ value: "31499"
+ disabled: true
+ - name: x-ef-request-id
+ value: "31801"
+ disabled: true
+ body:
+ type: json
+ data: |-
+ {
+ "userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
+ "userContext": {
+ "lang": "IT",
+ "crlf": "\r\n"
+ }
+ }
+ auth: inherit
+
+runtime:
+ scripts:
+ - type: before-request
+ code: |-
+ const { prepareEftlDocument } = require("./elixFormsJs.js")
+ // Copy-pasta your EFTL document below inside the template literals (`)
+ prepareEftlDocument(String.raw`
+
+
+ [EFTL]
+
+
+
+
+
+ Il direttore sottopone al Consiglio la richiesta pervenuta da [TAG]GETVALUEBYTAG,RICHIEDENTE_NOMINATIVO,REQUEST,ID_OBJECT[/TAG], (corredata dalla documentazione richiesta dalla procedura per la liquidazione dei compensi e acquisita al protocollo di dipartimento col num. NUM_PROT del DATA_PROT), con la quale il richiedente, in qualità di Responsabile Scientifico del contratto di tipologia “[TAG]SCHEMAID,542,COL0003,ID_OBJECT, , [/TAG]” dal titolo “[TAG]GETVALUEBYTAG,TITOLO_CONTRATTO,REQUEST,ID_OBJECT[/TAG]” stipulato con [TAG]GETVALUEBYTAG,CONTRATTO_CONTRAENTI,REQUEST,ID_OBJECT[/TAG], chiede di ripartire gli utili sul contratto su menzionato come segue:
+
+
+ [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="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="modalitaIterable" type="iterable"][SPLIT regex="##"][VALUE_OF varname="insertModalita" /][/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] [VAR name="item1" type="number"][% item1 = 0; %][/VAR] [VAR name="item2" type="number"][% item2 = 1; %][/VAR] [VAR name="item3" type="number"][% item3 = 2; %][/VAR] [VAR name="item4" type="number"][% item4 = 3; %][/VAR] [VAR name="item5" type="number"][% item5 = 4; %][/VAR] <table style='width: 95%; margin: 0 auto;'> <tr> <th>Nominativo</th> <th>Codice fiscale</th> <th>Qualifica</th> <th>Struttura</th> <th>Importo (€)</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] [% insertIdx = 0; %] [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="modalita"][VALUE_OF varname="modalitaIterable" index="insertIdx" /][/VAR] [VAR name="importo"][VALUE_OF varname="importiIterable" index="insertIdx" /][/VAR] [IF] [CONDITION][% codiceFiscale == codiceFiscaleCorrente && modalita == "In orario di lavoro" %][/CONDITION] [THEN][VAR name="importoDentro" type="number"][VALUE_OF varname="importiIterable" index="insertIdx" /][/VAR][/THEN] [/IF] [IF] [CONDITION][% codiceFiscale == codiceFiscaleCorrente && modalita == "Fuori orario di lavoro" %][/CONDITION] [THEN][VAR name="importoFuori" type="number"][VALUE_OF varname="importiIterable" index="insertIdx" /][/VAR][/THEN] [/IF] [% insertIdx = insertIdx + 1; %] [/DO] [/WHILE] <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 style='text-align: right;'>[FORMAT type="number" pattern="#,##0.00"][VALUE_OF varname="datiIterable" index="item5" /][/FORMAT]</td> </tr> [IF] [CONDITION][% importoDentro == 0 && importoFuori == 0 %][/CONDITION] [THEN][/THEN] [ELSE]<tr> <td colspan="4" style='text-align: right;'>di cui in orario di lavoro</td> <td style='text-align: right;'>[VALUE_OF varname="importoDentro" /]</td> </tr> <tr> <td colspan="4" style='text-align: right;'>fuori orario di lavoro</td> <td style='text-align: right;'>[VALUE_OF varname="importoFuori" /]</td> </tr>[/ELSE] [/IF] [/FOR] </table>
+
+
+ A seguito di discussione, il Consiglio adotta la seguente delibera:
+
+
+ TESTO DELIBERA
+
+
+ __/AAAA/__ Approvazione della ripartizione di Utili richiesta da [TAG]GETVALUEBYTAG,RICHIEDENTE_NOMINATIVO,REQUEST,ID_OBJECT[/TAG],[% ripartizioneIdx = 0; %][FOR varName="ripartizione" iterable="datiRipartizioneIterable"][VAR name="datiIterable" type="iterable"][SPLIT regex=";;" emptyIfBlank="true"][VALUE_OF varname="ripartizione" /][/SPLIT][/VAR] di [FORMAT type="number" pattern="currency"][VALUE_OF varname="datiIterable" index="item5" /][/FORMAT] a [VALUE_OF varname="datiIterable" index="item1" /],[/FOR] e autorizzazione alla U.O. Stipendi e Compensi al pagamento dei compensi per un importo lordo comprensivo totale di [FORMAT type="number" pattern="currency"][TAG]GETVALUEBYTAG,RIPARTIZIONI_TOTALE_PROPOSTA,REQUEST,ID_OBJECT[/TAG][/FORMAT] da imputare al Budget dell’anno YYYY assegnato alla UA.XX.Y.ZZZ1, Progetto [TAG]GETVALUEBYTAG,ID_CONTRATTO,REQUEST,ID_OBJECT[/TAG], vincolo n. NNNN;
+
+ Il Consiglio, preso atto di quanto illustrato da [TAG]GETVALUEBYTAG,RSP_TITOLO,REQUEST,ID_OBJECT[/TAG] [TAG]GETVALUEBYTAG,RSP_COGNOME,REQUEST,ID_OBJECT[/TAG] [TAG]GETVALUEBYTAG,RSP_NOME,REQUEST,ID_OBJECT[/TAG], esprime parere favorevole all’approvazione della ripartizione di Utili richiesta da [TAG]GETVALUEBYTAG,RICHIEDENTE_NOMINATIVO,REQUEST,ID_OBJECT[/TAG], e dà mandato agli uffici dell’Amministrazione Centrale per ogni successivo adempimento necessario al suo perfezionamento.
+
+ [/EFTL]
+
+ `);
+ - type: after-response
+ code: |-
+ var status = res.status;
+
+ if (status !== 200) {
+ console.log("ERRORE HTTP! Response status code: " + status);
+ return;
+ }
+
+ var decodedDocument = "";
+ var response = res.getBody();
+
+ if (response.value.code === "ERROR") {
+ decodedDocument = "ERRORE EFTL!\n";
+ decodedDocument += response.value.description.split("\n").slice(0, 3).join("\n");
+ }
+ else {
+ decodedDocument = atob(response.value.processedDocument);
+ }
+
+ bru.visualize('html', {
+ name: 'HTML',
+ content: decodedDocument
+ });
+
+settings:
+ encodeUrl: true
+ timeout: 0
+ followRedirects: true
+ maxRedirects: 5