You are on page 1of 22

public Hashtable selectGetEsami(Hashtable hash) throws SQLException,

Exception {

logger.debug("init selectGetEsami");

HeaderObject hObj = (HeaderObject) hash.get("INPUT_STAMPA");

Vector vettCodiIscr = (Vector) hash.get("lista_iscr");


Vector vettCodiDida = (Vector) hash.get("lista_dida");
Vector vettCodiConv = (Vector) hash.get("lista_conv");
String Stringa_in = (String) hash.get("Stringa_in");
Vector vettEsami = null;
Vector vettEsamiConvalidanti = null;
Vector vettEsamiTotali = null;
String stringCodiIscr = "";
String stringCodiDida = "";
String stringCodiConv = "";
String codiCarr = "";
String tipo = "";
String note = "";
String terminaQuery = "";
String condizioneConv = "";
String myCodiStatEsam = "";
String myCodiCorsStud = "";
// 3/11/04 Connection conn=null;

String condizioneconv2 = "";

logger.debug("selectGetEsami, vettCodiIscr = " + vettCodiIscr);


logger.debug("selectGetEsami, vettCodiDida = " + vettCodiDida);
logger.debug("selectGetEsami, vettCodiConv = " + vettCodiConv);
logger.debug("selectGetEsami, Stringa_in = " + Stringa_in);

String didaAGG = "";


// modifica del 18/3/2005 inizio
// recupera eventuali codi_dida hai quali sono legati esami,
// che non sono stati letti dalla query della carriera per via
dell'ordine
Statement stmt2 = null;
ResultSet rslt2 = null;
try {

Vector vObj = (Vector) hash.get("lista_dati_carr");


String aaMin = ((StampaCertObject) vObj.get(0)).annoAcca;
String aaMax = ((StampaCertObject) vObj.get((vObj.size() -
1))).annoAcca;
// String sql = "select codi_dida from sest_dida where codi_sogg=
// "+hObj.codiSogg+" and codi_stat_carr='00013' and anno_acca >=
"+aaMin+" and
// anno_acca <= "+aaMax+" ";
String sql = " SELECT "
+ " codi_dida "
+ " from "
+ " sest_dida "
+ " where "
+ " codi_sogg= " + hObj.codiSogg
+ " and codi_stat_carr='00013' "
+ " and anno_acca " + Stringa_in;
logger.debug("selectGetEsami, query: " + sql);
stmt2 = appoConnection.createStatement();
rslt2 = stmt2.executeQuery(sql);
if (rslt2.next()) {
do {
if (vettCodiDida == null) {
vettCodiDida = new Vector();
}
vettCodiDida.add(rslt2.getString("codi_dida"));
} while (rslt2.next());

}
} catch (Exception ee) {
logger.exists("Exception:" + ee.getMessage());
} finally {
if (rslt2 != null)
rslt2.close();
if (stmt2 != null)
stmt2.close();
}
// modifica del 18/3/2005 fine
if (!hObj.codiTipoCert.equals("3") && !hObj.codiTipoCert.equals("4")) {
terminaQuery = " and (carr.codi_stat_esam != '12' and
carr.codi_stat_esam != '15' and carr.codi_stat_esam != '16' and carr.codi_stat_esam
!= '8') \n "; // 10/03/2006

// -->

//
aggiunto

//
codi_stat_esam

// 8
} else {
terminaQuery = " and ( carr.codi_stat_esam != '15' and
carr.codi_stat_esam != '16' ) ";
}

//Vettore iscrizioni
if ((vettCodiIscr != null) && (vettCodiIscr.size() > 0)) {
hObj.codiIscr = (String) vettCodiIscr.get(vettCodiIscr.size() -
1);
for (int i = 0; i < vettCodiIscr.size(); i++) {
stringCodiIscr += "'" + vettCodiIscr.get(i) + "'";
if (i < (vettCodiIscr.size() - 1)) {
stringCodiIscr += ", ";
}
}
}

//Vettore codici didattici


if ((vettCodiDida != null) && (vettCodiDida.size() > 0)) {
for (int i = 0; i < vettCodiDida.size(); i++) {
stringCodiDida += "'" + vettCodiDida.get(i) + "'";
if (i < (vettCodiDida.size() - 1)) {
stringCodiDida += ", ";
}
}
}

//Vettore codici Convalida


if ((vettCodiConv != null) && (vettCodiConv.size() > 0)) {
vettEsamiConvalidanti = selectGetEsamiConvalidanti(hash);
for (int i = 0; i < vettCodiConv.size(); i++) {
stringCodiConv += "'" + vettCodiConv.get(i) + "'";
if (i < (vettCodiConv.size() - 1)) {
stringCodiConv += ", ";
}
}
condizioneconv2 = " and not exists (\n "
+ " select "
+ " 'x' \n "
+ " from "
+ " sest_carr x \n "
+ " where
x.codi_modu_dida=carr.codi_modu_dida \n "
+ " and x.codi_conv_ante in (" +
stringCodiConv + ") \n "
+ " and x.codi_sogg = carr.codi_sogg \n "
+ " ) \n "; // pg

condizioneConv = " and((carr.codi_conv_ante is


null)or(carr.codi_conv_ante not in (" + stringCodiConv + "))) \n ";
} else {
condizioneConv = "";
condizioneconv2 = "";
}

ResultSet rs = null;
Statement cstmt = null;
try {
String codiClass = "";
String selectCodiClass = " select nvl(CODI_CLAS, '') "
+ " from sest_cors "
+ " WHERE CODI_CORS_STUD = '"
+ hObj.codiCorsStud
+ "'";
cstmt = appoConnection.createStatement();
rs = cstmt.executeQuery(selectCodiClass);
if (rs.next()) {
codiClass = rs.getString(1);

}
if (codiClass.equals("00"))
hObj.setOrdinamento("V");
if (!codiClass.equals("00"))
hObj.setOrdinamento("N");

} catch (Exception e) {
logger.exists("Exception:" + e.getMessage());
} finally {
if (rs != null)
rs.close();
if (cstmt != null)
cstmt.close();
}

