Verarbeitung von Nutzungsanträgen (Genehmigung)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

141 lines
6.4 KiB

<%
isAdmin=request.getSession().getAttribute("UserIsAdmin").toString().equals("true");
System.out.println("User "+sxuser.getUsername()+" Admin : "+isAdmin);
PreparedStatement pst_antrag;
ResultSet rs_antrag;
pst_antrag=conn.prepareStatement("select antragsteller_titel,antragsteller_vorname,antragsteller_nachname,antragsteller_email,antragsteller_benutzerkennung,antragsteller_einrichtung,"+
" antragsteller_funktion,antragsteller_funktion_gueltig_bis,vorgesetzter_titel,vorgesetzter_vorname,vorgesetzter_nachname,vorgesetzter_email,"+
" daten_bewerber_zulassung,daten_stud_absolv,daten_personal_stellen,daten_finanzen,antragsart,fin_personal_projekt,antragsdatum,"+
" genehmigung1_userid,genehmigung1_zeitpunkt,genehmigung1_titel,genehmigung1_vorname,genehmigung1_nachname,vorgesetzter_titel,vorgesetzter_vorname,vorgesetzter_nachname,A.antragsempfaenger_id,E.name as antragsempfaenger,"+
" genehmigung2_userid, genehmigung2_zeitpunkt, genehmigung2_notiz,uuid,"+
"(select min(drucktext) from organigramm where orgstruktur=60 and key_apnr=fin_personal_projekt) as fin_personal_projekt_drucktext "+
" from user_antrag A, user_antrag_empfaenger E where E.tid=A.antragsempfaenger_id and A.tid=? "
);
pst_antrag.setInt(1,Integer.parseInt(antragId));
rs_antrag = pst_antrag.executeQuery();
while (rs_antrag.next())
{
antragsteller_titel=rs_antrag.getString("antragsteller_titel");
antragsteller_vorname=rs_antrag.getString("antragsteller_vorname");
antragsteller_nachname=rs_antrag.getString("antragsteller_nachname");
antragsteller_email=rs_antrag.getString("antragsteller_email");
antragsteller_benutzerkennung=rs_antrag.getString("antragsteller_benutzerkennung");
antragsteller_einrichtung=rs_antrag.getString("antragsteller_einrichtung");
antragsteller_funktion=rs_antrag.getString("antragsteller_funktion");
antragsteller_funktion_gueltig_bis=rs_antrag.getDate("antragsteller_funktion_gueltig_bis");
vorgesetzter_titel=rs_antrag.getString("vorgesetzter_titel");
if (vorgesetzter_titel==null) vorgesetzter_titel="";
vorgesetzter_vorname=rs_antrag.getString("vorgesetzter_vorname");
vorgesetzter_nachname=rs_antrag.getString("vorgesetzter_nachname");
vorgesetzter_email=rs_antrag.getString("vorgesetzter_email");
daten_bewerber_zulassung=rs_antrag.getInt("daten_bewerber_zulassung");
daten_stud_absolv=rs_antrag.getInt("daten_stud_absolv");
daten_personal_stellen=rs_antrag.getInt("daten_personal_stellen");
daten_finanzen=rs_antrag.getInt("daten_finanzen");
antragsart=rs_antrag.getString("antragsart");
fin_personal_projekt=rs_antrag.getString("fin_personal_projekt");
fin_personal_projekt_drucktext=rs_antrag.getString("fin_personal_projekt_drucktext");
antragsdatum=rs_antrag.getDate("antragsdatum");
genehmigung1_userid=rs_antrag.getInt("genehmigung1_userid");
genehmigung1_zeitpunkt=rs_antrag.getTimestamp("genehmigung1_zeitpunkt");
genehmigung1_titel=rs_antrag.getString("genehmigung1_titel");
if (genehmigung1_titel==null) genehmigung1_titel="";
genehmigung1_vorname=rs_antrag.getString("genehmigung1_vorname");
genehmigung1_nachname=rs_antrag.getString("genehmigung1_nachname");
//wird zur Info in Genehmigung 2 gebraucht, falls noch keine Genehmigung 1 vorhanden...und zur Rechteverwaltung
antragsempfaenger_id=rs_antrag.getInt("antragsempfaenger_id");
antragsempfaenger=rs_antrag.getString("antragsempfaenger");
//wird zur Info über Genehmigung 2 HSE/Controlling gebraucht
genehmigung2_userid=rs_antrag.getInt("genehmigung2_userid");
genehmigung2_zeitpunkt=rs_antrag.getTimestamp("genehmigung2_zeitpunkt");
genehmigung2_notiz=rs_antrag.getString("genehmigung2_notiz");
uuid=rs_antrag.getString("uuid");
}
rs_antrag.close();
pst_antrag.close();
String sqlGenehmigung1kennungen="select ',' || array_to_string(array_agg(trim(U.benutzer)),',','') || ',' "+
" from userinfo U, user_antrag_empfaenger_userinfo_bez B "+
" where U.tid=B.user_id and B.aktiv=1 and B.antragsempfaenger_id=?";
PreparedStatement pst_genehmigung1_userkennung=conn.prepareStatement(sqlGenehmigung1kennungen);
pst_genehmigung1_userkennung.setInt(1,antragsempfaenger_id);
ResultSet rs_genehmigung= pst_genehmigung1_userkennung.executeQuery();
while (rs_genehmigung.next())
{
genehmigung1_userkennungen=rs_genehmigung.getString(1);
}
rs_genehmigung.close();
System.out.println("genehmigung1_userkennungen:"+genehmigung1_userkennungen);
String sqlGenehmigung2kennungen="select ',' || array_to_string(array_agg(trim(U.benutzer)),',','') || ',' "+
" from userinfo U, user_antrag_genehmigung2_userinfo_bez B "+
" where U.tid=B.user_id";
PreparedStatement pst_genehmigung2_userkennung=conn.prepareStatement(sqlGenehmigung2kennungen);
ResultSet rs_genehmigung2= pst_genehmigung2_userkennung.executeQuery();
while (rs_genehmigung2.next())
{
genehmigung2_userkennungen=rs_genehmigung2.getString(1);
}
rs_genehmigung2.close();
System.out.println("genehmigung2_userkennungen:"+genehmigung2_userkennungen);
if(genehmigung1_userkennungen!=null)
{
userIsAntragsempfaenger=(genehmigung1_userkennungen.indexOf(sxuser.getUsername())!=-1?true:false);
}
System.out.println("User ist Antragsempfaenger :"+(userIsAntragsempfaenger ? "ja" : "nein"));
if(genehmigung2_userkennungen!=null)
{
userIsGenehmigung2=(genehmigung2_userkennungen.indexOf(sxuser.getUsername())!=-1?true:false);
}
System.out.println("User ist Genehmigung2 :"+(userIsGenehmigung2 ? "ja" : "nein"));
PreparedStatement pst_userkennung=conn.prepareStatement("select benutzer from userinfo where tid=?");
if (genehmigung1_userid!=0)
{
pst_userkennung.setInt(1,genehmigung1_userid);
ResultSet rs= pst_userkennung.executeQuery();
while (rs.next())
{
genehmigung1_userkennung=rs.getString(1);
}
rs.close();
}
if (genehmigung2_userid!=0)
{
pst_userkennung.clearParameters();
pst_userkennung.setInt(1,genehmigung2_userid);
ResultSet rs= pst_userkennung.executeQuery();
while (rs.next())
{
genehmigung2_userkennung=rs.getString(1);
}
rs.close();
}
pst_userkennung.close();
PreparedStatement pst_kostenstellen=
conn.prepareStatement("select kostenstelle,coalesce(O.name,'UNBEKANNT') from user_antrag_kostenstellen UK left outer join organigramm O on UK.kostenstelle=O.key_apnr where antrag_id=? order by 1");
pst_kostenstellen.setInt(1,Integer.parseInt(antragId));
ResultSet rs_kostenstellen= pst_kostenstellen.executeQuery();
while (rs_kostenstellen.next())
{
kostenstellenliste.add(rs_kostenstellen.getString(1)+"-"+rs_kostenstellen.getString(2));
}
rs_kostenstellen.close();pst_kostenstellen.close();
%>