info:
  name: Richiedente - Calcolo ore equivalenti
  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: "31555"
  body:
    type: json
    data: |-
      {
        "userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
        "userContext": {
          "lang": "IT",
          "crlf": "\r\n",
          "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
        }
      }
  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="datiRipartizioniIterable" type="iterable"][SPLIT regex="##"][TAG]GETVALUEBYTAG,RIPARTIZIONE_DATI_COMPLETI,REQUEST,IUQOID,CONCAT,##[/TAG][/SPLIT][/VAR]

        [% item2 = 1; %]
        [% item5 = 4; %]
        [% importoRichiedente = 0; %]
        [% fattoreConversione = 0; %]

        [FOR varname="riga" iterable="datiRipartizioniIterable"]
          [VAR name="rigaIterable" type="iterable"][SPLIT regex=";;"][VALUE_OF varname="riga" /][/SPLIT][/VAR]
          [VAR name="codiceFiscale" type="string"][VALUE_OF varname="rigaIterable" index="item2" /][/VAR]
          [VAR name="importo" type="number"][VALUE_OF varname="rigaIterable" index="item5" /][/VAR]
          [IF]
            [CONDITION][% codiceFiscale == codiceFiscaleRichiedente %][/CONDITION]
            [THEN][% importoRichiedente = importo; %][/THEN]
          [/IF]
        [/FOR]

        [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]

        [!--
        inquadramentoRichiedente: [%= inquadramentoRichiedente %]
        codiceFiscaleRichiedente: [%= codiceFiscaleRichiedente %]
        importoRichiedente:       [%= importoRichiedente %]
        fattoreConversione:       [%= fattoreConversione %]
        Output
        --]

        [FORMAT type="number" pattern="0"][% importoRichiedente * fattoreConversione %][/FORMAT]
        [/EFTL]
        `);

settings:
  encodeUrl: true
  timeout: 0
  followRedirects: true
  maxRedirects: 5
  forwardAuthorizationHeader: true

docs: |-
  SchemaId 709
  Campo COL0118
