func genererBilanSimple(userData InfosUser, infos depart.InfosDepartEnRetraite) { log.Debugln("genererBilanSimple : start") t, _ := template.New("BilanSimple").Funcs(template.FuncMap{ "timeToString": depart.TimeToString, }).Parse(BilanDateDeNaissance) trimestresDecote := 16 // au maximum pension.DECOTE_MAX_TRIMESTRES = 20 trimestres decote, _ := depart.CalculerDécotePourTrimestresManquants(trimestresDecote, userData.Naissance) simuDecote := Simulation{ // la décote est limitée à 20 trimestres Trimestres: infos.TrimestresTauxPlein - trimestresDecote, DeltaTrimestres: trimestresDecote, EvolParTrimestre: fmt.Sprintf("%.3f", decote.Decote.Diminution), TauxPension: decote.TauxPension, } deltaTrimestres := 8 simuSurcote := Simulation{ // la surcote n'est pas limitée Trimestres: infos.TrimestresTauxPlein + deltaTrimestres, DeltaTrimestres: deltaTrimestres, EvolParTrimestre: fmt.Sprintf("%.3f", depart.SurcotePourTrimestreSupplementaire()), TauxPension: depart.CalculerSurcotePourTrimestresSupplementaires(deltaTrimestres), } data := TemplateSimpleData{ User: userData, Infos: infos, SimuDecote: simuDecote, SimuSurcote: simuSurcote, } if err := t.Execute(os.Stdout, data); err != nil { log.Fatalf("Le bilan n'a pas pu être généré, err: ", err) } log.Debugln("genererBilanSimple : ok !") }
func preparerDonneesPourTemplate(user InfosUser, dep depart.InfosDepartEnRetraite, tauxPlein depart.CalculDépart) (TemplateReleveData, error) { dateRelevé, err := depart.VérifierRelevé(user.AnnéeRelevé) if err != nil { log.Debugf("Impossible de calculer le nombre de trimestres cotisés, à cause de la date du relevé: %v, err: %v", user.AnnéeRelevé, err) return TemplateReleveData{}, fmt.Errorf("Impossible de calculer le nombre de trimestres cotisés, err: %v", err) } nbTrimestresRestants, err := depart.NombreDeTrimestresEntre(dateRelevé, dep.DateDépartMin) if err != nil { log.Debugf("Impossible de calculer le nombre de trimestres cotisés, à cause de la date du relevé: %v, err: %v", user.AnnéeRelevé, err) return TemplateReleveData{}, fmt.Errorf("Impossible de calculer le nombre de trimestres cotisés, err: %v", err) } departMinTrimestresCotises := nbTrimestresRestants + user.TrimestresCotisés departMinTrimestresManquants := dep.TrimestresTauxPlein - departMinTrimestresCotises calcul, _ := depart.CalculerDécotePourTrimestresManquants(departMinTrimestresManquants, user.Naissance) min := InfosDepartMin{ InfosDepart: InfosDepart{ DateDépart: depart.TimeToString(dep.DateDépartMin), AgeDépart: dep.AgeDépartMin, TrimestresCotisés: departMinTrimestresCotises, }, TrimestresManquants: departMinTrimestresManquants, Decote: calcul, } return TemplateReleveData{ User: user, Infos: dep, DepartMin: min, //TauxPlein:plein, }, nil }