klydekushy commited on
Commit
c274b10
·
verified ·
1 Parent(s): cb2d349

Update src/modules/loans_engine.py

Browse files
Files changed (1) hide show
  1. src/modules/loans_engine.py +28 -16
src/modules/loans_engine.py CHANGED
@@ -500,10 +500,11 @@ def show_loans_engine(client, sheet_name):
500
  nb_versements = 1
501
 
502
  # Affichage résultat simulation immédiate
503
- st.markdown("### Simulation")
504
- res1, res2 = st.columns(2)
505
  res1.metric("Versement unique", f"{int(montant_versement):,} XOF".replace(",", " "))
506
  res2.metric("Coût du crédit", f"{int(cout_credit):,} XOF".replace(",", " "))
 
507
 
508
  # -----------------------------------------------------------
509
  # 2. LOGIQUE MENSUEL - INTÉRÊTS (Remboursement capital à la fin)
@@ -524,11 +525,16 @@ def show_loans_engine(client, sheet_name):
524
  nb_versements = int(duree_mois)
525
 
526
  # Affichage résultat simulation
527
- st.markdown("### Simulation")
528
- res1, res2, res3 = st.columns(3)
529
  res1.metric("Intérêts mensuels", f"{int(interet_mensuel):,} XOF".replace(",", " "))
530
  res2.metric("Dernier versement", f"{int(montant_final_mois):,} XOF".replace(",", " "))
531
- res3.metric("Coût total", f"{int(cout_credit):,} XOF".replace(",", " "))
 
 
 
 
 
532
 
533
  # -----------------------------------------------------------
534
  # 3. LOGIQUE MENSUEL - CONSTANT (Amortissement classique)
@@ -553,10 +559,11 @@ def show_loans_engine(client, sheet_name):
553
  nb_versements = int(duree_mois)
554
 
555
  # Affichage résultat simulation
556
- st.markdown("### Simulation")
557
- res1, res2 = st.columns(2)
558
  res1.metric("Mensualité constante", f"{int(mensualite):,} XOF".replace(",", " "))
559
- res2.metric("Coût total", f"{int(cout_credit):,} XOF".replace(",", " "))
 
560
 
561
  # -----------------------------------------------------------
562
  # 4. LOGIQUE HEBDOMADAIRE
@@ -578,10 +585,11 @@ def show_loans_engine(client, sheet_name):
578
  nb_versements = int(duree_semaines)
579
 
580
  # Affichage résultat simulation
581
- st.markdown("### Simulation")
582
- res1, res2 = st.columns(2)
583
  res1.metric("Versement Hebdo", f"{int(hebdomadalite):,} XOF".replace(",", " "))
584
- res2.metric("Coût total", f"{int(cout_credit):,} XOF".replace(",", " "))
 
585
 
586
 
587
  # 5. LOGIQUE PERSONNALISÉE (Dates manuelles)
@@ -607,7 +615,7 @@ def show_loans_engine(client, sheet_name):
607
  col_d, col_x = st.columns([4, 1])
608
  new_date = col_d.date_input(f"Echéance {idx+1}", value=dt, key=f"d_{idx}", min_value=date.today())
609
  dates_versements.append(new_date)
610
- if col_x.button("", key=f"del_{idx}") and len(st.session_state.dates_perso) > 1:
611
  st.session_state.dates_perso.pop(idx)
612
  st.rerun()
613
 
@@ -626,11 +634,15 @@ def show_loans_engine(client, sheet_name):
626
  montant_versement = montant_total / nb_versements
627
 
628
  # Affichage résultat simulation
629
- st.markdown("### Simulation")
630
- res1, res2, res3 = st.columns(3)
631
  res1.metric("Moyenne/Versement", f"{int(montant_versement):,} XOF".replace(",", " "))
632
- res2.metric("Durée est.", f"{duree_semaines} sem")
633
- res3.metric("Coût total", f"{int(cout_credit):,} XOF".replace(",", " "))
 
 
 
 
634
 
635
  # ====================================================================
636
  # FIN DU BLOC LOGIQUE
 
500
  nb_versements = 1
501
 
502
  # Affichage résultat simulation immédiate