/* */

/* modifica del 20/05/2005 */


if (!stringCodiIscr.startsWith("'") && !stringCodiIscr.endsWith("'"))
stringCodiIscr = "'" + stringCodiIscr + "'";

//Modifiche Issue#3250 Visualizzazione esami Erasmus per segretario


didattico
String query = " SELECT\r\n"
+ " 'ISCR' tipo, \r\n"
+ " carr.att_este, \r\n"
+ " carr.codi_carr,\r\n"
+ " aten.desc_aten, \r\n"
+ " mose.desc_sess, \r\n"
+ " tise.desc_tipo_sess, \r\n"
+ " modi.desc_modu_dida, \r\n"
+ " outg.tipo_mobilita,\r\n"
+ " modi.sigl_modu_dida, \r\n"
+ " carr.anno_cors,\r\n"
+ " to_char(carr.anno_acca) anno_acca, \r\n"
+ " to_char(carr.data_esam, 'DD/MM/YYYY') data_esam, \r\n"
+ " carr.data_esam data_esam_order, \r\n"
+ " carr.nume_cred, \r\n"
+ " carr.nume_annu, \r\n"
+ " carr.voto, \r\n"
+ " carr.codi_conv_ante, \r\n"
+ " stes.desc_stat_esam, \r\n"
+ " stes.codi_stat_esam,\r\n"
+ " tivo.codi_tipo_voto, \r\n"
+ " tivo.desc_tipo_voto,\r\n"
+ " tivo.voto_max, \r\n"
+ " tivo.voto_min,\r\n"
+ " ' ' codi_stat_carr, \r\n"
+ " iscr.codi_cors_stud, \r\n"
+ " carr.note_carr, \r\n"
+ " modi.codi_modu_dida codi_deno,\r\n"
+ " aten.codi_aten\r\n"
+ " FROM\r\n"
+ " SEST_CARR CARR,\r\n"
+ " sest_aten aten,\r\n"
+ " sest_iscr iscr,\r\n"
+ " sest_eras_outg outg, \r\n"
+ " sest_esam_ita_outg itaout,\r\n"
+ " sest_modu_sess mose, \r\n"
+ " sest_tipo_sess tise, \r\n"
+ " sest_modu_dida modi, \r\n"
+ " sest_stat_esam stes, \r\n"
+ " sest_tipo_voto tivo\r\n"
+ " WHERE\r\n"
+ " carr.codi_iscr in (" + stringCodiIscr + ") \r\n"
+ " AND CARR.CODI_ISCR = ISCR.CODI_ISCR\r\n"
+ " and carr.codi_carr = itaout.codi_carr(+) \r\n"
+ " and itaout.codi_tor = outg.codi_tor(+)\r\n"
+ " AND carr.codi_iscr = iscr.codi_iscr \r\n"
+ " and carr.codi_modu_dida = modi.codi_modu_dida \r\n"
+ " and carr.codi_stat_esam = stes.codi_stat_esam \r\n"
+ " and carr.codi_tipo_voto = tivo.codi_tipo_voto \r\n"
+ " and iscr.codi_aten = aten.codi_aten \r\n"
+ " and carr.codi_sess = mose.codi_sess \r\n"
+ " and mose.codi_tipo_sess = tise.codi_tipo_sess\r\n"
+ " and carr.codi_modu_dida = modi.codi_modu_dida\r\n"
+ "and tise.codi_tipo_sess < 5 \r\n"
+ condizioneconv2
+ condizioneConv
+ terminaQuery;

String query_old = " select"


+ " /*GestioneCertificati*/ \n "
+ " 'ISCR' tipo, \n "
+ " carr.att_este, \n "
+ " carr.codi_carr, \n "
+ " aten.desc_aten, \n "
+ " mose.desc_sess, \n "
+ " tise.desc_tipo_sess, \n "
+ " (modi.desc_modu_dida||decode(carr.desc_att_este,'E','
(ERASMUS)','')) desc_modu_dida, \n "
+ " modi.sigl_modu_dida, \n "
+ " carr.anno_cors, \n "
+ " to_char(carr.anno_acca) anno_acca, \n "
+ " to_char(carr.data_esam ,'DD/MM/YYYY') data_esam, \n "
+ " carr.data_esam data_esam_order, \n "
+ " carr.nume_cred, \n "
+ " carr.nume_annu, \n "
+ " carr.voto, \n "
+ " carr.codi_conv_ante, \n "
+ " stes.desc_stat_esam, \n "
+ " stes.codi_stat_esam, \n "
+ " tivo.codi_tipo_voto, \n "
+ " tivo.desc_tipo_voto, \n "
+ " svs.tipo_pren, \n "
+ " stp.desc_tipo_pren, \n "
// issue1676
+ " tivo.voto_max, \n "
+ " tivo.voto_min, \n "
+ " ' ' codi_stat_carr, \n "
+ " iscr.codi_cors_stud, \n "
+ " carr.note_carr \n "
/* MODIFICA DEL 24/03/2005 */
// " ,modi.codi_deno_modu codi_deno ,aten.codi_aten \n "+
+ " ,modi.codi_modu_dida codi_deno ,aten.codi_aten \n "
+ " from \n "
+ " sest_aten aten, \n "
+ " sest_iscr iscr, \n "
+ " sest_modu_sess mose, \n "
+ " sest_tipo_sess tise, \n "
+ " sest_modu_dida modi, \n "
+ " sest_carr carr, \n "
+ " sest_stat_esam stes, \n "
+ " sest_tipo_voto tivo, \n "
+ " sest_verb_stud svs, \n "
+ " sest_tipo_pren stp \n "
// issue1676
+ " where \n "
+ " carr.codi_iscr in (" + stringCodiIscr + ") and \n "
+ " carr.codi_iscr = iscr.codi_iscr and \n "
+ " carr.codi_modu_dida = modi.codi_modu_dida and \n "
+ " carr.codi_stat_esam = stes.codi_stat_esam and \n "
+ " carr.codi_tipo_voto = tivo.codi_tipo_voto and \n "
+ " iscr.codi_aten = aten.codi_aten and \n "
+ " carr.codi_sess = mose.codi_sess and \n "
+ " mose.codi_tipo_sess = tise.codi_tipo_sess and \n "
+ " carr.codi_carr = svs.codi_carr and \n "
// issue1676
+ " svs.tipo_pren = stp.tipo_pren and \n "
// issue1676
// " tise.codi_tipo_sess not in('5','6','7','8') \n "
+ //--> modifica del
// 28/12/2005
+ " tise.codi_tipo_sess < 5 \n "
// --> modifica del 28/12/2005
+ condizioneconv2
// pg
+ condizioneConv
+ terminaQuery;

