This commit is contained in:
pablo rodriguez 2024-12-17 16:46:28 +01:00
parent 8fd25394dc
commit 0dbaeeefa5
26 changed files with 270 additions and 14 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

87
ensembleResultats.csv Normal file
View File

@ -0,0 +1,87 @@
nomEtudiant;note;pourcentage
Alex Marechal;8.0;1.0
Alexandre Berthelin;6.331623931623931;0.7914529914529914
Alexis Legrand;7.2615384615384615;0.9076923076923077
Alexy Lefebvre;7.288888888888889;0.9111111111111111
Amelie Bruniaux;7.726495726495727;0.9658119658119658
Anais Blondel;6.714529914529915;0.8393162393162393
Anais Najdecki;6.2905982905982905;0.7863247863247863
Antoine Duponchelle;6.276923076923077;0.7846153846153846
Antoine Ponchel;7.589743589743589;0.9487179487179487
Apolline Michel;7.07008547008547;0.8837606837606837
Arthur Willart;6.413675213675214;0.8017094017094017
Aurelien Ben Yahia;7.1521367521367525;0.8940170940170941
Axel Aoumat;4.4854700854700855;0.5606837606837607
Axel Cadart;7.2615384615384615;0.9076923076923077
Aymeric Grenier;7.726495726495727;0.9658119658119658
Baptiste Fynnaert;7.2615384615384615;0.9076923076923077
Charles Carron;6.55042735042735;0.8188034188034188
Chloe Mazur;7.589743589743589;0.9487179487179487
Clara Bruneau;5.2786324786324785;0.6598290598290598
Clement Legrand;7.042735042735043;0.8803418803418803
Cyril Massart;6.017094017094017;0.7521367521367521
Doriane Bernard;6.878632478632479;0.8598290598290599
Elliot Pilawa;4.658407079646017;0.5823008849557522
Elodie Vaesken;6.441025641025641;0.8051282051282052
Enora-Lou Deplanque;4.581196581196581;0.5726495726495726
Esteban Devos Devulder;6.536752136752137;0.8170940170940171
Gabriel Humain;7.288888888888889;0.9111111111111111
Helene Adjal;6.276923076923077;0.7846153846153846
Hugo Guffroy;6.427350427350428;0.8034188034188035
Imen Belaiche;7.726495726495727;0.9658119658119658
Ines Aubier;7.617094017094017;0.9521367521367521
Ines El Karami;7.589743589743589;0.9487179487179487
Issam Benzemra--Petit;7.671794871794872;0.958974358974359
Jane Gosset;7.17948717948718;0.8974358974358975
Jeremy Legros;5.032478632478632;0.629059829059829
Julie Rohart;6.823931623931624;0.852991452991453
Justine Bertin;6.933333333333334;0.8666666666666667
Justine Mikolajczak;6.988034188034188;0.8735042735042735
Lali Vin;7.562393162393162;0.9452991452991453
Lea Denys;7.17948717948718;0.8974358974358975
Leo Marin;7.097435897435897;0.8871794871794871
Lilian Lamorille;5.264957264957265;0.6581196581196581
Lisa Baran;6.960683760683761;0.8700854700854701
Lucas Canon;7.671794871794872;0.958974358974359
Lucie Delong;7.17948717948718;0.8974358974358975
Luna Hemery;7.671794871794872;0.958974358974359
Maeline Humez;7.562393162393162;0.9452991452991453
Manon Cassel;7.726495726495727;0.9658119658119658
Martin Pilot;6.851282051282051;0.8564102564102564
Mateo Darras;6.358974358974359;0.7948717948717948
Matheo Guerineau;7.206837606837607;0.9008547008547009
Matheo Normand;7.671794871794872;0.958974358974359
Mathilde Carlier;6.4683760683760685;0.8085470085470086
Mathilde Konury;7.4393162393162395;0.9299145299145299
Mathis Carlier;7.398290598290599;0.9247863247863248
Mathys Calesse;7.124786324786324;0.8905982905982905
Mehdi Boutchich;5.880341880341881;0.7350427350427351
Melanie Bouchoir;7.220512820512821;0.9025641025641026
Melusine Miletti;6.140170940170941;0.7675213675213676
Mickael Lenclud;2.9168141592920356;0.36460176991150445
Noah Desfachelles;5.798290598290598;0.7247863247863248
Noah Halluin;3.157522123893805;0.39469026548672564
Oceane Decroix;7.124786324786324;0.8905982905982905
Pablo Rodriguez;6.769230769230769;0.8461538461538461
Quentin Stautemas;6.5777777777777775;0.8222222222222222
Raphael Rivaux;2.8034188034188032;0.3504273504273504
Remi Delaval;6.65982905982906;0.8324786324786325
Remi Delvalle;7.425641025641026;0.9282051282051282
Remy Maeght;4.772649572649573;0.5965811965811966
Romain Bruni;7.206837606837607;0.9008547008547009
Romain Delrue;7.015384615384615;0.8769230769230769
Ronan Bourdrel;7.617094017094017;0.9521367521367521
Simon Ducrocq;7.316239316239316;0.9145299145299145
Solene Marien;7.671794871794872;0.958974358974359
Stefan Gaudin;4.3076923076923075;0.5384615384615384
Tanguy Delavier;6.905982905982906;0.8632478632478633
Theo Duprez;6.769230769230769;0.8461538461538461
Theo Justin;7.124786324786324;0.8905982905982905
Theo Rouze;7.671794871794872;0.958974358974359
Theo Verlet;7.617094017094017;0.9521367521367521
Thomas Renard;6.714529914529915;0.8393162393162393
Thomas Thevenin;5.948717948717949;0.7435897435897436
Tristan Quesson;6.208547008547009;0.7760683760683761
Tyffene Viseur;7.288888888888889;0.9111111111111111
Vytto Scilironi;5.894017094017094;0.7367521367521368
Yvonnick Levis;7.17948717948718;0.8974358974358975
1 nomEtudiant note pourcentage
2 Alex Marechal 8.0 1.0
3 Alexandre Berthelin 6.331623931623931 0.7914529914529914
4 Alexis Legrand 7.2615384615384615 0.9076923076923077
5 Alexy Lefebvre 7.288888888888889 0.9111111111111111
6 Amelie Bruniaux 7.726495726495727 0.9658119658119658
7 Anais Blondel 6.714529914529915 0.8393162393162393
8 Anais Najdecki 6.2905982905982905 0.7863247863247863
9 Antoine Duponchelle 6.276923076923077 0.7846153846153846
10 Antoine Ponchel 7.589743589743589 0.9487179487179487
11 Apolline Michel 7.07008547008547 0.8837606837606837
12 Arthur Willart 6.413675213675214 0.8017094017094017
13 Aurelien Ben Yahia 7.1521367521367525 0.8940170940170941
14 Axel Aoumat 4.4854700854700855 0.5606837606837607
15 Axel Cadart 7.2615384615384615 0.9076923076923077
16 Aymeric Grenier 7.726495726495727 0.9658119658119658
17 Baptiste Fynnaert 7.2615384615384615 0.9076923076923077
18 Charles Carron 6.55042735042735 0.8188034188034188
19 Chloe Mazur 7.589743589743589 0.9487179487179487
20 Clara Bruneau 5.2786324786324785 0.6598290598290598
21 Clement Legrand 7.042735042735043 0.8803418803418803
22 Cyril Massart 6.017094017094017 0.7521367521367521
23 Doriane Bernard 6.878632478632479 0.8598290598290599
24 Elliot Pilawa 4.658407079646017 0.5823008849557522
25 Elodie Vaesken 6.441025641025641 0.8051282051282052
26 Enora-Lou Deplanque 4.581196581196581 0.5726495726495726
27 Esteban Devos Devulder 6.536752136752137 0.8170940170940171
28 Gabriel Humain 7.288888888888889 0.9111111111111111
29 Helene Adjal 6.276923076923077 0.7846153846153846
30 Hugo Guffroy 6.427350427350428 0.8034188034188035
31 Imen Belaiche 7.726495726495727 0.9658119658119658
32 Ines Aubier 7.617094017094017 0.9521367521367521
33 Ines El Karami 7.589743589743589 0.9487179487179487
34 Issam Benzemra--Petit 7.671794871794872 0.958974358974359
35 Jane Gosset 7.17948717948718 0.8974358974358975
36 Jeremy Legros 5.032478632478632 0.629059829059829
37 Julie Rohart 6.823931623931624 0.852991452991453
38 Justine Bertin 6.933333333333334 0.8666666666666667
39 Justine Mikolajczak 6.988034188034188 0.8735042735042735
40 Lali Vin 7.562393162393162 0.9452991452991453
41 Lea Denys 7.17948717948718 0.8974358974358975
42 Leo Marin 7.097435897435897 0.8871794871794871
43 Lilian Lamorille 5.264957264957265 0.6581196581196581
44 Lisa Baran 6.960683760683761 0.8700854700854701
45 Lucas Canon 7.671794871794872 0.958974358974359
46 Lucie Delong 7.17948717948718 0.8974358974358975
47 Luna Hemery 7.671794871794872 0.958974358974359
48 Maeline Humez 7.562393162393162 0.9452991452991453
49 Manon Cassel 7.726495726495727 0.9658119658119658
50 Martin Pilot 6.851282051282051 0.8564102564102564
51 Mateo Darras 6.358974358974359 0.7948717948717948
52 Matheo Guerineau 7.206837606837607 0.9008547008547009
53 Matheo Normand 7.671794871794872 0.958974358974359
54 Mathilde Carlier 6.4683760683760685 0.8085470085470086
55 Mathilde Konury 7.4393162393162395 0.9299145299145299
56 Mathis Carlier 7.398290598290599 0.9247863247863248
57 Mathys Calesse 7.124786324786324 0.8905982905982905
58 Mehdi Boutchich 5.880341880341881 0.7350427350427351
59 Melanie Bouchoir 7.220512820512821 0.9025641025641026
60 Melusine Miletti 6.140170940170941 0.7675213675213676
61 Mickael Lenclud 2.9168141592920356 0.36460176991150445
62 Noah Desfachelles 5.798290598290598 0.7247863247863248
63 Noah Halluin 3.157522123893805 0.39469026548672564
64 Oceane Decroix 7.124786324786324 0.8905982905982905
65 Pablo Rodriguez 6.769230769230769 0.8461538461538461
66 Quentin Stautemas 6.5777777777777775 0.8222222222222222
67 Raphael Rivaux 2.8034188034188032 0.3504273504273504
68 Remi Delaval 6.65982905982906 0.8324786324786325
69 Remi Delvalle 7.425641025641026 0.9282051282051282
70 Remy Maeght 4.772649572649573 0.5965811965811966
71 Romain Bruni 7.206837606837607 0.9008547008547009
72 Romain Delrue 7.015384615384615 0.8769230769230769
73 Ronan Bourdrel 7.617094017094017 0.9521367521367521
74 Simon Ducrocq 7.316239316239316 0.9145299145299145
75 Solene Marien 7.671794871794872 0.958974358974359
76 Stefan Gaudin 4.3076923076923075 0.5384615384615384
77 Tanguy Delavier 6.905982905982906 0.8632478632478633
78 Theo Duprez 6.769230769230769 0.8461538461538461
79 Theo Justin 7.124786324786324 0.8905982905982905
80 Theo Rouze 7.671794871794872 0.958974358974359
81 Theo Verlet 7.617094017094017 0.9521367521367521
82 Thomas Renard 6.714529914529915 0.8393162393162393
83 Thomas Thevenin 5.948717948717949 0.7435897435897436
84 Tristan Quesson 6.208547008547009 0.7760683760683761
85 Tyffene Viseur 7.288888888888889 0.9111111111111111
86 Vytto Scilironi 5.894017094017094 0.7367521367521368
87 Yvonnick Levis 7.17948717948718 0.8974358974358975

