From 90467fd81e32fbeb7b05dfd9ebbc27f2a38cf0d9 Mon Sep 17 00:00:00 2001 From: pablo rodriguez <58742538+1-pablo-rodriguez@users.noreply.github.com> Date: Tue, 11 Jul 2023 14:32:59 +0200 Subject: [PATCH] MAJ V1.0.5 --- base/base_sauvegarde.xml | 2 +- src/Inscriptions/importInscriptionXLS.java | 5 +- src/Windows/Window_demarre.java | 6 +- ...indow_parametreImportationInscription.java | 232 +++++++++++++++++ src/base/base.java | 2 +- ...correspondanceNomDeColonneInscription.java | 52 ++-- src/exportations/exportBaseToExcel.java | 233 +++++++++--------- src/gestion_version/VersionChecker.java | 205 +++++++++------ src/outils/commandes.java | 7 +- 9 files changed, 523 insertions(+), 221 deletions(-) create mode 100644 src/Windows/Window_parametreImportationInscription.java diff --git a/base/base_sauvegarde.xml b/base/base_sauvegarde.xml index e5575b3..9846d94 100644 --- a/base/base_sauvegarde.xml +++ b/base/base_sauvegarde.xml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/Inscriptions/importInscriptionXLS.java b/src/Inscriptions/importInscriptionXLS.java index c8d593c..e8fe630 100644 --- a/src/Inscriptions/importInscriptionXLS.java +++ b/src/Inscriptions/importInscriptionXLS.java @@ -54,8 +54,9 @@ public class importInscriptionXLS { Sheet sheet = workbook.getSheetAt(0); // Vérification du nom de la feuille - if(!sheet.getSheetName().equals("Inscrits détail")) { - JOptionPane.showMessageDialog(null, "Ce n'est pas une feuille d'inscription de luniversité d'Artois."); + if(!sheet.getSheetName().equals(commandes.nomFeuilleExcel_Inscription)) { + JOptionPane.showMessageDialog(null, "Ce n'est pas une feuille d'inscription de luniversité d'Artois.
" + + "Le nom de la feuille doit être : "+commandes.nomFeuilleExcel_Inscription+""); return; } diff --git a/src/Windows/Window_demarre.java b/src/Windows/Window_demarre.java index 280414d..f4b7c84 100644 --- a/src/Windows/Window_demarre.java +++ b/src/Windows/Window_demarre.java @@ -143,10 +143,9 @@ public class Window_demarre extends JFrame { frmEvalwriter.setBounds(100, 100, 789, 636); - if(commandes.newVersion) { - frmEvalwriter.setBounds(100, 100, 789, 745); - } + //Affiche le bouton "Nouvelle version dispoinible". + if(commandes.newVersion) frmEvalwriter.setBounds(100, 100, 789, 745); int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth(); int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight(); @@ -243,6 +242,7 @@ public class Window_demarre extends JFrame { btnNewButton.setForeground(Color.GRAY); btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + Window_parametreImportationInscription.Affiche(); } }); btnNewButton.setFont(new Font("Arial", Font.BOLD, 16)); diff --git a/src/Windows/Window_parametreImportationInscription.java b/src/Windows/Window_parametreImportationInscription.java new file mode 100644 index 0000000..5a9d4f1 --- /dev/null +++ b/src/Windows/Window_parametreImportationInscription.java @@ -0,0 +1,232 @@ +package Windows; + +import java.awt.EventQueue; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; +import javax.swing.JLabel; +import java.awt.Font; +import javax.swing.SwingConstants; +import javax.swing.JTextField; +import java.awt.Color; +import javax.swing.JButton; + +/** + * Fenêtre permettant de changer les paramètres (nom de la feuille, noms des colonnes). + * Pour importer les inscriptions depuis un classeur Ms Excel. + * @author pabr6 + * + */ +public class Window_parametreImportationInscription extends JFrame { + + /** + * + */ + private static final long serialVersionUID = 1L; + private JPanel contentPane; + private JTextField txtNomFeuille; + private JTextField txtNomColonneExcel_Formation; + private JTextField txtNomColonneExcel_NomEtudiant; + private JLabel lblleNomColonneExcel_PrenomEtudiant; + private JTextField txtNomColonneExcel_PrenomEtudiant; + private JLabel lblleNomColonneExcel_CodeEtudiant; + private JTextField txtNomColonneExcel_CodeEtudiant; + private JLabel lblleNomColonneExcel_ProfilEtudiant; + private JTextField txtNomColonneExcel_ProfilEtudiant; + private JLabel lblleNomColonneExcel_BacEtudiant; + private JTextField txtNomColonneExcel_BacEtudiant; + private JLabel lblleNomColonneExcel_PortableEtudiant; + private JTextField txtNomColonneExcel_PortableEtudiant; + private JLabel lblleNomColonneExcel_MailPersoEtudiant; + private JTextField txtNomColonneExcel_MailPersoEtudiant; + private JLabel lblleNomColonneExcel_MailPersoEtudiant_1; + private JTextField txtNomColonneExcel_MailUnivEtudiant; + private JButton btnEnregistrer; + private JLabel lblImage; + + /** + * Lancement de l'affichage de la fenêtre. + */ + public static void Affiche() { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + Window_parametreImportationInscription frame = new Window_parametreImportationInscription(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Crréation de la fenêtre. + */ + public Window_parametreImportationInscription() { + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + + setContentPane(contentPane); + + setTitle("Gestion des inscriptions et des groupes - langues - informatique - stage - rentrée"); + setBounds(0, 0, 1200, 860); + + int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth(); + int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight(); + setLocation(( (screenWidth) - getWidth()) / 2, (screenHeight - getHeight()) / 2); + + setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); + getContentPane().setLayout(null); + + JLabel lblNomFeuilleExcel = new JLabel("Le nom de la feuille contenant
les inscriptions"); + lblNomFeuilleExcel.setHorizontalAlignment(SwingConstants.LEFT); + lblNomFeuilleExcel.setFont(new Font("Arial", Font.BOLD, 14)); + lblNomFeuilleExcel.setBounds(20, 527, 307, 34); + contentPane.add(lblNomFeuilleExcel); + + txtNomFeuille = new JTextField(); + txtNomFeuille.setText("Inscrits détail"); + txtNomFeuille.setFont(new Font("Tahoma", Font.BOLD, 14)); + txtNomFeuille.setBounds(326, 526, 244, 34); + contentPane.add(txtNomFeuille); + txtNomFeuille.setColumns(32); + + JLabel lblleNomColonneExcel_Formation = new JLabel("Le nom de la colonne : formation"); + lblleNomColonneExcel_Formation.setHorizontalAlignment(SwingConstants.LEFT); + lblleNomColonneExcel_Formation.setFont(new Font("Arial", Font.BOLD, 14)); + lblleNomColonneExcel_Formation.setBounds(20, 570, 348, 34); + contentPane.add(lblleNomColonneExcel_Formation); + + txtNomColonneExcel_Formation = new JTextField(); + txtNomColonneExcel_Formation.setText("IAE - Version d'étape (lib. web)"); + txtNomColonneExcel_Formation.setFont(new Font("Tahoma", Font.BOLD, 14)); + txtNomColonneExcel_Formation.setColumns(60); + txtNomColonneExcel_Formation.setBounds(326, 571, 244, 34); + contentPane.add(txtNomColonneExcel_Formation); + + JLabel lblNewLabel = new JLabel("

Si vous rencontrez des difficultés pour importer les données à partir du classeur fourni par le service de récupération des inscriptions des étudiants, il est probable que le nom de la feuille dans le classeur ou le nom des colonnes ne correspondent pas à ceux de l'application.


\r\n

Pour résoudre ce problème, veuillez suivre les étapes suivantes :
\r\n1 - Ouvrez le classeur fourni.
\r\n2 - Copiez les différents noms des colonnes correspondant à chaque information requise par l'application.
\r\n3 - Collez ces noms dans les emplacements appropriés ci-dessous.
\r\n4 - Cliquez sur le bouton \"Enregistrer\"


\r\n

Une fois ces étapes complétées, les informations seront importées et conservées dans la base de données de l'application. Cela devrait permettre une importation correcte des données et assurer leur enregistrement dans la base de données.

"); + lblNewLabel.setForeground(Color.BLUE); + lblNewLabel.setFont(new Font("Arial", Font.BOLD, 14)); + lblNewLabel.setVerticalAlignment(SwingConstants.TOP); + lblNewLabel.setHorizontalAlignment(SwingConstants.LEFT); + lblNewLabel.setBounds(10, 319, 1164, 201); + contentPane.add(lblNewLabel); + + JLabel lblleNomColonneExcel_NomEtudiant = new JLabel("Le nom de la colonne : nom de l'étudiant"); + lblleNomColonneExcel_NomEtudiant.setHorizontalAlignment(SwingConstants.LEFT); + lblleNomColonneExcel_NomEtudiant.setFont(new Font("Arial", Font.BOLD, 14)); + lblleNomColonneExcel_NomEtudiant.setBounds(20, 615, 348, 34); + contentPane.add(lblleNomColonneExcel_NomEtudiant); + + txtNomColonneExcel_NomEtudiant = new JTextField(); + txtNomColonneExcel_NomEtudiant.setText("Individu - Nom"); + txtNomColonneExcel_NomEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14)); + txtNomColonneExcel_NomEtudiant.setColumns(60); + txtNomColonneExcel_NomEtudiant.setBounds(326, 614, 244, 34); + contentPane.add(txtNomColonneExcel_NomEtudiant); + + lblleNomColonneExcel_PrenomEtudiant = new JLabel("Le nom de la colonne : prénom de
l'étudiant"); + lblleNomColonneExcel_PrenomEtudiant.setHorizontalAlignment(SwingConstants.LEFT); + lblleNomColonneExcel_PrenomEtudiant.setFont(new Font("Arial", Font.BOLD, 14)); + lblleNomColonneExcel_PrenomEtudiant.setBounds(20, 660, 338, 34); + contentPane.add(lblleNomColonneExcel_PrenomEtudiant); + + txtNomColonneExcel_PrenomEtudiant = new JTextField(); + txtNomColonneExcel_PrenomEtudiant.setText("Individu - Prénom"); + txtNomColonneExcel_PrenomEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14)); + txtNomColonneExcel_PrenomEtudiant.setColumns(60); + txtNomColonneExcel_PrenomEtudiant.setBounds(326, 660, 244, 34); + contentPane.add(txtNomColonneExcel_PrenomEtudiant); + + lblleNomColonneExcel_CodeEtudiant = new JLabel("Le nom de la colonne : code de l'étudiant"); + lblleNomColonneExcel_CodeEtudiant.setHorizontalAlignment(SwingConstants.LEFT); + lblleNomColonneExcel_CodeEtudiant.setFont(new Font("Arial", Font.BOLD, 14)); + lblleNomColonneExcel_CodeEtudiant.setBounds(20, 704, 307, 34); + contentPane.add(lblleNomColonneExcel_CodeEtudiant); + + txtNomColonneExcel_CodeEtudiant = new JTextField(); + txtNomColonneExcel_CodeEtudiant.setText("Individu - Code Etudiant"); + txtNomColonneExcel_CodeEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14)); + txtNomColonneExcel_CodeEtudiant.setColumns(60); + txtNomColonneExcel_CodeEtudiant.setBounds(326, 705, 244, 34); + contentPane.add(txtNomColonneExcel_CodeEtudiant); + + lblleNomColonneExcel_ProfilEtudiant = new JLabel("Le nom de la colonne : profil de
l'étudiant"); + lblleNomColonneExcel_ProfilEtudiant.setHorizontalAlignment(SwingConstants.LEFT); + lblleNomColonneExcel_ProfilEtudiant.setFont(new Font("Arial", Font.BOLD, 14)); + lblleNomColonneExcel_ProfilEtudiant.setBounds(606, 528, 286, 34); + contentPane.add(lblleNomColonneExcel_ProfilEtudiant); + + txtNomColonneExcel_ProfilEtudiant = new JTextField(); + txtNomColonneExcel_ProfilEtudiant.setText("Profil étudiant (lib.)"); + txtNomColonneExcel_ProfilEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14)); + txtNomColonneExcel_ProfilEtudiant.setColumns(60); + txtNomColonneExcel_ProfilEtudiant.setBounds(905, 527, 244, 34); + contentPane.add(txtNomColonneExcel_ProfilEtudiant); + + lblleNomColonneExcel_BacEtudiant = new JLabel("Le nom de la colonne : bac de l'étudiant"); + lblleNomColonneExcel_BacEtudiant.setHorizontalAlignment(SwingConstants.LEFT); + lblleNomColonneExcel_BacEtudiant.setFont(new Font("Arial", Font.BOLD, 14)); + lblleNomColonneExcel_BacEtudiant.setBounds(606, 571, 307, 34); + contentPane.add(lblleNomColonneExcel_BacEtudiant); + + txtNomColonneExcel_BacEtudiant = new JTextField(); + txtNomColonneExcel_BacEtudiant.setText("Bac ou équivalence (lib.)"); + txtNomColonneExcel_BacEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14)); + txtNomColonneExcel_BacEtudiant.setColumns(60); + txtNomColonneExcel_BacEtudiant.setBounds(905, 571, 244, 34); + contentPane.add(txtNomColonneExcel_BacEtudiant); + + lblleNomColonneExcel_PortableEtudiant = new JLabel("Le nom de la colonne : tél. de l'étudiant"); + lblleNomColonneExcel_PortableEtudiant.setHorizontalAlignment(SwingConstants.LEFT); + lblleNomColonneExcel_PortableEtudiant.setFont(new Font("Arial", Font.BOLD, 14)); + lblleNomColonneExcel_PortableEtudiant.setBounds(606, 616, 307, 34); + contentPane.add(lblleNomColonneExcel_PortableEtudiant); + + txtNomColonneExcel_PortableEtudiant = new JTextField(); + txtNomColonneExcel_PortableEtudiant.setText("Individu - Tél. portable"); + txtNomColonneExcel_PortableEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14)); + txtNomColonneExcel_PortableEtudiant.setColumns(60); + txtNomColonneExcel_PortableEtudiant.setBounds(905, 616, 244, 34); + contentPane.add(txtNomColonneExcel_PortableEtudiant); + + lblleNomColonneExcel_MailPersoEtudiant = new JLabel("Le nom de la colonne : mail personnelle
de l'étudiant"); + lblleNomColonneExcel_MailPersoEtudiant.setHorizontalAlignment(SwingConstants.LEFT); + lblleNomColonneExcel_MailPersoEtudiant.setFont(new Font("Arial", Font.BOLD, 14)); + lblleNomColonneExcel_MailPersoEtudiant.setBounds(606, 661, 307, 34); + contentPane.add(lblleNomColonneExcel_MailPersoEtudiant); + + txtNomColonneExcel_MailPersoEtudiant = new JTextField(); + txtNomColonneExcel_MailPersoEtudiant.setText("Individu - Email personnel"); + txtNomColonneExcel_MailPersoEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14)); + txtNomColonneExcel_MailPersoEtudiant.setColumns(60); + txtNomColonneExcel_MailPersoEtudiant.setBounds(905, 661, 244, 34); + contentPane.add(txtNomColonneExcel_MailPersoEtudiant); + + lblleNomColonneExcel_MailPersoEtudiant_1 = new JLabel("Le nom de la colonne : mail université
de l'étudiant"); + lblleNomColonneExcel_MailPersoEtudiant_1.setHorizontalAlignment(SwingConstants.LEFT); + lblleNomColonneExcel_MailPersoEtudiant_1.setFont(new Font("Arial", Font.BOLD, 14)); + lblleNomColonneExcel_MailPersoEtudiant_1.setBounds(606, 705, 307, 34); + contentPane.add(lblleNomColonneExcel_MailPersoEtudiant_1); + + txtNomColonneExcel_MailUnivEtudiant = new JTextField(); + txtNomColonneExcel_MailUnivEtudiant.setText("Individu - Email"); + txtNomColonneExcel_MailUnivEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14)); + txtNomColonneExcel_MailUnivEtudiant.setColumns(60); + txtNomColonneExcel_MailUnivEtudiant.setBounds(905, 705, 244, 34); + contentPane.add(txtNomColonneExcel_MailUnivEtudiant); + + btnEnregistrer = new JButton("Enregistrer"); + btnEnregistrer.setFont(new Font("Tahoma", Font.BOLD, 18)); + btnEnregistrer.setBounds(10, 749, 1164, 61); + contentPane.add(btnEnregistrer); + + lblImage = new JLabel(""); + lblImage.setBounds(10, 11, 1164, 297); + contentPane.add(lblImage); + + } +} diff --git a/src/base/base.java b/src/base/base.java index 2fd56fd..7cf53c8 100644 --- a/src/base/base.java +++ b/src/base/base.java @@ -53,7 +53,7 @@ public class base { nBase.setAttribut("Excel_"+commandes.nomColonneMailPersoEtudiant,commandes.nomColonneExcel_MailPersoEtudiant); nBase.setAttribut("Excel_"+commandes.nomColonneMailUnivEtudiant,commandes.nomColonneExcel_MailUnivEtudiant); - + nBase.setAttribut("Excel_Feuille_Inscription",commandes.nomFeuilleExcel_Inscription); String defaultValue = "2022-2023"; diff --git a/src/base/correspondanceNomDeColonneInscription.java b/src/base/correspondanceNomDeColonneInscription.java index d639708..23892cf 100644 --- a/src/base/correspondanceNomDeColonneInscription.java +++ b/src/base/correspondanceNomDeColonneInscription.java @@ -7,28 +7,38 @@ import outils.supprimeCaracatresSpeciaux; public class correspondanceNomDeColonneInscription { + /** + * Chargement des valeurs qui sont présentes dans la base. + */ public static void chargement() { // Valeurs par défaut - commandes.nomColonneFormation = commandes.nBase.getAttributes("Formation"); - commandes.nomColonneNomEtudiant = commandes.nBase.getAttributes("Individu_-_Nom"); - commandes.nomColonnePrenomEtudiant = commandes.nBase.getAttributes("Individu_-_Prenom"); - commandes.nomColonneCodeEtudiant = commandes.nBase.getAttributes("Individu_-_Code_Etudiant"); - commandes.nomColonneProfilEtudiant = commandes.nBase.getAttributes("Profil_etudiant_lib."); - commandes.nomColonneBacEtudiant = commandes.nBase.getAttributes("Bac_ou_equivalence_lib."); - commandes.nomColonnePortableEtudiant = commandes.nBase.getAttributes("Individu_-_Tel._portable"); - commandes.nomColonneMailPersoEtudiant = commandes.nBase.getAttributes("Individu_-_Email_personnel"); - commandes.nomColonneMailUnivEtudiant = commandes.nBase.getAttributes("Individu_-_Email"); - - commandes.nomColonneExcel_Formation = commandes.nBase.getAttributes("Excel_Formation"); - commandes.nomColonneExcel_NomEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Nom"); - commandes.nomColonneExcel_PrenomEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Prenom"); - commandes.nomColonneExcel_CodeEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Code_Etudiant"); - commandes.nomColonneExcel_ProfilEtudiant = commandes.nBase.getAttributes("Excel_Profil_etudiant_lib."); - commandes.nomColonneExcel_BacEtudiant = commandes.nBase.getAttributes("Excel_Bac_ou_equivalence_lib."); - commandes.nomColonneExcel_PortableEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Tel._portable"); - commandes.nomColonneExcel_MailPersoEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Email_personnel"); - commandes.nomColonneExcel_MailUnivEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Email"); - + if(commandes.nBase!=null) { + commandes.nomColonneFormation = commandes.nBase.getAttributes("Formation"); + commandes.nomColonneNomEtudiant = commandes.nBase.getAttributes("Individu_-_Nom"); + commandes.nomColonnePrenomEtudiant = commandes.nBase.getAttributes("Individu_-_Prenom"); + commandes.nomColonneCodeEtudiant = commandes.nBase.getAttributes("Individu_-_Code_Etudiant"); + commandes.nomColonneProfilEtudiant = commandes.nBase.getAttributes("Profil_etudiant_lib."); + commandes.nomColonneBacEtudiant = commandes.nBase.getAttributes("Bac_ou_equivalence_lib."); + commandes.nomColonnePortableEtudiant = commandes.nBase.getAttributes("Individu_-_Tel._portable"); + commandes.nomColonneMailPersoEtudiant = commandes.nBase.getAttributes("Individu_-_Email_personnel"); + commandes.nomColonneMailUnivEtudiant = commandes.nBase.getAttributes("Individu_-_Email"); + + commandes.nomColonneExcel_Formation = commandes.nBase.getAttributes("Excel_Formation"); + commandes.nomColonneExcel_NomEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Nom"); + commandes.nomColonneExcel_PrenomEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Prenom"); + commandes.nomColonneExcel_CodeEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Code_Etudiant"); + commandes.nomColonneExcel_ProfilEtudiant = commandes.nBase.getAttributes("Excel_Profil_etudiant_lib."); + commandes.nomColonneExcel_BacEtudiant = commandes.nBase.getAttributes("Excel_Bac_ou_equivalence_lib."); + commandes.nomColonneExcel_PortableEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Tel._portable"); + commandes.nomColonneExcel_MailPersoEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Email_personnel"); + commandes.nomColonneExcel_MailUnivEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Email"); + + commandes.nomFeuilleExcel_Inscription = commandes.nBase.getAttributes("Excel_Feuille_Inscription"); + + }else { + chargementParDefaut(); + } + } /** @@ -48,6 +58,8 @@ public class correspondanceNomDeColonneInscription { commandes.nomColonneExcel_MailPersoEtudiant = "Individu - Email personnel"; commandes.nomColonneExcel_MailUnivEtudiant = "Individu - Email"; + commandes.nomFeuilleExcel_Inscription = "Inscrits détail"; + commandes.nomColonneFormation = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_Formation);//"IAE_-_Version_detape_lib._web"; commandes.nomColonneNomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_NomEtudiant);//"Individu_-_Nom"; commandes.nomColonnePrenomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_PrenomEtudiant);; //"Individu_-_Prenom"; diff --git a/src/exportations/exportBaseToExcel.java b/src/exportations/exportBaseToExcel.java index 0094a54..12a78f8 100644 --- a/src/exportations/exportBaseToExcel.java +++ b/src/exportations/exportBaseToExcel.java @@ -11,8 +11,18 @@ import outils.FileSaveXLSX; import outils.commandes; import outils.noeud; +/** + * Exportation de la base ou d'une partie de la base vers un classeur Ms Excel. + * @author pabr6 + * + */ public class exportBaseToExcel { + /** + * type d'exportation + * @author pabr6 + * + */ public static enum exportType { TABLE, EMARGEMENT, @@ -20,7 +30,9 @@ public class exportBaseToExcel { } - + /** + * Exportation de toute la base + */ public static void exportBase() { // Données @@ -127,122 +139,121 @@ public class exportBaseToExcel { } - + /** + * Exportation de la table pour réaliser la mise à jour ou la feuille d'émargement + * @param nTable + * @param type + */ public static void exportTable(noeud nTable,exportType type) { // Données - if(nTable.getFirstChild()==null) { - JPanel panel = new JPanel(); - JLabel message = new JLabel("

La table de données est vide.

"); - panel.add(message); - JOptionPane.showMessageDialog(null, panel, "Erreur", JOptionPane.ERROR_MESSAGE); - return; - } - - - Object[][] data = new Object[1][33]; - - String formation = nTable.getFirstChild().getAttributes("IAE_-_Version_detape_lib._web"); - - - data[0][0] = nTable.getFirstChild().getAttributes("IAE_-_Version_detape_lib._web"); - data[0][1] = "Formation"; - data[0][2] = commandes.nomColonneFormation; //"Individu_-_Code_Etudiant"; - data[0][3] = commandes.nomColonnePrenomEtudiant;//"Individu_-_Prenom"; - data[0][4] = commandes.nomColonneNomEtudiant;//"Individu_-_Nom"; - data[0][5] = commandes.nomColonneProfilEtudiant;//"Profil_etudiant_lib."; - data[0][6] = commandes.nomColonnePortableEtudiant; //"Individu_-_Tel._portable"; - data[0][7] = commandes.nomColonneMailPersoEtudiant; //"Individu_-_Email_personnel"; - data[0][8] = commandes.nomColonneMailUnivEtudiant; //"Individu_-_Email"; - data[0][9] = "Groupe_Principal"; - data[0][10] = "Groupe_TD"; - data[0][11] = "Groupe_LV1"; - data[0][12] = "Groupe_LV2"; - data[0][13] = "Groupe_Informatique"; - data[0][14] = "Groupe_Projet"; - data[0][15] = "Groupe_Doc"; - data[0][16] = "Groupe_TP"; - data[0][17] = "LV1"; - data[0][18] = "LV2"; - data[0][19] = "Regime"; - data[0][20] = "Atelier-rentree_horaire"; - data[0][21] = "Atelier_pre-rentree_enseignant"; - data[0][22] = "Atelier_pre-rentree_salle"; - data[0][23] = "UE_Libre"; - data[0][24] = "Covoiturage"; - data[0][25] = "Etudiant_Covoiturage"; - data[0][26] = "Stage_1"; - data[0][27] = "Num_convention_1"; - data[0][28] = "Periode_1"; - data[0][29] = "Stage_2"; - data[0][30] = "Num_convention_2"; - data[0][31] = "Periode_2"; - - - String[][] data1 = new String[nTable.getChildren().size()][31]; - - int indexStudent = 0; - for(noeud nStudent : nTable.getChildren()) { - data1[indexStudent][0] = nStudent.getAttributes(commandes.nomColonneFormation);; - data1[indexStudent][1] = nStudent.getAttributes(commandes.nomColonneCodeEtudiant); - data1[indexStudent][2] = nStudent.getAttributes(commandes.nomColonnePrenomEtudiant); - data1[indexStudent][3] = nStudent.getAttributes(commandes.nomColonneNomEtudiant); - data1[indexStudent][4] = nStudent.getAttributes(commandes.nomColonneProfilEtudiant); - data1[indexStudent][5] = nStudent.getAttributes(commandes.nomColonnePortableEtudiant); - data1[indexStudent][6] = nStudent.getAttributes(commandes.nomColonneMailPersoEtudiant); - data1[indexStudent][7] = nStudent.getAttributes(commandes.nomColonneMailUnivEtudiant); - data1[indexStudent][8] = nStudent.getAttributes("Groupe_Principal"); - data1[indexStudent][9] = nStudent.getAttributes("Groupe_TD"); - data1[indexStudent][10] = nStudent.getAttributes("Groupe_LV1"); - data1[indexStudent][11] = nStudent.getAttributes("Groupe_LV2"); - data1[indexStudent][12] = nStudent.getAttributes("Groupe_Informatique"); - data1[indexStudent][13] = nStudent.getAttributes("Groupe_Projet"); - data1[indexStudent][14] = nStudent.getAttributes("Groupe_Doc"); - data1[indexStudent][15] = nStudent.getAttributes("Groupe_TP"); - data1[indexStudent][16] = nStudent.getAttributes("LV1"); - data1[indexStudent][17] = nStudent.getAttributes("LV2"); - data1[indexStudent][18] = nStudent.getAttributes("Regime"); - data1[indexStudent][19] = nStudent.getAttributes("Atelier-rentree_horaire"); - data1[indexStudent][20] = nStudent.getAttributes("Atelier_pre-rentree_enseignant"); - data1[indexStudent][21] = nStudent.getAttributes("Atelier_pre-rentree_salle"); - data1[indexStudent][22] = nStudent.getAttributes("UE_Libre"); - data1[indexStudent][23] = nStudent.getAttributes("Covoiturage"); - data1[indexStudent][24] = nStudent.getAttributes("Etudiant_Covoiturage"); - data1[indexStudent][25] = nStudent.getAttributes("Stage_1"); - data1[indexStudent][26] = nStudent.getAttributes("Num_convention_1"); - data1[indexStudent][27] = nStudent.getAttributes("Periode_1"); - data1[indexStudent][28] = nStudent.getAttributes("Stage_2"); - data1[indexStudent][29] = nStudent.getAttributes("Num_convention_2"); - data1[indexStudent][30] = nStudent.getAttributes("Periode_2"); - - data[0][32] = data1; - indexStudent++; - } + if(nTable.getFirstChild()==null) { + JPanel panel = new JPanel(); + JLabel message = new JLabel("

La table de données est vide.

"); + panel.add(message); + JOptionPane.showMessageDialog(null, panel, "Erreur", JOptionPane.ERROR_MESSAGE); + return; + } + + + Object[][] data = new Object[1][33]; + + String formation = nTable.getFirstChild().getAttributes("IAE_-_Version_detape_lib._web"); + + + data[0][0] = nTable.getFirstChild().getAttributes("IAE_-_Version_detape_lib._web"); + data[0][1] = "Formation"; + data[0][2] = commandes.nomColonneFormation; //"Individu_-_Code_Etudiant"; + data[0][3] = commandes.nomColonnePrenomEtudiant;//"Individu_-_Prenom"; + data[0][4] = commandes.nomColonneNomEtudiant;//"Individu_-_Nom"; + data[0][5] = commandes.nomColonneProfilEtudiant;//"Profil_etudiant_lib."; + data[0][6] = commandes.nomColonnePortableEtudiant; //"Individu_-_Tel._portable"; + data[0][7] = commandes.nomColonneMailPersoEtudiant; //"Individu_-_Email_personnel"; + data[0][8] = commandes.nomColonneMailUnivEtudiant; //"Individu_-_Email"; + data[0][9] = "Groupe_Principal"; + data[0][10] = "Groupe_TD"; + data[0][11] = "Groupe_LV1"; + data[0][12] = "Groupe_LV2"; + data[0][13] = "Groupe_Informatique"; + data[0][14] = "Groupe_Projet"; + data[0][15] = "Groupe_Doc"; + data[0][16] = "Groupe_TP"; + data[0][17] = "LV1"; + data[0][18] = "LV2"; + data[0][19] = "Regime"; + data[0][20] = "Atelier-rentree_horaire"; + data[0][21] = "Atelier_pre-rentree_enseignant"; + data[0][22] = "Atelier_pre-rentree_salle"; + data[0][23] = "UE_Libre"; + data[0][24] = "Covoiturage"; + data[0][25] = "Etudiant_Covoiturage"; + data[0][26] = "Stage_1"; + data[0][27] = "Num_convention_1"; + data[0][28] = "Periode_1"; + data[0][29] = "Stage_2"; + data[0][30] = "Num_convention_2"; + data[0][31] = "Periode_2"; + + + String[][] data1 = new String[nTable.getChildren().size()][31]; + + int indexStudent = 0; + for(noeud nStudent : nTable.getChildren()) { + data1[indexStudent][0] = nStudent.getAttributes(commandes.nomColonneFormation);; + data1[indexStudent][1] = nStudent.getAttributes(commandes.nomColonneCodeEtudiant); + data1[indexStudent][2] = nStudent.getAttributes(commandes.nomColonnePrenomEtudiant); + data1[indexStudent][3] = nStudent.getAttributes(commandes.nomColonneNomEtudiant); + data1[indexStudent][4] = nStudent.getAttributes(commandes.nomColonneProfilEtudiant); + data1[indexStudent][5] = nStudent.getAttributes(commandes.nomColonnePortableEtudiant); + data1[indexStudent][6] = nStudent.getAttributes(commandes.nomColonneMailPersoEtudiant); + data1[indexStudent][7] = nStudent.getAttributes(commandes.nomColonneMailUnivEtudiant); + data1[indexStudent][8] = nStudent.getAttributes("Groupe_Principal"); + data1[indexStudent][9] = nStudent.getAttributes("Groupe_TD"); + data1[indexStudent][10] = nStudent.getAttributes("Groupe_LV1"); + data1[indexStudent][11] = nStudent.getAttributes("Groupe_LV2"); + data1[indexStudent][12] = nStudent.getAttributes("Groupe_Informatique"); + data1[indexStudent][13] = nStudent.getAttributes("Groupe_Projet"); + data1[indexStudent][14] = nStudent.getAttributes("Groupe_Doc"); + data1[indexStudent][15] = nStudent.getAttributes("Groupe_TP"); + data1[indexStudent][16] = nStudent.getAttributes("LV1"); + data1[indexStudent][17] = nStudent.getAttributes("LV2"); + data1[indexStudent][18] = nStudent.getAttributes("Regime"); + data1[indexStudent][19] = nStudent.getAttributes("Atelier-rentree_horaire"); + data1[indexStudent][20] = nStudent.getAttributes("Atelier_pre-rentree_enseignant"); + data1[indexStudent][21] = nStudent.getAttributes("Atelier_pre-rentree_salle"); + data1[indexStudent][22] = nStudent.getAttributes("UE_Libre"); + data1[indexStudent][23] = nStudent.getAttributes("Covoiturage"); + data1[indexStudent][24] = nStudent.getAttributes("Etudiant_Covoiturage"); + data1[indexStudent][25] = nStudent.getAttributes("Stage_1"); + data1[indexStudent][26] = nStudent.getAttributes("Num_convention_1"); + data1[indexStudent][27] = nStudent.getAttributes("Periode_1"); + data1[indexStudent][28] = nStudent.getAttributes("Stage_2"); + data1[indexStudent][29] = nStudent.getAttributes("Num_convention_2"); + data1[indexStudent][30] = nStudent.getAttributes("Periode_2"); + + data[0][32] = data1; + indexStudent++; + } - // Trier le data1 par ordre aphabétique de la troisième colonne (les noms) - Arrays.sort(data1, Comparator.comparing(row -> row[3])); - - if(data.length>0) { - - - FileSaveXLSX s = new FileSaveXLSX(); - s.save(data, formation, type); - - - }else { - JPanel panel = new JPanel(); - JLabel message = new JLabel("

La table de données est vide.

"); - panel.add(message); - JOptionPane.showMessageDialog(null, panel, "Erreur", JOptionPane.ERROR_MESSAGE); - } - - - + // Trier le data1 par ordre aphabétique de la troisième colonne (les noms) + Arrays.sort(data1, Comparator.comparing(row -> row[3])); + + if(data.length>0) { + + + FileSaveXLSX s = new FileSaveXLSX(); + s.save(data, formation, type); + + + }else { + JPanel panel = new JPanel(); + JLabel message = new JLabel("

La table de données est vide.

"); + panel.add(message); + JOptionPane.showMessageDialog(null, panel, "Erreur", JOptionPane.ERROR_MESSAGE); + } + } - - - } diff --git a/src/gestion_version/VersionChecker.java b/src/gestion_version/VersionChecker.java index 5a47c44..e5f4606 100644 --- a/src/gestion_version/VersionChecker.java +++ b/src/gestion_version/VersionChecker.java @@ -18,6 +18,13 @@ import outils.commandes; import outils.lectureXML; import outils.noeud; +/** + * Permet la vérification d'une nouvelle version disponible sur la forge de Chapril. + * Permet la mise à jour de la base pour prendre en cmopte les modifications de l'application. + * Permet de vérifier la compatibilité de la version de la base avec celle de l'application. + * @author pabr6 + * + */ public class VersionChecker { /** @@ -130,96 +137,25 @@ public class VersionChecker { String versionDeLaBase = nBase.getAttributes("version"); // les version 1.0.1 et 1.0.2 n'avaient pas l'attribut version dans le noeud de la base. - if(versionDeLaBase==null) { - versionDeLaBase = "1.0.2"; - } + if(versionDeLaBase==null) versionDeLaBase = "1.0.2"; - - String[] VersionApplicationSplit = commandes.version.split("\\."); - String[] VersionBaseSplit = versionDeLaBase.split("\\."); - - boolean newV = false; - - if( Integer.valueOf(VersionBaseSplit[0]) < Integer.valueOf(VersionApplicationSplit[0]) ) { - newV=true; - }else if ((Integer.valueOf(VersionBaseSplit[0])==Integer.valueOf(VersionApplicationSplit[0])) - && (Integer.valueOf(VersionBaseSplit[1]) < Integer.valueOf(VersionApplicationSplit[1]))) { - newV=true; - }else if ((Integer.valueOf(VersionBaseSplit[0])==Integer.valueOf(VersionApplicationSplit[0])) - && (Integer.valueOf(VersionBaseSplit[1]) == Integer.valueOf(VersionApplicationSplit[1])) - && (Integer.valueOf(VersionBaseSplit[2])