if ((vettCodiDida != null) && (vettCodiDida.size() > 0)) {

//Modifiche Issue#3250 Visualizzazione esami Erasmus per


segretario didattico
query += " UNION\r\n"
+ " SELECT \r\n"
+ " 'DIDA' tipo, \r\n"
+ " carr.att_este, \r\n"
+ " carr.codi_carr, \r\n"
+ " aten.desc_aten, \r\n"
+ " mose.desc_sess, \r\n"
+ " tise.desc_tipo_sess, \r\n"
+ " modi.desc_modu_dida, \r\n"
+ " outg.tipo_mobilita,\r\n"
+ " modi.sigl_modu_dida, \r\n"
+ " carr.anno_cors, \r\n"
+ " to_char(carr.anno_acca) anno_acca, \r\n"
+ " to_char(carr.data_esam, 'DD/MM/YYYY')
data_esam, \r\n"
+ " carr.data_esam data_esam_order, \r\n"
+ " carr.nume_cred, \r\n"
+ " carr.nume_annu, \r\n"
+ " carr.voto, \r\n"
+ " carr.codi_conv_ante, \r\n"
+ " NVL(stes.desc_stat_esam, 'non disponibile')
desc_stat_esam,\r\n"
+ " NVL(stes.codi_stat_esam, 'null')
codi_stat_esam, \r\n"
+ " tivo.codi_tipo_voto, \r\n"
+ " tivo.desc_tipo_voto, \r\n"
+ " tivo.voto_max, \r\n"
+ " tivo.voto_min, \r\n"
+ " dida.codi_stat_carr, \r\n"
+ " dida.codi_cors_stud, \r\n"
+ " carr.note_carr, \r\n"
+ " modi.codi_modu_dida codi_deno, \r\n"
+ " aten.codi_aten\r\n"

+ " FROM\r\n"
+ " sest_carr carr, \r\n"
+ " sest_aten aten, \r\n"
+ " sest_dida dida, \r\n"
+ " sest_eras_outg outg, \r\n"
+ " sest_esam_ita_outg itaout,\r\n"
+ " sest_modu_sess mose, \r\n"
+ " sest_tipo_sess tise, \r\n"
+ " sest_modu_dida modi, \r\n"
+ " sest_stat_esam stes, \r\n"
+ " sest_tipo_voto tivo\r\n"

+ " WHERE\r\n"
+ " carr.codi_stat_esam = stes.codi_stat_esam \r\n"
+ " and dida.codi_dida in ('36802126') \r\n"
+ " and dida.codi_stat_carr != '00001' \r\n"
+ " and ( carr.codi_dida = dida.codi_dida OR
carr.codi_carr = dida.codi_carr ) \r\n"
+ " and dida.codi_aten = aten.codi_aten \r\n"
+ " and carr.codi_sess = mose.codi_sess \r\n"
+ " and carr.codi_carr = itaout.codi_carr(+) \r\n"
+ " and itaout.codi_tor = outg.codi_tor(+) \r\n"
+ " and mose.codi_tipo_sess = tise.codi_tipo_sess \r\
n"
+ " and carr.codi_modu_dida = modi.codi_modu_dida \r\
n"
+ " and carr.codi_tipo_voto = tivo.codi_tipo_voto \r\
n"
+ " and tise.codi_tipo_sess < 5\r\n"
+ condizioneconv2
+ condizioneConv
+ terminaQuery;

query_old += " union \n "