View File

@ -12,6 +12,7 @@ import java.util.Map.Entry;
import java.util.TreeMap; import java.util.TreeMap;
import AnalyseCalc.Classeur2.feuille.colonne; import AnalyseCalc.Classeur2.feuille.colonne;
import AnalyseCalc.Classeur2.feuille.formatConditionnel;
import AnalyseCalc.Classeur2.feuille.graphic; import AnalyseCalc.Classeur2.feuille.graphic;
import AnalyseCalc.Classeur2.feuille.ligne; import AnalyseCalc.Classeur2.feuille.ligne;
import AnalyseCalc.Classeur2.feuille.ligne.cellule; import AnalyseCalc.Classeur2.feuille.ligne.cellule;
@ -664,6 +665,7 @@ public class Classeur2 {
private TreeMap<Integer,colonne> colonnes = new TreeMap<Integer,colonne>(); private TreeMap<Integer,colonne> colonnes = new TreeMap<Integer,colonne>();
private TreeMap<Integer,ligne> lignes = new TreeMap<Integer,ligne>(); private TreeMap<Integer,ligne> lignes = new TreeMap<Integer,ligne>();
private TreeMap<Integer,graphic> graphics = new TreeMap<Integer,graphic>(); private TreeMap<Integer,graphic> graphics = new TreeMap<Integer,graphic>();
private TreeMap<Integer,formatConditionnel> formatConditionnel = new TreeMap<Integer,formatConditionnel>();
private TreeMap<String,String> nommageCellulesFeuille = new TreeMap<String,String>(); private TreeMap<String,String> nommageCellulesFeuille = new TreeMap<String,String>();
/** /**
@ -710,6 +712,13 @@ public class Classeur2 {
for(int i=0 ; i < nods.size();i++) { for(int i=0 ; i < nods.size();i++) {
graphics.put(i, new graphic(nods.get(i))); graphics.put(i, new graphic(nods.get(i)));
} }
//format conditionnel
nods= fe.retourneAllEnfants("formatConditionnel");
for(int i=0 ; i < nods.size();i++) {
formatConditionnel.put(i, new formatConditionnel(nods.get(i)));
}
} }
@ -727,9 +736,6 @@ public class Classeur2 {
fe.getAttributs().put("evaluer","false"); fe.getAttributs().put("evaluer","false");
//Variable de nommage //Variable de nommage
// for (Entry<String, String> j : nommageCellules.entrySet()) {
// nommageCellulesFeuille.put(j.getKey(), j.getValue());
// }
ArrayList<node> nommage = fe.retourneAllEnfants("table:named-expressions"); ArrayList<node> nommage = fe.retourneAllEnfants("table:named-expressions");
if(nommage.size()>0) { if(nommage.size()>0) {
nommage = nommage.get(0).getEnfants(); nommage = nommage.get(0).getEnfants();
@ -762,17 +768,18 @@ public class Classeur2 {
} }
//lignes chargement //lignes chargement nbre limite de ligne défini par commandes.analysis_nbr_Ligne_maxi
nods=fe.retourneAllEnfants("table:table-row"); nods=fe.retourneAllEnfants("table:table-row");
System.out.println("Nbre de ligne = " + nods.size()); System.out.println("Nbre de ligne = " + nods.size());
int nombreRepetitionLigne = 0; int nombreRepetitionLigne = 0;
for(int i=0 ; i < nods.size();i++) { for(int i=0 ; i < nods.size();i++) {
if(i>0) if(lignes.get(i-1).getPropertiesRow().get("Repetition")!=null) { if(i>0 && i<commandes.analysis_nbr_Ligne_maxi) if(lignes.get(i-1).getPropertiesRow().get("Repetition")!=null) {
if(lignes.get(i-1).getPropertiesRow().get("Repetition")!=null) nombreRepetitionLigne = nombreRepetitionLigne + Integer.valueOf(lignes.get(i-1).getPropertiesRow().get("Repetition"))-1; if(lignes.get(i-1).getPropertiesRow().get("Repetition")!=null) nombreRepetitionLigne = nombreRepetitionLigne + Integer.valueOf(lignes.get(i-1).getPropertiesRow().get("Repetition"))-1;
} }
lignes.put(i, new ligne(nods.get(i),String.valueOf(i+1+nombreRepetitionLigne),nod, indexStudent)); lignes.put(i, new ligne(nods.get(i),String.valueOf(i+1+nombreRepetitionLigne),nod, indexStudent));
} }
//graphics ancrer à la feuille chargement //graphics ancrer à la feuille chargement
node LesGraphics = fe.retourneFirstEnfant("table:shapes"); node LesGraphics = fe.retourneFirstEnfant("table:shapes");
if(LesGraphics!=null) { if(LesGraphics!=null) {
@ -785,6 +792,18 @@ public class Classeur2 {
System.out.println("Il n'y a pas de graphique"); System.out.println("Il n'y a pas de graphique");
} }
//formats conditionnels
node LesFormatsConditionnels = fe.retourneFirstEnfant("calcext:conditional-formats");
if(LesFormatsConditionnels!=null) {
ArrayList<node> A = LesFormatsConditionnels.retourneAllEnfants("calcext:conditional-format");
System.out.println("Nbr de format conditionnels = " + A.size());
for(int i = 0 ; i < A.size();i++) {
formatConditionnel.put(i, new formatConditionnel(A.get(i), nod, indexStudent));
}
}else {
System.out.println("Il n'y a pas de graphique");
}
} }
@ -842,6 +861,10 @@ public class Classeur2 {
public TreeMap<Integer, graphic> getGraphics() { public TreeMap<Integer, graphic> getGraphics() {
return graphics; return graphics;
} }
public TreeMap<Integer, formatConditionnel> getFormatsConditionnels() {
return formatConditionnel;
}
/** /**
* Retourne la communication sur cette feuille * Retourne la communication sur cette feuille
* @return * @return
@ -1353,7 +1376,7 @@ public class Classeur2 {
} }
//Chargement //Chargement depuis le classeur de l'étudiant.
public graphic(node nodeGraphic,node nod, Integer indexStudent ) throws IOException { public graphic(node nodeGraphic,node nod, Integer indexStudent ) throws IOException {
if(nodeGraphic.getAttributs().get("draw:style-name")!=null) propertiesGraphic.put("Style", nodeGraphic.getAttributs().get("draw:style-name")); if(nodeGraphic.getAttributs().get("draw:style-name")!=null) propertiesGraphic.put("Style", nodeGraphic.getAttributs().get("draw:style-name"));
if(nodeGraphic.getAttributs().get("svg:y")!=null) propertiesGraphic.put("positionY", nodeGraphic.getAttributs().get("svg:y")); if(nodeGraphic.getAttributs().get("svg:y")!=null) propertiesGraphic.put("positionY", nodeGraphic.getAttributs().get("svg:y"));
@ -2607,8 +2630,47 @@ public class Classeur2 {
} //validation } //validation
} //cellule } //cellule
} // ligne } // ligne
} // feuille
/*******************************************
* Class ligne
* @author Pablo
*
*******************************************/
public class formatConditionnel{
private String Refdata ;
private String evaluer = "false";
private String communication ="";
private String titre="";
private boolean saut = false;
private String styletitrePrincipale = "H1";
private TreeMap<String,String> conditionalformat = new TreeMap<String,String>();
// chargement dans le node sujet.
public formatConditionnel(node nodeFormatsConditionnels ) {
}
// Chargement depuis le classeur de l'étudiant.
public formatConditionnel(node nodeFormatConditionnel,node nod, Integer indexStudent ) {
if(nodeFormatConditionnel.getAttributs().get("calcext:target-range-address")!=null) conditionalformat.put("target-range-address", nodeFormatConditionnel.getAttributs().get("calcext:target-range-address"));
for (node condition : nodeFormatConditionnel.getEnfants()) {
if(condition.getAttributs().get("calcext:apply-style-name")!=null) conditionalformat.put("styleName", condition.getAttributs().get("calcext:apply-style-name"));
if(condition.getAttributs().get("calcext:value")!=null) conditionalformat.put("condition", condition.getAttributs().get("calcext:value"));
if(condition.getAttributs().get("calcext:base-cell-address")!=null) conditionalformat.put("base-cell-address", condition.getAttributs().get("calcext:base-cell-address"));
}
}
} // formatConditionnel
} // feuille
public node convertClasseurToNode(typeFichier type) throws IOException { public node convertClasseurToNode(typeFichier type) throws IOException {
@ -2713,11 +2775,16 @@ public class Classeur2 {
fichier.append("</ligne>"); fichier.append("</ligne>");
} }
//graphic //graphics
for (Entry<Integer, graphic> k1 : k.getValue().getGraphics().entrySet()) { for (Entry<Integer, graphic> k1 : k.getValue().getGraphics().entrySet()) {
ecritureGraphique(fichier,k1.getValue(),""); ecritureGraphique(fichier,k1.getValue(),"");
} }
// formats conditionnels
for (Entry<Integer, formatConditionnel> k1 : k.getValue().getFormatsConditionnels().entrySet()) {
ecritureFormatsConditionnels(fichier,k1.getValue(),"");
}
fichier.append("</feuille>"); fichier.append("</feuille>");
} }
@ -2803,6 +2870,82 @@ public class Classeur2 {
fichier.append(prefix+"</graphic>"); fichier.append(prefix+"</graphic>");
} }
/**
*
* @param fichier
* @param k1
* @param prefix
* @throws IOException
*/
private void ecritureFormatsConditionnels(StringBuilder fichier, formatConditionnel k1, String prefix ) throws IOException {
fichier.append(prefix+"<formatConditionnel nomObjet=\"" + k1.getNomObjet()+ "\" type=\"" + k1.getType() + "\" TitreGraphique=\"" + k1.getTitreGraphique() + "\" evaluer=\"" + k1.getEvaluer() + "\">");
fichier.append("<communication></communication>" ) ;
fichier.append(prefix+"<propertiesGraphic");
for(Entry<String,String> k2 : k1.getPropertiesGraphic().entrySet()) {
fichier.append(" " + k2.getKey() + "=\"" + k2.getValue() + "\"" ) ;
}
fichier.append("></propertiesGraphic>");
fichier.append(prefix+"<titre");
for(Entry<String,String> k2 : k1.getTitre().entrySet()) {
fichier.append(" " + k2.getKey() + "=\"" + k2.getValue() + "\"" ) ;
}
fichier.append("></titre>");
fichier.append(prefix+"<soustitre");
for(Entry<String,String> k2 : k1.getSoustitre().entrySet()) {
fichier.append(" " + k2.getKey() + "=\"" + k2.getValue() + "\"" ) ;
}
fichier.append("></soustitre>");
fichier.append(prefix+"<airegraphic");
for(Entry<String,String> k2 : k1.getAiregraphic().entrySet()) {
fichier.append(" " + k2.getKey() + "=\"" + k2.getValue() + "\"" ) ;
}
fichier.append("></airegraphic>");
fichier.append(prefix+"<axeXprincipal");
for(Entry<String,String> k2 : k1.getAxeXprincipal().entrySet()) {
fichier.append(" " + k2.getKey() + "=\"" + k2.getValue() + "\"" ) ;
}
fichier.append("></axeXprincipal>");
fichier.append(prefix+"<axeYprincipal");
for(Entry<String,String> k2 : k1.getAxeYprincipal().entrySet()) {
fichier.append(" " + k2.getKey() + "=\"" + k2.getValue() + "\"" ) ;
}
fichier.append("></axeYprincipal>");
fichier.append(prefix+"<axeXsecondaire");
for(Entry<String,String> k2 : k1.getAxeXsecondaire().entrySet()) {
fichier.append(" " + k2.getKey() + "=\"" + k2.getValue() + "\"" ) ;
}
fichier.append("></axeXsecondaire>");
fichier.append(prefix+"<axeYsecondaire");
for(Entry<String,String> k2 : k1.getAxeYsecondaire().entrySet()) {
fichier.append(" " + k2.getKey() + "=\"" + k2.getValue() + "\"" ) ;
}
fichier.append("></axeYsecondaire>");
fichier.append(prefix+"<legend");
for(Entry<String,String> k2 : k1.getLegend().entrySet()) {
fichier.append(" " + k2.getKey() + "=\"" + k2.getValue() + "\"" ) ;
}
fichier.append("></legend>");
fichier.append(prefix+"<series");
for(Entry<String,String> k2 : k1.getSeries().entrySet()) {
fichier.append(" " + k2.getKey() + "=\"" + k2.getValue() + "\"" ) ;
}
fichier.append("></series>");
fichier.append(prefix+"</graphic>");
}
@SuppressWarnings("unused") @SuppressWarnings("unused")
private void ecritureGraphique(BufferedWriter fichier, graphic k1, String prefix ) throws IOException { private void ecritureGraphique(BufferedWriter fichier, graphic k1, String prefix ) throws IOException {

View File

@ -29,8 +29,10 @@ public class chargementParametresFichierAnalyse {
// Chargement de la notefrom // Chargement de la notefrom
if(commandes.sujet.getAttributs().get("bareme")!=null) { if(commandes.sujet.getAttributs().get("bareme")!=null) {
commandes.analyse_notefrom= Double.valueOf(commandes.sujet.getAttributs().get("bareme")); commandes.analyse_notefrom= Double.valueOf(commandes.sujet.getAttributs().get("bareme"));
commandes.analyse_bareme= Double.valueOf(commandes.sujet.getAttributs().get("bareme"));
}else { }else {
commandes.analyse_notefrom = 20.0; commandes.analyse_notefrom = 20.0;
commandes.analyse_bareme = 20.0;
} }
// Chargement de la date de creation // Chargement de la date de creation

View File

@ -27,6 +27,9 @@ public class formatDateWriter {
* @return * @return
*/ */
public static Date DateLibreOffice(String libreoffice_date){ public static Date DateLibreOffice(String libreoffice_date){
if(libreoffice_date==null) return null ;
if(libreoffice_date.isBlank()) return null ;
boolean contientHeure = false; boolean contientHeure = false;
if(libreoffice_date.contains("T")) { if(libreoffice_date.contains("T")) {
libreoffice_date=libreoffice_date.replace("T", " "); libreoffice_date=libreoffice_date.replace("T", " ");
@ -41,7 +44,6 @@ public class formatDateWriter {
}catch(ParseException e) { }catch(ParseException e) {
e.printStackTrace(); e.printStackTrace();
} }
return d; return d;
} }

View File

@ -34,6 +34,7 @@ public class evaluerNodesClasseurStudent {
nAna.addEnfant(anaFeuille); nAna.addEnfant(anaFeuille);
evaluerLesColonnes(feuilleSujet, anaFeuille); evaluerLesColonnes(feuilleSujet, anaFeuille);
evaluerLesLignes(feuilleSujet, anaFeuille); evaluerLesLignes(feuilleSujet, anaFeuille);
anaFeuille.calculPoints();
} }
} }
} }
@ -49,6 +50,7 @@ public class evaluerNodesClasseurStudent {
anaGraphic.getAttributs().put("nomObjet", graphicSujet.getAttributs().get("nomObjet")); anaGraphic.getAttributs().put("nomObjet", graphicSujet.getAttributs().get("nomObjet"));
nAna.addEnfant(anaGraphic); nAna.addEnfant(anaGraphic);
new evaluerAttributs(graphicSujet, graphicEtudiant , nAna); new evaluerAttributs(graphicSujet, graphicEtudiant , nAna);
anaGraphic.calculPoints();
} }
} }
} }

