mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
CIS Notenimport aus Excel bricht nun nicht mehr ab, wenn ein Abbrecher in der Liste vorhanden ist
This commit is contained in:
@@ -113,7 +113,7 @@ function savenote($lvid, $student_uid, $note)
|
||||
{
|
||||
$student = new student($conn);
|
||||
$student->load($student_uid);
|
||||
die('Der Student '.$student->nachname.' '.$student->vorname.' ('.trim($student->matrikelnr).') ist dieser Lehrveranstaltung nicht zugeordnet. Die Note wird nicht uebernommen');
|
||||
return 'Der Student '.$student->nachname.' '.$student->vorname.' ('.trim($student->matrikelnr).') ist dieser Lehrveranstaltung nicht zugeordnet. Die Note wird nicht uebernommen!'."\n";
|
||||
}
|
||||
|
||||
$lvgesamtnote = new lvgesamtnote($conn);
|
||||
|
||||
@@ -41,6 +41,8 @@ require_once('../../../../include/mitarbeiter.class.php');
|
||||
require_once('../../../../include/moodle_course.class.php');
|
||||
require_once('../../../../include/mail.class.php');
|
||||
|
||||
$lvid=(isset($_GET['lvid'])?$_GET['lvid']:'');
|
||||
$stsem=(isset($_GET['stsem'])?$_GET['stsem']:'');
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
|
||||
@@ -20,20 +20,18 @@
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
require_once('../../vilesci/config.inc.php');
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
|
||||
if(!$conn = pg_pconnect(CONN_STRING))
|
||||
die('Fehler beim Connecten zur DB');
|
||||
|
||||
if(isset($_GET['stsem']))
|
||||
$stsem = $_GET['stsem'];
|
||||
else
|
||||
$stsem = '';
|
||||
|
||||
$rechte = new benutzerberechtigung($conn);
|
||||
$db = new basis_db();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen(get_uid());
|
||||
|
||||
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
@@ -46,12 +44,11 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www
|
||||
</head>
|
||||
<body>';
|
||||
|
||||
|
||||
echo "<h2>Abgängerstatistik $stsem";
|
||||
echo '<span style="position:absolute; right:15px;">'.date('d.m.Y').'</span></h2><br>';
|
||||
echo '</h2>';
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">Studiensemester: <SELECT name="stsem">';
|
||||
$studsem = new studiensemester($conn);
|
||||
$studsem = new studiensemester();
|
||||
$studsem->getAll();
|
||||
|
||||
foreach ($studsem->studiensemester as $stsemester)
|
||||
@@ -68,9 +65,6 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www
|
||||
|
||||
if($stsem!='')
|
||||
{
|
||||
|
||||
|
||||
|
||||
$stgs = $rechte->getStgKz();
|
||||
|
||||
if($stgs[0]=='')
|
||||
@@ -80,24 +74,23 @@ if($stsem!='')
|
||||
$stgwhere=' AND studiengang_kz in(';
|
||||
foreach ($stgs as $stg)
|
||||
$stgwhere.="'$stg',";
|
||||
$stgwhere = substr($stgwhere,0, strlen($stgwhere)-1);
|
||||
$stgwhere = mb_substr($stgwhere,0, mb_strlen($stgwhere)-1);
|
||||
$stgwhere.=' )';
|
||||
}
|
||||
|
||||
// SELECT count(*) FROM public.tbl_prestudent WHERE studiengang_kz=stg.studiengang_kz) AS prestd,
|
||||
$qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz,
|
||||
|
||||
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abgewiesener' AND studiensemester_kurzbz='$stsem'
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abgewiesener' AND studiensemester_kurzbz='".addslashes($stsem)."'
|
||||
) AS abgewiesener,
|
||||
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abbrecher' AND studiensemester_kurzbz='$stsem'
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abbrecher' AND studiensemester_kurzbz='".addslashes($stsem)."'
|
||||
) AS abbrecher,
|
||||
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Unterbrecher' AND studiensemester_kurzbz='$stsem'
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Unterbrecher' AND studiensemester_kurzbz='".addslashes($stsem)."'
|
||||
) AS unterbrecher,
|
||||
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='$stsem'
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."'
|
||||
) AS absolvent
|
||||
FROM
|
||||
public.tbl_studiengang stg
|
||||
@@ -105,7 +98,7 @@ if($stsem!='')
|
||||
studiengang_kz>0 AND studiengang_kz<10000 AND aktiv $stgwhere
|
||||
ORDER BY kurzbzlang; ";
|
||||
|
||||
if($result = pg_query($conn, $qry))
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
echo "<table class='liste table-autosort:0 table-stripeclass:alternate table-autostripe'>
|
||||
<thead>
|
||||
@@ -120,7 +113,7 @@ if($stsem!='')
|
||||
<tbody>
|
||||
";
|
||||
|
||||
while($row = pg_fetch_object($result))
|
||||
while($row = $db->db_fetch_object())
|
||||
{
|
||||
echo '<tr>';
|
||||
echo "<td>".strtoupper($row->typ.$row->kurzbz)." ($row->kurzbzlang)</td>";
|
||||
|
||||
@@ -24,19 +24,24 @@
|
||||
* Die zu exportierenden Spalten werden per GET uebergeben.
|
||||
* Die Adressen werden immer dazugehaengt
|
||||
*/
|
||||
require_once('../../vilesci/config.inc.php');
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/Excel/excel.php');
|
||||
|
||||
// Datenbank Verbindung
|
||||
if (!$conn = pg_pconnect(CONN_STRING))
|
||||
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
|
||||
|
||||
$db = new basis_db();
|
||||
$user = get_uid();
|
||||
$datum_obj = new datum();
|
||||
loadVariables($conn, $user);
|
||||
loadVariables($user);
|
||||
|
||||
function writecol($zeile, $i, $content)
|
||||
{
|
||||
global $worksheet, $maxlength;
|
||||
$worksheet->write($zeile, $i, $content);
|
||||
if(mb_strlen($content)>$maxlength[$i])
|
||||
$maxlength[$i]=mb_strlen($content);
|
||||
}
|
||||
|
||||
//Parameter holen
|
||||
$studiengang_kz = isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:'';
|
||||
@@ -51,10 +56,11 @@ loadVariables($conn, $user);
|
||||
|
||||
// sending HTTP headers
|
||||
$workbook->send("Abschlusspruefung". "_" . date("d_m_Y") . ".xls");
|
||||
|
||||
$workbook->setVersion(8);
|
||||
// Creating a worksheet
|
||||
$worksheet =& $workbook->addWorksheet("Abschlusspruefung");
|
||||
|
||||
$worksheet->setInputEncoding('utf-8');
|
||||
|
||||
$format_bold =& $workbook->addFormat();
|
||||
$format_bold->setBold();
|
||||
|
||||
@@ -63,7 +69,7 @@ loadVariables($conn, $user);
|
||||
// let's merge
|
||||
$format_title->setAlign('merge');
|
||||
|
||||
$stsem = new studiensemester($conn);
|
||||
$stsem = new studiensemester();
|
||||
$stsem->load($studiensemester_kurzbz);
|
||||
|
||||
//Zeilenueberschriften ausgeben
|
||||
@@ -74,17 +80,17 @@ loadVariables($conn, $user);
|
||||
foreach ($headline as $title)
|
||||
{
|
||||
$worksheet->write(0,$i,$title, $format_bold);
|
||||
$maxlength[$i]=strlen($title);
|
||||
$maxlength[$i]=mb_strlen($title);
|
||||
$i++;
|
||||
}
|
||||
|
||||
// Daten holen
|
||||
$qry = "SELECT
|
||||
titelpre, vorname, nachname, titelpost,
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=vorsitz),
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer1),
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer2),
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer3),
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=vorsitz) as vorsitz,
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer1) as pruefer1,
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer2) as pruefer2,
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer3) as pruefer3,
|
||||
(SELECT bezeichnung FROM lehre.tbl_abschlussbeurteilung WHERE tbl_abschlussbeurteilung.abschlussbeurteilung_kurzbz=tbl_abschlusspruefung.abschlussbeurteilung_kurzbz) as bezeichnung, tbl_pruefungstyp.beschreibung, datum, sponsion, tbl_abschlusspruefung.anmerkung
|
||||
FROM
|
||||
lehre.tbl_abschlusspruefung, public.tbl_studentlehrverband, public.tbl_benutzer, public.tbl_person,
|
||||
@@ -97,36 +103,39 @@ loadVariables($conn, $user);
|
||||
tbl_person.person_id = tbl_benutzer.person_id AND
|
||||
tbl_abschlusspruefung.pruefungstyp_kurzbz = tbl_pruefungstyp.pruefungstyp_kurzbz
|
||||
ORDER BY nachname, vorname";
|
||||
//tbl_abschlussbeurteilung.abschlussbeurteilung_kurzbz = tbl_abschlusspruefung.abschlussbeurteilung_kurzbz AND
|
||||
//AND datum>='".$stsem->start."' AND datum<='".$stsem->ende."'";
|
||||
|
||||
if($semester!='')
|
||||
$qry.= " AND tbl_studentlehrverband.semester='".addslashes($semester)."'";
|
||||
|
||||
$zeile=1;
|
||||
if($result = pg_query($conn, $qry))
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
while($row = pg_fetch_array($result))
|
||||
while($row = $db->db_fetch_object())
|
||||
{
|
||||
$i=0;
|
||||
|
||||
foreach ($row as $idx=>$content)
|
||||
{
|
||||
if(is_numeric($idx))
|
||||
{
|
||||
$worksheet->write($zeile, $i, $content);
|
||||
if(strlen($content)>$maxlength[$i])
|
||||
$maxlength[$i]=strlen($content);
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
writecol($zeile, $i++, $row->titelpre);
|
||||
writecol($zeile, $i++, $row->vorname);
|
||||
writecol($zeile, $i++, $row->nachname);
|
||||
writecol($zeile, $i++, $row->titelpost);
|
||||
writecol($zeile, $i++, $row->vorsitz);
|
||||
writecol($zeile, $i++, $row->pruefer1);
|
||||
writecol($zeile, $i++, $row->pruefer2);
|
||||
writecol($zeile, $i++, $row->pruefer3);
|
||||
writecol($zeile, $i++, $row->bezeichnung);
|
||||
writecol($zeile, $i++, $row->beschreibung);
|
||||
writecol($zeile, $i++, $row->datum);
|
||||
writecol($zeile, $i++, $row->sponsion);
|
||||
writecol($zeile, $i++, $row->anmerkung);
|
||||
|
||||
$zeile++;
|
||||
}
|
||||
}
|
||||
else
|
||||
die('Fehler in Qry: '.$qry);
|
||||
//Die Breite der Spalten setzen
|
||||
foreach($maxlength as $i=>$breite)
|
||||
$worksheet->setColumn($i, $i, $breite+2);
|
||||
|
||||
$workbook->close();
|
||||
|
||||
?>
|
||||
|
||||
@@ -47,6 +47,28 @@ if(!$result = @pg_query($conn, "SELECT * FROM public.tbl_status LIMIT 1;"))
|
||||
UPDATE pg_catalog.pg_constraint SET conname='prestudent_prestudentstatus' WHERE conname='prestudent_prestudentrolle';
|
||||
UPDATE pg_catalog.pg_constraint SET conname='status_prestudentstatus' WHERE conname='rolle_prestudentrolle';
|
||||
UPDATE pg_catalog.pg_constraint SET conname='studiensemester_prestudentstatus' WHERE conname='studiensemester_prestudentrolle';
|
||||
|
||||
CREATE OR REPLACE FUNCTION get_rolle_prestudent (integer, character varying) returns character varying
|
||||
DECLARE i_prestudent_id ALIAS FOR $1;
|
||||
DECLARE cv_studiensemester_kurzbz ALIAS FOR $2;
|
||||
DECLARE rec RECORD;
|
||||
BEGIN
|
||||
IF (cv_studiensemester_kurzbz IS NULL) THEN
|
||||
SELECT INTO rec status_kurzbz
|
||||
FROM public.tbl_prestudentstatus
|
||||
WHERE prestudent_id=i_prestudent_id
|
||||
ORDER BY datum desc,insertamum desc, ext_id desc
|
||||
LIMIT 1;
|
||||
ELSE
|
||||
SELECT INTO rec status_kurzbz
|
||||
FROM tbl_prestudentstatus
|
||||
WHERE prestudent_id=i_prestudent_id AND studiensemester_kurzbz=cv_studiensemester_kurzbz
|
||||
ORDER BY datum desc,insertamum desc, ext_id desc
|
||||
LIMIT 1;
|
||||
END IF;
|
||||
|
||||
RETURN rec.status_kurzbz;
|
||||
END;
|
||||
";
|
||||
|
||||
if(!pg_query($conn, $qry))
|
||||
|
||||
Reference in New Issue
Block a user