+ " select /*GestioneCertificati*/ \n "
+ " 'DIDA' tipo, \n "
+ " carr.att_este, \n "
+ " carr.codi_carr, \n "
+ " aten.desc_aten, \n "
+ " mose.desc_sess, \n "
+ " tise.desc_tipo_sess, \n "
+ " modi.desc_modu_dida, \n "
+ " modi.sigl_modu_dida, \n "
+ " carr.anno_cors, \n "
+ " to_char(carr.anno_acca) anno_acca, \n "
+ " to_char(carr.data_esam ,'DD/MM/YYYY')
data_esam, \n "
+ " carr.data_esam data_esam_order, \n "
+ " carr.nume_cred, \n "
+ " carr.nume_annu, \n "
+ " carr.voto, \n "
+ " carr.codi_conv_ante, \n "
+ " NVL(stes.desc_stat_esam, 'non disponibile')
desc_stat_esam, \n "
+ " NVL(stes.codi_stat_esam, 'null')
codi_stat_esam, \n "
+ " tivo.codi_tipo_voto, \n "
+ " tivo.desc_tipo_voto, \n "
+ " svs.tipo_pren, \n "
+ " stp.desc_tipo_pren, \n "
// issue1676
+ " tivo.voto_max, \n " + " tivo.voto_min, \n " + "
dida.codi_stat_carr, \n "
+ " dida.codi_cors_stud, \n " + " carr.note_carr \n
" +
/* MODIFICA DEL 24/03/2005 */
// " ,modi.codi_deno_modu codi_deno ,aten.codi_aten \
n "+
" ,modi.codi_modu_dida codi_deno ,aten.codi_aten \n
" +
/* */
" from \n "
+ " sest_aten aten, \n "
+ " sest_dida dida, \n "
+ " sest_modu_sess mose, \n "
+ " sest_tipo_sess tise, \n "
+ " sest_modu_dida modi, \n "
+ " sest_tipo_voto tivo, \n "
+ " sest_carr carr, sest_stat_esam stes, \n "
+ " sest_verb_stud svs, \n "
+ " sest_tipo_pren stp \n "
// issue1676
+ " where \n "
+ " carr.codi_stat_esam = stes.codi_stat_esam and \n
"
+ " dida.codi_dida in (" + stringCodiDida + ") and \
n "
+ " dida.codi_stat_carr != '00001' and \n "
+ " (carr.codi_dida = dida.codi_dida OR
carr.codi_carr = dida.codi_carr) and \n "
+ " dida.codi_aten = aten.codi_aten and \n "
+ " carr.codi_sess = mose.codi_sess and \n "
+ " mose.codi_tipo_sess = tise.codi_tipo_sess and \n
"
+ " carr.codi_modu_dida = modi.codi_modu_dida and \n
"
+ " carr.codi_tipo_voto = tivo.codi_tipo_voto and \n
"
+ " carr.codi_carr = svs.codi_carr and \n " + //
issue1676
" svs.tipo_pren = stp.tipo_pren and \n " + //
issue1676
// " tise.codi_tipo_sess not in('5','6','7','8') \n "
+ //--> modifica del
// 28/12/2005
" tise.codi_tipo_sess < 5 \n "
// --> modifica del 28/12/2005
+ condizioneconv2
// pg
+ condizioneConv
+ terminaQuery;
}
if ((hObj.codiTipoCert.equals("2")) || (hObj.codiTipoCert.equals("7")))
{
query += " order by data_esam_order, anno_acca \n ";
} else {
query += " order by anno_acca, data_esam_order \n ";
}

// 3/11/04 conn = Contesto.newConnection();

Statement stmt = null;


