codice:
int i = 0;
String login = "LOGIN";
String logout = "LOGOUT";
String pausa = "PAUSA";
String rientro = "FINEPAUSA";
String popup = "Popup App.";
String reit = "REITEK-LOGOFF";
while (i < giorno.size()) {
switch (azione.elementAt(i).toString()) {
/* Analisi di tutte le transazioni per ogni stato
1 STATO LOGIN*/
case "LOGIN":
// TRANSIZIONE ERRORE 1
if (azione.firstElement().equals(login)) {
String query = "INSERT into new_stat (data, operatore, ora, flag) values ('" + giorno.elementAt(i) + "', "
+ "'" + operatore.elementAt(i) + "','" + ora.elementAt(i) + "','I')";
Statement smt = con.createStatement();
rsw = smt.execute(query);
break;
}
else if (login.equals(azione.elementAt(i + 1))) {
String query = "INSERT into new_stat (data, operatore, ora, flag) values ('" + giorno.elementAt(i) + "', "
+ "'" + operatore.elementAt(i) + "','" + ora.elementAt(i) + "','I')";
Statement smt = con.createStatement();
rsw = smt.execute(query);
String query1 = "INSERT into new_stat (data, operatore, ora, flag) values ('" + giorno.elementAt(i) + "', "
+ "'" + operatore.elementAt(i) + "', DateAdd('s',1,#" + ora.elementAt(i) + "#),'O')";
Statement smt1 = con.createStatement();
rsw = smt1.execute(query1);
break;
// TRANSIZIONE ERRORE 2
} else if (rientro.equals(azione.elementAt(i + 1))) {
String query = "INSERT into new_stat (data, operatore, ora, flag) values ('" + giorno.elementAt(i) + "', "
+ "'" + operatore.elementAt(i) + "','" + ora.elementAt(i) + "','I')";
Statement smt = con.createStatement();
rsw = smt.execute(query);
String query1 = "INSERT into new_stat (data, operatore, ora, flag) values ('" + giorno.elementAt(i) + "', "
+ "'" + operatore.elementAt(i) + "', DateAdd('s',1,#" + ora.elementAt(i) + "#),'P')";
Statement smt1 = con.createStatement();
rsw = smt1.execute(query1);
break;
} else if (!logout.equals(azione.elementAt(i-1)) && !login.equals(azione.elementAt(i-1)) && !pausa.equals(azione.elementAt(i-1)) && !rientro.equals(azione.elementAt(i-1)) && !popup.equals(azione.elementAt(i-1)) &&! reit.equals(azione.elementAt(i-1))){
String query1 = "INSERT into new_stat (data, operatore, ora, flag) values ('" + giorno.get(i) + "', "
+ "'" + operatore.get(i) + "', DateAdd('s',1,#" + ora.elementAt(i-1) + "#),'Y')";
Statement smt1 = con.createStatement();
rsw = smt1.execute(query1);
break;
}else {
String query = "INSERT into new_stat (data, operatore, ora, flag) values ('" + giorno.elementAt(i) + "', "
+ "'" + operatore.elementAt(i) + "','" + ora.elementAt(i) + "','I')";
Statement smt = con.createStatement();
rsw = smt.execute(query);
break;
}
/*2 STATO PAUSA */
case "PAUSA":
// TRANSIZIONE ERRORE 3
if (pausa.equals(azione.elementAt(i + 1))) {
String query1 = "INSERT into new_stat (data, operatore, ora, flag) values ('" + giorno.get(i) + "', "
+ "'" + operatore.get(i) + "','" + ora.elementAt(i) + "','P')";
Statement smt1 = con.createStatement();
rsw = smt1.execute(query1);
break;
// TRANSIZIONE ERRORE 4
} else if (login.equals(azione.elementAt(i + 1))) {
String query3 = "INSERT into new_stat (data, operatore, ora, flag) values ('" + giorno.get(i) + "', "
+ "'" + operatore.get(i) + "','" + ora.elementAt(i) + "','P')";
Statement smt3 = con.createStatement();
rsw = smt3.execute(query3);
String query1 = "INSERT into new_stat (data, operatore, ora, flag) values ('" + giorno.get(i) + "', "
+ "'" + operatore.get(i) + "', DateAdd('s',1,#" + ora.elementAt(i) + "#),'R')";
Statement smt1 = con.createStatement();
rsw = smt1.execute(query1);
String query2 = "INSERT into new_stat (data, operatore, ora, flag) values ('" + giorno.get(i) + "', "
+ "'" + operatore.get(i) + "', DateAdd('s',2,#" + ora.elementAt(i) + "#),'O')";
Statement smt2 = con.createStatement();
rsw = smt2.execute(query2);
break;
//TRANSIZIONE ERRORE 5
} else if (!login.equals(azione.elementAt(i + 1)) && !logout.equals(azione.elementAt(i + 1)) && !pausa.equals(azione.elementAt(i + 1)) && !popup.equals(azione.elementAt(i + 1)) && !rientro.equals(azione.elementAt(i+1))) {
String query1 = "INSERT into new_stat (data, operatore, ora, flag) values ('" + giorno.get(i) + "', "
+ "'" + operatore.get(i) + "','" + ora.elementAt(i) + "','P')";
Statement smt2 = con.createStatement();
rsw = smt2.execute(query1);
String q = "INSERT into new_stat (data, operatore, ora, flag) values ('" + giorno.get(i) + "', "
+ "'" + operatore.get(i) + "', DateAdd('s',-1,#" + ora.elementAt(i + 1) + "#),'R')";
Statement smt1 = con.createStatement();
rsw = smt1.execute(q);
break;
//TRANSIZIONE ERRORE 6
} else if (logout.equals(azione.elementAt(i + 1))) {
String query1 = "INSERT into new_stat (data, operatore, ora, flag) values ('" + giorno.get(i) + "', "
+ "'" + operatore.get(i) + "','" + ora.elementAt(i) + "','P')";
Statement smt2 = con.createStatement();
rsw = smt2.execute(query1);
String q = "INSERT into new_stat (data, operatore, ora, flag) values ('" + giorno.get(i) + "', "
+ "'" + operatore.get(i) + "', DateAdd('s',-1,#" + ora.elementAt(i + 1) + "#),'R')";
Statement smt1 = con.createStatement();
rsw = smt1.execute(q);
break;
} else {
String query2 = "INSERT into new_stat (data, operatore, ora, flag) values ('" + giorno.get(i) + "', "
+ "'" + operatore.get(i) + "','" + ora.get(i) + "','P')";
Statement smt2 = con.createStatement();
rsw = smt2.execute(query2);
break;
}
}
questa è solo una parte, in quanto sono presenti altri 4 case che più o meno fanni gli stessi controlli.