sara_brs 0.0.1
Something using spark
Requires Python: >=3.7

# README #

This README would normally document whatever steps are necessary to get your application up and running.

## Local Setup

### Env variables:

GOOGLE_APPLICATION_CREDENTIALS=<path_to_gcp_credential_file>

# Missing tables

Su join denuncia

* TP_CAI

Su join polizza

* TP_COD_BLACKBOX

DIVISIONE table?


# Columns TODO

CD_SOC 
CD_RAMO_SIN
AA_GEN
CD_AG_SIN
NUM_SIN
NUM_POL 
TIPO_REC 
TIPO_CTT 
IMP2_E 
IMP3_E 
IMP4_E
SPESE_E
IMP6_E
IMP7_E
STATOSIN 
RAMO_MINIST 
IMP2_P 
IMP3_P 
IMP4_P
SPESE_P
IMP6_P
IMP7_P
IMP1_U 
IMP2_U 
IMP3_U 
IMP4_U
SPESE_U
IMP6_U
IMP7_U
NUMEROSINISTRONSGS 


# Vars

## DATADENR

Case (switch)  
anlMdv.getProvenienza().equals(3L) && anlMdv.getStato().equals(3L) => output.setDATADENR("99991231")  
anlMdvPartDnn.getProvenienza().equals(3L) && anlMdv.getDtRiapertura() != null => output.setDATADENR(sdf.format(
anlMdv.getDtRiapertura()))  
anlMdv.getProvenienza().equals(4L) => output.setDATADENR("99991231")  
anlMdv.getProvenienza().equals(1L) && anlMdvPartDnn.getBlncSpeseIndnz + anlMdvPartDnn.getBlncSpeseDrt()
+anlMdvPartDnn.getBlncFrftPassivo() + anlMdvPartDnn.getBlncFrftAttivo() = ZERO => output.setDATADENR("99991231")  
anlMdv.getProvenienza().equals(7L) => output.setDATADENR("99991231")    
anlMdv.getProvenienza().equals(8L) => output.setDATADENR("99991231")  
anlMdv.getProvenienza().equals(0L) => output.setDATADENR("99991231")  
anlMdv.getDtApertura() != null =>  output.setDATADENR(sdf.format(anlMdv.getDtApertura()));

## TIPODATA

anlMdvPartDnn.getProvenienza().equals(3L) => output.setTIPODATA("2");  
else  
output.setTIPODATA("1");

## AA_GEN

Quarto e quinto elemento dell'identificativo del sinistro.  

output.setAA_GEN(sinistro.getNumero().substring(3, 5));

## AA_GEN_GEST

anlMdv.getDtApertura() != null => output.setAA_GEN_GEST(sdfy.format(anlMdv.getDtApertura()).substring(2, 4));  

anlMdv.getDtApertura() == null => output.setAA_GEN_GEST(sinistro.getAnno().toString().substring(2, 4));

## ALIMENTAZIONE

veicolo.getAlimentazione() != null && veicolo.getAlimentazione().toString().trim().length() == 1 =>
output.setALIMENTAZIONE(veicolo.getAlimentazione().toString().trim());  

veicolo.getAlimentazione() != null => output.setALIMENTAZIONE(veicolo.getAlimentazione().toString().trim().substring(0,
1));

## ANNOCOMP

output.setANNOCOMP(anlMdv.getAnnomese().toString().substring(2, 4));

## BonusMalus

polizza.getBonusMalus() != null && "1".equals(polizza.getBonusMalus()) => output.setBonusMalus("S");  

polizza.getBonusMalus() != null => output.setBonusMalus("N");

## CARD_NATURALE

sfCLA.getCommonsConstants().getCodiceTrue().equals(anlMdv.getIsCardNaturale()) => output.setCARD_NATURALE("S");

## CASO_FGVS

## CausaleRiapertura

anlMdv.getProvenienza().equals(3L) && (anlMdv.getPagAnniPrec() != null && anlMdv.getPagAnniPrec().compareTo(
BigDecimal.ZERO) > 0) => output.setCausaleRiapertura(calcolaCausaleRiapertura(sinistro.getNumero(),
anlMdv.getIdTpGest(), Integer.parseInt(sdfy.format(dataAnnoStatistico)))); 

