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
|
sql = "SELECT machine, idMachine, bfaCode, datedebtheo, datefintheo"
+ " FROM " + nomTableTEMPO
+ " GROUP BY machine, idMachine, bfaCode, datedebtheo, datefintheo"
+ " ORDER BY machine" ;
res = ConnectionBean2.executeQuery(this.connex, sql) ;
int machineMemo = -1 ;
String codeBfMemo = "" ;
Task machineTask = null ;
while(res.next()){
int idPst = res.getInt("idMachine") ;
String machine = res.getString("machine") ;
if(idPst != machineMemo){
sql = "SELECT MIN(datedebtheo), MAX(datefintheo)"
+ " FROM " + nomTableTEMPO
+ " WHERE idMachine = " + idPst ;
res1 = ConnectionBean2.executeQuery(this.connex, sql) ;
res1.next() ;
String datedebtheoMin = res1.getString(1) ;
String datefintheoMax = res1.getString(2) ;
ConnectionBean2.close(res1) ;
SimpleDateFormat dateDebSimple = new SimpleDateFormat("yyyy-MM-dd") ;
java.util.Date dateDeb = dateDebSimple.parse(datedebtheoMin) ;
Calendar cal = Calendar.getInstance() ;
cal.setTime(dateDeb) ;
int jourDeb = cal.get(Calendar.DAY_OF_MONTH) ;
int moisDeb = cal.get(Calendar.MONTH) ;
int anneeDeb = cal.get(Calendar.YEAR) ;
int heureDeb = cal.get(Calendar.HOUR) ;
int minuteDeb = cal.get(Calendar.MINUTE) ;
long milliDeb = cal.getTimeInMillis() ;
SimpleDateFormat dateFinSimple = new SimpleDateFormat("yyyy-MM-dd") ;
java.util.Date dateFin = dateFinSimple.parse(datefintheoMax) ;
cal = Calendar.getInstance() ;
cal.setTime(dateFin) ;
int jourFin = cal.get(Calendar.DAY_OF_MONTH) ;
int moisFin = cal.get(Calendar.MONTH) ;
int anneeFin = cal.get(Calendar.YEAR) ;
int heureFin = cal.get(Calendar.HOUR) ;
int minuteFin = cal.get(Calendar.MINUTE) ;
long milliFin = cal.getTimeInMillis() ;
/*
machineTask = new Task(machine, new SimpleTimePeriod(new java.util.Date(anneeDeb, moisDeb, jourDeb, heureDeb, minuteDeb),
new java.util.Date(anneeFin, moisFin, jourFin, heureFin, minuteFin))) ;
*/
machineTask = new Task(machine, new SimpleTimePeriod(milliDeb, milliFin)) ;
}//if(idPst != machineMemo)
//Un bf de la machine
String bfaCode = res.getString("bfaCode") ;
if(! codeBfMemo.equals(bfaCode)){
sql = "SELECT MIN(datedebtheo), MAX(datefintheo)"
+ " FROM " + nomTableTEMPO
+ " WHERE bfaCode = " + Outils.formaterBDD(bfaCode, Types.VARCHAR) ;
res1 = ConnectionBean2.executeQuery(this.connex, sql) ;
res1.next() ;
String datedebtheo = res1.getString(1) ;
String datefintheo = res1.getString(2) ;
ConnectionBean2.close(res1) ;
SimpleDateFormat dateDebBFSimple = new SimpleDateFormat("yyyy-MM-dd") ;
java.util.Date dateDebBF = dateDebBFSimple.parse(datedebtheo) ;
Calendar calBF = Calendar.getInstance() ;
calBF.setTime(dateDebBF) ;
int jourDebBF = calBF.get(Calendar.DAY_OF_MONTH) ;
int moisDebBF = calBF.get(Calendar.MONTH) ;
int anneeDebBF = calBF.get(Calendar.YEAR) ;
int heureDebBF = calBF.get(Calendar.HOUR) ;
int minuteDebBF = calBF.get(Calendar.MINUTE) ;
long milliDebBF = calBF.getTimeInMillis() ;
SimpleDateFormat dateFinBFSimple = new SimpleDateFormat("yyyy-MM-dd") ;
java.util.Date dateFinBF = dateFinBFSimple.parse(datefintheo) ;
calBF = Calendar.getInstance() ;
calBF.setTime(dateFinBF) ;
int jourFinBF = calBF.get(Calendar.DAY_OF_MONTH) ;
int moisFinBF = calBF.get(Calendar.MONTH) ;
int anneeFinBF = calBF.get(Calendar.YEAR) ;
int heureFinBF = calBF.get(Calendar.HOUR) ;
int minuteFinBF = calBF.get(Calendar.MINUTE) ;
long milliFinBF = calBF.getTimeInMillis() ;
TaskSeries s1 = new TaskSeries(bfaCode) ;
/*
Task O1 = new Task(bfaCode, new SimpleTimePeriod(new java.util.Date(anneeDebBF, moisDebBF, jourDebBF, heureDebBF, minuteDebBF),
new java.util.Date(anneeFinBF, moisFinBF, jourFinBF, heureFinBF, minuteFinBF))) ;
*/
Task O1 = new Task(bfaCode, new SimpleTimePeriod(milliDebBF, milliFinBF)) ;
O1.setPercentComplete(1.0) ;
machineTask.addSubtask(O1) ;
s1.add(machineTask) ;
dataset.add(s1) ;
}//if(! codeBfMemo.equals(bfaCode))
//On place en mémoire le code du BF déjà traité et l'id de la machine déjà traité
codeBfMemo = bfaCode ;
machineMemo = idPst ;
}
ConnectionBean2.close(res) ; |
Partager