View File

@ -65,6 +65,8 @@ import calc.commandes;
import menu.CreatePopupMenu; import menu.CreatePopupMenu;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import xml.node; import xml.node;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
@ -250,7 +252,7 @@ public final class create extends JFrame {
private void ListenerAction() { private void ListenerAction() {
/** /**
* Selection d'un nodeAC dans le JTree. * Selection d'un node dans le JTree.
*/ */
tree.addMouseListener(new MouseAdapter() { tree.addMouseListener(new MouseAdapter() {
@Override @Override
@ -551,7 +553,6 @@ public final class create extends JFrame {
toolBarPrincipal.addSeparator(); toolBarPrincipal.addSeparator();
JButton btnNewFichierAnalyse = toolBarPrincipal.add( new actNewFichierAnalyse() ); JButton btnNewFichierAnalyse = toolBarPrincipal.add( new actNewFichierAnalyse() );
btnNewFichierAnalyse.setIcon(new ImageIcon(create.class.getResource("/resources/fichierODF.png"))); btnNewFichierAnalyse.setIcon(new ImageIcon(create.class.getResource("/resources/fichierODF.png")));
btnNewFichierAnalyse.setHideActionText(true); btnNewFichierAnalyse.setHideActionText(true);
toolBarPrincipal.add(btnNewFichierAnalyse); toolBarPrincipal.add(btnNewFichierAnalyse);

View File

@ -502,6 +502,7 @@ public final class proprieteFichierAnalyse extends JFrame {
commandes.sujet.getAttributs().put("presenceMetaSujet", comboBoxPresenceMetaSujet.getSelectedItem().toString() ); commandes.sujet.getAttributs().put("presenceMetaSujet", comboBoxPresenceMetaSujet.getSelectedItem().toString() );
commandes.sujet.getAttributs().put("baremeABC", comboBoxBaremeABC.getSelectedItem().toString() ); commandes.sujet.getAttributs().put("baremeABC", comboBoxBaremeABC.getSelectedItem().toString() );
commandes.sujet.getAttributs().put("notefrom", textFieldNoteFrom.getText() ); commandes.sujet.getAttributs().put("notefrom", textFieldNoteFrom.getText() );
commandes.sujet.getAttributs().put("bareme", textFieldNoteFrom.getText() );
commandes.sujet.getAttributs().put("progression", textFieldProgression.getText() ); commandes.sujet.getAttributs().put("progression", textFieldProgression.getText() );
commandes.sujet.getAttributs().put("historiquePresent", comboBoxhistoriquePresent.getSelectedItem().toString() ); commandes.sujet.getAttributs().put("historiquePresent", comboBoxhistoriquePresent.getSelectedItem().toString() );
commandes.sujet.getAttributs().put("creationDate", textFieldDateCreation.getText() ); commandes.sujet.getAttributs().put("creationDate", textFieldDateCreation.getText() );

View File

@ -667,6 +667,24 @@ protected boolean nodeClose = false;
&& Objects.equals(nameNode, other.nameNode) && Objects.equals(parent, other.parent); && Objects.equals(nameNode, other.nameNode) && Objects.equals(parent, other.parent);
} }
/**
* Calcul les points de ce node, à partir des nodes resultat.<br>
* Ajoute les attributs total, point et pourcentage à ce node.
*/
public void calculPoints() {
int total= 0;
int point = 0 ;
double pourcentage = (double) 0;
for (node enfant : this.retourneAllEnfants("resultat")) {
total = total + Integer.valueOf(enfant.getAttributs().get("total"));
point = point + Integer.valueOf(enfant.getAttributs().get("point"));
}
pourcentage = (double) point/total;
this.getAttributs().put("nbrPointTotal", String.valueOf(total));
this.getAttributs().put("pointGagner", String.valueOf(point));
this.getAttributs().put("pourcentage", String.valueOf(pourcentage));
}
/** /**
* Nettoyage du node.<br> * Nettoyage du node.<br>

File diff suppressed because one or more lines are too long