503
+ st.markdown("###Simulation")
504
+ res1, res2, res3 = st.columns(3)
505
  res1.metric("Versement unique", f"{int(montant_versement):,} XOF".replace(",", " "))
506
  res2.metric("Coût du crédit", f"{int(cout_credit):,} XOF".replace(",", " "))
507
+ res3.metric("Montant Total", f"{int(montant_total):,} XOF".replace(",", " "), delta=f"+{int(cout_credit):,}")
508
 
509
  # -----------------------------------------------------------
510
  # 2. LOGIQUE MENSUEL - INTÉRÊTS (Remboursement capital à la fin)
 
525
  nb_versements = int(duree_mois)
526
 
527
  # Affichage résultat simulation
528
+ st.markdown("###Simulation")
529
+ res1, res2 = st.columns(2)
530
  res1.metric("Intérêts mensuels", f"{int(interet_mensuel):,} XOF".replace(",", " "))
531
  res2.metric("Dernier versement", f"{int(montant_final_mois):,} XOF".replace(",", " "))
532
+
533
+ res3, res4 = st.columns(2)
534
+ res3.metric("Coût du crédit", f"{int(cout_credit):,} XOF".replace(",", " "))
535
+ res4.metric("Montant Total", f"{int(montant_total):,} XOF".replace(",", " "), delta=f"+{int(cout_credit):,}")
536
+
537
+
538
 
539
  # -----------------------------------------------------------
540
  # 3. LOGIQUE MENSUEL - CONSTANT (Amortissement classique)
 
559
  nb_versements = int(duree_mois)
560
 
561
  # Affichage résultat simulation
562
+ st.markdown("###Simulation")
563
+ res1, res2, res3 = st.columns(3)
564
  res1.metric("Mensualité constante", f"{int(mensualite):,} XOF".replace(",", " "))
565
+ res2.metric("Coût du crédit", f"{int(cout_credit):,} XOF".replace(",", " "))
566
+ res3.metric("Montant Total", f"{int(montant_total):,} XOF".replace(",", " "), delta=f"+{int(cout_credit):,}")
567
 
568
  # -----------------------------------------------------------
569
  # 4. LOGIQUE HEBDOMADAIRE
 
585
  nb_versements = int(duree_semaines)
586
 
587
  # Affichage résultat simulation
588
+ st.markdown("###Simulation")
589
+ res1, res2, res3 = st.columns(3)
590
  res1.metric("Versement Hebdo", f"{int(hebdomadalite):,} XOF".replace(",", " "))
591
+ res2.metric("Coût du crédit", f"{int(cout_credit):,} XOF".replace(",", " "))
592
+ res3.metric("Montant Total", f"{int(montant_total):,} XOF".replace(",", " "), delta=f"+{int(cout_credit):,}")
593
 
594
 
595
  # 5. LOGIQUE PERSONNALISÉE (Dates manuelles)
 
615
  col_d, col_x = st.columns([4, 1])
616
  new_date = col_d.date_input(f"Echéance {idx+1}", value=dt, key=f"d_{idx}", min_value=date.today())
617
  dates_versements.append(new_date)
618
+ if col_x.button("🔻", key=f"del_{idx}") and len(st.session_state.dates_perso) > 1:
619
  st.session_state.dates_perso.pop(idx)
620
  st.rerun()
621
 
 
634
  montant_versement = montant_total / nb_versements
635
 
636
  # Affichage résultat simulation
637
+ st.markdown("###Simulation")
638
+ res1, res2 = st.columns(2)
639
  res1.metric("Moyenne/Versement", f"{int(montant_versement):,} XOF".replace(",", " "))
640
+ res2.metric("Durée estimée", f"{duree_semaines} sem")
641
+
642
+ res3, res4 = st.columns(2)
643
+ res3.metric("Coût du crédit", f"{int(cout_credit):,} XOF".replace(",", " "))
644
+ res4.metric("Montant Total", f"{int(montant_total):,} XOF".replace(",", " "), delta=f"+{int(cout_credit):,}")
645
+
646
 
647
  # ====================================================================
648
  # FIN DU BLOC LOGIQUE