mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Merge branch 'feature-5707/DigitalerLehrauftrag_PDF-Download_Akzeptierte_Lehrauftraege' into review/DigitaleLehrauftraege
This commit is contained in:
@@ -89,6 +89,7 @@ $this->load->view(
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<form id="formLehrauftrag" class="form-inline" action="" method="get">
|
||||
<input type="hidden" id="uid" name="uid" value="<?php echo getAuthUID(); ?>">
|
||||
<div class="form-group">
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
@@ -118,7 +119,7 @@ $this->load->view(
|
||||
|
||||
<!-- filter buttons & password field & akzeptieren-button -->
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<div class="col-xs-5 col-md-4">
|
||||
<div class="btn-toolbar" role="toolbar">
|
||||
<div class="btn-group" role="group">
|
||||
<button id="show-all" class="btn btn-default btn-lehrauftrag active focus" type="button"
|
||||
@@ -138,7 +139,21 @@ $this->load->view(
|
||||
</button><!-- png img set in javascript -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-offset-2 col-md-4 col-xs-6">
|
||||
|
||||
|
||||
<div class="col-xs-3 col-md-offset-2 col-md-2">
|
||||
<div class="btn-group dropup pull-right">
|
||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
Dokumente PDF <i class="fa fa-arrow-down"></i> <span class="caret"></span>
|
||||
</button>
|
||||
<ul id="ul-download-pdf" class="dropdown-menu">
|
||||
<li value="etw"><a href="#">PDF Lehraufträge FH</a></li>
|
||||
<li value="lehrgang"><a href="#">PDF Lehraufträge Lehrgänge</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-4 col-md-offset-0 col-md-4">
|
||||
<div class="input-group">
|
||||
<input id="username" type="hidden" value=""><!-- this is to prevent Chrome autofilling a random input field with the username-->
|
||||
<input id="password" type="password" autocomplete="new-password" class="form-control" placeholder="CIS-Passwort">
|
||||
|
||||
@@ -340,9 +340,6 @@ $filterWidgetArray = array(
|
||||
rowUpdated:function(row){
|
||||
func_rowUpdated(row);
|
||||
},
|
||||
rowSelectionChanged:function(data, rows){
|
||||
func_rowSelectionChanged(data, rows);
|
||||
},
|
||||
rowFormatter:function(row){
|
||||
func_rowFormatter(row);
|
||||
},
|
||||
|
||||
@@ -359,9 +359,6 @@ $filterWidgetArray = array(
|
||||
rowUpdated:function(row){
|
||||
func_rowUpdated(row);
|
||||
},
|
||||
rowSelectionChanged:function(data, rows){
|
||||
func_rowSelectionChanged(data, rows);
|
||||
},
|
||||
rowFormatter:function(row)
|
||||
{
|
||||
func_rowFormatter(row);
|
||||
|
||||
@@ -393,9 +393,6 @@ $filterWidgetArray = array(
|
||||
rowUpdated:function(row){
|
||||
func_rowUpdated(row);
|
||||
},
|
||||
rowSelectionChanged:function(data, rows){
|
||||
func_rowSelectionChanged(data, rows);
|
||||
},
|
||||
rowFormatter:function(row){
|
||||
func_rowFormatter(row);
|
||||
},
|
||||
|
||||
@@ -37,6 +37,7 @@ require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/student.class.php');
|
||||
require_once('../../include/prestudent.class.php');
|
||||
require_once('../../include/dokument_export.class.php');
|
||||
require_once('../../include/person.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||
@@ -135,6 +136,8 @@ if (isset($_GET['typ']))
|
||||
$params .= '&typ='.$_GET['typ'];
|
||||
if (isset($_GET['all']))
|
||||
$params .= '&all=1';
|
||||
if (isset($_GET['xsl_oe_kurzbz']))
|
||||
$params .= '&xsl_oe_kurzbz='. $_GET['xsl_oe_kurzbz'];
|
||||
|
||||
//OE fuer Output ermitteln
|
||||
|
||||
@@ -166,7 +169,7 @@ else
|
||||
|
||||
|
||||
$konto = new konto();
|
||||
if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
|
||||
if (((isset($_GET["uid"]) && $user == $_GET["uid"])) || $rechte->isBerechtigt('admin'))
|
||||
{
|
||||
$buchungstypen = array();
|
||||
if (defined("CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN"))
|
||||
@@ -232,7 +235,9 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
|
||||
$filename .= '-'.$studienordnung->studiengangkurzbzlang;
|
||||
break;
|
||||
default:
|
||||
$filename = $xsl;
|
||||
$person = new Person();
|
||||
$person->getPersonFromBenutzer($user);
|
||||
$filename = $xsl. '_'. $person->nachname;
|
||||
}
|
||||
|
||||
$dokument->setFilename($filename);
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// Global vars
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
const APP_ROOT = FHC_JS_DATA_STORAGE_OBJECT.app_root;
|
||||
|
||||
const COLOR_LIGHTGREY = "#f5f5f5";
|
||||
|
||||
@@ -431,7 +432,6 @@ storniert_tooltip = function(cell){
|
||||
}
|
||||
|
||||
$(function() {
|
||||
|
||||
// Pruefen ob Promise unterstuetzt wird
|
||||
// Tabulator funktioniert nicht mit IE
|
||||
var canPromise = !! window.Promise;
|
||||
@@ -508,6 +508,29 @@ $(function() {
|
||||
$(this).addClass('focus').addClass('active');
|
||||
});
|
||||
|
||||
// Performs download PDF accepted Lehrauftraege
|
||||
$("#ul-download-pdf").on('click', 'li', function(){
|
||||
var uid = $("#uid").val();
|
||||
var studiensemester = $('#studiensemester').val();
|
||||
|
||||
if ($(this).attr('value') != null && $(this).attr('value') != '')
|
||||
{
|
||||
var selected = $(this).attr('value');
|
||||
|
||||
if (selected == 'etw' || selected == 'lehrgang')
|
||||
{
|
||||
window.open(APP_ROOT + 'cis/private/pdfExport.php' +
|
||||
'?xml=lehrauftrag_annehmen.xml.php' +
|
||||
'&xsl=Lehrauftrag' +
|
||||
'&xsl_oe_kurzbz=' + selected +
|
||||
'&stg_kz=' +
|
||||
'&uid=' + uid +
|
||||
'&ss=' + studiensemester, '_parent'
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Redraw table stornierte lehrauftraege on button click
|
||||
$('#collapseCancelledLehrauftraege').on('shown.bs.collapse', function () {
|
||||
$('[tableuniqueid = cancelledLehrauftrag] #tableWidgetTabulator').tabulator('redraw', true);
|
||||
@@ -566,7 +589,7 @@ $(function() {
|
||||
// Print error message
|
||||
FHC_DialogLib.alertWarning(data.retval);
|
||||
}
|
||||
|
||||
|
||||
if (!data.error && data.retval != null)
|
||||
{
|
||||
// Update status 'Erteilt'
|
||||
|
||||
@@ -275,7 +275,7 @@ function drawLehrauftrag($uid)
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($ss);
|
||||
|
||||
if ($studiengang_kz != '') //$studiengang_kz!='0' &&
|
||||
$qry .= "AND lv_studiengang_kz=".$db->db_add_param($studiengang_kz);
|
||||
$qry .= " AND lv_studiengang_kz=".$db->db_add_param($studiengang_kz);
|
||||
$qry .= " ORDER BY lv_orgform_kurzbz, lv_bezeichnung, lehreinheit_id";
|
||||
$lv = array();
|
||||
$anzahl_lvs = 0;
|
||||
|
||||
@@ -0,0 +1,510 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
/* Erstellt einen Lehrauftrag im PDF Format
|
||||
*
|
||||
* Erstellt ein XML File fuer den Lehrauftrag
|
||||
*/
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/benutzerberechtigung.class.php');
|
||||
require_once('../include/studiengang.class.php');
|
||||
require_once('../include/lehreinheit.class.php');
|
||||
require_once('../include/organisationseinheit.class.php');
|
||||
require_once('../include/mitarbeiter.class.php');
|
||||
require_once('../include/bisverwendung.class.php');
|
||||
require_once('../include/person.class.php');
|
||||
|
||||
if (isset($_SERVER['REMOTE_USER']))
|
||||
{
|
||||
// Wenn das Script direkt aufgerufen wird muss es ein Admin sein
|
||||
$user=get_uid();
|
||||
$berechtigung = new benutzerberechtigung();
|
||||
$berechtigung->getBerechtigungen($user);
|
||||
if (!$berechtigung->isBerechtigt('admin'))
|
||||
die('Sie haben keine Berechtigung fuer diese Seite');
|
||||
}
|
||||
|
||||
// header für no cache
|
||||
header("Cache-Control: no-cache");
|
||||
header("Cache-Control: post-check=0, pre-check=0",false);
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Pragma: no-cache");
|
||||
// content type setzen
|
||||
header("Content-type: application/xhtml+xml");
|
||||
|
||||
//Parameter holen
|
||||
if (isset($_GET['uid']))
|
||||
$uid = $_GET['uid'];
|
||||
else
|
||||
$uid = null;
|
||||
|
||||
if (isset($_GET['stg_kz']))
|
||||
$studiengang_kz = $_GET['stg_kz'];
|
||||
else
|
||||
die('Fehlerhafte Parameteruebergabe');
|
||||
if (isset($_GET['ss']))
|
||||
$ss = $_GET['ss'];
|
||||
else
|
||||
die('Fehlerhafte Parameteruebergabe');
|
||||
|
||||
$xsl_oe_kurzbz = isset($_GET['xsl_oe_kurzbz']) && !empty($_GET['xsl_oe_kurzbz']) ? $_GET['xsl_oe_kurzbz'] : '';
|
||||
|
||||
// GENERATE XML
|
||||
$xml = '<?xml version="1.0" encoding="UTF-8" ?><lehrauftraege>';
|
||||
$stg_arr = array();
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->getAll(null, false);
|
||||
|
||||
foreach ($studiengang->result as $row)
|
||||
$stg_arr[$row->studiengang_kz] = $row->kuerzel;
|
||||
|
||||
//Studiengang laden
|
||||
$studiengang = new studiengang($studiengang_kz);
|
||||
|
||||
//Organisationseinheiten laden
|
||||
$oe_arr = array();
|
||||
$organisationseinheit_obj = new organisationseinheit();
|
||||
$organisationseinheit_obj->getAll();
|
||||
foreach ($organisationseinheit_obj->result as $oe)
|
||||
{
|
||||
$oe_arr[$oe->oe_kurzbz] = $oe->bezeichnung;
|
||||
}
|
||||
|
||||
//Studiengangsleiter holen
|
||||
$stgl = '';
|
||||
$db = new basis_db();
|
||||
if ($studiengang_kz != '')
|
||||
{
|
||||
$studiengang_obj = new studiengang();
|
||||
$stgleiter = $studiengang_obj->getLeitung($studiengang_kz);
|
||||
|
||||
foreach ($stgleiter as $stgleiter_uid)
|
||||
{
|
||||
$row = new mitarbeiter($stgleiter_uid);
|
||||
$stgl .= trim($row->titelpre.' '.$row->vorname.' '.$row->nachname.' '.$row->titelpost);
|
||||
}
|
||||
}
|
||||
|
||||
if ($uid == null)
|
||||
{
|
||||
$qry = "
|
||||
SELECT
|
||||
distinct mitarbeiter_uid
|
||||
FROM (
|
||||
SELECT
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung
|
||||
WHERE
|
||||
tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
|
||||
tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($ss)."
|
||||
UNION
|
||||
SELECT
|
||||
tbl_benutzer.uid as mitarbeiter_uid
|
||||
FROM
|
||||
lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung,
|
||||
public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student, public.tbl_mitarbeiter
|
||||
WHERE
|
||||
tbl_projektbetreuer.person_id=tbl_benutzer.person_id AND
|
||||
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
|
||||
student_uid=vw_student.uid AND
|
||||
tbl_benutzer.uid = tbl_mitarbeiter.mitarbeiter_uid AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($ss)." AND
|
||||
tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
|
||||
tbl_projektbetreuer.stunden!='0'
|
||||
) as mitarbeiter ORDER BY mitarbeiter_uid";
|
||||
|
||||
if ($db->db_query($qry))
|
||||
{
|
||||
while ($row = $db->db_fetch_object())
|
||||
{
|
||||
drawLehrauftrag($row->mitarbeiter_uid);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
drawLehrauftrag($uid);
|
||||
|
||||
function drawLehrauftrag($uid)
|
||||
{
|
||||
global $studiengang;
|
||||
global $studiengang_kz;
|
||||
global $xsl_oe_kurzbz;
|
||||
global $oe_arr;
|
||||
global $stg_arr;
|
||||
global $ss;
|
||||
global $xml;
|
||||
global $stgl;
|
||||
|
||||
$db = new basis_db();
|
||||
|
||||
$xml.='<lehrauftrag>
|
||||
<studiengang><![CDATA[FH-';
|
||||
//Studiengang
|
||||
$typ='';
|
||||
if ($studiengang->typ=='d')
|
||||
{
|
||||
$xml.= 'Diplom-';
|
||||
$typ = 'Diplom';
|
||||
}
|
||||
elseif ($studiengang->typ=='m')
|
||||
{
|
||||
$xml.= 'Master-';
|
||||
$typ = 'Master';
|
||||
}
|
||||
elseif ($studiengang->typ=='b')
|
||||
{
|
||||
$xml.= 'Bachelor-';
|
||||
$typ = 'Bachelor';
|
||||
}
|
||||
|
||||
$xml.= 'Studiengang '.$studiengang->bezeichnung.']]></studiengang>';
|
||||
$xml.= '<studiengang_bezeichnung><![CDATA['. $studiengang->bezeichnung. ']]></studiengang_bezeichnung>';
|
||||
$xml.= '<studiengang_bezeichnung_englisch><![CDATA['. $studiengang->english. ']]></studiengang_bezeichnung_englisch>';
|
||||
$xml.= '<studiengang_typ><![CDATA['. $typ. ']]></studiengang_typ>';
|
||||
|
||||
//Studiensemester
|
||||
if (substr($ss,0,2) == 'WS')
|
||||
$studiensemester = 'Wintersemester '.substr($ss,2);
|
||||
else
|
||||
$studiensemester = 'Sommersemester '.substr($ss,2);
|
||||
$xml .= '<studiensemester_kurzbz><![CDATA['. $ss. ']]></studiensemester_kurzbz>
|
||||
<studiensemester><![CDATA['. $studiensemester. ']]></studiensemester>';
|
||||
|
||||
//Lektor
|
||||
$qry = "
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
campus.vw_mitarbeiter
|
||||
LEFT JOIN public.tbl_adresse USING(person_id)
|
||||
WHERE
|
||||
uid=".$db->db_add_param($uid)."
|
||||
ORDER BY zustelladresse DESC, firma_id
|
||||
LIMIT 1";
|
||||
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
if ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$firmenanschrift = false;
|
||||
if ($row->firma_id != '')
|
||||
{
|
||||
$qry ="
|
||||
SELECT
|
||||
tbl_firma.name, tbl_adresse.strasse, tbl_adresse.plz, tbl_adresse.ort
|
||||
FROM
|
||||
public.tbl_firma
|
||||
JOIN public.tbl_adresse USING(firma_id)
|
||||
WHERE
|
||||
tbl_firma.firma_id=".$db->db_add_param($row->firma_id)."
|
||||
AND person_id=".$db->db_add_param($row->person_id)."
|
||||
LIMIT 1";
|
||||
|
||||
if ($result_firma = $db->db_query($qry))
|
||||
{
|
||||
if ($row_firma = $db->db_fetch_object($result_firma))
|
||||
{
|
||||
$name_gesamt = $row_firma->name;
|
||||
$strasse = $row_firma->strasse;
|
||||
$plz = $row_firma->plz;
|
||||
$ort = $row_firma->ort;
|
||||
$zuhanden = "zu Handen ".trim($row->titelpre.' '.$row->vorname.' '.$row->nachname.' '.$row->titelpost);
|
||||
$firmenanschrift = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$firmenanschrift)
|
||||
{
|
||||
$strasse = $row->strasse;
|
||||
$plz = $row->plz;
|
||||
$ort = $row->ort;
|
||||
$name_gesamt = trim($row->titelpre.' '.$row->vorname.' '.$row->nachname.' '.$row->titelpost);
|
||||
$zuhanden='';
|
||||
}
|
||||
// Lädt die letzte (aktuellste) Verwendungen eines Mitarbeiters um die inkludierte Lehre auslesen zu können
|
||||
$bis = new bisverwendung();
|
||||
$bis->getLastAktVerwendung($uid);
|
||||
|
||||
$xml .= '
|
||||
<mitarbeiter>
|
||||
<titelpre><![CDATA['.$row->titelpre.']]></titelpre>
|
||||
<vorname><![CDATA['.$row->vorname.']]></vorname>
|
||||
<familienname><![CDATA['.$row->nachname.']]></familienname>
|
||||
<titelpost><![CDATA['.$row->titelpost.']]></titelpost>
|
||||
<anschrift><![CDATA['.$strasse.']]></anschrift>
|
||||
<name_gesamt><![CDATA['.$name_gesamt.']]></name_gesamt>
|
||||
<zuhanden><![CDATA['.$zuhanden.']]></zuhanden>
|
||||
<plz><![CDATA['.$plz.']]></plz>
|
||||
<ort><![CDATA['.$ort.']]></ort>
|
||||
<svnr><![CDATA['.$row->svnr.']]></svnr>
|
||||
<personalnummer><![CDATA['.$row->personalnummer.']]></personalnummer>
|
||||
<inkludierte_lehre><![CDATA['.$bis->inkludierte_lehre.']]></inkludierte_lehre>
|
||||
</mitarbeiter>';
|
||||
}
|
||||
}
|
||||
|
||||
//Lehreinheiten
|
||||
$qry = "
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
campus.vw_lehreinheit
|
||||
JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id, mitarbeiter_uid)
|
||||
JOIN lehre.tbl_vertrag_vertragsstatus vvst USING (vertrag_id)
|
||||
WHERE
|
||||
mitarbeiter_uid=".$db->db_add_param($uid)."
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($ss). "
|
||||
AND lema.vertrag_id IS NOT NULL
|
||||
AND vertragsstatus_kurzbz = 'akzeptiert'";
|
||||
|
||||
if ($studiengang_kz != '') //$studiengang_kz!='0' &&
|
||||
{
|
||||
$qry .= " AND lv_studiengang_kz=".$db->db_add_param($studiengang_kz);
|
||||
}
|
||||
elseif (!empty($xsl_oe_kurzbz))
|
||||
{
|
||||
if ($xsl_oe_kurzbz == 'etw')
|
||||
{
|
||||
$qry .= " AND lv_studiengang_kz > 0";
|
||||
}
|
||||
|
||||
if ($xsl_oe_kurzbz == 'lehrgang')
|
||||
{
|
||||
$qry .= " AND lv_studiengang_kz <= 0";
|
||||
}
|
||||
}
|
||||
|
||||
$qry .= " ORDER BY lv_orgform_kurzbz, lv_bezeichnung, lehreinheit_id";
|
||||
$lv = array();
|
||||
$anzahl_lvs = 0;
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
$last_le = '';
|
||||
$gesamtkosten = 0;
|
||||
$gesamtstunden = 0;
|
||||
$gruppen = array();
|
||||
$grp = '';
|
||||
$gruppen_getrennt = '';
|
||||
$einzelgruppe = '';
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if ($last_le != $row->lehreinheit_id && $last_le != '')
|
||||
{
|
||||
array_unique($gruppen);
|
||||
sort($gruppen);
|
||||
foreach ($gruppen as $gruppe)
|
||||
{
|
||||
$grp .= $gruppe.' ';
|
||||
$gruppen_getrennt .= '<einzelgruppe><![CDATA['.$gruppe.']]></einzelgruppe>';
|
||||
}
|
||||
$einzelgruppe = $gruppen_getrennt;
|
||||
$lv[$anzahl_lvs]['lehreinheit_id'] = $lehreinheit_id;
|
||||
$lv[$anzahl_lvs]['lehrveranstaltung'] = $lehrveranstaltung;
|
||||
$lv[$anzahl_lvs]['fachbereich'] = (isset($oe_arr[$lehrfach_oe_kurzbz])?$oe_arr[$lehrfach_oe_kurzbz]:'');
|
||||
$lv[$anzahl_lvs]['gruppe'] = ($grp != ''?trim($grp):' ');
|
||||
$lv[$anzahl_lvs]['stunden'] = ($stunden != ''?$stunden:' ');
|
||||
$lv[$anzahl_lvs]['satz'] = ($satz != ''?$satz:' ');
|
||||
$lv[$anzahl_lvs]['faktor'] = ($faktor != ''?$faktor:' ');
|
||||
$lv[$anzahl_lvs]['brutto'] = number_format($brutto,2,',','.');
|
||||
$lv[$anzahl_lvs]['einzelgruppe'] = ($gruppen_getrennt != ''?$gruppen_getrennt:' ');
|
||||
$anzahl_lvs++;
|
||||
|
||||
$gesamtkosten = $gesamtkosten + $brutto;
|
||||
$gesamtstunden = $gesamtstunden + $stunden;
|
||||
|
||||
$lehreinheit_id = '';
|
||||
$lehrveranstaltung = '';
|
||||
$lehrfach_oe_kurzbz = '';
|
||||
$gruppen = array();
|
||||
$stunden = '';
|
||||
$satz = '';
|
||||
$faktor = '';
|
||||
$brutto = '';
|
||||
$grp = '';
|
||||
$gruppen_getrennt = '';
|
||||
}
|
||||
|
||||
$lehreinheit_id = $row->lehreinheit_id;
|
||||
$lehrveranstaltung = CutString($row->lv_bezeichnung, 30, '...').' '.$row->lehrform_kurzbz.' '.$row->lv_semester.'. Semester';
|
||||
$lehrfach_oe_kurzbz = $row->lehrfach_oe_kurzbz;
|
||||
|
||||
if ($row->gruppe_kurzbz != '')
|
||||
$gruppen[] = $row->gruppe_kurzbz;
|
||||
else
|
||||
$gruppen[] = trim($stg_arr[$row->studiengang_kz].'-'.$row->semester.$row->verband.$row->gruppe).' ';
|
||||
|
||||
$stunden = $row->semesterstunden;
|
||||
$satz = $row->stundensatz;
|
||||
$faktor = $row->faktor;
|
||||
$brutto = $row->semesterstunden * $row->stundensatz;
|
||||
$last_le = $row->lehreinheit_id;
|
||||
}
|
||||
array_unique($gruppen);
|
||||
sort($gruppen);
|
||||
foreach ($gruppen as $gruppe)
|
||||
{
|
||||
$grp .= $gruppe.' ';
|
||||
$gruppen_getrennt .= '<einzelgruppe><![CDATA['.$gruppe.']]></einzelgruppe>';
|
||||
}
|
||||
if (isset($lehreinheit_id))
|
||||
{
|
||||
$lv[$anzahl_lvs]['lehreinheit_id'] = (isset($lehreinheit_id)?$lehreinheit_id:' ');
|
||||
$lv[$anzahl_lvs]['lehrveranstaltung'] = (isset($lehrveranstaltung)?$lehrveranstaltung:' ');
|
||||
$lv[$anzahl_lvs]['fachbereich'] = (isset($lehrfach_oe_kurzbz)?$oe_arr[$lehrfach_oe_kurzbz]:' ');
|
||||
$lv[$anzahl_lvs]['gruppe'] = ($grp!=''?trim($grp):' ');
|
||||
$lv[$anzahl_lvs]['stunden'] = (isset($stunden)?$stunden:' ');
|
||||
$lv[$anzahl_lvs]['satz'] = (isset($satz)?$satz:' ');
|
||||
$lv[$anzahl_lvs]['faktor'] = (isset($faktor)?$faktor:' ');
|
||||
$lv[$anzahl_lvs]['brutto'] = (isset($brutto)?number_format($brutto,2,',','.'):' ');
|
||||
$lv[$anzahl_lvs]['einzelgruppe'] = ($gruppen_getrennt!=''?$gruppen_getrennt:' ');
|
||||
$anzahl_lvs++;
|
||||
|
||||
if (isset($brutto))
|
||||
$gesamtkosten = $gesamtkosten + $brutto;
|
||||
if (isset($stunden))
|
||||
$gesamtstunden = $gesamtstunden + $stunden;
|
||||
}
|
||||
}
|
||||
$qry = 'SELECT
|
||||
pa.projektarbeit_id,
|
||||
pb.faktor,
|
||||
pb.stunden,
|
||||
pb.stundensatz,
|
||||
lv.semester,
|
||||
vorname,
|
||||
nachname,
|
||||
student.studiengang_kz,
|
||||
projekttyp_kurzbz,
|
||||
lv.oe_kurzbz,
|
||||
vertragsstatus_kurzbz
|
||||
FROM lehre.tbl_projektbetreuer pb
|
||||
JOIN lehre.tbl_projektarbeit pa USING (projektarbeit_id)
|
||||
JOIN lehre.tbl_lehreinheit le USING (lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung lv USING (lehrveranstaltung_id)
|
||||
JOIN PUBLIC.tbl_organisationseinheit oe USING (oe_kurzbz)
|
||||
JOIN public.tbl_benutzer benutzer ON pb.person_id = benutzer.person_id
|
||||
JOIN campus.vw_student student ON pa.student_uid = student.uid
|
||||
LEFT JOIN lehre.tbl_vertrag vertrag USING (vertrag_id)
|
||||
LEFT JOIN lehre.tbl_vertrag_vertragsstatus vvst USING (vertrag_id)
|
||||
WHERE pb.vertrag_id IS NOT NULL
|
||||
AND vvst.vertragsstatus_kurzbz = \'akzeptiert\'
|
||||
AND benutzer.uid = '.$db->db_add_param($uid).'
|
||||
AND le.studiensemester_kurzbz = '.$db->db_add_param($ss);
|
||||
|
||||
if ($studiengang_kz != '')
|
||||
{
|
||||
$qry .= " AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
}
|
||||
elseif (!empty($xsl_oe_kurzbz))
|
||||
{
|
||||
if ($xsl_oe_kurzbz == 'etw')
|
||||
{
|
||||
$qry .= " AND lv.studiengang_kz > 0";
|
||||
}
|
||||
|
||||
if ($xsl_oe_kurzbz == 'lehrgang')
|
||||
{
|
||||
$qry .= " AND lv.studiengang_kz <= 0";
|
||||
}
|
||||
}
|
||||
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$stg = new studiengang();
|
||||
$stg->load($row->studiengang_kz);
|
||||
$stg_kuerzel = $stg->kuerzel;
|
||||
|
||||
$brutto = $row->stunden * $row->stundensatz;
|
||||
if ($row->stunden != 0)
|
||||
{
|
||||
switch ($row->projekttyp_kurzbz)
|
||||
{
|
||||
case 'Bachelor': $kuerzel = 'BA'; break;
|
||||
case 'Diplom': $kuerzel = 'DA'; break;
|
||||
case 'Projekt': $kuerzel = 'PJ'; break;
|
||||
case 'Praktikum': $kuerzel = 'PX'; break;
|
||||
case 'Praxis': $kuerzel = 'PX'; break;
|
||||
default: $kuerzel = 'PA'; break;
|
||||
}
|
||||
|
||||
$lv[$anzahl_lvs]['lehreinheit_id'] = (isset($row->projektarbeit_id)?$kuerzel.$row->projektarbeit_id:' ');
|
||||
$lv[$anzahl_lvs]['lehrveranstaltung'] = 'Betreuung '.$row->vorname.' '.$row->nachname;
|
||||
$lv[$anzahl_lvs]['fachbereich'] = (isset($row->oe_kurzbz) && array_key_exists($row->oe_kurzbz, $oe_arr)?$oe_arr[$row->oe_kurzbz]:' ');
|
||||
$lv[$anzahl_lvs]['gruppe'] = ' ';
|
||||
$lv[$anzahl_lvs]['stunden'] = (isset($row->stunden)?number_format($row->stunden,2):' ');
|
||||
$lv[$anzahl_lvs]['satz'] = (isset($row->stundensatz)?$row->stundensatz:' ');
|
||||
$lv[$anzahl_lvs]['faktor'] = (isset($row->faktor)?$row->faktor:'');
|
||||
$lv[$anzahl_lvs]['brutto'] = (isset($brutto)?number_format($brutto,2,',','.'):' ');
|
||||
$lv[$anzahl_lvs]['einzelgruppe'] = '<einzelgruppe><![CDATA['.$stg_kuerzel.'-'.$row->semester.']]></einzelgruppe>';
|
||||
$anzahl_lvs++;
|
||||
|
||||
$gesamtkosten = $gesamtkosten + $brutto;
|
||||
$gesamtstunden = $gesamtstunden + $row->stunden;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
foreach ($lv as $lv_row)
|
||||
{
|
||||
$xml .= '
|
||||
<lehreinheit>
|
||||
<lehreinheit_id><![CDATA['.$lv_row['lehreinheit_id'].']]></lehreinheit_id>
|
||||
<lehrveranstaltung><![CDATA['.$lv_row['lehrveranstaltung'].']]></lehrveranstaltung>
|
||||
<fachbereich><![CDATA['.$lv_row['fachbereich'].']]></fachbereich>
|
||||
<gruppe><![CDATA['.$lv_row['gruppe'].']]></gruppe>
|
||||
<gruppen_getrennt>'. $lv_row['einzelgruppe']. '</gruppen_getrennt> <!-- Variable enthält CDATA tags-->
|
||||
<stunden><![CDATA['.$lv_row['stunden'].']]></stunden>
|
||||
<satz><![CDATA['.$lv_row['satz'].']]></satz>
|
||||
<faktor><![CDATA['.$lv_row['faktor'].']]></faktor>
|
||||
<brutto><![CDATA['.$lv_row['brutto'].']]></brutto>
|
||||
</lehreinheit>';
|
||||
};
|
||||
|
||||
// Gesamtstunden und Gesamtkosten
|
||||
$xml .= "
|
||||
<gesamtstunden><![CDATA[".number_format($gesamtstunden,2)."]]></gesamtstunden>
|
||||
<gesamtbetrag><![CDATA[".number_format($gesamtkosten,2,',','.')."]]></gesamtbetrag>";
|
||||
|
||||
|
||||
$xml .= "
|
||||
<studiengangsleiter><![CDATA[$stgl]]></studiengangsleiter>";
|
||||
|
||||
$xml .= '
|
||||
<datum><![CDATA['.date('d.m.Y').']]></datum>
|
||||
</lehrauftrag>
|
||||
';
|
||||
}
|
||||
|
||||
// END GENERATE XML
|
||||
echo $xml.'</lehrauftraege>';
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user