anlMdv.getProvenienza().equals(3L) && !(anlMdv.getStato().equals(3L) ||  (anlMdv.getPagAnniPrec() != null &&
anlMdv.getPagAnniPrec().compareTo(BigDecimal.ZERO) > 0)) => output.setCausaleRiapertura(calcolaCausaleRiapertura(
sinistro.getNumero(), anlMdv.getIdTpGest(), Integer.parseInt(sdfy.format(dataAnnoStatistico))));

## CD_AG_SIN

Dal sesto al nono elemento dell'identificativo del sinistro.

output.setCD_AG_SIN(sinistro.getNumero().substring(5, 9));

## CD_CLD_PRT

output.setCD_CLD_PRT(anlMdvPartDnn.getCodEnteTratt());

## CD_EVENTO

(denuncia != null && denuncia.getIdDettAvvenimento() != null && denuncia.getIdDettAvvenimento().longValue() > 0) =>
output.setCD_EVENTO(denuncia.getIdDettAvvenimento().toString());

## CD_RAMO_SIN

Secondo e terzo elemento dell'identificativo del sinistro.  

output.setCD_RAMO_SIN(sinistro.getNumero().substring(1, 3));

## CD_SOC

Primo elemento dell'identificativo del sinistro.  

output.setCD_SOC(sinistro.getNumero().substring(0, 1));

## CILINDRATA

veicolo.getCilindrata() != null && veicolo.getCilindrata().toString().trim().length() <= 4 => output.setCILINDRATA(
veicolo.getCilindrata().toString().trim()); 

veicolo.getCilindrata() != null => output.setCILINDRATA(veicolo.getCilindrata().toString().trim().substring(0, 4));

## COD_OGG_ASS_PTF

TODO

## COD_PROD

polizza != null && polizza.getSubAg() != null => output.setCOD_PROD(polizza.getSubAg());

## COD_TP_OGG_ASS_PTF

TODO

## CODAGEN

TODO

## CODCOAS

anlMdv.getIdTpCoass() != null && anlMdv.getIdTpCoass().equals(2L) => output.setCODCOAS("N");

anlMdv.getIdTpCoass() != null && anlMdv.getIdTpCoass().equals(3L) => output.setCODCOAS("A");

## CodPrvnzEnteEsterno

sinistro.getCodPrvnzEnteEsterno() != null && sinistro.getCodPrvnzEnteEsterno().trim().length() <= 20 =>
output.setCodPrvnzEnteEsterno(sinistro.getCodPrvnzEnteEsterno().trim());  

sinistro.getCodPrvnzEnteEsterno() != null => output.setCodPrvnzEnteEsterno(sinistro.getCodPrvnzEnteEsterno().trim()
.substring(0, 20));  

sinistro.getNumeroFgvs() != null => output.setCodPrvnzEnteEsterno(sfBRS.getCommonConstantsBrs()
.getCodPrvnzEnteEsternoFgvs());

## Collettiva

polizza != null && polizza.getCollettiva() != null && "1".equals(polizza.getCollettiva()) => output.setCollettiva("S");

polizza != null && polizza.getCollettiva() != null => output.setCollettiva("N");

## DATACC

output.setDATACC(sdf.format(denuncia.getDtEvento()));

## DEN_CARROZZERIA

