Merge branch 'master' into feature-15391/Positive_Zeitsperre

This commit is contained in:
Andreas Österreicher
2022-04-08 12:31:09 +02:00
11 changed files with 125 additions and 26 deletions
+4
View File
@@ -237,6 +237,10 @@ $covidhelper = new CovidHelper();
$aw_content='';
if(defined('CIS_ANWESENHEITSLISTE_ANWESENHEITSLISTE_BILD_ANZEIGEN') && !CIS_ANWESENHEITSLISTE_ANWESENHEITSLISTE_BILD_ANZEIGEN)
$awbild_content='';
if( defined('CIS_SHOW_COVID_STATUS') && !CIS_SHOW_COVID_STATUS )
{
$covid_content = '';
}
echo "<table cellpadding='0' cellspacing='0'>
+2
View File
@@ -254,4 +254,6 @@ define('JAHRESPLAN_TICKET_LINK','https://bug.technikum-wien.at/otrs/index.pl?Act
//Gibt an ob der Block zu Verplanung in geteilter Arbeitszeit bei den Zeitwünschen angezeigt wird. Default: false
define('CIS_ZEITWUNSCH_GD', false);
// Covid-Status anzeigen
define('CIS_SHOW_COVID_STATUS', false);
?>
@@ -120,6 +120,10 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#studiengang_kz" onclick="LehrveranstaltungNotenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="lehrveranstaltung-noten-tree-verband" label="Verband" flex="2" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#verband" />
<splitter class="tree-splitter"/>
<treecol id="lehrveranstaltung-noten-tree-studiengang_kz_lv" label="LehrveranstaltungStudiengang_kz" flex="1" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#studiengang_kz_lv" onclick="LehrveranstaltungNotenTreeSort()"/>
@@ -151,6 +155,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#lehrveranstaltung_id"/>
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#studiengang"/>
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#studiengang_kz"/>
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#verband"/>
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#studiengang_kz_lv"/>
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#student_semester"/>
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#punkte"/>
+6 -2
View File
@@ -309,6 +309,10 @@ class benutzer extends person
*/
public function search($searchItems, $limit=null, $aktiv=true, $positivePersonalnr=false)
{
// SearchItems imploden und trimmen, um preg_split(Zeichenweise trennung) durchfuehren zu koennen
$searchItems_string_orig = implode(' ', $searchItems);
$searchItems_string = generateSpecialCharacterString($searchItems_string_orig);
$qry = "SELECT * FROM (
SELECT
distinct on (uid) vorname, nachname, uid, mitarbeiter_uid, personalnummer, titelpre, titelpost, lektor, fixangestellt, alias, tbl_benutzer.aktiv, anrede,
@@ -350,8 +354,8 @@ class benutzer extends person
if($positivePersonalnr === true)
$qry.=" (personalnummer >= 0 OR personalnummer IS NULL) AND";
$qry.=" (lower(vorname || ' ' || nachname) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')";
$qry.=" OR lower(nachname || ' ' || vorname) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')";
$qry.=" (lower(vorname || ' ' || nachname) ~* lower(".$this->db_add_param($searchItems_string).")";
$qry.=" OR lower(nachname || ' ' || vorname) ~* lower(".$this->db_add_param($searchItems_string).")";
$qry.=" OR lower(uid) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')";
$qry.=" OR lower(telefonklappe) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')";
+6 -2
View File
@@ -918,6 +918,10 @@ class mitarbeiter extends benutzer
*/
public function searchPersonal($filter)
{
// Filter imploden und trimmen, um preg_split(Zeichenweise trennung) durchfuehren zu koennen
//$searchItems_string_orig = implode(' ', $filter);
$searchItems_string = generateSpecialCharacterString($filter);
$qry = "SELECT
distinct on(mitarbeiter_uid) *, tbl_benutzer.aktiv as aktiv, tbl_mitarbeiter.insertamum,
tbl_mitarbeiter.insertvon, tbl_mitarbeiter.updateamum, tbl_mitarbeiter.updatevon, tbl_person.svnr
@@ -925,8 +929,8 @@ class mitarbeiter extends benutzer
public.tbl_mitarbeiter
JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)
JOIN public.tbl_person USING(person_id)
WHERE lower(COALESCE(nachname,'') ||' '|| COALESCE(vorname,'')) ~* lower(".$this->db_add_param($filter).") OR
lower(COALESCE(vorname,'') ||' '|| COALESCE(nachname,'')) ~* lower(".$this->db_add_param($filter).") OR
WHERE lower(COALESCE(nachname,'') ||' '|| COALESCE(vorname,'')) ~* lower(".$this->db_add_param($searchItems_string).") OR
lower(COALESCE(vorname,'') ||' '|| COALESCE(nachname,'')) ~* lower(".$this->db_add_param($searchItems_string).") OR
uid ~* ".$this->db_add_param($filter)." ";
if(is_numeric($filter))
$qry.="OR personalnummer = ".$this->db_add_param($filter)." OR svnr = ".$this->db_add_param($filter).";";
+1 -1
View File
@@ -72,7 +72,7 @@ class studienplatz extends basis_db
parent::__construct();
if(!is_null($studienplatz_id))
$this->load($studienplatz_id);
$this->loadStudienplatz($studienplatz_id);
}
public function __set($name,$value)
+2 -2
View File
@@ -80,7 +80,7 @@ function draw_content($row)
<PROJEKTBETREUER:faktor><![CDATA['.$row->faktor.']]></PROJEKTBETREUER:faktor>
<PROJEKTBETREUER:name><![CDATA['.$row->name.']]></PROJEKTBETREUER:name>
<PROJEKTBETREUER:punkte><![CDATA['.$row->punkte.']]></PROJEKTBETREUER:punkte>
<PROJEKTBETREUER:stunden><![CDATA['.number_format($row->stunden,1).']]></PROJEKTBETREUER:stunden>
<PROJEKTBETREUER:stunden><![CDATA['.(float)$row->stunden.']]></PROJEKTBETREUER:stunden>
<PROJEKTBETREUER:stundensatz><![CDATA['.$row->stundensatz.']]></PROJEKTBETREUER:stundensatz>
<PROJEKTBETREUER:betreuerart_kurzbz><![CDATA['.$row->betreuerart_kurzbz.']]></PROJEKTBETREUER:betreuerart_kurzbz>
<PROJEKTBETREUER:vertrag_id><![CDATA['.$row->vertrag_id.']]></PROJEKTBETREUER:vertrag_id>
@@ -90,4 +90,4 @@ function draw_content($row)
}
?>
</RDF:Seq>
</RDF:RDF>
</RDF:RDF>
+1
View File
@@ -118,6 +118,7 @@ foreach ($obj->result as $row)
<NOTE:student_vorname><![CDATA['.$benutzer->vorname.']]></NOTE:student_vorname>
<NOTE:studiengang><![CDATA['.(isset($stg_arr[$benutzer->studiengang_kz])?$stg_arr[$benutzer->studiengang_kz]:'').']]></NOTE:studiengang>
<NOTE:studiengang_kz><![CDATA['.$benutzer->studiengang_kz.']]></NOTE:studiengang_kz>
<NOTE:verband><![CDATA['.$benutzer->verband.']]></NOTE:verband>
<NOTE:studiengang_lv><![CDATA['.$stg_arr[$lv_obj->studiengang_kz].']]></NOTE:studiengang_lv>
<NOTE:studiengang_kz_lv><![CDATA['.$lv_obj->studiengang_kz.']]></NOTE:studiengang_kz_lv>
<NOTE:semester_lv><![CDATA['.$lv_obj->semester.']]></NOTE:semester_lv>
+30 -1
View File
@@ -356,6 +356,33 @@ $filters = array(
',
'oe_kurzbz' => null,
),
array(
'app' => 'core',
'dataset_name' => 'leistungsstipendium',
'filter_kurzbz' => 'LeistungsstipendiumAlle',
'description' => '{Alle}',
'sort' => 1,
'default_filter' => true,
'filter' => '
{
"name": "Leistungsstipendium - Alle",
"columns": [
{"name" : "Vorname"},
{"name" : "Nachname"},
{"name" : "Buchungsdatum"},
{"name" : "Betrag"},
{"name" : "Buchungstyp"},
{"name" : "VorgangsId"},
{"name" : "FoerderfallId"},
{"name" : "LeistungsdatenId"},
{"name" : "startjahr"},
{"name" : "endjahr"}
],
"filters": []
}
',
'oe_kurzbz' => null,
),
array(
'app' => 'reihungstest',
'dataset_name' => 'overview',
@@ -999,7 +1026,9 @@ $filters = array(
{"name": "nachname"},
{"name": "matrikelnummer"},
{"name": "studiengang"},
{"name": "studiensemester"}
{"name": "studiensemester"},
{"name": "last_status"},
{"name": "bismelden"}
],
"filters": []
}
+51 -12
View File
@@ -150,15 +150,17 @@ else
}
/*
Obsolete - Standort wird nun aus DB geholt
standortcode 22=Wien
derzeit fuer alle Studierende der gleiche Standort
ToDo: Standort sollte pro Student konfigurierbar sein.
*/
$standortcode='22';
if(in_array($stg_kz,array('265','268','761','760','266','267','764','269','400','794','795','786','859','871')))
$standortcode='14'; // Pinkafeld
elseif(in_array($stg_kz,array('639','640','263','743','364','635','402','401','725','264','271','781')))
$standortcode='3'; // Eisenstadt
*/
$datumobj=new datum();
@@ -192,13 +194,17 @@ if ($stg_kz != 'alleBaMa')
{
$qry_akt = "
SELECT
DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id
DISTINCT ON(student_uid, nachname, vorname) *,
public.tbl_person.person_id AS pers_id,
public.tbl_prestudent.foerderrelevant as pre_foerderrelevant,
public.tbl_studiengang.foerderrelevant as stg_foerderrelevant
FROM
public.tbl_student
JOIN public.tbl_benutzer ON(student_uid=uid)
JOIN public.tbl_person USING (person_id)
JOIN public.tbl_prestudent USING (prestudent_id)
JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id)
JOIN public.tbl_studiengang ON (tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz)
WHERE
bismelden=FALSE
AND tbl_student.studiengang_kz=".$db->db_add_param($stg_kz)."
@@ -228,13 +234,17 @@ if ($stg_kz != 'alleBaMa')
//Incoming ohne I/O Datensatz anzeigen
$qry_in = "
SELECT
DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id
DISTINCT ON(student_uid, nachname, vorname) *,
public.tbl_person.person_id AS pers_id,
public.tbl_prestudent.foerderrelevant as pre_foerderrelevant,
public.tbl_studiengang.foerderrelevant as stg_foerderrelevant
FROM
public.tbl_student
JOIN public.tbl_benutzer ON(student_uid=uid)
JOIN public.tbl_person USING (person_id)
JOIN public.tbl_prestudent USING (prestudent_id)
JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id)
JOIN public.tbl_studiengang ON (tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz)
WHERE
bismelden=TRUE
AND tbl_student.studiengang_kz=".$db->db_add_param($stg_kz)."
@@ -257,13 +267,17 @@ if (CAMPUS_NAME == 'FH Technikum Wien' && $stg_kz==10006)
{
$qry="
SELECT
DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat
DISTINCT ON(student_uid, nachname, vorname) *,
public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat,
public.tbl_prestudent.foerderrelevant as pre_foerderrelevant,
public.tbl_studiengang.foerderrelevant as stg_foerderrelevant
FROM
public.tbl_student
JOIN public.tbl_benutzer ON(student_uid=uid)
JOIN public.tbl_person USING (person_id)
JOIN public.tbl_prestudent USING (prestudent_id)
JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id)
JOIN public.tbl_studiengang ON (tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz)
WHERE
bismelden=TRUE
AND (status_kurzbz='Incoming' AND student_uid IN (SELECT student_uid FROM bis.tbl_bisio WHERE (tbl_bisio.bis>=".$db->db_add_param($bisprevious).")
@@ -277,7 +291,10 @@ elseif ($stg_kz == 'alleBaMa')
{
$qry="
SELECT
DISTINCT ON(tbl_student.studiengang_kz, matrikelnr, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat
DISTINCT ON(tbl_student.studiengang_kz, matrikelnr, nachname, vorname) *,
public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat,
public.tbl_prestudent.foerderrelevant as pre_foerderrelevant,
public.tbl_studiengang.foerderrelevant as stg_foerderrelevant
FROM
public.tbl_student
JOIN public.tbl_benutzer ON(student_uid=uid)
@@ -304,13 +321,17 @@ else
{
$qry="
SELECT
DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat
DISTINCT ON(student_uid, nachname, vorname) *,
public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat,
public.tbl_prestudent.foerderrelevant as pre_foerderrelevant,
public.tbl_studiengang.foerderrelevant as stg_foerderrelevant
FROM
public.tbl_student
JOIN public.tbl_benutzer ON(student_uid=uid)
JOIN public.tbl_person USING (person_id)
JOIN public.tbl_prestudent USING (prestudent_id)
JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id)
JOIN public.tbl_studiengang ON (tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz)
WHERE
bismelden=TRUE
AND tbl_student.studiengang_kz=".$db->db_add_param($stg_kz)."
@@ -329,16 +350,22 @@ else
if($result = $db->db_query($qry))
{
$stg_kz_index = '';
while($row = $db->db_fetch_object($result))
{
$row->pre_foerderrelevant = $db->db_parse_bool($row->pre_foerderrelevant);
$row->stg_foerderrelevant = $db->db_parse_bool($row->stg_foerderrelevant);
if ($row->studiengang_kz != $stg_kz_index)
{
//Studiengangsdaten auslesen
$stg_obj = new studiengang();
if($stg_obj->load($row->studiengang_kz))
{
$maxsemester = $stg_obj->max_semester;
if($maxsemester == 0)
{
@@ -747,7 +774,8 @@ function GenerateXMLStudentBlock($row)
global $v;
global $stgart, $maxsemester, $orgform_kurzbz, $bisprevious,$anzahl_fehler;
global $iosem, $stsem, $usem, $asem, $absem, $stlist, $gssem;
global $verwendete_orgformen, $datum_obj,$orgform_code_array,$standortcode;
//global $verwendete_orgformen, $datum_obj,$orgform_code_array,$standortcode;
global $verwendete_orgformen, $datum_obj,$orgform_code_array;
global $kodex_studientyp_array, $kodex_studstatuscode_array;
global $stg_kz;
$error_log='';
@@ -1491,7 +1519,7 @@ function GenerateXMLStudentBlock($row)
if(!$ausserordentlich)
{
$datei.="
<StandortCode>".$standortcode."</StandortCode>";
<StandortCode>".$row->standort_code."</StandortCode>";
}
/*
* BMWFFoerderrung derzeit fuer alle Studierende auf Ja gesetzt
@@ -1502,15 +1530,26 @@ function GenerateXMLStudentBlock($row)
*
* ToDo: sollte pro Studierenden konfigurierbar sein
*/
if($aktstatus=='Incoming' || $ausserordentlich
|| ($gemeinsamestudien && $kodex_studientyp_array[$row->gsstudientyp_kurzbz]=='E'))
$bmwf='N';
else
//if($aktstatus=='Incoming' || $ausserordentlich
// || ($gemeinsamestudien && $kodex_studientyp_array[$row->gsstudientyp_kurzbz]=='E'))
// $bmwf='N';
//else
// $bmwf='J';
if ($row->pre_foerderrelevant === true) {
$bmwf='J';
} else if ($row->pre_foerderrelevant === false) {
$bmwf='N';
} else if ($row->stg_foerderrelevant === true) {
$bmwf='J';
} else {
$bmwf='N';
}
$datei.="
<BMWFWfoerderrelevant>".$bmwf."</BMWFWfoerderrelevant>";
// **** IO Container ****/
$qryio="SELECT * FROM bis.tbl_bisio WHERE student_uid=".$db->db_add_param($row->student_uid)."
AND (von>".$db->db_add_param($bisprevious)." OR bis IS NULL OR bis>".$db->db_add_param($bisprevious).")
+17 -6
View File
@@ -23,6 +23,7 @@ require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/statistik.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/webservicelog.class.php');
$statistik_kurzbz = filter_input(INPUT_GET, 'statistik_kurzbz');
$outputformat = filter_input(INPUT_GET, 'outputformat');
@@ -92,6 +93,16 @@ foreach($_REQUEST as $name=>$value)
else
$param .= '&'.$name.'='.urlencode($value);
}
// Log schreiben
$log = new webservicelog();
$log->request_data = $param;
$log->webservicetyp_kurzbz = 'reports';
$log->request_id = $statistik_kurzbz;
$log->beschreibung = 'statistik';
$log->execute_user = (isset($uid) ? $uid : 'unknown');
$log->save(true);
?>
<!DOCTYPE html>
<html>
@@ -101,12 +112,12 @@ foreach($_REQUEST as $name=>$value)
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
<link rel="stylesheet" href="../../skin/fhcomplete.css" type="text/css"/>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css"/>
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css">
<?php
include('../../include/meta/jquery.php');
include('../../include/meta/jquery-tablesorter.php');
?>
<script type="text/javascript">
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css">
<?php
include('../../include/meta/jquery.php');
include('../../include/meta/jquery-tablesorter.php');
?>
<script type="text/javascript">
$(function() {
$("#myTable").tablesorter({
widgets: ['zebra', 'filter', 'stickyHeaders']