From a199fcf093d5a5d1b45637e7798200dae976f3ad Mon Sep 17 00:00:00 2001 From: La Programmatrice Verde Date: Thu, 19 Mar 2026 22:50:04 +0100 Subject: [PATCH] Impostazione dati --- src/gestioneferie/Dipendente.java | 7 ++++++- src/gestioneferie/GestioneFerie.java | 24 +++++++++++++++++++++++- src/gestioneferie/Richiesta_Ferie.java | 6 ++++++ 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/gestioneferie/Dipendente.java b/src/gestioneferie/Dipendente.java index 7c14659..7de20a5 100644 --- a/src/gestioneferie/Dipendente.java +++ b/src/gestioneferie/Dipendente.java @@ -5,7 +5,7 @@ public class Dipendente { private String nome; private String cognome; private int giorniFerieResidui = 0; - private static final int GIORNI_FERIE_TOTALI = 35; + public static final int GIORNI_FERIE_TOTALI = 35; public Dipendente(String codiceFiscale, String nome, String cognome) { this.codiceFiscale = codiceFiscale; @@ -23,6 +23,11 @@ public class Dipendente { public String getCognome() { return cognome; + } + + public void setGiorniFerieResidui(int giorniFerieResidui) { + this.giorniFerieResidui = giorniFerieResidui; } + } diff --git a/src/gestioneferie/GestioneFerie.java b/src/gestioneferie/GestioneFerie.java index dd9920c..e842a37 100644 --- a/src/gestioneferie/GestioneFerie.java +++ b/src/gestioneferie/GestioneFerie.java @@ -199,10 +199,32 @@ public class GestioneFerie { } while (error); richieste.add(new Richiesta_Ferie(codiceFiscale, inizio, fine)); + +getDipendente(codiceFiscale, dipendenti).setGiorniFerieResidui((int) (fine.getTimeInMillis() / (24 * 60 * 60 * 1000) + - inizio.getTimeInMillis() / (24 * 60 * 60 * 1000))); + } + + private static Dipendente getDipendente(String codiceFiscale, ArrayList dipendenti) { + for (Dipendente dipendente : dipendenti) { + if (dipendente.getCodiceFiscale().equals(codiceFiscale)) { + return dipendente; + } + } + return null; + } + + private static Dipendente getDipendente(String nome, String cognome, String codiceFiscale, ArrayList dipendenti) { + for (Dipendente dipendente : dipendenti) { + if (dipendente.getNome().equals(nome) && dipendente.getCognome().equals(cognome) && dipendente.getCodiceFiscale().equals(codiceFiscale)) { + return dipendente; + } + } + return null; } private static boolean isPeriodoValido(Calendar inizio, Calendar fine) { - return inizio.before(fine) && inizio.after(new Date()) && fine.getTimeInMillis() / (24 * 60 * 60 * 1000) >= 1; // da millisecondi a giorni + return inizio.before(fine) && inizio.after(new Date()) && fine.getTimeInMillis() / (24 * 60 * 60 * 1000) >= 1 && (int) (fine.getTimeInMillis() / (24 * 60 * 60 * 1000) + - inizio.getTimeInMillis() / (24 * 60 * 60 * 1000)) <= Dipendente.GIORNI_FERIE_TOTALI; // da millisecondi a giorni } private static String richiestaExists(String codiceFiscale, Calendar inizio, Calendar fine, diff --git a/src/gestioneferie/Richiesta_Ferie.java b/src/gestioneferie/Richiesta_Ferie.java index d730839..568c47d 100644 --- a/src/gestioneferie/Richiesta_Ferie.java +++ b/src/gestioneferie/Richiesta_Ferie.java @@ -19,6 +19,8 @@ public class Richiesta_Ferie { this.codiceFiscale = codiceFiscale; this.inizio = inizio; this.fine = fine; + this.giorniFerie = (int) (fine.getTimeInMillis() / (24 * 60 * 60 * 1000) + - inizio.getTimeInMillis() / (24 * 60 * 60 * 1000)); } public String getCodiceFiscale() { @@ -35,5 +37,9 @@ public class Richiesta_Ferie { public statiApprovazione getStato() { return stato; } + + public int getGiorniFerie() { + return giorniFerie; + } }