function clsSessione() { var _me=this; this.anno = 0; this.data_nascita = 0; this.anno_nascita = 0; this.eta = 0; this.loaded_patrimonifinanziari = false; this.loaded_entratereddito = false; this.ready_calcolacoerenza = false; this.danni_terzi = 1000000; this.dati = { sessioni: { data:null, }, tabelle: { data:null, get: function(stabella,id) { var rvalue=null; if (_me.dati.tabelle.data && _me.dati.tabelle.data[stabella]) { tabella=_me.dati.tabelle.data[stabella]; for (var i=0;i"+coniuge.invalidita_copertura_futura_incremento); if (coniuge) { //OK: da Easy incremento=0 x report Sandro 6.1.19 if(coniuge.invalidita_copertura_futura_incremento > 0){ _me.dati.ottimizzazione.ottopera_invalidita_partner_importo = coniuge.invalidita_copertura_futura_incremento || 0; }else{ _me.dati.ottimizzazione.ottopera_invalidita_partner_importo = coniuge.invalidita_copertura_futura || 0; } _me.dati.ottimizzazione.ottopera_invalidita_partner_costo = coniuge.invalidita_copertura_futura_costo || 0; if(coniuge.premorienza_copertura_futura_incremento > 0){ _me.dati.ottimizzazione.ottopera_premorienza_partner_importo = coniuge.premorienza_copertura_futura_incremento || 0; }else{ _me.dati.ottimizzazione.ottopera_premorienza_partner_importo = coniuge.premorienza_copertura_futura || 0; } _me.dati.ottimizzazione.ottopera_premorienza_partner_costo = coniuge.premorienza_copertura_futura_costo || 0; } else { _me.dati.ottimizzazione.ottopera_invalidita_partner_importo = 0; _me.dati.ottimizzazione.ottopera_invalidita_partner_costo = 0; _me.dati.ottimizzazione.ottopera_premorienza_partner_importo = 0; _me.dati.ottimizzazione.ottopera_premorienza_partner_costo = 0; } _me.dati.ottimizzazione.ottopera_tipo_parentela = 0; _me.dati.profilo.data.operativita_numeroconiugi = 0; _me.dati.ottimizzazione.ottopera_numeri_figli = _me.dati.parenti.getnumerofigli(); if (coniuge) { _me.dati.ottimizzazione.ottopera_tipo_parentela = coniuge.id_tipo_parentela; _me.dati.profilo.data.operativita_numeroconiugi = 1; } _me.dati.ottimizzazione.ottopera_patrimonio_totale = patrimonio_totale; _me.dati.ottimizzazione.ottopera_patrimonio_finanziario_netto = patrimonio_finanziario_netto; _me.dati.ottimizzazione.ottopera_lungo_aggiunto_10_anni = _me.dati.ottimizzazione.lungo_aggiunto_10_anni; _me.dati.ottimizzazione.ottopera_lungo_risparmiato_10_anni = _me.dati.ottimizzazione.lungo_risparmiato_10_anni; _me.dati.ottimizzazione.ottopera_lungo_iniziale = _me.dati.ottimizzazione.lungo_iniziale; _me.dati.ottimizzazione.ottopera_param_1 = _me.dati.ottimizzazione.param_1; _me.dati.ottimizzazione.ottopera_param_2 = _me.dati.ottimizzazione.param_2; _me.dati.ottimizzazione.ottopera_param_3 = _me.dati.ottimizzazione.param_3; _me.dati.ottimizzazione.ottopera_param_4 = _me.dati.ottimizzazione.param_4; _me.dati.ottimizzazione.coerenza_interessi_breve=parseFloat($("#coerenza-interessi_breve_perc").val()) || 0; _me.dati.ottimizzazione.coerenza_interessi_medio=parseFloat($("#coerenza-interessi_medio_perc").val()) || 0; _me.dati.ottimizzazione.coerenza_interessi_lungo=parseFloat($("#coerenza-interessi_lungo_perc").val()) || 0; _me.dati.ottimizzazione.coerenza_tassonegativo_breve=parseFloat($("#coerenza-tassonegativo_breve_perc").val()) || 0; _me.dati.ottimizzazione.coerenza_delta_breve = parseInt($("#indice-termine_breve_delta").html()) || 0; _me.dati.ottimizzazione.coerenza_delta_medio = parseInt($("#indice-termine_medio_delta").html()) || 0; _me.dati.ottimizzazione.coerenza_delta_lungo = parseInt($("#indice-termine_lungo_delta").html()) || 0; _me.dati.ottimizzazione.ottopera_immobili_comproprieta = _me.dati.patrimoni_immobiliari.has_comproprieta(); _me.dati.ottimizzazione.riassunto_patrimonio_finanziario = patrimonio_finanziario; _me.dati.ottimizzazione.riassunto_patrimonio_immobiliare = patrimonio_immobiliare.importo; _me.dati.ottimizzazione.riassunto_mutui = debiti_immobiliari; _me.dati.ottimizzazione.riassunto_reddito = entrate_lavoro.totale_personale; _me.dati.ottimizzazione.riassunto_reddito_coniuge = entrate_lavoro.totale_coniuge; _me.dati.ottimizzazione.riassunto_rendite = 0;//111; _me.dati.ottimizzazione.riassunto_pensione = 0;//1234; // _me.dati.ottimizzazione.riassunto_pensione_coniuge = 0;//4321; _me.dati.ottimizzazione.riassunto_pensione_coniuge = 0;//4321; _me.dati.ottimizzazione.riassunto_tenore_vita = uscite; } }, parenti: { record: function() { this.id_utente=0; this.id_parente=0; this.nome=""; this.cognome=""; this.coniuge=0; this.data_nascita=""; this.id_tipo_parentela=0; this.foto_profilo=""; this.data_inserimento=0; this.deleted=0; this.id_sesso=""; this.annotazioni=""; this.professione=""; this.inizio_contribuzione=0; this.pensione_eta=0; this.pensione_percentuale=0; this.coperture_rc_terzi=0; this.invalidita_copertura=0; this.premorienza_copertura=0; this.pensione_invalidita=0; this.pensione_superstiti=0; this.premorienza_note=""; this.invalidita_note=""; this.premorienza_variazione=0; this.invalidita_variazione=0; this.id_professione=0; this.premorienza_copertura_futura=0; this.premorienza_copertura_futura_costo=0; this.invalidita_copertura_futura=0; this.invalidita_copertura_futura_costo=0; this.premorienza_copertura_futura_incremento=0; this.invalidita_copertura_futura_costo=0; this.inizio_contribuzione_eta=0; this.pensione_superstiti_confermata=0; }, data:null, setdata: function(data) { if (data) { _me.dati.parenti.data=data; } else { _me.dati.parenti.data = new Array(); } }, getdata: function() { var rvalue=new Array(); for (var i=0;i<_me.dati.parenti.data.length;i++) { var riga=_me.dati.parenti.data[i]; if (!riga.deleted || riga.deleted==0) { var data_nascita=getDate(riga.data_nascita,"YYYY/MM/DD"); if (isNaN(data_nascita.getFullYear())) { data_nascita=getDate(riga.data_nascita,"DD/MM/YYYY"); } riga.eta=calcolaEta(data_nascita) || 0; riga.anno_nascita = data_nascita.getFullYear() || 0; rvalue.push(riga); } } return rvalue; }, getconiuge: function() { var rvalue=null; for (var i=0;i<_me.dati.parenti.data.length;i++) { if (_me.dati.parenti.data[i].id_tipo_parentela==1 || _me.dati.parenti.data[i].id_tipo_parentela==2) { if (!_me.dati.parenti.data[i].deleted || _me.dati.parenti.data[i].deleted==0) { rvalue=_me.dati.parenti.data[i]; if (rvalue.pensione_eta==0) { rvalue.pensione_eta=67; } if (rvalue.pensione_percentuale==0) { rvalue.pensione_percentuale=_me.getpercentuale_pensione(rvalue.id_professione); } if (rvalue.inizio_contribuzione_eta==0) { rvalue.inizio_contribuzione_eta=25; } var data_nascita=getDate(rvalue.data_nascita,"YYYY/MM/DD"); if (isNaN(data_nascita.getFullYear())) { data_nascita=getDate(rvalue.data_nascita,"DD/MM/YYYY"); } rvalue.eta=calcolaEta(data_nascita) || 0; rvalue.anno_nascita = data_nascita.getFullYear() || 0; i=_me.dati.parenti.data.length+10; } } } return rvalue; }, setconiuge: function(coniuge) { var rvalue=null; for (var i=0;i<_me.dati.parenti.data.length;i++) { if (_me.dati.parenti.data[i].id_tipo_parentela==1 || _me.dati.parenti.data[i].id_tipo_parentela==2) { if (!_me.dati.parenti.data[i].deleted || _me.dati.parenti.data[i].deleted==0) { rvalue=coniuge i=_me.dati.parenti.data.length+10; } } } return rvalue; }, getnumeroconiugi: function() { var rvalue=0; for (var i=0;i<_me.dati.parenti.data.length;i++) { if (_me.dati.parenti.data[i].id_tipo_parentela==1 || _me.dati.parenti.data[i].id_tipo_parentela==2) { if (!_me.dati.parenti.data[i].deleted || _me.dati.parenti.data[i].deleted==0) { rvalue++; } } } return rvalue; }, getnumerofigli: function() { var rvalue=0; for (var i=0;i<_me.dati.parenti.data.length;i++) { if (_me.dati.parenti.data[i].id_tipo_parentela==3 || _me.dati.parenti.data[i].id_tipo_parentela==4) { if (!_me.dati.parenti.data[i].deleted || _me.dati.parenti.data[i].deleted==0) { rvalue++; } } } return rvalue; }, nuovo: function() { var rvalue = new _me.dati.parenti.record(); rvalue.id_parente = _me.getMax(_me.dati.parenti.data,"id_parente")+1; rvalue.id_sesso = "M"; _me.dati.parenti.data.push(rvalue); return rvalue; }, elimina: function(id) { var rvalue=false; for (var i=0;i<_me.dati.parenti.data.length;i++) { var riga=_me.dati.parenti.data[i]; if (riga["id_parente"]==id) { riga.deleted=1; rvalue=true; i=_me.dati.parenti.data.length; } } return rvalue; }, refreshdati: function() { _me.resetMask(".masked"); for (var i=0;i<_me.dati.parenti.data.length;i++) { var riga=_me.dati.parenti.data[i]; if (!riga.deleted || riga.deleted==0) { var id=riga.id_parente; riga.nome=$("#parente-nome-"+id).val(); riga.cognome=$("#parente-cognome-"+id).val(); riga.data_nascita=$("#parente-data_nascita-"+id).find("input").val(); riga.id_tipo_parentela=parseInt($("#parente-id_tipo_parentela-"+id).val()) || 0; riga.cognome=$("#parente-cognome-"+id).val(); riga.id_sesso=$("#parente-id_sesso-"+id).val(); riga.annotazioni=$("#parente-annotazioni-"+id).val(); riga.foto_profilo=$("#parente-foto_profilo-"+id).val(); riga.professione=$("#parente-professione-"+id).val() || ""; riga.invalidita_copertura_futura_confermata = 0; riga.premorienza_copertura_futura_confermata = 0; riga.pensione_superstiti_confermata = 0; riga.premorienza_variazione_confermata = 0; if (riga.id_tipo_parentela==1 || riga.id_tipo_parentela==2) { riga.pensione_eta=parseInt($("#coniuge-pensione_eta").val()) || 0; riga.pensione_percentuale=parseInt($("#coniuge-pensione_percentuale").val()) || 0; riga.coperture_rc_terzi=parseInt($("#coniuge-coperture_rc_terzi").val()) || 0; riga.invalidita_copertura=parseInt($("#coniuge-invalidita_copertura").val()) || 0; riga.premorienza_copertura=parseInt($("#coniuge-premorienza_copertura").val()) || 0; riga.inizio_contribuzione=parseInt($("#coniuge-inizio_contribuzione").val()) || 0; riga.inizio_contribuzione_eta=parseInt($("#coniuge-inizio_contribuzione_eta").val()) || 0; riga.pensione_invalidita=parseInt($("#coniuge-pensione_invalidita").val()) || 0; riga.pensione_superstiti=parseInt($("#coniuge-pensione_superstiti").val()) || 0; riga.premorienza_note=$("#coniuge-premorienza_note").val(); riga.invalidita_note=$("#coniuge-invalidita_note").val(); riga.premorienza_variazione=parseInt($("#coniuge-premorienza_variazione").val()) || 0; riga.invalidita_variazione=parseInt($("#coniuge-invalidita_variazione").val()) || 0; riga.id_professione=parseInt($("#parente-id_professione-"+id).val()) || 0; riga.premorienza_copertura_futura=parseFloat($("#coniuge-premorienza_copertura_futura").val()) || 0; riga.premorienza_copertura_futura_costo=parseFloat($("#coniuge-premorienza_copertura_futura_costo").val()) || 0; riga.invalidita_copertura_futura=parseFloat($("#coniuge-invalidita_copertura_futura").val()) || 0; riga.invalidita_copertura_futura_costo=parseFloat($("#coniuge-invalidita_copertura_futura_costo").val()) || 0; riga.premorienza_copertura_futura_incremento=parseFloat($("#coniuge-premorienza_copertura_futura_incremento").val()) || 0; riga.invalidita_copertura_futura_incremento=parseFloat($("#coniuge-invalidita_copertura_futura_incremento").val()) || 0; if ($("#coniuge-invalidita_copertura_futura_confermata").is(":checked")) { riga.invalidita_copertura_futura_confermata = 1; } if ($("#coniuge-premorienza_copertura_futura_confermata").is(":checked")) { riga.premorienza_copertura_futura_confermata = 1; } if ($("#coniuge-pensione_superstiti_confermata").is(":checked")) { riga.pensione_superstiti_confermata = 1; } if ($("#coniuge-premorienza_variazione_confermata").is(":checked")) {//sandro 28/8/18 riga.premorienza_variazione_confermata = 1; } } else { riga.pensione_eta=0; riga.pensione_percentuale=0; riga.coperture_rc_terzi=0; riga.invalidita_copertura=0; riga.premorienza_copertura=0; riga.inizio_contribuzione=0; riga.inizio_contribuzione_eta=0; riga.pensione_invalidita=0; riga.pensione_superstiti=0; riga.premorienza_note=""; riga.invalidita_note=""; riga.premorienza_variazione=0; riga.invalidita_variazione=0; riga.id_professione=0; riga.premorienza_copertura_futura=0; riga.premorienza_copertura_futura_costo=0; riga.invalidita_copertura_futura=0; riga.invalidita_copertura_futura_costo=0; riga.premorienza_copertura_futura_incremento=0; riga.invalidita_copertura_futura_incremento=0; } } _me.dati.parenti.data[i]=riga; } _me.setMask(".masked","#.##0"); } }, obiettivi: { record: function() { this.id_utente=0; this.id_obiettivo=0; this.ordine=0; this.descrizione=""; this.anno_obiettivo=0; this.eta=0; this.costo_annuale=0; this.durata_anni=0; this.invalidita=0; this.premorienza=0; this.motivazione=""; this.id_categoria_obiettivo=0; this.id_sottocategoria_obiettivo=0; this.invalidita_percentuale=0; this.premorienza_percentuale=0; this.data_inserimento=0; this.immagine=""; this.deleted=0; this.immobiliare_sino=0; this.immobiliare_mutuo=0; }, data:null, setdata: function(data) { if (data) { _me.dati.obiettivi.data=data; } else { _me.dati.obiettivi.data = new Array(); } }, getdata: function() { var rvalue=new Array(); for (var i=0;i<_me.dati.obiettivi.data.length;i++) { var riga=_me.dati.obiettivi.data[i]; if (!riga.deleted || riga.deleted==0) { rvalue.push(riga); } } return _me.sortByKey(rvalue,"ordine"); }, nuovo: function() { var rvalue = new _me.dati.obiettivi.record(); rvalue.id_obiettivo = _me.getMax(_me.dati.obiettivi.data,"id_obiettivo")+1; rvalue.ordine = _me.getMax(_me.dati.obiettivi.data,"ordine")+1; rvalue.invalidita = 1; rvalue.premorienza = 1; _me.dati.obiettivi.data.push(rvalue); return rvalue; }, elimina: function(id) { var rvalue=false; for (var i=0;i<_me.dati.obiettivi.data.length;i++) { var riga=_me.dati.obiettivi.data[i]; if (riga["id_obiettivo"]==id) { riga.deleted=1; rvalue=true; i=_me.dati.obiettivi.data.length; } } return rvalue; }, totaliperperiodo: function(anno_ini, durata) { var totale=0; var records=_me.dati.obiettivi.getdata(); for (var i=anno_ini;i<=anno_ini+durata;i++) { for (var j=0;j=riga.anno_obiettivo && i<=riga.anno_obiettivo+riga.durata_anni-1) { totale+=riga.costo_annuale; } } } return totale; }, refreshdati: function() { _me.resetMask(".obiettivo .masked"); var posizione=0; $(".obiettivo").each(function() { var id=$(this).data("id"); $("#ordine-"+id).val(posizione); posizione++; }); for (var i=0;i<_me.dati.obiettivi.data.length;i++) { var riga=_me.dati.obiettivi.data[i]; if (!riga.deleted || riga.deleted==0) { var id=riga.id_obiettivo; riga.ordine=parseInt($("#ordine-"+id).val()) || 0; riga.descrizione=encodeURIComponent($("#descrizione-"+id).val()); riga.anno_obiettivo=parseInt($("#anno_obiettivo-"+id).val()) || 0; riga.eta=parseInt($("#eta-"+id).val()); riga.costo_annuale=parseInt($("#costo_annuale-"+id).val()) || 0; riga.durata_anni=parseInt($("#durata_anni-"+id).val()) || 0; riga.invalidita=parseInt($("#invalidita-"+id).val()) || 0; riga.premorienza=parseInt($("#premorienza-"+id).val()) || 0; riga.motivazione=encodeURIComponent($("#motivazione-"+id).val()); riga.id_categoria_obiettivo=parseInt($("#id_categoria_obiettivo-"+id).val()) || 0; riga.id_sottocategoria_obiettivo=parseInt($("#id_sottocategoria_obiettivo-"+id).val()) || 0; riga.invalidita_percentuale=parseInt($("#invalidita_percentuale-"+id).val()) || 0; riga.premorienza_percentuale=parseInt($("#premorienza_percentuale-"+id).val()) || 0; riga.immagine=$("#obiettivo-immagine-"+id).val(); riga.immobiliare_sino=parseInt($("#immobiliare_sino-"+id).val()) || 0; riga.immobiliare_mutuo=parseInt($("#immobiliare_mutuo-"+id).val()) || 0; } _me.dati.obiettivi.data[i]=riga; } _me.setMask(".obiettivo .masked","#.##0"); }, aggiorna_eta: function(eta) { var records=_me.dati.obiettivi.getdata(); for (var i=0;i=riga.inizio_anno && i<=riga.fine_anno) { if (riga.id_tipo_entrata==4) { if (coniuge) { rvalue.totale_coniuge+=riga.importo_annuo; } } else { rvalue.totale_personale+=riga.importo_annuo; } } } } rvalue.totale = rvalue.totale_coniuge+rvalue.totale_personale; return rvalue; }, totaliperperiodoconpensione: function(anno_ini, durata) { var coniuge = _objSessione.dati.parenti.getconiuge(); var rvalue = { totale:0, totale_personale:0, totale_coniuge:0 } var totale=0; var records=_me.dati.entrate_lavoro.getdata(); var eta_persona = _me.calcolaEtaDaAnno(anno_ini,"",parseInt(_me.data_nascita.getFullYear())); var eta_coniuge = 2000; if (coniuge) { var data_nascita=getDate(coniuge.data_nascita,"YYYY/MM/DD"); if (isNaN(data_nascita.getFullYear())) { data_nascita=getDate(coniuge.data_nascita,"DD/MM/YYYY"); } eta_coniuge = _me.calcolaEtaDaAnno(anno_ini,"",parseInt(data_nascita.getFullYear())); } for (var i=anno_ini;i<=anno_ini+durata;i++) { for (var j=0;j=riga.inizio_anno && i<=riga.fine_anno) { if (riga.id_tipo_entrata==4) { if (coniuge) { if (eta_coniuge>=coniuge.pensione_eta) { rvalue.totale_coniuge+=riga.importo_annuo/100*coniuge.pensione_percentuale; } else { rvalue.totale_coniuge+=riga.importo_annuo; } } } else { if (eta_persona>=_me.dati.profilo.data.pensione_eta) { rvalue.totale_personale+=riga.importo_annuo/100*_me.dati.profilo.data.pensione_percentuale; } else { rvalue.totale_personale+=riga.importo_annuo; } } } } eta_persona++; eta_coniuge++; } rvalue.totale = rvalue.totale_coniuge+rvalue.totale_personale; return rvalue; }, aggiorna_eta: function(eta) { var coniuge = _objSessione.dati.parenti.getconiuge(); var anno_coniuge = 0; var records=_me.dati.entrate_lavoro.getdata(); if (coniuge) { var datanascita_coniuge=getDate(coniuge.data_nascita,"YYYY/MM/DD"); if (isNaN(datanascita_coniuge.getFullYear())) { datanascita_coniuge=getDate(coniuge.data_nascita,"DD/MM/YYYY"); } anno_coniuge = parseInt(datanascita_coniuge.getFullYear()); } for (var i=0;i0;i--) { totale_coniuge=0; totale_personale=0; for (var j=0;j=riga.inizio_anno && i<=riga.fine_anno) { if (riga.id_tipo_entrata==4) { totale_coniuge+=riga.importo_annuo; } else { totale_personale+=riga.importo_annuo; } } } if (rvalue.totale_coniuge==0) { rvalue.totale_coniuge=totale_coniuge; } if (rvalue.totale_personale==0) { rvalue.totale_personale=totale_personale; } if (rvalue.totale_coniuge!=0 && rvalue.totale_personale!=0) { i=0; } } rvalue.totale = rvalue.totale_coniuge+rvalue.totale_personale; return rvalue; } }, entrate_rendita: { record: function() { this.id_utente=0; this.id_entrata=0; this.descrizione=""; this.inizio_eta=0; this.inizio_anno=0; this.fine_eta=0; this.fine_anno=0; this.id_tipo_entrata=0; this.importo_annuo=0; this.data_inserimento=""; this.deleted=0; this.desc_tipo_entratauscita=""; this.id_riga = ""; }, data:null, setdata: function(data) { if (data) { _me.dati.entrate_rendita.data=data; } else { _me.dati.entrate_rendita.data = new Array(); } }, getdata: function() { var rvalue=new Array(); for (var i=0;i<_me.dati.entrate_rendita.data.length;i++) { var riga=_me.dati.entrate_rendita.data[i]; if (!riga.deleted || riga.deleted==0) { rvalue.push(riga); } } return rvalue; }, nuovo: function(form,update) { var rvalue = new _me.dati.entrate_rendita.record(); if (update) { rvalue.id_entrata = form["entraterendita-id_entrata"]; rvalue.id_riga = form["entraterendita-id_riga"]; } else { rvalue.id_entrata = _me.getMax(_me.dati.entrate_rendita.data,"id_entrata")+1; rvalue.id_riga = "er-"+dataorarioesteso(); } rvalue.descrizione = form["entraterendita-descrizione"]; rvalue.inizio_eta = parseInt(form["entraterendita-inizio_eta"]); rvalue.inizio_anno = parseInt(form["entraterendita-inizio_anno"]); rvalue.fine_eta = parseInt(form["entraterendita-fine_eta"]); rvalue.fine_anno = parseInt(form["entraterendita-fine_anno"]); rvalue.id_tipo_entrata = parseInt(form["entraterendita-id_tipo_entrata"]); rvalue.importo_annuo = parseInt(form["entraterendita-importo_annuo"]); rvalue.desc_tipo_entratauscita=_me.tabella_descrizione("tipo_entrate_rendita",rvalue.id_tipo_entrata); if (update) { for (var i=0;i<_me.dati.entrate_rendita.data.length;i++) { var riga=_me.dati.entrate_rendita.data[i]; if (riga.id_entrata==rvalue.id_entrata) { _me.dati.entrate_rendita.data[i]=rvalue; i=_me.dati.entrate_rendita.data.length; } } } else { _me.dati.entrate_rendita.data.push(rvalue); } _me.modificatovalori(); return rvalue; }, get: function(id) { var rvalue=false; for (var i=0;i<_me.dati.entrate_rendita.data.length;i++) { var riga=_me.dati.entrate_rendita.data[i]; if (riga.id_entrata==id) { rvalue=riga; } } return rvalue; }, elimina: function(id) { var rvalue=false; for (var i=0;i<_me.dati.entrate_rendita.data.length;i++) { var riga=_me.dati.entrate_rendita.data[i]; if (riga.id_entrata==id) { riga.deleted=1; rvalue=true; _me.modificatovalori(); } } return rvalue; }, totaliperperiodo: function(anno_ini, durata) { var totale=0; var records=_me.dati.entrate_rendita.getdata(); for (var i=anno_ini;i<=anno_ini+durata;i++) { for (var j=0;j=riga.inizio_anno && i<=riga.fine_anno) { totale+=riga.importo_annuo; } } } return totale; }, aggiorna_eta: function(eta) { var records=_me.dati.entrate_rendita.getdata(); for (var i=0;i=riga.inizio_anno && i<=riga.fine_anno) { totale+=riga.importo_annuo; } } } return totale; }, aggiorna_eta: function(eta) { var records=_me.dati.uscite.getdata(); for (var i=0;i=anno) { rvalue+=riga.importo; } } return rvalue; }, residuo: function(anno) { var rvalue=0; var durata=0; var records=_me.dati.debiti_finanziari.getdata(); for (var i=0;i=anno) { durata=riga.anno_scadenza-_me.anno; if (durata>0) { rvalue+=riga.importo/durata; } } } return rvalue; } }, patrimoni_immobiliari: { record: function() { this.id_utente=0; this.id_patrimonio=0; this.id_tipo_patrimonio=0; this.descrizione=""; this.anno_scadenza=0; this.importo=0; this.data_inserimento=""; this.deleted=0; this.desc_tipo_patrimonio=""; this.importo_costo_ricostruzione=0; this.eredita_sino=0; this.eredita_anno=0; this.id_riga = ""; this.comproprieta=0; this.vendita_futura=0; this.vendita_futura_anno=0; this.perc_rivalutazione=0; }, data:null, setdata: function(data) { if (data) { _me.dati.patrimoni_immobiliari.data=data; } else { _me.dati.patrimoni_immobiliari.data = new Array(); } }, getdata: function() { var rvalue=new Array(); for (var i=0;i<_me.dati.patrimoni_immobiliari.data.length;i++) { var riga=_me.dati.patrimoni_immobiliari.data[i]; if (!riga.deleted || riga.deleted==0) { rvalue.push(riga); } } return rvalue; }, get: function(id) { var rvalue=null; for (var i=0;i<_me.dati.patrimoni_immobiliari.data.length;i++) { if (_me.dati.patrimoni_immobiliari.data[i].id_patrimonio==id) { rvalue=_me.dati.patrimoni_immobiliari.data[i]; i=_me.dati.patrimoni_immobiliari.data.length; } } return rvalue; }, nuovo: function(form,update) { var rvalue = new _me.dati.patrimoni_immobiliari.record(); if (update) { rvalue.id_patrimonio = form["patrimoniimmobiliari-id_patrimonio"]; rvalue.id_riga = form["patrimoniimmobiliari-id_riga"]; } else { rvalue.id_patrimonio = _me.getMax(_me.dati.patrimoni_immobiliari.data,"id_patrimonio")+1; rvalue.id_riga = "pi-"+dataorarioesteso(); } rvalue.id_tipo_patrimonio = parseInt(form["patrimoniimmobiliari-id_tipo_patrimonio"]); rvalue.descrizione = form["patrimoniimmobiliari-descrizione"]; rvalue.anno_scadenza = parseInt(form["patrimoniimmobiliari-anno_scadenza"]); rvalue.importo = parseInt(form["patrimoniimmobiliari-importo"]); rvalue.importo_costo_ricostruzione = parseInt(form["patrimoniimmobiliari-importo_costo_ricostruzione"]); rvalue.desc_tipo_patrimonio=_me.tabella_descrizione("tipo_patrimoni_immobiliari",rvalue.id_tipo_patrimonio); if (rvalue.id_tipo_patrimonio==16) { rvalue.eredita_sino = parseInt(form["patrimoniimmobiliari-eredita_sino"]) || 0; rvalue.eredita_anno = parseInt(form["patrimoniimmobiliari-eredita_anno"]) || 0; } else { rvalue.eredita_sino = 0; rvalue.eredita_anno = 0; } rvalue.comproprieta = parseInt(form["patrimoniimmobiliari-comproprieta"]) || 0; rvalue.vendita_futura = parseInt(form["patrimoniimmobiliari-vendita_futura"]) || 0; rvalue.vendita_futura_anno = parseInt(form["patrimoniimmobiliari-vendita_futura_anno"]) || 0; rvalue.perc_rivalutazione = parseFloat(form["patrimoniimmobiliari-perc_rivalutazione"]) || 0; if (update) { for (var i=0;i<_me.dati.patrimoni_immobiliari.data.length;i++) { if (_me.dati.patrimoni_immobiliari.data[i].id_patrimonio==rvalue.id_patrimonio) { _me.dati.patrimoni_immobiliari.data[i]=rvalue; i=_me.dati.patrimoni_immobiliari.data.length; } } } else { _me.dati.patrimoni_immobiliari.data.push(rvalue); } _me.modificatovalori(); return rvalue; }, elimina: function(id) { var rvalue=false; for (var i=0;i<_me.dati.patrimoni_immobiliari.data.length;i++) { var riga=_me.dati.patrimoni_immobiliari.data[i]; if (riga["id_patrimonio"]==id) { riga.deleted=1; rvalue=true; _me.modificatovalori(); i=_me.dati.patrimoni_immobiliari.data.length; } } return rvalue; }, totale: function(anno) { var rvalue = { importo:0, costo_ricostruzione:0 } var records=_me.dati.patrimoni_immobiliari.getdata(); for (var i=0;i=anno && riga.id_obiettivo==0 && riga.id_patrimonio_immobiliare==0) { rvalue+=riga.importo; } } return rvalue; }, residuo: function(anno) { var rvalue=0; var durata=0; var records=_me.dati.debiti_immobiliari.getdata(); for (var i=0;i=anno && riga.id_obiettivo==0 && riga.id_patrimonio_immobiliare==0) { durata=riga.anno_scadenza-_me.anno; if (durata>0) { rvalue+=riga.importo/durata; } } } return rvalue; }, perobiettivo: function(id_obiettivo) { var rvalue=null; var durata=0; var records=_me.dati.debiti_immobiliari.getdata(); for (var i=0;i0) { indice_coerenza=100-totale_indice; } return indice_coerenza; }, colore_indice: function() { var colore="#000000"; var indice_coerenza=_me.dati.coerenza.indice(); if(indice_coerenza >= 80){ colore = '#4169E1'; }else if(indice_coerenza >= 50){ colore = '#6B8E23'; }else if(indice_coerenza >= 0){ colore = '#A52A2A'; }else{ colore = '#ff0000'; } return colore; } } } this.init = function(data_nascita, sessione) { var d = new Date(); _me.anno = d.getFullYear(); _me.eta = calcolaEta(data_nascita); _me.data_nascita = data_nascita; _me.anno_nascita = data_nascita.getFullYear(); var objFunction = new clsFunction(); objFunction.pUrl = "https://www.progettidivita.it/proxy/profilo.dati.sessione.elenco.php?id=0&sessione="+sessione; objFunction.pFormData = null; objFunction.pType = "POST"; objFunction.pAsync = 1; objFunction.run(); objFunction.onComplete = function(objReturn, objJSON, status, xhr) { if (objJSON.errore_descrizione) { $.alert(objJSON.errore_descrizione); } else { _me.dati.sessione.data = objJSON.sessione; _me.dati.sessioni.data = objJSON.sessioni; _me.dati.parenti.data = objJSON.parenti; _me.dati.profilo.data = objJSON.profilo; _me.dati.obiettivi.data = objJSON.obiettivi; _me.dati.entrate_lavoro.data = objJSON.entrate_lavoro; _me.dati.entrate_rendita.data = objJSON.entrate_rendita; _me.dati.entrate_straordinarie.data = objJSON.entrate_straordinarie; _me.dati.uscite.data = objJSON.uscite; _me.dati.patrimoni_finanziari.data = objJSON.patrimoni_finanziari; _me.dati.debiti_finanziari.data = objJSON.debiti_finanziari; _me.dati.patrimoni_immobiliari.data = objJSON.patrimoni_immobiliari; _me.dati.debiti_immobiliari.data = objJSON.debiti_immobiliari; _me.dati.tabelle.data = objJSON.tabelle; _me.aggiornaEta(_me.eta); if (_me.dati.profilo.data.pensione_eta==0) { _me.dati.profilo.data.pensione_eta=67; } if (_me.dati.profilo.data.pensione_percentuale==0) { _me.dati.profilo.data.pensione_percentuale=_me.getpercentuale_pensione(_me.dati.profilo.data.id_professione); } if (_me.dati.profilo.data.inizio_contribuzione_eta==0) { _me.dati.profilo.data.inizio_contribuzione_eta=25; } if (typeof _me.onInizializzato==="function") { _me.onInizializzato(); } } }; objFunction.onError = function(objReturn, objJSON, status, xhr) { console.log("errore"); }; } this.updatedati = function() { displaypopuploading(true); var rdati = _me.data(); var objFunction = new clsFunction(); objFunction.pUrl = "https://www.progettidivita.it/proxy/profilo.dati.sessione.update.php?nn="+Math.floor((Math.random()*100000))+"&id=0"; objFunction.pFormData = encodeURIComponent(JSON.stringify(rdati)); objFunction.pType = "POST"; objFunction.pAsync = 1; objFunction.run(); objFunction.onComplete = function(objReturn, objJSON, status, xhr) { displaypopuploading(false); var messaggio=objJSON.descrizione; console.log("modifiche salvate:"+objJSON.righe_modificate); if (objJSON.sessione_salvata) { console.log(objJSON.sessione_salvata); var data = objJSON.sessione_salvata; var strHtml=""; strHtml+=""; strHtml+=" "+data.data_aggiornamento+""; strHtml+=" "+data.descrizione+""; strHtml+=" "; strHtml+=""; $("#table-sessioni > tbody > tr:first").before(strHtml); } //if (objJSON.righe_modificate==0) { // messaggio="Nessun cambiamento applicato, sessione non salvata"; //} else { // messaggio="Salvataggio eseguito con successo"; // //messaggio="Cambiamenti applicati: "+objJSON.righe_modificate+"
Sessione salvate: "+objJSON.sessione_salvata; //} $.alert(messaggio); }; objFunction.onError = function(objReturn, objJSON, status, xhr) { displaypopuploading(false); console.log("errore"); }; } this.setDataNascita = function(data_nascita) { _me.data_nascita = data_nascita; _me.anno_nascita = data_nascita.getFullYear(); _me.eta = calcolaEta(data_nascita); _me.aggiornaEta(_me.eta); if (typeof _me.onModificataEta==="function") { _me.onModificataEta(); } } this.aggiornaComboEtaEntrateUscite = function(prefix,anno_nascita,eta) { var canno=anno_nascita+eta; var first_eta=0; var first_anno=0; $("#"+prefix+"-inizio_anno").html(""); $("#"+prefix+"-fine_anno").html(""); $("#"+prefix+"-inizio_eta").html(""); $("#"+prefix+"-fine_eta").html(""); for (var i=eta;i<100;i++) { $("#"+prefix+"-inizio_eta").append(""); $("#"+prefix+"-fine_eta").append(""); $("#"+prefix+"-inizio_anno").append(""); $("#"+prefix+"-fine_anno").append(""); canno++; } } this.aggiornaComboEta = function(combo_anno,combo_eta,anno_nascita,eta) { var canno=anno_nascita; var val_anno=0; var val_eta=0; if (combo_anno!="") { val_anno=$(combo_anno).val(); $(combo_anno).html(""); } if (combo_eta!="") { val_eta=$(combo_eta).val(); $(combo_eta).html(""); } for (var i=1;i<100;i++) { if (combo_anno!="") { $(combo_anno).append(""); } if (combo_eta!="") { $(combo_eta).append(""); } canno++; } if (combo_anno!="") { $(combo_anno).val(val_anno); } if (combo_eta!="") { $(combo_eta).val(val_eta); } } this.aggiornaEta = function(eta) { _me.dati.obiettivi.aggiorna_eta(eta); _me.dati.entrate_lavoro.aggiorna_eta(eta); _me.dati.entrate_rendita.aggiorna_eta(eta); _me.dati.uscite.aggiorna_eta(eta); } this.setLoadedEntrateReddito = function(value) { this.loaded_entratereddito = value; if (value) { if (typeof this.onEntrateRedditoLoaded==="function") { this.onEntrateRedditoLoaded(); } this.checkCalcolaCoerenza(); } } this.setLoadedPatrimoniFinanziari = function(value) { this.loaded_patrimonifinanziari = value; if (value) { if (typeof this.onPatrimoniFinanziariLoaded==="function") { this.onPatrimoniFinanziariLoaded(); } this.checkCalcolaCoerenza(); } } this.checkCalcolaCoerenza = function() { if (this.loaded_entratereddito && this.loaded_patrimonifinanziari) { this.ready_calcolacoerenza=true; if (typeof this.onReadyCalcolaCoerenza==="function") { this.onReadyCalcolaCoerenza(); } } } this.raiseOnModificaCoerenza = function() { if (typeof this.onModificaCoerenza==="function") { this.onModificaCoerenza(); } } this.resetMask = function(id) { $(id).unmask(); } this.setMask = function(id,maschera) { $(id).unmask(); $(id).mask(maschera, {reverse: true}); } this.getMax = function(data,id) { var rvalue=0; for (var i=0;irvalue) { rvalue=parseInt(riga[id]); } } return rvalue; } this.calcolaEtaDaAnno = function(anno, destinatario, anno_nascita) { var rvalue = parseInt(anno) - parseInt(anno_nascita); if (destinatario!="") { $(destinatario).val(rvalue); } return rvalue; } this.calcolaAnnoDaEta = function(eta, destinatario, anno_nascita) { var rvalue = parseInt(anno_nascita)+parseInt(eta); $(destinatario).val(rvalue); } this.modificatovalori = function() { if (typeof this.onModificatoValori==="function") { this.onModificatoValori(); this.displaytotali(); var patrimonio_immobiliare = _me.dati.patrimoni_immobiliari.totale(9999); if (patrimonio_immobiliare.importo>0) { $(".patrimonio-immobiliare").show(); } else { $(".patrimonio-immobiliare").hide(); } } } this.profiloAggiornaDati = function() { _me.dati.parenti.refreshdati(); _me.dati.profilo.refreshdati(); _me.modificatovalori(); } this.tabella_descrizione = function(stabella,id) { var rvalue=""; var tabella=null; if (_me.dati.tabelle.data && _me.dati.tabelle.data[stabella]) { tabella=_me.dati.tabelle.data[stabella]; for (var i=0;i0) { //data_nascita = getDate($("#profilo-data_nascita").find("input").val(),"DD/MM/YYYY"); data_nascita = getDate(_me.gedatanascita(),"DD/MM/YYYY"); d = new Date(_objSessione.dati.profilo.data.data_nascita); anno=parseInt(data_nascita.getFullYear()) + parseInt(_objSessione.dati.profilo.data.pensione_eta); ultimo_reddito = _me.dati.entrate_lavoro.ultimo_reddito(anno); com_ultimo_reddito = _me.calcolaMassimalePensione(_me.dati.profilo.data.id_professione, ultimo_reddito.totale_personale); pensione = parseInt(com_ultimo_reddito/100*_me.dati.profilo.data.pensione_percentuale); var anni_maturati = nowYear-_me.dati.profilo.data.inizio_contribuzione; if(anni_maturati >=1){ var pensione_maturata = parseInt(pensione/(anno-_me.dati.profilo.data.inizio_contribuzione)*anni_maturati); }else{ var pensione_maturata = 0; } } $("#profilo-pensione_importo").val(pensione); $("#profilo-pensione_importo_maturata").val(pensione_maturata); pensione=0; if (coniuge) { data_nascita=getDate(coniuge.data_nascita,"YYYY/MM/DD"); if (isNaN(data_nascita.getFullYear())) { data_nascita=getDate(coniuge.data_nascita,"DD/MM/YYYY"); } anno=parseInt(data_nascita.getFullYear()) + parseInt(coniuge.pensione_eta); var ultimo_reddito = _me.dati.entrate_lavoro.ultimo_reddito(anno); com_ultimo_reddito = _me.calcolaMassimalePensione(coniuge.id_professione, ultimo_reddito.totale_coniuge); pensione = parseInt(com_ultimo_reddito/100*coniuge.pensione_percentuale); var inizio_contribuzione_coniuge=parseInt($("#coniuge-inizio_contribuzione").val()) || 0; var anni_maturati = nowYear-inizio_contribuzione_coniuge; // dati inizio contribuzione coniuge if(anni_maturati >=1){ var pensione_maturata = parseInt(pensione/(anno-inizio_contribuzione_coniuge)*anni_maturati); }else{ var pensione_maturata = 0; } } $("#coniuge-pensione_importo").val(pensione); $("#coniuge-pensione_importo_maturata").val(pensione_maturata); if (patrimonioimmobiliare.importo>0) { $("#cmbGraficoObiettivi option[value='3']").show(); } else { $("#cmbGraficoObiettivi option[value='3']").hide(); } _me.setMask("#entrate-future-totali","#.##0"); _me.setMask("#coperture-totale-lavoro","#.##0"); _me.setMask("#coperture-totale-lavoro-negativo","#.##0"); _me.setMask("#coniuge-totale-lavoro","#.##0"); _me.setMask("#coniuge-totale-lavoro-negativo","#.##0"); _me.setMask("#coperture-totale-ricostruzione","#.##0"); _me.setMask("#patrimonifinanziari-totale-calcolato","#.##0"); _me.setMask("#patrimoniimmobiliari-totale-calcolato","#.##0"); _me.setMask("#patrimoniimmobiliari-totale-ricostruzione","#.##0"); _me.setMask("#debitifinanziari-totale-calcolato","#.##0"); _me.setMask("#debitiimmobiliari-totale-calcolato","#.##0"); _me.setMask("#entratereddito-totale-calcolato","#.##0"); _me.setMask("#entratereddito-totale-calcolato-personale","#.##0"); _me.setMask("#entratereddito-totale-calcolato-coniuge","#.##0"); _me.setMask("#entraterendita-totale-calcolato","#.##0"); _me.setMask("#uscite-totale-calcolato","#.##0"); _me.setMask("#entrate-future-totali","#.##0"); _me.setMask("#profilo-pensione_importo","#.##0"); _me.setMask("#profilo-pensione_importo_maturata","#.##0"); _me.setMask("#coniuge-pensione_importo","#.##0"); _me.setMask("#coniuge-pensione_importo_maturata","#.##0"); } this.gedatanascita = function() { var data_nascita = null; data_nascita = $("#profilo-data_nascita").find("input").val(); return data_nascita; } this.data = function() { var rdati = { sessione : _me.dati.sessione.data, parenti : _me.dati.parenti.data, profilo : _me.dati.profilo.data, obiettivi : _me.dati.obiettivi.data, entrate_lavoro : _me.dati.entrate_lavoro.data, entrate_rendita : _me.dati.entrate_rendita.data, entrate_straordinarie : _me.dati.entrate_straordinarie.data, uscite : _me.dati.uscite.data, patrimoni_finanziari : _me.dati.patrimoni_finanziari.data, debiti_finanziari : _me.dati.debiti_finanziari.data, patrimoni_immobiliari : _me.dati.patrimoni_immobiliari.data, debiti_immobiliari : _me.dati.debiti_immobiliari.data } return rdati; } this.sortByKey = function(array, key) { return array.sort(function(a, b) { var x = a[key]; var y = b[key]; return ((x < y) ? -1 : ((x > y) ? 1 : 0)); }); } this.calcola_eta = function(anno_nascita,anno_elemento) { var eta = 0; if (anno_elemento>anno_nascita) { eta = anno_elemento - anno_nascita; } return eta; } this.getpercentuale_pensione = function(id_professione) { var perc = 0; if (id_professione==4) { perc = 60; } else if (id_professione==8) { perc = 50; } else if (id_professione==7) { perc = 30; } return perc; } this.pensionisuperstiti_ricalcola = function() { if (!$("#profilo-pensione_superstiti_confermata").is(":checked")) { calcolapensionesuperstiti("P", false); } if (!$("#coniuge-pensione_superstiti_confermata").is(":checked")) { calcolapensionesuperstiti("C", false); } } this.variazionepremorienza_ricalcola = function() { if (!$("#profilo-premorienza_variazione_confermata").is(":checked")) { var uscite = _me.dati.uscite.totaliperperiodo(_me.anno,0); var parenti = _me.dati.parenti.getdata(); var numparenti = parenti.length+1; var variazione = parseInt(uscite/numparenti*-1); $("#profilo-premorienza_variazione").val(variazione); _me.setMask("#profilo-premorienza_variazione","#.##0"); $("#coniuge-premorienza_variazione").val(variazione); _me.setMask("#coniuge-premorienza_variazione","#.##0"); _me.profiloAggiornaDati(); } } this.onLoaded = function() { _me.pensionisuperstiti_ricalcola(); _me.variazionepremorienza_ricalcola(); } this.calcolaMassimalePensione = function(id_professione, reddito) { var reddito_pensionabile = 0; if (id_professione==4) { //dipendente massimale_pensione = 103055.00000; } else if (id_professione==7) { //professionista massimale_pensione = 125150.00000; } else if (id_professione==8) { //autonomo massimale_pensione = 105014.00000; } else { massimale_pensione = 103055.00000; } if (reddito > massimale_pensione) { reddito_pensionabile = massimale_pensione; } else { reddito_pensionabile = reddito; } return reddito_pensionabile; } } var _objSessione = new clsSessione();