output.getPIVA_CARROZZERIA() == null && (output.getRAMO_MINIST().equals("10") || output.getRAMO_MINIST().equals("
03")) && resultCarrozzeria != null && resultCarrozzeria.getPartitaIva() != null => output.setDEN_CARROZZERIA(
resultCarrozzeria.getDenominazioneCarrozzeria());

## DENOMAS

polizza != null && polizza.getCodCnvnz() != null && polizza.getCodCnvnz().trim().length() <= 11 => output.setDENOMAS(
polizza.getCodCnvnz().trim());  

polizza != null && polizza.getCodCnvnz() != null => output.setDENOMAS(polizza.getCodCnvnz().trim().substring(0, 11))

## DES_OGG_ASS_PTF

TODO

## DES_TP_OGG_ASS_PTF

TODO

## DIRATT

TODO

## DIRPROV

output.setDIRPROV("D");

## DT_INVIO_DOCUMENTO

denuncia != null => output.setDT_INVIO_DOCUMENTO(sdf.format(denuncia.getDtDnc()));

## DT_PERV

denuncia != null && denuncia.getDtArrivoDnc() != null => output.setDT_PERV(sdf.format(denuncia.getDtArrivoDnc()));

## DT_RUBRICAZIONE

sinistro != null && sinistro.getDtRubr() != null => output.setDT_RUBRICAZIONE(sdf.format(sinistro.getDtRubr()));

## FL_BLACKBOX

polizza != null && polizza.getTheTipoCodiceBlackbox() != null => output.setFL_BLACKBOX(sfBRS.getCommonConstantsBrs()
.getValoreSI());  
else
output.setFL_BLACKBOX(sfBRS.getCommonConstantsBrs().getValoreNO());

## FL_MORTALE

sinistro != null && isSinistroMortale(sinistro) => output.setFL_MORTALE(sfCLA.getCommonsConstants().getCodiceTrue());
else
output.setFL_MORTALE(sfCLA.getCommonsConstants().getCodiceFalse());

## FLAG_STANZANO

partitaDanno.getIdTpPartDnn().equals(sfCLA.getCommonsConstants().getIdTipoPartitaDannoNoCardCTTGestionarioFuoriStanzaTN()) || (partitaDanno.readPartitaDannoPersonaCollegataEnteDiRivalsa() != null &&
partitaDanno.readPartitaDannoPersonaCollegataEnteDiRivalsa().getIdTpPartDnn() != null &&
partitaDanno.readPartitaDannoPersonaCollegataEnteDiRivalsa().getIdTpPartDnn().equals(sfCLA.getCommonsConstants()
.getIdTipoPartitaDannoNoCardCTTGestionarioFuoriStanzaTN())) => output.setFLAG_STANZANO("N");

## FLG_CRZ

(output.getPIVA_CARROZZERIA() == null && output.getRAMO_MINIST().equals("10") || output.getRAMO_MINIST().equals("03")) && (resultCarrozzeria != null && resultCarrozzeria.getPartitaIva() != null) => output.setFLG_CRZ(IS_PRESENT); 

(output.getPIVA_CARROZZERIA() == null && output.getRAMO_MINIST().equals("10") || output.getRAMO_MINIST().equals("03")) => output.setFLG_CRZ(IS_NON_PRESENT);

## FLG_INT_LEGALE

(output.getFLG_INT_LEGALE() == null || (output.getFLG_INT_LEGALE() != null && output.getFLG_INT_LEGALE().equals(
IS_NON_PRESENT)) && nominativoLegale != null) => output.setFLG_INT_LEGALE(IS_PRESENT);  

(output.getFLG_INT_LEGALE() == null || (output.getFLG_INT_LEGALE() != null && output.getFLG_INT_LEGALE().equals(
IS_NON_PRESENT))) => output.setFLG_INT_LEGALE(IS_NON_PRESENT);

## GARANZIA

((sinistro.getTheGaranziaDiSinistro() != null && sinistro.getTheGaranziaDiSinistro().size() > 0)) && (garColpita.getTheGaranziaDiPolizza() != null && garColpita.getTheGaranziaDiPolizza().getTheGaranziaEsterna() != null
&& garColpita.getTheGaranziaDiPolizza().getTheGaranziaEsterna().getCodGarEst() != null) && ((sinistro.getCodEsternoDivisione() != null && sfCLA.getCommonsConstants().getCodiceDivisioneAla().equals(sinistro.getCodEsternoDivisione()) && ((polizza.getCodEstPtf() != null && sfCLA.getCommonsConstants().getPtfCVK().equals(polizza.getCodEstPtf())) || (polizza.getCodEstPtf() == null)))) && (codGarSPW != null && !"".equals(codGarSPW)) && (codGarSPW.length() > 4) => output.setGARANZIA(codGarSPW.substring(codGarSPW.length() - 3, codGarSPW.length()));  

((sinistro.getTheGaranziaDiSinistro() != null && sinistro.getTheGaranziaDiSinistro().size() > 0)) && (garColpita.getTheGaranziaDiPolizza() != null && garColpita.getTheGaranziaDiPolizza().getTheGaranziaEsterna() != null
&& garColpita.getTheGaranziaDiPolizza().getTheGaranziaEsterna().getCodGarEst() != null) &&  ((sinistro.getCodEsternoDivisione() != null && sfCLA.getCommonsConstants().getCodiceDivisioneAla().equals(sinistro.getCodEsternoDivisione()) && ((polizza.getCodEstPtf() != null && sfCLA.getCommonsConstants().getPtfCVK().equals(polizza.getCodEstPtf())) || (polizza.getCodEstPtf() == null)))) && (codGarSPW != null && !"".equals(codGarSPW)) => output.setGARANZIA(codGarSPW.substring(2, 4));  

((sinistro.getTheGaranziaDiSinistro() != null && sinistro.getTheGaranziaDiSinistro().size() > 0)) && (garColpita.getTheGaranziaDiPolizza() != null && garColpita.getTheGaranziaDiPolizza().getTheGaranziaEsterna() != null
&& garColpita.getTheGaranziaDiPolizza().getTheGaranziaEsterna().getCodGarEst() != null) &&  ((sinistro.getCodEsternoDivisione() != null && sfCLA.getCommonsConstants().getCodiceDivisioneAla().equals(sinistro.getCodEsternoDivisione()) && ((polizza.getCodEstPtf() != null && sfCLA.getCommonsConstants().getPtfCVK().equals(polizza.getCodEstPtf())) || (polizza.getCodEstPtf() == null)))) && (codGarSPW != null && !"".equals(codGarSPW)) && (codGarCVK.length() > 4) => output.setGARANZIA(codGarCVK.substring(codGarCVK.length() - 3, codGarCVK.length()));  

((sinistro.getTheGaranziaDiSinistro() != null && sinistro.getTheGaranziaDiSinistro().size() > 0)) && (garColpita.getTheGaranziaDiPolizza() != null && garColpita.getTheGaranziaDiPolizza().getTheGaranziaEsterna() != null
&& garColpita.getTheGaranziaDiPolizza().getTheGaranziaEsterna().getCodGarEst() != null) &&  ((sinistro.getCodEsternoDivisione() != null && sfCLA.getCommonsConstants().getCodiceDivisioneAla().equals(sinistro.getCodEsternoDivisione()) && ((polizza.getCodEstPtf() != null && sfCLA.getCommonsConstants().getPtfCVK().equals(polizza.getCodEstPtf())) || (polizza.getCodEstPtf() == null)))) && (codGarSPW != null && !"".equals(codGarSPW)) => output.setGARANZIA(codGarCVK.substring(2, 4));  

((sinistro.getTheGaranziaDiSinistro() != null && sinistro.getTheGaranziaDiSinistro().size() > 0)) && (garColpita.getTheGaranziaDiPolizza() != null && garColpita.getTheGaranziaDiPolizza().getTheGaranziaEsterna() != null
&& garColpita.getTheGaranziaDiPolizza().getTheGaranziaEsterna().getCodGarEst() != null) => output.setGARANZIA(garColpita.getTheGaranziaDiPolizza().getTheGaranziaEsterna().getCodGarEst().substring(2, 4));

(denuncia != null && denuncia.isFgvs()) => output.setGARANZIA(sfBRS.getCommonConstantsBrs().getDefaultValue());

## IMP1_E

Se ci sono lesioni ai conducenti o ai passanti, si setta il suo valore a quello di "RISERVA_IN_FG" o "RISERVA_IN" a seconda che il valore id_tp_gest sia 5 o meno; altrimenti None. 

## IMP1_P

Se ci sono lesioni ai conducenti o ai passanti, si setta il suo valore a quello di "PAGATO_FG" o "PAGATO" a seconda che il valore id_tp_gest sia 5 o meno; altrimenti None. 

## IMP1_U

Se ci sono lesioni ai conducenti o ai passanti, si setta il suo valore a quello di "RISERVA_OUT_FG" o "RISERVA_OUT" a seconda che il valore id_tp_gest sia 5 o meno; altrimenti None.  

## IMP2_E

Se ci sono lesioni al trasportato, si setta il suo valore a quello di "RISERVA_IN_FG" o "RISERVA_IN" a seconda che il valore id_tp_gest sia 5 o meno; altrimenti None. 

## IMP2_P

Se ci sono lesioni al trasportato, si setta il suo valore a quello di "PAGATO_FG" o "PAGATO" a seconda che il valore id_tp_gest sia 5 o meno; altrimenti None. 

## IMP2_U

Se ci sono lesioni al trasportato, si setta il suo valore a quello di "RISERVA_OUT_FG" o "RISERVA_OUT" a seconda che il valore id_tp_gest sia 5 o meno; altrimenti None. 

## IMP3_E

Se ci sono danni a cose o ai veicoli, si setta il suo valore a quello di "RISERVA_IN_FG" o "RISERVA_IN" a seconda che il valore id_tp_gest sia 5 o meno; altrimenti None. 

## IMP3_P

Se ci sono danni a cose o ai veicoli, si setta il suo valore a quello di "PAGATO_FG" o "PAGATO" a seconda che il valore id_tp_gest sia 5 o meno; altrimenti None.

## IMP3_U

Se ci sono danni a cose o ai veicoli, si setta il suo valore a quello di "RISERVA_OUT_FG" o "RISERVA_OUT" a seconda che il valore id_tp_gest sia 5 o meno; altrimenti None.

## IMP6_E

Si setta il suo valore a quello di RISERVA_SPESE_LQDZ_IN.

## IMP6_P

Si setta il suo valore a quello di PAGATO_SPESE_LQDZ.

## IMP6_U

Si setta il suo valore a quello di RISERVA_SPESE_LQDZ_OUT.

## IMP7_P

Si setta il suo valore a quello di PAGATO_RCPR.

## IMP4_E,P,U ; IMP5_E,P,U ; IMP7_E,U

Si setta a None.


## INDIRIZZO_CAP

(denuncia != null && denuncia.getTheClaimIndirizzo() != null) && (denuncia.getTheClaimIndirizzo().getCap() != null) => output.setINDIRIZZO_CAP(denuncia.getTheClaimIndirizzo().getCap().trim());

## INDIRIZZO_CIV

(denuncia != null && denuncia.getTheClaimIndirizzo() != null) && (denuncia.getTheClaimIndirizzo().getCap() != null) => output.setINDIRIZZO_CIV(denuncia.getTheClaimIndirizzo().getCivico().trim());

## INDIRIZZO_VIA

(denuncia != null && denuncia.getTheClaimIndirizzo() != null) && (denuncia.getTheClaimIndirizzo().getVia() != null) => output.setINDIRIZZO_VIA(denuncia.getTheClaimIndirizzo().getVia().trim());

## INDIRIZZO_TOP

(denuncia != null && denuncia.getTheClaimIndirizzo() != null) && (denuncia.getTheClaimIndirizzo().getCodTpnm() != null) => output.setINDIRIZZO_VIA(denuncia.getTheClaimIndirizzo().getCodTpnm().trim());

## KAA

output.setKAA(anlMdv.getAnnomese().substring(2, 4));

## KMM

output.setKMM(anlMdv.getAnnomese().substring(4, 6));

## MM_OPE_P

(anlMdv.getDtChiusura() != null) => output.setMM_OPE_P(sdfMM.format(anlMdv.getDtChiusura()));

## MODPOL

(sinistro.getCodEsternoDivisione() != null && sfCLA.getCommonsConstants().getCodiceDivisioneAla().equals(sinistro.getCodEsternoDivisione()) && ((polizza.getCodEstPtf() != null && sfCLA.getCommonsConstants().getPtfCVK().equals(polizza.getCodEstPtf())) || (polizza.getCodEstPtf() == null))) && (codPrdtSPW != null && !"".equals(codPrdtSPW)) => output.setMODPOL(codPrdtSPW);  

(sinistro.getCodEsternoDivisione() != null && sfCLA.getCommonsConstants().getCodiceDivisioneAla().equals(sinistro.getCodEsternoDivisione()) && ((polizza.getCodEstPtf() != null && sfCLA.getCommonsConstants().getPtfCVK().equals(polizza.getCodEstPtf())) || (polizza.getCodEstPtf() == null))) => output.setMODPOL(codPrdtCVK);  

output.setMODPOL(polizza.getCodProd());  

(output.getMODPOL() != null && output.getMODPOL().equals(sfBRS.getCommonConstantsBrs().getVecchioCodiceProdotto())) => output.setMODPOL(sfBRS.getCommonConstantsBrs().getNuovoCodiceProdotto());

## NOME_LEGALE

(output.getFLG_INT_LEGALE() == null || (output.getFLG_INT_LEGALE() != null && output.getFLG_INT_LEGALE().equals(
IS_NON_PRESENT)) && nominativoLegale != null) => output.setNOME_LEGALE(nominativoLegale); 

## NR_PARTITE

(sinistro != null && sinistro.getThePartitaDanno() != null) => output.setNR_PARTITE(String.valueOf(sinistro.getThePartitaDanno().size()));

## NUM_POL

Numero di polizza, se più lungo di 10 elementi prendo solo i primi 10.

output.setNUM_POL(polizza.getNumero());  

(output.getNUM_POL() != null && output.getNUM_POL().length() > 10) => output.setNUM_POL(output.getNUM_POL().substring(0, 10));

## NUM_SIN

Dal decimo elemento alla fine dell'identificativo del sinistro.  

output.setNUM_SIN(sinistro.getNumero().substring(9));

## NumeroSinistroNSGS

Identificativo del sinistro.  

output.setNumeroSinistroNSGS(sinistro.getNumero());

## NumSxEnteEsterno

(sinistro.getNumSxEnteEsterno() != null) && (sinistro.getNumSxEnteEsterno().trim().length() <= 20) => output.setNumSxEnteEsterno(sinistro.getNumSxEnteEsterno().trim());  
 
(sinistro.getNumSxEnteEsterno() != null) => output.setNumSxEnteEsterno(sinistro.getNumSxEnteEsterno().trim().substring(0, 20));

(sinistro.getNumeroFgvs() != null) => output.setNumSxEnteEsterno(sinistro.getNumeroFgvs());

## ORA_ACCAD

(denuncia != null && denuncia.getHhEvento() != null && denuncia.getMmEvento() != null) => output.setORA_ACCAD(oraAcc.toString());

## PERC_INVAL

## PERC_RESP

## PERC_RESP_ANIA

## PIVA_CARROZZERIA

## POTENZA_FISCALE

## PROG_POL

## PROV_RES

## PROVACC

## QUINTALI

(veicolo != null) && (veicolo.getPeso() != null) && (veicolo.getPeso().toString().trim().length() <= 3) => output.setQUINTALI(veicolo.getPeso().toString().trim());  

(veicolo != null) && (veicolo.getPeso() != null) => output.setQUINTALI(veicolo.getPeso().toString().trim().substring(0, 3));

(veicolo != null) && (veicolo.getPeso() != null && veicolo.getPesorimorchio() != null) && (veicolo.getPeso().toString().trim().length() <= 3 && veicolo.getPesorimorchio().toString().trim().length() <= 3) => output.setQUINTALI(veicolo.getPeso().add(veicolo.getPesorimorchio()).toString().trim());  

(veicolo != null) && (veicolo.getPeso() != null && veicolo.getPesorimorchio() != null) => output.setQUINTALI(veicolo.getPeso().add(veicolo.getPesorimorchio()).toString().trim().substring(0, 3));

## QUOTANS

## RAMO_MINIST

Prendo il codice del ramo ministeriale.  

output.setRAMO_MINIST(sinistro.getCodiceRamoMinisteriale());  

## RAMO_POL

## RamoTecnicoNSGS

## RIPARA_OK

## SETTAR

## SOC_POL

## SPESE_E

Si setta il suo valore a quello di riservaSpeseDirIn.

(brsDTO.getSPESE_E() != null) => brsDTO.setSPESE_E(riservaSpeseDirIn.add(brsDTO.getSPESE_E()));  

brsDTO.setSPESE_E(riservaSpeseDirIn);

## SPESE_P

Si setta il suo valore a quello di pagatoSpeseDir.

(brsDTO.getSPESE_P() != null) => brsDTO.setSPESE_P(pagatoSpeseDir.add(brsDTO.getSPESE_P()));  

brsDTO.setSPESE_P(pagatoSpeseDir);

## SPESE_U

Si setta il suo valore a quello di riservaSpeseDirOut.

(brsDTO.getSPESE_U() != null) => brsDTO.setSPESE_U(riservaSpeseDirOut.add(brsDTO.getSPESE_U()));  

brsDTO.setSPESE_U(riservaSpeseDirOut);

## SSETTAR

## STATOSIN

### Assembler

Prendo lo stato dall'AnaliticoModuloDiVigilanza:  
-se è 3L, setto a 7 ("chiuso senza seguito")  
-se è 2L, setto a 5 ("chiuso")  
-se è 1L, setto a 1 ("aperto non movimentato")  
-se il PagamentoAnniPrecedenti è uguale alla somma di PagamentoSpeseIndennizzo, PagamentoSpeseDrt e PagamentoFrftPassivo, setto a 9 ("riaperto")  
-se il PagamentoAnniPrecedenti è diverso dalla somma di PagamentoSpeseIndennizzo, PagamentoSpeseDrt e PagamentoFrftPassivo, setto a 3 ("pagato parziale")  

(anlMdv.getStato().equals(3L)) => output.setSTATOSIN("7");  

(anlMdv.getStato().equals(2L)) => output.setSTATOSIN("5");  

(anlMdv.getStato().equals(1L)) => output.setSTATOSIN("1"); 

(anlMdv.getPagAnniPrec().compareTo(BigDecimal.ZERO) > 0 && anlMdv.getPagSpeseIndnz().add(anlMdv.getPagSpeseDrt()).add(anlMdv.getPagFrftPassivo()).compareTo(anlMdv.getPagAnniPrec()) == 0) => output.setSTATOSIN("9");  

(anlMdv.getPagSpeseIndnz().add(anlMdv.getPagSpeseDrt()).add(anlMdv.getPagFrftPassivo()).compareTo(BigDecimal.ZERO) != 0) => setSTATOSIN("3");

### Transformer

## TARGA

## TIPO_CTT

Verificato che l'IdTipoGestCardG o l'IdTipoGestFG della ServicesFactory eguaglia l'IdTpGest dell'AnaliticoModuloDiVigilanza, se l'IdTipoConvenzioneCID della ServicesFactory eguaglia l'IdTpCnvnzCard dell'AnaliticoModuloDiVigilanzaPartitaDanni allora è "C", mentre se l'IdTipoConvenzioneCTT della ServicesFactory eguaglia l'IdTpCnvnzCard dell'AnaliticoModuloDiVigilanzaPartitaDanni allora è "G".  

Verificato che l'IdTipoGestCardD della ServicesFactory eguaglia l'IdTpGest dell'AnaliticoModuloDiVigilanza, se l'IdTipoConvenzioneCID della ServicesFactory eguaglia l'IdTpCnvnzCard dell'AnaliticoModuloDiVigilanzaPartitaDanni allora è "D", mentre se l'IdTipoConvenzioneCTT della ServicesFactory eguaglia l'IdTpCnvnzCard dell'AnaliticoModuloDiVigilanzaPartitaDanni allora è "R".  

(sfBRS.getCommonConstantsBrs().getIdTipoGestCardG().equals(anlMdv.getIdTpGest()) || sfBRS.getCommonConstantsBrs().getIdTipoGestFG().equals(anlMdv.getIdTpGest())) && (sfBRS.getCommonConstantsBrs().getIdTipoConvenzioneCID().equals(anlMdvPartDnn.getIdTpCnvnzCard())) => output.setTIPO_CTT("C");  

(sfBRS.getCommonConstantsBrs().getIdTipoGestCardG().equals(anlMdv.getIdTpGest()) || sfBRS.getCommonConstantsBrs().getIdTipoGestFG().equals(anlMdv.getIdTpGest())) && (sfBRS.getCommonConstantsBrs().getIdTipoConvenzioneCTT().equals(anlMdvPartDnn.getIdTpCnvnzCard())) => output.setTIPO_CTT("G");  

(sfBRS.getCommonConstantsBrs().getIdTipoGestCardD().equals(anlMdv.getIdTpGest())) && (sfBRS.getCommonConstantsBrs().getIdTipoConvenzioneCID().equals(anlMdvPartDnn.getIdTpCnvnzCard())) => output.setTIPO_CTT("D");  

(sfBRS.getCommonConstantsBrs().getIdTipoGestCardD().equals(anlMdv.getIdTpGest())) && (sfBRS.getCommonConstantsBrs().getIdTipoConvenzioneCTT().equals(anlMdvPartDnn.getIdTpCnvnzCard())) => output.setTIPO_CTT("R"); 

## TIPO_REC

"F" se l'IdTipoGestFG della ServicesFactory eguaglia quello dell'AnaliticoModuloDiVigilanza, "I" altrimenti.

output.setTIPO_REC("I");  

(sfBRS.getCommonConstantsBrs().getIdTipoGestFG().equals(anlMdv.getIdTpGest())) => output.setTIPO_REC("F");  

Setto ad "R" se scorrendo la lista di output, trovo il TIPOPOS_E uguale a 7 o l’IMP7_P maggiore di 0.

(b.getTIPOPOS_E() != null && b.getTIPOPOS_E().equals("7")) => b.setTIPO_REC("R");

(b.getIMP7_P() != null && b.getIMP7_P().compareTo(BigDecimal.ZERO) > 0) => recupero.setTIPO_REC("R");

## TIPO_RIS

## TIPO_SINT

## TIPO_TAX

## TIPO_VEICOLO

## TIPOPOS_E

## TIPOPOS_U

## TIPOTARGA

## TP_BLACKBOX

## TP_FIRMA

## USO

## ZTIPODA