cleanup Liquidazione requests

This commit is contained in:
2026-06-18 13:21:47 +02:00
parent 61936a8242
commit 7988384d0d
52 changed files with 585 additions and 940 deletions
@@ -1,7 +1,7 @@
info:
name: Get year from date
name: Anno corrente
type: http
seq: 6
seq: 5
http:
method: POST
@@ -1,114 +0,0 @@
info:
name: Calcolo dinamico ore equivalenti
type: http
seq: 1
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: "22737"
disabled: true
- name: x-ef-request-id
value: "22224"
disabled: true
- name: x-ef-request-id
value: "24829"
disabled: true
- name: x-ef-request-id
value: "29825"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"fattoreDivisioneImporto": 1500,
"IS_OP": "OP0",
"IS_CO": "CO0",
"IS_FU": "FU0",
"IS_EP": "EP0",
"OP": 0.0431,
"CO": 0.0405,
"FU": 0.0350,
"EP": 0.0307
}
}
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][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="inquadramentoRichiedente" type="string"][TAG]GETVALUEBYTAG,INQUADRAMENTO_DIPENDENTE,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="codiceFiscaleRichiedente" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="ripartizioniIterable" type="iterable"][SPLIT regex="#"][TAG]GETVALUEBYTAG,COPPIE_RIPARTIZIONI,REQUEST,IUQOID,CONCAT,#[/TAG][/SPLIT][/VAR]
[VAR name="firstItem" type="number"][% firstItem = 0; %][/VAR]
[VAR name="secondItem" type="number"][% secondItem = 1; %][/VAR]
[VAR name="importoRichiedente" type="number"][% importoRichiedente = 0; %][/VAR]
[VAR name="fattoreConversione" type="number"][% fattoreConversione = OP; %][/VAR]
[FOR varname="coppia" iterable="ripartizioniIterable"]
[VAR name="coppiaIterable" type="iterable"][SPLIT regex=":"][VALUE_OF varname="coppia" /][/SPLIT][/VAR]
[VAR name="codiceFiscale" type="string"][VALUE_OF varname="coppiaIterable" index="firstItem" /][/VAR]
[VAR name="importo" type="number"][VALUE_OF varname="coppiaIterable" index="secondItem" /][/VAR]
[IF]
[CONDITION][% codiceFiscale == codiceFiscaleRichiedente %][/CONDITION]
[THEN][% importoRichiedente = importo; %][/THEN]
[/IF]
[/FOR]
[!--
inquadramentoRichiedente: [%= inquadramentoRichiedente %]
codiceFiscaleRichiedente: [%= codiceFiscaleRichiedente %]
importoRichiedente: [%= importoRichiedente %]
fattoreDivisioneImporto: [%= fattoreDivisioneImporto %]
--]
[IF]
[CONDITION][CONTAINS varname="IS_OP"][% inquadramentoRichiedente %][/CONTAINS][/CONDITION]
[THEN][% fattoreConversione = OP; %][/THEN]
[ELSE IF]
[CONDITION][CONTAINS varname="IS_CO"][% inquadramentoRichiedente %][/CONTAINS][/CONDITION]
[THEN][% fattoreConversione = CO; %][/THEN]
[/ELSE IF]
[ELSE IF]
[CONDITION][CONTAINS varname="IS_FU"][% inquadramentoRichiedente %][/CONTAINS][/CONDITION]
[THEN][% fattoreConversione = FU; %][/THEN]
[/ELSE IF]
[ELSE IF]
[CONDITION][CONTAINS varname="IS_EP"][% inquadramentoRichiedente %][/CONTAINS][/CONDITION]
[THEN][% fattoreConversione = EP; %][/THEN]
[/ELSE IF]
[/IF]
[!--
fattoreConversione: [%= fattoreConversione %]
[%= crlf %]
--]
[VAR name="oreEquivalenti" type="number"][% oreEquivalenti = (importoRichiedente * fattoreConversione); %][/VAR]
[%= oreEquivalenti %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -1,72 +0,0 @@
info:
name: Calcolo ore equivalenti
type: http
seq: 3
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: "22737"
disabled: true
- name: x-ef-request-id
value: "22224"
disabled: true
- name: x-ef-request-id
value: "24829"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"useTestCF": false
}
}
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][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="codiceFiscaleRichiedente" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="ripartizioniIterable" type="iterable"][SPLIT regex="#"][TAG]GETVALUEBYTAG,COPPIE_RIPARTIZIONI,REQUEST,IUQOID,CONCAT,#[/TAG][/SPLIT][/VAR]
[VAR name="firstItem" type="number"][% firstItem = 0; %][/VAR]
[VAR name="secondItem" type="number"][% secondItem = 1; %][/VAR]
[VAR name="importoRichiedente" type="number"][% importoRichiedente = 0; %][/VAR]
[FOR varname="coppia" iterable="ripartizioniIterable"]
[VAR name="coppiaiIterable" type="iterable"][SPLIT regex=":"][VALUE_OF varname="coppia" /][/SPLIT][/VAR]
[VAR name="codiceFiscale" type="string"][VALUE_OF varname="coppiaiIterable" index="firstItem" /][/VAR]
[VAR name="importo" type="number"][VALUE_OF varname="coppiaiIterable" index="secondItem" /][/VAR]
[IF]
[CONDITION][% codiceFiscale == codiceFiscaleRichiedente %][/CONDITION]
[THEN][% importoRichiedente = importo; %][/THEN]
[/IF]
[/FOR]
[VAR name="fattore" type="number"][TAG]SCHEMAID,709,COL0120,IUQOID, , ,,0.00000[/TAG][/VAR]
[FORMAT type="number" pattern="integer"][% importoRichiedente * fattore %][/FORMAT]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -1,78 +0,0 @@
info:
name: Check richiedente in partecipanti by CodFis
type: http
seq: 4
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: "21306"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"codiciFiscaliAmmessi": ";XMMPPL74T17E463A;;"
}
}
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][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="checkUtentePartecipante" type="string"][% utentePartecipante = "Utente non ammesso alla compilazione perché non partecipante al contratto!"; %][/VAR]
[VAR name="richiedenteCF" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="rsProponenteCF" type="string"][TAG]GETVALUEBYTAG,RSP_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="responsabili" type="string"][TAG]GETVALUEBYTAG,CONTRATTO_RESPONSABILI,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="partecipanti" type="string"][TAG]GETVALUEBYTAG,CONTRATTO_PARTECIPANTI,REQUEST,IUQOID[/TAG][/VAR]
[!-- Hack for the CONTAIN below... --]
[VAR name="richiedenteCFcontain" type="string"][% richiedenteCFcontain = ", CF: " + richiedenteCF + ", Qualifica: "; %][/VAR]
[!-- Il richiedente non deve essere il RS proponente --]
[!-- Il richiedente deve comparire fra i responsabili --]
[!-- Il richiedente deve comparire fra i partecipanti --]
[!-- Il richiedente deve comparire fra i nominativi ammessi (DEBUG) --]
[IF]
[CONDITION][% richiedenteCF == rsProponenteCF %][/CONDITION]
[THEN][% checkUtentePartecipante = "Il Responsabile Scientifico proponente non deve compilare la DSAN"; %][/THEN]
[ELSE IF]
[CONDITION][CONTAINS varname="responsabili"][VALUE_OF varname="richiedenteCFcontain" /][/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = "1"; %][/THEN]
[/ELSE IF]
[ELSE IF]
[CONDITION][CONTAINS varname="partecipanti"][VALUE_OF varname="richiedenteCFcontain" /][/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = "2"; %][/THEN]
[/ELSE IF]
[ELSE IF]
[CONDITION][CONTAINS varname="codiciFiscaliAmmessi"][VALUE_OF varname="richiedenteCF" /][/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = ""; %][/THEN]
[/ELSE IF]
[/IF]
[%= checkUtentePartecipante %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -1,80 +0,0 @@
info:
name: Check richiedente in partecipanti
type: http
seq: 4
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: "21223"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"nominativiAmmessi": ";MAMMI Pier Paolo;;"
}
}
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][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="checkUtentePartecipante" type="string"][% utentePartecipante = "Utente non ammesso alla compilazione perché non partecipante al contratto!"; %][/VAR]
[VAR name="rsProponenteCognome" type="string"][TAG]GETVALUEBYTAG,RSP_COGNOME,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="rsProponenteNome" type="string"][TAG]GETVALUEBYTAG,RSP_COGNOME,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="responsabili" type="string"][TAG]GETVALUEBYTAG,CONTRATTO_RESPONSABILI,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="partecipanti" type="string"][TAG]GETVALUEBYTAG,CONTRATTO_PARTECIPANTI,REQUEST,IUQOID[/TAG][/VAR]
[!-- [VAR name="nominativoUtentePlain" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_NOMINATIVO,REQUEST,IUQOID[/TAG][/VAR] --]
[VAR name="nominativoUtentePlain" type="string"][% nominativoUtentePlain = "mammi Pier Paolo"; %][/VAR]
[!-- Hack for the CONTAIN below... --]
[VAR name="nominativoUtente" type="string"][% nominativoUtente = " " + nominativoUtentePlain + ", CF: "; %][/VAR]
[!-- Il richiedente non deve essere il RS proponente --]
[!-- Il richiedente deve comparire fra i responsabili --]
[!-- Il richiedente deve comparire fra i partecipanti --]
[!-- Il richiedente deve comparire fra i nominativi ammessi (DEBUG) --]
[IF]
[CONDITION][% nominativoUtentePlain == rsProponenteCognome + " " + rsProponenteNome %][/CONDITION]
[THEN][% checkUtentePartecipante = "Il Responsabile Scientifico proponente non deve compilare la DSAN"; %][/THEN]
[ELSE IF]
[CONDITION][CONTAINS varname="responsabili"][VALUE_OF varname="nominativoUtente" /][/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = ""; %][/THEN]
[/ELSE IF]
[ELSE IF]
[CONDITION][CONTAINS varname="partecipanti"][VALUE_OF varname="nominativoUtente" /][/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = ""; %][/THEN]
[/ELSE IF]
[ELSE IF]
[CONDITION][CONTAINS varname="nominativiAmmessi"][VALUE_OF varname="nominativoUtentePlain" /][/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = ""; %][/THEN]
[/ELSE IF]
[/IF]
[%= checkUtentePartecipante %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -1,7 +1,7 @@
info:
name: Indicazioni limiti annuali ore
name: Inserimento Ore Dentro - Calcolo importo equivalente
type: http
seq: 7
seq: 10
http:
method: POST
@@ -20,8 +20,7 @@ http:
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"useTestCF": false
"crlf": "\r\n"
}
}
auth: inherit
@@ -34,11 +33,13 @@ runtime:
// Copy-pasta your EFTL document below inside the template literals (`)
prepareEftlDocument(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="importoAssegnato" type="number"][TAG]SCHEMAID,709,COL0118,IUQOID, ,,,0.00[/TAG][/VAR]
[VAR name="oreTotali" type="number"][TAG]SCHEMAID,709,COL0119,IUQOID, ,,,0[/TAG][/VAR]
[VAR name="oreAttivita" type="number"][TAG]GETVALUEBYTAG,ATTIVITA_ORE;ORE_DENTRO_ORARIO,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
In base alle ore equivalenti e al part-time, il limite annuale di ore di attivita' svolte dentro l'orario di lavoro e' pari a [TAG]GETVALUEBYTAG,LIMITE_ORE_DENTRO_ORARIO,REQUEST,IUQOID,UPDATED_LAST[/TAG]
In base alle ore equivalenti e al part-time, il limite annuale di ore di attivita' svolte fuori dall'orario di lavoro e' pari a [TAG]GETVALUEBYTAG,LIMITE_ORE_FUORI_ORARIO,REQUEST,IUQOID,UPDATED_LAST[/TAG]
[VAR name="importoProporzionato" type="number"][% importoProporzionato = (importoAssegnato * oreAttivita) / oreTotali; %][/VAR]
[FORMAT type="number" pattern="0.00"][% importoProporzionato %][/FORMAT]
[/EFTL]
`);
@@ -1,7 +1,7 @@
info:
name: CSV attività per export
name: Inserimento Ore Dentro - Dati attività CSV
type: http
seq: 5
seq: 11
http:
method: POST
@@ -20,8 +20,7 @@ http:
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"useTestCF": false
"crlf": "\r\n"
}
}
auth: inherit
@@ -1,7 +1,7 @@
info:
name: Calcolo importo in orario proporzionale
name: Inserimento Ore Fuori - Calcolo importo equivalente
type: http
seq: 2
seq: 12
http:
method: POST
@@ -20,8 +20,7 @@ http:
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"useTestCF": false
"crlf": "\r\n"
}
}
auth: inherit
@@ -36,7 +35,7 @@ runtime:
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="importoAssegnato" type="number"][TAG]SCHEMAID,709,COL0118,IUQOID, ,,,0.00[/TAG][/VAR]
[VAR name="oreTotali" type="number"][TAG]SCHEMAID,709,COL0119,IUQOID, ,,,0[/TAG][/VAR]
[VAR name="oreAttivita" type="number"][TAG]GETVALUEBYTAG,ATTIVITA_ORE,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="oreAttivita" type="number"][TAG]GETVALUEBYTAG,ATTIVITA_ORE;ORE_FUORI_ORARIO,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="importoProporzionato" type="number"][% importoProporzionato = (importoAssegnato * oreAttivita) / oreTotali; %][/VAR]
@@ -0,0 +1,52 @@
info:
name: Inserimento Ore Fuori - Dati attività CSV copy
type: http
seq: 13
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: "31470"
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][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="importoAssegnato" type="number"][TAG]SCHEMAID,709,COL0118,IUQOID, ,,,0.00[/TAG][/VAR]
[VAR name="oreTotali" type="number"][TAG]SCHEMAID,709,COL0119,IUQOID, ,,,0[/TAG][/VAR]
[VAR name="anno" type="string"][TAG]GETVALUEBYTAG,ATTIVITA_ANNO,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="ore" type="string"][TAG]GETVALUEBYTAG,ATTIVITA_ORE;ORE_FUORI_ORARIO,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="importoProporzionato" type="number"][% importoProporzionato = (importoAssegnato * ore) / oreTotali; %][/VAR]
[%= anno %];[%= ore %];[FORMAT type="number" pattern="0.00"][% importoProporzionato %][/FORMAT]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -1,7 +1,7 @@
info:
name: Calcolo limiti ore e altro
name: Limiti - Calcolo MIN ore dentro orario
type: http
seq: 3
seq: 6
http:
method: POST
@@ -20,8 +20,7 @@ http:
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"useTestCF": false
"crlf": "\r\n"
}
}
auth: inherit
@@ -1,7 +1,7 @@
info:
name: Calcolo ore IN o OUT servizio
name: Limiti - Calcolo MIN ore fuori orario
type: http
seq: 4
seq: 7
http:
method: POST
@@ -12,7 +12,7 @@ http:
- name: x-api-key
value: "{{elixFormsWsAuthenticationToken}}"
- name: x-ef-request-id
value: "24829"
value: "31418"
body:
type: json
data: |-
@@ -33,21 +33,18 @@ runtime:
// Copy-pasta your EFTL document below inside the template literals (`)
prepareEftlDocument(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="tipoAttivita" type="string"][TAG]GETVALUEBYTAG,ATTIVITA_TIPO,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="oreAttivita" type="string"][TAG]GETVALUEBYTAG,ATTIVITA_ORE,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="percentualePartTime" type="number"][TAG]GETVALUEBYTAG,DIPENDENTE_PERC_PARTTIME,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="oreEquivalenti" type="number"][TAG]GETVALUEBYTAG,ORE_RIPARTIZIONE_ASSEGNATA,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="maxOre" type="number"][TAG]GETVALUEBYTAG,MAX_ORE_FUORI_ORARIO,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="oreOrarioIn" type="string"][% oreOrarioIn = "0"; %][/VAR]
[VAR name="oreOrarioOut" type="string"][% oreOrarioOut = "0"; %][/VAR]
[VAR name="limiteOre" type="number"][% limiteOre = (percentualePartTime * maxOre); %][/VAR]
[IF]
[CONDITION][% tipoAttivita == "in orario di lavoro" %][/CONDITION]
[THEN][% oreOrarioIn = oreAttivita; %][/THEN]
[ELSE][% oreOrarioOut = oreAttivita; %][/ELSE]
[CONDITION][% limiteOre > oreEquivalenti %][/CONDITION]
[THEN][% limiteOre = oreEquivalenti; %][/THEN]
[/IF]
[%= oreOrarioIn %]
[%= crlf %]
[%= oreOrarioOut %]
[FORMAT type="number" pattern="integer"][% limiteOre %][/FORMAT]
[/EFTL]
`);
@@ -0,0 +1,55 @@
info:
name: Limiti - Indicazione MAX annuale ore dentro orario
type: http
seq: 8
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: "30661"
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][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="percentualePartTime" type="number"][TAG]GETVALUEBYTAG,DIPENDENTE_PERC_PARTTIME,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="oreEquivalenti" type="number"][TAG]GETVALUEBYTAG,ORE_RIPARTIZIONE_ASSEGNATA,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="maxOre" type="number"][TAG]GETVALUEBYTAG,MAX_ORE_DENTRO_ORARIO,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="limiteOre" type="number"][% limiteOre = (percentualePartTime * maxOre); %][/VAR]
[IF]
[CONDITION][% limiteOre > oreEquivalenti %][/CONDITION]
[THEN][% limiteOre = oreEquivalenti; %][/THEN]
[/IF]
In base al proprio inquadramento, il limite annuale di ore di attività svolte dentro l'orario di lavoro è pari a [FORMAT type="number" pattern="integer"][% limiteOre %][/FORMAT]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,55 @@
info:
name: Limiti - Indicazione MAX annuale ore fuori orario
type: http
seq: 9
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: "30661"
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][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="percentualePartTime" type="number"][TAG]GETVALUEBYTAG,DIPENDENTE_PERC_PARTTIME,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="oreEquivalenti" type="number"][TAG]GETVALUEBYTAG,ORE_RIPARTIZIONE_ASSEGNATA,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="maxOre" type="number"][TAG]GETVALUEBYTAG,MAX_ORE_FUORI_ORARIO,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="limiteOre" type="number"][% limiteOre = (percentualePartTime * maxOre); %][/VAR]
[IF]
[CONDITION][% limiteOre > oreEquivalenti %][/CONDITION]
[THEN][% limiteOre = oreEquivalenti; %][/THEN]
[/IF]
In base al proprio inquadramento, il limite annuale di ore di attività svolte fuori dall'orario di lavoro è pari a [FORMAT type="number" pattern="integer"][% limiteOre %][/FORMAT]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -1,88 +0,0 @@
info:
name: Nuovo check richiedente DSAN
type: http
seq: 8
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: "24281"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"codiciFiscaliAmmessi": ";MMMPPL74T17E463A;"
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
// Copy-pasta your EFTL document below inside the template literals (`)
var eftlDocumentToBeProcessed = bru.setVar("elixBase64EftlDocument", btoa(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="checkUtentePartecipante" type="string"][% utentePartecipante = "Il richiedente non è ammesso alla compilazione perché non partecipa alle ripartizioni"; %][/VAR]
[VAR name="richiedenteCF" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="richiedentePropostaCF" type="string"][TAG]GETVALUEBYTAG,PROPOSTA_RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="coppieRipartizioniProposta" type="string"][TAG]GETVALUEBYTAG,COPPIE_RIPARTIZIONI,REQUEST,IUQOID,CONCAT,#[/TAG][/VAR]
[VAR name="exitIf" type="boolean"][% exitIf = false; %][/VAR]
[!-- Il richiedente non deve essere il RS che ha presentato la Proposta --]
[!-- Il richiedente deve comparire fra le ripartizioni --]
[!-- Il richiedente deve comparire fra i nominativi ammessi (DEBUG) --]
[IF]
[CONDITION][IS_EMPTY varname="richiedenteCF" /][/CONDITION]
[THEN][% checkUtentePartecipante = "Nessun richiedente trovato"; exitIf = true; %][/THEN]
[/IF]
[IF]
[CONDITION][% exitIf == false %][/CONDITION]
[THEN]
[IF]
[CONDITION][% richiedenteCF == richiedentePropostaCF %][/CONDITION]
[THEN][% checkUtentePartecipante = "Il Responsabile Scientifico proponente della Proposta non deve compilare la DSAN"; exitIf = true; %][/THEN]
[/IF]
[/THEN]
[/IF]
[IF]
[CONDITION][% exitIf == false %][/CONDITION]
[THEN]
[IF]
[CONDITION][CONTAINS varname="coppieRipartizioniProposta"][VALUE_OF varname="richiedenteCF" /][/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = "trovato in coppie"; exitIf = true; %][/THEN]
[/IF]
[/THEN]
[/IF]
[IF]
[CONDITION][% exitIf == false %][/CONDITION]
[THEN]
[IF]
[CONDITION][CONTAINS varname="codiciFiscaliAmmessi"][VALUE_OF varname="richiedenteCF" /][/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = "trovato in CF ammessi"; exitIf = true; %][/THEN]
[/IF]
[/THEN]
[/IF]
[%= checkUtentePartecipante %]
[/EFTL]
`));
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -1,7 +1,7 @@
info:
name: Ore richiedente da Proposta ADVANCED
name: Richiedente - Calcolo ore equivalenti
type: http
seq: 10
seq: 4
http:
method: POST
@@ -21,15 +21,14 @@ http:
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"IS_OP": "OP0",
"IS_CO": "CO0",
"IS_FU": "FU0",
"IS_EP": "EP0",
"IS_OP": "OP0;OP1;OP2;OP3;OP4;OP5;OP6;OP7;OP8",
"IS_CO": "CO0;CO1;CO2;CO3;CO4;CO5;CO6;CO7;CO8",
"IS_FU": "FU0;FU1;FU2;FU3;FU4;FU5;FU6;FU7;FU8",
"IS_EP": "EL0;EP0;EP1;EP2;EP3;EP4;EP5;EP6;EP7;EP8",
"OP": 0.0431,
"CO": 0.0405,
"FU": 0.0350,
"EP": 0.0307,
"useTestCF": false
"EP": 0.0307
}
}
auth: inherit
@@ -1,7 +1,7 @@
info:
name: Richiedente ammesso ADVANCED
name: Richiedente - Check ammesso compilazione
type: http
seq: 11
seq: 2
http:
method: POST
@@ -12,7 +12,7 @@ http:
- name: x-api-key
value: "{{elixFormsWsAuthenticationToken}}"
- name: x-ef-request-id
value: "31555"
value: "24281"
body:
type: json
data: |-
@@ -21,7 +21,7 @@ http:
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"useTestCF": false
"codiciFiscaliAmmessi": ";;MMMPPL74T17E463A;;"
}
}
auth: inherit
@@ -30,9 +30,8 @@ runtime:
scripts:
- type: before-request
code: |-
const { prepareEftlDocument } = require("./elixFormsJs.js")
// Copy-pasta your EFTL document below inside the template literals (`)
prepareEftlDocument(String.raw`
var eftlDocumentToBeProcessed = bru.setVar("elixBase64EftlDocument", btoa(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="checkUtentePartecipante" type="string"][% checkUtentePartecipante = "Il richiedente non è ammesso alla compilazione perché non partecipa alle ripartizioni"; %][/VAR]
[VAR name="richiedenteCF" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
@@ -63,14 +62,10 @@ runtime:
[%= checkUtentePartecipante %]
[/EFTL]
`);
`));
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
docs: |-
SchemaId 709
Campo COL0118
@@ -0,0 +1,53 @@
info:
name: Richiedente - Check ruolo per compilazione
type: http
seq: 1
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: "24281"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"codiciRuoloPersonaleDocente": ";PA;PO;PD;RU;PF;"
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
// Copy-pasta your EFTL document below inside the template literals (`)
var eftlDocumentToBeProcessed = bru.setVar("elixBase64EftlDocument", btoa(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="checkPersonaleDocente" type="string"][% checkPersonaleDocente = ""; %][/VAR]
[VAR name="richiedenteRuolo" type="string"][TAG]GETVALUEBYTAG,RUOLO_DIPENDENTE,REQUEST,IUQOID[/TAG][/VAR]
[IF]
[CONDITION][CONTAINS varname="codiciRuoloPersonaleDocente"][VALUE_OF varname="richiedenteRuolo" /][/CONTAINS][/CONDITION]
[THEN][% checkPersonaleDocente = "Il personale docente non deve inserire le ore di attività"; %][/THEN]
[/IF]
[%= checkPersonaleDocente %]
[/EFTL]
`));
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -1,7 +1,7 @@
info:
name: Importo richiedente da Proposta ADVANCED
name: Richiedente - Importo ripartizione da Proposta
type: http
seq: 9
seq: 3
http:
method: POST
@@ -20,8 +20,7 @@ http:
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"useTestCF": false
"crlf": "\r\n"
}
}
auth: inherit