ResultSet rslt = null;
ResultSet rslt3 = null;
logger.debug("selectGetEsami, query : " + query);
try {
StampaCertObject obj = new StampaCertObject();
Hashtable myHash = new Hashtable();
hObj.numEsamiSostenuti = 0;
hObj.numEsamiRiprovati = 0;
stmt = appoConnection.createStatement();
rslt = stmt.executeQuery(query);
Vector tirocini = new Vector();
if (rslt.next()) {
vettEsami = new Vector();
tirocini = new Vector();
int i = 0;
do {
myCodiStatEsam =
nvl(rslt.getString("codi_stat_esam"));

if (myCodiStatEsam.equals("11")) {
i++;
obj = new StampaCertObject();
codiCarr = nvl(rslt.getString("codi_carr"));
obj.tipoFormato =
nvl(rslt.getString("att_este"));
obj.ateneo = nvl(rslt.getString("desc_aten"));
obj.codiAten =
nvl(rslt.getString("codi_aten"));
obj.sessione =
nvl(rslt.getString("desc_sess"));
obj.tipoSess =
nvl(rslt.getString("desc_tipo_sess"));
obj.moduDida =
nvl(rslt.getString("desc_modu_dida"));
obj.siglModuDida =
nvl(rslt.getString("sigl_modu_dida"));
obj.annoCorso =
nvl(rslt.getString("anno_cors"));
obj.annoAcca = rslt.getString("anno_acca");
obj.dataEsam = rslt.getString("data_esam");
obj.codiCarr = rslt.getString("codi_carr");
if (obj.dataEsam == null) {
obj.dataEsam = "-non disp.";
}
obj.desc_stat_esam =
nvl(rslt.getString("desc_stat_esam"));
obj.codi_stat_esam =
nvl(rslt.getString("codi_stat_esam"));
String myCodiStatCarr =
nvl(rslt.getString("codi_stat_carr"));
BigDecimal myAnnu =
rslt.getBigDecimal("nume_annu");
if (myAnnu != null) {
obj.numeAnnu = myAnnu;
}
BigDecimal myCred =
rslt.getBigDecimal("nume_cred");
if (myCred != null) {
obj.numeCred = myCred;
}
obj.voto = nvl(rslt.getString("voto"));
obj.codiTipoVoto =
nvl(rslt.getString("codi_tipo_voto"));
obj.tipoVoto =
decodificaBaseVoto(obj.codiTipoVoto, obj.voto);
obj.votoMax = nvl(rslt.getString("voto_max"));
obj.votoMin = rslt.getString("voto_min");
int votoAsInt = 0;
int votoMinAsInt = 0;
if (!obj.voto.equals("")) {
votoAsInt = Integer.parseInt(obj.voto);
}
obj.codiStru = "";
boolean flagConv = false;
obj.codiConv =
nvl(rslt.getString("codi_conv_ante"));
if ((obj.codiConv != null) &&
(obj.codiConv.length() > 0)) {
if (vettCodiConv != null &&
vettCodiConv.contains(obj.codiConv)) {
flagConv = true;
}
}
tipo = nvl(rslt.getString("tipo"));
/* MODIFICA DEL 24/03/2005 */
obj.codiDenoModu =
nvl(rslt.getString("codi_deno"));
/* */
vettEsami.add(obj);
} else if (!myCodiStatEsam.equals("11")) {
i++;
obj = new StampaCertObject();
codiCarr = nvl(rslt.getString("codi_carr"));
obj.tipoFormato =
nvl(rslt.getString("att_este"));
obj.ateneo = nvl(rslt.getString("desc_aten"));
obj.codiAten =
nvl(rslt.getString("codi_aten"));
obj.sessione =
nvl(rslt.getString("desc_sess"));
obj.tipoSess =
nvl(rslt.getString("desc_tipo_sess"));
obj.moduDida =
nvl(rslt.getString("desc_modu_dida"));
obj.siglModuDida =
nvl(rslt.getString("sigl_modu_dida"));
obj.annoCorso =
nvl(rslt.getString("anno_cors"));
obj.annoAcca = rslt.getString("anno_acca");
obj.dataEsam = rslt.getString("data_esam");
obj.codiCarr = rslt.getString("codi_carr");
if (obj.dataEsam == null) {
obj.dataEsam = "-non disp.";
}
// issue1676
if (myCodiStatEsam.equals("12")) {
obj.desc_tipo_pren =
nvl(rslt.getString("desc_tipo_pren"));
obj.tipo_pren =
nvl(rslt.getString("tipo_pren"));
}

obj.desc_stat_esam =
nvl(rslt.getString("desc_stat_esam"));
obj.codi_stat_esam =
nvl(rslt.getString("codi_stat_esam"));
String myCodiStatCarr =
nvl(rslt.getString("codi_stat_carr"));
BigDecimal myAnnu =
rslt.getBigDecimal("nume_annu");
obj.voto = nvl(rslt.getString("voto"));
obj.codiTipoVoto =
nvl(rslt.getString("codi_tipo_voto"));
obj.tipoVoto =
decodificaBaseVoto(obj.codiTipoVoto, obj.voto);
obj.votoMax = nvl(rslt.getString("voto_max"));
obj.votoMin = rslt.getString("voto_min");
int votoAsInt = 0;
int votoMinAsInt = 0;
if (!obj.voto.equals("")) {
votoAsInt = Integer.parseInt(obj.voto);
}

obj.codiStru = "";
boolean flagConv = false;
obj.codiConv =
nvl(rslt.getString("codi_conv_ante"));
if ((obj.codiConv != null) &&
(obj.codiConv.length() > 0)) {
if (vettCodiConv != null &&
vettCodiConv.contains(obj.codiConv)) {
flagConv = true;
}
}
if ((obj.tipoVoto.trim().equals("IDONEITA'") ||
obj.tipoVoto.trim().equals("SUPERATO")
||
obj.tipoVoto.trim().equals("GIUDIZIO")) && (!flagConv)) {
if (esameValido(obj)) {
if (!myCodiStatEsam.equals("12")) {
hObj.numEsamiSostenuti++;
}
obj.numeCred =
rslt.getBigDecimal("nume_cred");
if ((obj.numeCred != null) && (!
myCodiStatEsam.equals("12"))) {
if (myTotCred != null) {
myTotCred =
myTotCred.add(obj.numeCred);
} else {
myTotCred =
obj.numeCred;
}
}
if (myAnnu != null) {
obj.numeAnnu = myAnnu;
if (!
myCodiStatEsam.equals("12")) {
if (myTotAnnu != null) {
myTotAnnu =
myTotAnnu.add(obj.numeAnnu);
} else {
myTotAnnu =
obj.numeAnnu;
}
}
}
}
} else {
if (obj.votoMin != null) {
votoMinAsInt =
Integer.parseInt(obj.votoMin);
}
if ((votoAsInt != 0) && (votoMinAsInt !=
0) && (!flagConv)) {
if (votoAsInt <= votoMinAsInt) {
if (!
myCodiStatEsam.equals("12")) {
hObj.numEsamiRiprovati+
+;
}
obj.numeCred =
rslt.getBigDecimal("nume_cred");
} else {
if (!
myCodiStatEsam.equals("12")) {
hObj.numEsamiSostenuti+
+;
}
obj.numeCred =
rslt.getBigDecimal("nume_cred");
if ((obj.numeCred != null) &&
(!myCodiStatEsam.equals("12"))) {
if (myTotCred != null) {
myTotCred =
myTotCred.add(obj.numeCred);
} else {
myTotCred =
obj.numeCred;
}
}
if (myAnnu != null) {
obj.numeAnnu = myAnnu;
if (!
myCodiStatEsam.equals("12")) {
if (myTotAnnu !=
null) {
myTotAnnu =
myTotAnnu.add(obj.numeAnnu);
} else {
myTotAnnu =
obj.numeAnnu;
}
}
}
}
}
}
note = nvl(rslt.getString("note_carr"));
/* MODIFICA DEL 24/03/2005 */
obj.codiDenoModu =
nvl(rslt.getString("codi_deno"));
/* */
if (note.equalsIgnoreCase("TIROCINIO")) {
obj.annoAcca = " non def.";
obj.dataEsam = " non def.";
obj.sessione = obj.tipoSess;
tirocini.add(obj);
} else if (note.equalsIgnoreCase("ESONERO") ||
note.equalsIgnoreCase("ESONERATO")) {
obj.desc_stat_esam = "ESONERATO";
obj.dataEsam = " non def.";
vettEsami.add(obj);
} else {
vettEsami.add(obj);
}
tipo = nvl(rslt.getString("tipo"));
}

} while (rslt.next());

rslt.close();
// inizio issue #3333
} else {

rslt.close();

if (!stringCodiIscr.startsWith("'") && !
stringCodiIscr.endsWith("'"))
stringCodiIscr = "'" + stringCodiIscr + "'";

String query2 = " select /*GestioneCertificati*/ \n " + "


'ISCR' tipo, \n " + " carr.att_este, \n "
+ " carr.codi_carr, \n " + " aten.desc_aten, \n
" + " mose.desc_sess, \n "
+ " tise.desc_tipo_sess, \n "
+ " (modi.desc_modu_dida||
decode(carr.desc_att_este,'E',' (ERASMUS)','')) desc_modu_dida, \n "
+ " modi.sigl_modu_dida, \n " + "
carr.anno_cors, \n "
+ " to_char(carr.anno_acca) anno_acca, \n "
+ " to_char(carr.data_esam ,'DD/MM/YYYY')
data_esam, \n "
+ " carr.data_esam data_esam_order, \n " + "
carr.nume_cred, \n " + " carr.nume_annu, \n "
+ " carr.voto, \n " + " carr.codi_conv_ante, \n
" + " stes.desc_stat_esam, \n "
+ " stes.codi_stat_esam, \n " + "
tivo.codi_tipo_voto, \n " + " tivo.desc_tipo_voto, \n "
+ " '0' as tipo_pren, \n " + " 'PREVISTO' as
desc_tipo_pren, \n " + " tivo.voto_max, \n "
+ " tivo.voto_min, \n " + " ' '
codi_stat_carr, \n " + " iscr.codi_cors_stud, \n "
+ " carr.note_carr \n " +
/* MODIFICA DEL 24/03/2005 */
// " ,modi.codi_deno_modu
codi_deno ,aten.codi_aten \n "+
" ,modi.codi_modu_dida
codi_deno ,aten.codi_aten \n " +
/* */
" from \n " + " sest_aten aten, \n " + "
sest_iscr iscr, \n " + " sest_modu_sess mose, \n "
+ " sest_tipo_sess tise, \n " + "
sest_modu_dida modi, \n " + " sest_carr carr, \n "
+ " sest_stat_esam stes, \n " + "
sest_tipo_voto tivo \n " + " where \n "
+ " carr.codi_iscr in (" + stringCodiIscr + ")
and \n "
+ " carr.codi_iscr = iscr.codi_iscr and \n "
+ " carr.codi_modu_dida = modi.codi_modu_dida
and \n "
+ " carr.codi_stat_esam = stes.codi_stat_esam
and \n "
+ " carr.codi_tipo_voto = tivo.codi_tipo_voto
and \n "
+ " iscr.codi_aten = aten.codi_aten and \n " +
" carr.codi_sess = mose.codi_sess and \n "
+ " mose.codi_tipo_sess = tise.codi_tipo_sess
and \n " +
// " tise.codi_tipo_sess not
in('5','6','7','8') \n " + //--> modifica del
// 28/12/2005
" tise.codi_tipo_sess < 5 \n " + // -->
modifica del 28/12/2005
condizioneconv2 + // pg
condizioneConv + terminaQuery;

if ((vettCodiDida != null) && (vettCodiDida.size() > 0)) {


query2 += " union \n " + " select
/*GestioneCertificati*/ \n " + " 'DIDA' tipo, \n "
+ " carr.att_este, \n " + "
carr.codi_carr, \n " + " aten.desc_aten, \n "
+ " mose.desc_sess, \n " + "
tise.desc_tipo_sess, \n " + " modi.desc_modu_dida, \n "
+ " modi.sigl_modu_dida, \n " + "
carr.anno_cors, \n "
+ " to_char(carr.anno_acca) anno_acca, \n
"
+ " to_char(carr.data_esam ,'DD/MM/YYYY')
data_esam, \n "
+ " carr.data_esam data_esam_order, \n "
+ " carr.nume_cred, \n " + " carr.nume_annu, \n "
+ " carr.voto, \n " + "
carr.codi_conv_ante, \n "
+ " NVL(stes.desc_stat_esam, 'non
disponibile') desc_stat_esam, \n "
+ " NVL(stes.codi_stat_esam, 'null')
codi_stat_esam, \n " + " tivo.codi_tipo_voto, \n "
+ " tivo.desc_tipo_voto, \n " + "
tivo.voto_max, \n " + " tivo.voto_min, \n "
+ " '0' as tipo_pren, \n " + " 'PREVISTO'
as desc_tipo_pren, \n "
+ " dida.codi_stat_carr, \n " + "
dida.codi_cors_stud, \n " + " carr.note_carr \n " +
/* MODIFICA DEL 24/03/2005 */
// " ,modi.codi_deno_modu
codi_deno ,aten.codi_aten \n "+
" ,modi.codi_modu_dida
codi_deno ,aten.codi_aten \n " +
/* */
" from \n " + " sest_aten aten, \n " + "
sest_dida dida, \n " + " sest_modu_sess mose, \n "
+ " sest_tipo_sess tise, \n " + "
sest_modu_dida modi, \n " + " sest_tipo_voto tivo, \n "
+ " sest_carr carr, sest_stat_esam stes \
n " + " where \n "
+ " carr.codi_stat_esam =
stes.codi_stat_esam and \n " + " dida.codi_dida in ("
+ stringCodiDida + ") and \n " + "
dida.codi_stat_carr != '00001' and \n "
+ " (carr.codi_dida = dida.codi_dida OR
carr.codi_carr = dida.codi_carr) and \n "
+ " dida.codi_aten = aten.codi_aten and \
n " + " carr.codi_sess = mose.codi_sess and \n "
+ " mose.codi_tipo_sess =
tise.codi_tipo_sess and \n "
+ " carr.codi_modu_dida =
modi.codi_modu_dida and \n "
+ " carr.codi_tipo_voto =
tivo.codi_tipo_voto and \n " +
// " tise.codi_tipo_sess not
in('5','6','7','8') \n " + //--> modifica del
// 28/12/2005
" tise.codi_tipo_sess < 5 \n " + // -->
modifica del 28/12/2005
condizioneconv2 + // pg
condizioneConv + terminaQuery;
}
if ((hObj.codiTipoCert.equals("2")) ||
(hObj.codiTipoCert.equals("7"))) {
query2 += " order by data_esam_order, anno_acca \n ";
} else {
query2 += " order by anno_acca, data_esam_order \n ";
}
StampaCertObject obj2 = new StampaCertObject();
Hashtable myHash2 = new Hashtable();
hObj.numEsamiSostenuti = 0;
hObj.numEsamiRiprovati = 0;

logger.debug("selectGetEsami, query : " + query2);

rslt3 = stmt.executeQuery(query2);
Vector tirocini2 = new Vector();
if (rslt3.next()) {
vettEsami = new Vector();
tirocini2 = new Vector();
int i = 0;
do {
myCodiStatEsam =
nvl(rslt3.getString("codi_stat_esam"));

if (myCodiStatEsam.equals("11")) {
i++;
obj2 = new StampaCertObject();
codiCarr =
nvl(rslt3.getString("codi_carr"));
obj2.tipoFormato =
nvl(rslt3.getString("att_este"));
obj2.ateneo =
nvl(rslt3.getString("desc_aten"));
obj2.codiAten =
nvl(rslt3.getString("codi_aten"));
obj2.sessione =
nvl(rslt3.getString("desc_sess"));
obj2.tipoSess =
nvl(rslt3.getString("desc_tipo_sess"));
obj2.moduDida =
nvl(rslt3.getString("desc_modu_dida"));
obj2.siglModuDida =
nvl(rslt3.getString("sigl_modu_dida"));
obj2.annoCorso =
nvl(rslt3.getString("anno_cors"));
obj2.annoAcca =
rslt3.getString("anno_acca");
obj2.dataEsam =
rslt3.getString("data_esam");
obj2.codiCarr =
rslt3.getString("codi_carr");
if (obj2.dataEsam == null) {
obj2.dataEsam = "-non disp.";
}
obj2.desc_stat_esam =
nvl(rslt3.getString("desc_stat_esam"));
obj2.codi_stat_esam =
nvl(rslt3.getString("codi_stat_esam"));
String myCodiStatCarr =
nvl(rslt3.getString("codi_stat_carr"));
BigDecimal myAnnu =
rslt3.getBigDecimal("nume_annu");
if (myAnnu != null) {
obj2.numeAnnu = myAnnu;
}
BigDecimal myCred =
rslt3.getBigDecimal("nume_cred");
if (myCred != null) {
obj2.numeCred = myCred;
}
obj2.voto = nvl(rslt3.getString("voto"));
obj2.codiTipoVoto =
nvl(rslt3.getString("codi_tipo_voto"));
obj2.tipoVoto =
decodificaBaseVoto(obj2.codiTipoVoto, obj2.voto);
obj2.votoMax =
nvl(rslt3.getString("voto_max"));
obj2.votoMin =
rslt3.getString("voto_min");
int votoAsInt = 0;
int votoMinAsInt = 0;
if (!obj2.voto.equals("")) {
votoAsInt =
Integer.parseInt(obj2.voto);
}
obj2.codiStru = "";
boolean flagConv = false;
obj2.codiConv =
nvl(rslt3.getString("codi_conv_ante"));
if ((obj2.codiConv != null) &&
(obj2.codiConv.length() > 0)) {
if (vettCodiConv != null &&
vettCodiConv.contains(obj2.codiConv)) {
flagConv = true;
}
}
tipo = nvl(rslt3.getString("tipo"));
/* MODIFICA DEL 24/03/2005 */
obj2.codiDenoModu =
nvl(rslt3.getString("codi_deno"));
/* */
vettEsami.add(obj2);
} else if (!myCodiStatEsam.equals("11")) {
i++;
obj2 = new StampaCertObject();
codiCarr =
nvl(rslt3.getString("codi_carr"));
obj2.tipoFormato =
nvl(rslt3.getString("att_este"));
obj2.ateneo =
nvl(rslt3.getString("desc_aten"));
obj2.codiAten =
nvl(rslt3.getString("codi_aten"));
obj2.sessione =
nvl(rslt3.getString("desc_sess"));
obj2.tipoSess =
nvl(rslt3.getString("desc_tipo_sess"));
obj2.moduDida =
nvl(rslt3.getString("desc_modu_dida"));
obj2.siglModuDida =
nvl(rslt3.getString("sigl_modu_dida"));
obj2.annoCorso =
nvl(rslt3.getString("anno_cors"));
obj2.annoAcca =
rslt3.getString("anno_acca");
obj2.dataEsam =
rslt3.getString("data_esam");
obj2.codiCarr =
rslt3.getString("codi_carr");
if (obj2.dataEsam == null) {
obj2.dataEsam = "-non disp.";
}
// issue1676
if (myCodiStatEsam.equals("12")) {
obj2.desc_tipo_pren =
nvl(rslt3.getString("desc_tipo_pren"));
obj2.tipo_pren =
nvl(rslt3.getString("tipo_pren"));
}

obj2.desc_stat_esam =
nvl(rslt3.getString("desc_stat_esam"));
obj2.codi_stat_esam =
nvl(rslt3.getString("codi_stat_esam"));
String myCodiStatCarr =
nvl(rslt3.getString("codi_stat_carr"));
BigDecimal myAnnu =
rslt3.getBigDecimal("nume_annu");
obj2.voto = nvl(rslt3.getString("voto"));
obj2.codiTipoVoto =
nvl(rslt3.getString("codi_tipo_voto"));
obj2.tipoVoto =
decodificaBaseVoto(obj2.codiTipoVoto, obj2.voto);
obj2.votoMax =
nvl(rslt3.getString("voto_max"));
obj2.votoMin =
rslt3.getString("voto_min");
int votoAsInt = 0;
int votoMinAsInt = 0;
if (!obj2.voto.equals("")) {
votoAsInt =
Integer.parseInt(obj2.voto);
}

obj2.codiStru = "";
boolean flagConv = false;
obj2.codiConv =
nvl(rslt3.getString("codi_conv_ante"));
if ((obj2.codiConv != null) &&
(obj2.codiConv.length() > 0)) {
if (vettCodiConv != null &&
vettCodiConv.contains(obj2.codiConv)) {
flagConv = true;
}
}
if
((obj2.tipoVoto.trim().equals("IDONEITA'") ||
obj2.tipoVoto.trim().equals("SUPERATO")
||
obj2.tipoVoto.trim().equals("GIUDIZIO")) && (!flagConv)) {
if (esameValido(obj2)) {
if (!
myCodiStatEsam.equals("12")) {
hObj.numEsamiSostenuti+
+;
}
obj2.numeCred =
rslt3.getBigDecimal("nume_cred");
if ((obj2.numeCred != null)
&& (!myCodiStatEsam.equals("12"))) {
if (myTotCred != null) {
myTotCred =
myTotCred.add(obj2.numeCred);
} else {
myTotCred =
obj2.numeCred;
}
}
if (myAnnu != null) {
obj2.numeAnnu = myAnnu;
if (!
myCodiStatEsam.equals("12")) {
if (myTotAnnu !=
null) {
myTotAnnu =
myTotAnnu.add(obj2.numeAnnu);
} else {
myTotAnnu =
obj2.numeAnnu;
}
}
}
}
} else {
if (obj2.votoMin != null) {
votoMinAsInt =
Integer.parseInt(obj2.votoMin);
}
if ((votoAsInt != 0) &&
(votoMinAsInt != 0) && (!flagConv)) {
if (votoAsInt <=
votoMinAsInt) {
if (!
myCodiStatEsam.equals("12")) {

hObj.numEsamiRiprovati++;
}
obj2.numeCred =
rslt3.getBigDecimal("nume_cred");
} else {
if (!
myCodiStatEsam.equals("12")) {

hObj.numEsamiSostenuti++;
}
obj2.numeCred =
rslt3.getBigDecimal("nume_cred");
if ((obj2.numeCred !=
null) && (!myCodiStatEsam.equals("12"))) {
if (myTotCred !=
null) {
myTotCred =
myTotCred.add(obj2.numeCred);
} else {
myTotCred =
obj2.numeCred;
}
}
if (myAnnu != null) {
obj2.numeAnnu =
myAnnu;
if (!
myCodiStatEsam.equals("12")) {
if
(myTotAnnu != null) {
myTotAnnu = myTotAnnu.add(obj2.numeAnnu);
} else {

myTotAnnu = obj2.numeAnnu;
}
}
}
}
}
}
note = nvl(rslt3.getString("note_carr"));
/* MODIFICA DEL 24/03/2005 */
obj2.codiDenoModu =
nvl(rslt3.getString("codi_deno"));
/* */
if (note.equalsIgnoreCase("TIROCINIO")) {
obj2.annoAcca = " non def.";
obj2.dataEsam = " non def.";
obj2.sessione = obj2.tipoSess;
tirocini2.add(obj2);
} else if
(note.equalsIgnoreCase("ESONERO") || note.equalsIgnoreCase("ESONERATO")) {
obj2.desc_stat_esam = "ESONERATO";
obj2.dataEsam = " non def.";
vettEsami.add(obj2);
} else {
vettEsami.add(obj2);
}
tipo = nvl(rslt3.getString("tipo"));
}

} while (rslt3.next());

rslt3.close();
}
// fine issue #3333
}
if ((vettEsamiConvalidanti != null) &&
(vettEsamiConvalidanti.size() > 0)) {
vettEsamiTotali = new Vector();
vettEsamiTotali.addAll(vettEsamiConvalidanti);
}

