1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
| public void AjoutS(String Enseignant,String module,int EtatP,Date dateActuelle,int hp,int he) throws Exception
{
//utilisation un PreparedStatement avec la méthode setDate,
//cela permet d'être indépendant du format fixé par la base de données
int HeuresCM=0;
int HeuresTD = 0;
int HeuresTP = 0;
dateActuelle= new Date();// création d'un objet date
Mysql ms = new Mysql();
ms.Connect("syllabus");
// vérification qu'on ne met pas plus d'heures de services que ce qui est prévu
//Recuperer heures TD, TP, CM depuis la base Syllabus
String requete1="Select HeuresTP,HeuresTD,HeuresCM From modules Where CodeMCC = '"+module+"'";
//Execution requete
try
{
query(requete1);
while(rs.next())
{
//print the values for the current row.
HeuresTD = rs.getInt("HeuresTD");
HeuresCM = rs.getInt("HeuresCM");
HeuresTP = rs.getInt("HeuresTP");
System.out.println("ROW = " + HeuresTD + " " + HeuresCM + " " +HeuresTP);
}
ms.Deconnect();
}
catch(SQLException e)
{
//System.out.println("Probleme execution de la requete");
e.printStackTrace();
}
//TRaimteent resultat
//Convetir en heur TD => Heures max du module(1)
int HenTd=0;
HenTd= (int) (HeuresTD + (1.5*HeuresCM)+(0.66*HeuresTP));
System.out.println (HenTd);
//Recuperer heur Td affecte au modules depuis la base sevices(2)
int nbE = 0;
Mysql mq = new Mysql();
mq.Connect("services");
String requete2 = "SELECT sum(NbHeuresPrevues) FROM services " +
"WHERE Module='"+module+"'";
try
{
query(requete2);
while(rs.next())
{
//print the values for the current row.
nbE = rs.getInt("sum(NbHeuresPrevues)");
System.out.println(nbE);
}
}
catch(SQLException e)
{
//System.out.println("Probleme execution de la requete");
e.printStackTrace();
}
int n = nbE+hp;
System.out.println(n);
//Verifier que heures existantes(2) + hp =< heures bases(1)
if (n <= HenTd )
{
String requete3="INSERT INTO services(NomEnseignant,Module,EtatPaiement,DateMaj,NbHeuresPrevues,NbHeuresEffectuees) VALUES(?,?,?,?,?,?)";
try
{
st = conn.prepareStatement(requete3);
//insertion des élements de la requete
st.setString(1,Enseignant);
st.setString(2,module);
st.setInt(3,EtatP);
st.setDate(4,new java.sql.Date(dateActuelle.getTime()));//mise a jour de la date courante
st.setInt(5,hp);
st.setInt(6,he);
st.executeUpdate();//execution de l'instruction du Statement
System.out.println(nbE+hp);
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null,"vous avez dépassé le nombre d'heures autorisées ou le service existe déjà :" + e.getMessage() );
//System.out.println(nbE+hp);
}
finally
{
st.close();//fermeture du Statement
}
}
else
{
try
{
st.close();
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null,"vous avez dépassé le nombre d'heures autorisées ou le service existe déjà :" + e.getMessage() );
//System.out.println(nbE+hp);
}
}
} |
Partager