- Incoming/Outgoing Statistik

- LV-Plan Syncro kann nun getrennt pro Studiengang für bestimmten Zeitraum ausgeführt werden
This commit is contained in:
Andreas Österreicher
2011-04-28 13:43:12 +00:00
parent a4828ae847
commit 201aa4f746
6 changed files with 386 additions and 7 deletions
+33
View File
@@ -526,5 +526,38 @@ class studiensemester extends basis_db
return false;
}
}
/**
* Laedt die vergangenen Studiensemester und das aktuelle
*
* @param limit maximale Anzahl
* @return true wenn ok, sonst false
*/
public function getFinished($limit=null)
{
$qry = "SELECT * FROM public.tbl_studiensemester where start<=now() ORDER BY ende DESC";
if(!is_null($limit) && is_numeric($limit))
$qry.=' LIMIT '.$limit;
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$stsem_obj = new studiensemester();
$stsem_obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$stsem_obj->start = $row->start;
$stsem_obj->ende = $row->ende;
$this->studiensemester[] = $stsem_obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Studiensemester';
return false;
}
}
}
?>
+3 -2
View File
@@ -90,7 +90,7 @@ $menu=array
'Kollision'=>array('name'=>'Kollision Student', 'link'=>'lehre/stpl_benutzer_kollision_frameset.html', 'target'=>'main'),
'Stundenplan'=>array('name'=>'Stundenplan', 'link'=>'../cis/private/lvplan/index.html', 'target'=>'main'),
'Zeitwuensche'=>array('name'=>'Zeitwünsche', 'link'=>'lehre/zeitwuensche.php', 'target'=>'main'),
'LVPlanSync'=>array('name'=>'Sync', 'link'=>'../system/sync/index.html', 'target'=>'main'),
'LVPlanSync'=>array('name'=>'Sync', 'link'=>'lehre/lvplan_custom_sync.php', 'target'=>'main'),
'Ueberbuchungen'=>array('name'=>'Überbuchungen', 'link'=>'lehre/check/ueberbuchung.php', 'target'=>'main'),
//'Studenten'=>array('name'=>'Studenten', 'link'=>'lehre/lehrveranstaltung_frameset.html', 'target'=>'main'),
//'Insert'=>array('name'=>'Insert', 'link'=>'lehre/stdplan_insert.php', 'target'=>'main'),
@@ -135,7 +135,8 @@ $menu=array
//'Vorrückung'=>array('name'=>'Vorrückung', 'link'=>'personen/student_vorrueckung.php', 'target'=>'main'),
),*/
'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.html', 'target'=>'main','permissions'=>array('admin','lv-plan','support')),
'Preinteressenten'=>array('name'=>'Preinteressenten', 'link'=>'personen/preinteressent_frameset.html', 'target'=>'_blank','permissions'=>array('admin','lv-plan','support','preinteressent'))
'Preinteressenten'=>array('name'=>'Preinteressenten', 'link'=>'personen/preinteressent_frameset.html', 'target'=>'_blank','permissions'=>array('admin','lv-plan','support','preinteressent')),
'Incoming'=>array('name'=>'Incoming', 'link'=>'personen/incoming_frameset.php', 'target'=>'_blank','permissions'=>array('inout/incoming'))
),
'Stammdaten'=> array
(
+17 -5
View File
@@ -41,6 +41,7 @@ echo '<html>
$adress='fas_sync@technikum-wien.at';
//$adress_stpl='pam@technikum-wien.at';
$adress_stpl='stpl@technikum-wien.at';
if (isset($_GET['sendmail']))
{
if ($_GET['sendmail']=='true')
@@ -75,8 +76,19 @@ $ss->getNearestTillNext();
$datum_begin=$ss->start;
$datum_ende=$ss->ende;
//$datum_begin='2008-01-07';
$datum_ende='2011-02-05'; // $ss->ende
$datum_ende='2011-08-05'; // $ss->ende
$stgwhere = '';
$stgwheredev = '';
if(isset($_GET['custom']))
{
$sendmail = isset($_GET['mail']);
$studiengang_kz=$_GET['studiengang_kz'];
$stgwhere = " AND studiengang_kz='".addslashes($studiengang_kz)."'";
$stgwheredev = " AND vw_stundenplandev.studiengang_kz='".addslashes($studiengang_kz)."'";
$datum_begin = $_GET['von'];
$datum_ende = $_GET['bis'];
}
// ************* FUNCTIONS **************** //
function getStudentsFromGroup($studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz, $studiensemester_kurzbz)
@@ -146,7 +158,7 @@ Dies ist eine automatische Mail!<BR>Es haben sich folgende Aenderungen in Ihrem
echo 'Neue Datens&auml;tze werden geholt. ('.date('H:i:s').')<BR>';flush();
$message_stpl .= 'Neue Datens&auml;tze werden geholt. ('.date('H:i:s').')';
$sql_query="SELECT * FROM lehre.vw_stundenplandev WHERE datum>='".addslashes($datum_begin)."' AND datum<='".addslashes($datum_ende)."' AND
$sql_query="SELECT * FROM lehre.vw_stundenplandev WHERE datum>='".addslashes($datum_begin)."' AND datum<='".addslashes($datum_ende)."' ".$stgwhere." AND
NOT EXISTS
(SELECT stundenplan_id FROM lehre.tbl_stundenplan WHERE datum>='".addslashes($datum_begin)."' AND datum<='".addslashes($datum_ende)."' AND stundenplan_id=stundenplandev_id)
ORDER BY datum, stunde;";
@@ -256,7 +268,7 @@ else
echo '<BR>Alte Datens&auml;tze werden geholt.('.date('H:i:s').')<BR>';flush();
$message_stpl .='<BR>Alte Datens&auml;tze werden geholt.('.date('H:i:s').')<BR>';
$sql_query="SELECT * FROM lehre.vw_stundenplan WHERE datum>='".addslashes($datum_begin)."' AND datum<='".addslashes($datum_ende)."'
$sql_query="SELECT * FROM lehre.vw_stundenplan WHERE datum>='".addslashes($datum_begin)."' AND datum<='".addslashes($datum_ende)."' ".$stgwhere."
AND NOT EXISTS
(SELECT stundenplandev_id FROM lehre.tbl_stundenplandev WHERE datum>='".addslashes($datum_begin)."' AND datum<='".addslashes($datum_ende)."' AND stundenplandev_id=stundenplan_id);";
if (!$result = $db->db_query($sql_query))
@@ -353,7 +365,8 @@ $sql_query="SELECT vw_stundenplandev.*, vw_stundenplan.datum AS old_datum, vw_st
vw_stundenplandev.anmerkung!=vw_stundenplan.anmerkung OR
vw_stundenplandev.fix!=vw_stundenplan.fix OR
vw_stundenplandev.lehreinheit_id!=vw_stundenplan.lehreinheit_id )
AND vw_stundenplandev.datum>='".addslashes($datum_begin)."';";
AND vw_stundenplandev.datum>='".addslashes($datum_begin)."'
AND vw_stundenplandev.datum<='".addslashes($datum_ende)."' ".$stgwheredev.";";
//echo $sql_query.'<BR>';
if (!$result = $db->db_query($sql_query))
{
@@ -555,7 +568,6 @@ $message_sync='<HTML><BODY>'.$message_tmp.$message_sync.$message_stpl.'</BODY></
$mail = new mail(MAIL_ADMIN,MAIL_LVPLAN,'Stundenplan update','Sie muessen diese Mail als HTML-Mail anzeigen um die LV-Plan Änderungen anzuzeigen');
$mail->setHTMLContent($message_sync);
$mail->send();
$message_stpl='<HTML><BODY>'.$message_tmp.$message_stpl.'</BODY></HTML>';
$mail = new mail(MAIL_LVPLAN, MAIL_LVPLAN, 'Stundenplan update', 'Sie muessen diese Mail als HTML-Mail anzeigen um die LV-Plan Änderungen anzuzeigen');
$mail->setHTMLContent($message_stpl);
+80
View File
@@ -0,0 +1,80 @@
<?php
/* Copyright (C) 2011 FH 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
* Karl Burkhart <burkhart@technikum-wien.at>.
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/studiengang.class.php');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>LV-Plan Syncronisation</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</head>
<body>
<h2>LV-Plan Synronisation</h2>
<?php
echo '
<a href="../../system/sync/sync_stpldev_stpl.php">LV-Plan Sync - Normal - mit Mail</a><br><br>
<a href="../../system/sync/sync_stpldev_stpl.php?sendmail=false">LV-Plan Sync - Normal - ohne Mails</a><br>
<br>
<fieldset>
<legend>Sync für speziellen Studiengang / Zeitraum</legend>
<form action="../../system/sync/sync_stpldev_stpl.php" method="GET">
<input type="hidden" name="custom" value="true">
<table>
<tr>
<td>Studiengang</td>
<td><SELECT name="studiengang_kz">';
$stg = new studiengang();
$stg->getAll('typ, kurzbz');
foreach($stg->result as $row)
{
echo '<option value="'.$row->studiengang_kz.'">'.$row->kuerzel.' ('.$row->kurzbzlang.')</option>';
}
echo '</SELECT>
</td>
</tr>
<tr>
<td>Von</td>
<td><input type="text" name="von" size="10" value="'.date('Y-m-d').'"></td>
</tr>
<tr>
<td>Bis</td>
<td><input type="text" name="bis" size="10" value="'.date('Y-m-d').'"></td>
</tr>
<tr>
<td>Mails senden</td>
<td><input type="checkbox" name="mail"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Start"></td>
</tr>
</table>
</form>
</fieldset>';
?>
</body>
</html>
+124
View File
@@ -0,0 +1,124 @@
<?php
/* Copyright (C) 2011 FH 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 >
* Karl Burkhart <burkhart@technikum-wien.at>
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/studiensemester.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
$user = get_uid();
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Incoming</title>
<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">
<script type="text/javascript" src="../../include/js/jquery.js"></script>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>
<body>
<h2>Incoming</h2>';
$studiengang_kz = isset($_REQUEST['studiengang_kz'])?$_REQUEST['studiengang_kz']:'';
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="POST">';
$stg_obj = new studiengang();
$stg_obj->getAll('typ, kurzbz');
echo "\n",'Studiengang <SELECT name="studiengang_kz">
<OPTION value="">-- Alle --</OPTION>';
foreach($stg_obj->result as $row)
{
if($row->studiengang_kz==$studiengang_kz)
$selected='selected';
else
$selected='';
echo '<OPTION value="'.$row->studiengang_kz.'" '.$selected.'>'.$row->kuerzel.' ('.$row->kurzbzlang.')</OPTION>';
}
echo '</SELECT>';
echo '&nbsp;&nbsp;<input type="submit" name="show" value="OK"></form>';
$stsem = new studiensemester();
$stsem->getFinished();
foreach($stsem->studiensemester as $row)
{
$qry="SELECT
distinct vorname, nachname, studiengang_kz, UPPER(tbl_studiengang.typ || tbl_studiengang.kurzbz) as stg
FROM
public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING(prestudent_id)
JOIN public.tbl_person USING(person_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE
tbl_prestudentstatus.status_kurzbz='Incoming'
AND tbl_prestudentstatus.studiensemester_kurzbz='".$row->studiensemester_kurzbz."'";
if($studiengang_kz!='')
$qry.=" AND tbl_prestudent.studiengang_kz='".addslashes($studiengang_kz)."'";
$qry.=" ORDER BY stg";
if($result = $db->db_query($qry))
{
$anzahl = $db->db_num_rows($result);
echo '<h3>'.$row->studiensemester_kurzbz.' Anzahl: '.$anzahl.'</h3>';
if($anzahl>0)
{
echo '
<script type="text/javascript">
$(document).ready(function()
{
$("#'.$row->studiensemester_kurzbz.'").tablesorter(
{
sortList: [[2,0]],
widgets: ["zebra"]
});
}
);
</script>
<table id="'.$row->studiensemester_kurzbz.'" class="tablesorter" style="width:auto">
<thead>
<tr>
<th>Nachname</th>
<th>Vorname</th>
<th>Studiengang</th>
</tr>
</thead>
<tbody>';
while($row = $db->db_fetch_object($result))
{
echo '<tr>';
echo '<td>'.$row->nachname.'</td>';
echo '<td>'.$row->vorname.'</td>';
echo '<td>'.$row->stg.'</td>';
echo '</tr>';
}
echo '</tbody></table>';
}
}
}
echo '</body></html>';
?>
+129
View File
@@ -0,0 +1,129 @@
<?php
/* Copyright (C) 2011 FH 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 >
* Karl Burkhart <burkhart@technikum-wien.at>
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/studiensemester.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
$user = get_uid();
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Outgoing</title>
<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">
<script type="text/javascript" src="../../include/js/jquery.js"></script>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>
<body>
<h2>Outgoing</h2>';
$studiengang_kz = isset($_REQUEST['studiengang_kz'])?$_REQUEST['studiengang_kz']:'';
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="POST">';
$stg_obj = new studiengang();
$stg_obj->getAll('typ, kurzbz');
echo "\n",'Studiengang <SELECT name="studiengang_kz">
<OPTION value="">-- Alle --</OPTION>';
foreach($stg_obj->result as $row)
{
if($row->studiengang_kz==$studiengang_kz)
$selected='selected';
else
$selected='';
echo '<OPTION value="'.$row->studiengang_kz.'" '.$selected.'>'.$row->kuerzel.' ('.$row->kurzbzlang.')</OPTION>';
}
echo '</SELECT>';
echo '&nbsp;&nbsp;<input type="submit" name="show" value="OK"></form>';
$stsem = new studiensemester();
$stsem->getFinished();
foreach($stsem->studiensemester as $row)
{
$qry="SELECT
distinct vorname, nachname, tbl_studiengang.studiengang_kz, UPPER(tbl_studiengang.typ || tbl_studiengang.kurzbz) as stg
FROM
public.tbl_prestudent
JOIN public.tbl_person USING(person_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
JOIN public.tbl_student USING(prestudent_id)
JOIN bis.tbl_bisio USING(student_uid)
WHERE
(
(tbl_bisio.von>='$row->start' AND tbl_bisio.von<='$row->ende')
OR (tbl_bisio.bis<='$row->ende' AND tbl_bisio.bis>='$row->start')
)
AND get_rolle_prestudent (prestudent_id, '$row->studiensemester_kurzbz')<>'Incoming' ";
if($studiengang_kz!='')
$qry.=" AND tbl_student.studiengang_kz='".addslashes($studiengang_kz)."'";
$qry.=" ORDER BY stg";
if($result = $db->db_query($qry))
{
$anzahl = $db->db_num_rows($result);
echo '<h3>'.$row->studiensemester_kurzbz.' Anzahl: '.$anzahl.'</h3>';
if($anzahl>0)
{
echo '
<script type="text/javascript">
$(document).ready(function()
{
$("#'.$row->studiensemester_kurzbz.'").tablesorter(
{
sortList: [[2,0]],
widgets: ["zebra"]
});
}
);
</script>
<table id="'.$row->studiensemester_kurzbz.'" class="tablesorter" style="width:auto">
<thead>
<tr>
<th>Nachname</th>
<th>Vorname</th>
<th>Studiengang</th>
</tr>
</thead>
<tbody>';
while($row = $db->db_fetch_object($result))
{
echo '<tr>';
echo '<td>'.$row->nachname.'</td>';
echo '<td>'.$row->vorname.'</td>';
echo '<td>'.$row->stg.'</td>';
echo '</tr>';
}
echo '</tbody></table>';
}
}
}
echo '</body></html>';
?>