if ((vettEsami != null) && (vettEsami.size() > 0)) {


if ((vettEsamiConvalidanti == null) ||
(vettEsamiConvalidanti.size() == 0)) {
vettEsamiTotali = new Vector();
}
for (int c = 0; c < tirocini.size(); c++) {
vettEsami.add(tirocini.get(c));
}
vettEsamiTotali.addAll(vettEsami);
} else {
if ((tirocini != null) && (tirocini.size() > 0)) {
if ((vettEsamiConvalidanti == null) ||
(vettEsamiConvalidanti.size() == 0)) {
vettEsamiTotali = new Vector();
}
vettEsami = new Vector();
for (int c = 0; c < tirocini.size(); c++) {
vettEsami.add(tirocini.get(c));
}
vettEsamiTotali.addAll(vettEsami);
}
}

if ((vettEsamiTotali != null) && (vettEsamiTotali.size() > 0)) {


// gestione erasmus
if (hObj != null) {
int matricola =
Integer.valueOf(hObj.codiSogg).intValue();
int aaInizio =
Integer.valueOf(hObj.aa_iniz).intValue();
int aaFine =
Integer.valueOf(hObj.aa_fine).intValue();
torPrintUtil.calcolaIsErasmus(matricola, aaInizio,
aaFine);
}
/* modifica del 27/09/2005 */

StampaCertObject esame = null;


Vector esami = new Vector();
for (int ii = 0; ii < vettEsamiTotali.size(); ii++) {
esame = new StampaCertObject();
esame = (StampaCertObject) vettEsamiTotali.get(ii);
esame.settScdi =
getSettoreScientifico(esame.codiDenoModu);
if (!esame.settScdi.equals(""))
esame.moduDida = esame.moduDida.trim() + " (" +
esame.settScdi + ") ";
esami.add(esame);
// gestione erasmus
torPrintUtil.putCodiCarInGroup(esame.codiCarr);

}
// popolo l'oggetto per il tor.
torPrintUtil.putEsamiErasInGroup();
vettEsamiTotali = esami;
/* */

hash.put("STAMPA_ESAMI", vettEsamiTotali);
}

if (hObj != null) {
hash.put("INPUT_STAMPA", hObj);
}
} catch (SQLException ex) {
hash.put("ERRORE", "errore_2");
logger.error("selectGetEsami SQLException ex=" +
ex.getMessage());
throw ex;
} catch (Exception ee) {
hash.put("ERRORE", "errore");
logger.error("selectGetEsami exception ee=" + ee.getMessage());
throw ee;
} finally {
if (rslt!=null)
rslt.close();
if (rslt3!=null)
rslt3.close();
if (stmt!=null)
stmt.close();
}
logger.debug("end selectGetEsami");
return hash;
}

You might also like