mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Merge branch 'master' into feature-37246/APIs_Konsolidierung
This commit is contained in:
@@ -21,7 +21,7 @@ class SearchBar extends FHC_Controller
|
||||
// NOTE:
|
||||
// - A user must be authenticated via another controller to access this one
|
||||
// - It is loaded to be able to call the isLogged function later
|
||||
$this->load->library('AuthLib', array(false));
|
||||
$this->load->library('AuthLib');
|
||||
|
||||
// Load the library SearchBarLib
|
||||
$this->load->library('SearchBarLib');
|
||||
|
||||
@@ -677,4 +677,35 @@ class MigrateContract extends CLI_Controller
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Habilitation wird aus der Tabelle bis.tbl_bisverwendung in die Tabelle public.tbl_mitarbeiter uebernommen
|
||||
* Sofern die Person einmal in den Verwendungen eine habiliation eingetragen hat wird diese in den MA-Datensatz übernommen
|
||||
* Da es in der regel öfter vorkommt dass das hakerl vergessen wurde beim Vertragswechsel als dass die person die habiliation verliert.
|
||||
*/
|
||||
public function migrateHabilitation()
|
||||
{
|
||||
$this->load->model('ressource/Mitarbeiter_model','MitarbeiterModel');
|
||||
$db = new DB_Model();
|
||||
|
||||
$qry = "
|
||||
SELECT
|
||||
distinct mitarbeiter_uid
|
||||
FROM
|
||||
bis.tbl_bisverwendung
|
||||
WHERE
|
||||
habilitation=true";
|
||||
|
||||
$resultHabilitation = $db->execReadOnlyQuery($qry);
|
||||
|
||||
if (isSuccess($resultHabilitation) && hasData($resultHabilitation))
|
||||
{
|
||||
$habilitationen = getData($resultHabilitation);
|
||||
|
||||
foreach ($habilitationen as $row_habilitationen)
|
||||
{
|
||||
$this->MitarbeiterModel->update($row_habilitationen->mitarbeiter_uid, array('habilitation'=>true));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -247,7 +247,7 @@ EOTXT;
|
||||
$this->validationerrors[] = 'Das Beginndatum muss vor dem Endedatum liegen.';
|
||||
}
|
||||
|
||||
if( $this->checkoverlap && !($this->vertragsart_kurzbz === 'werkvertrag')
|
||||
if( $this->checkoverlap && !(in_array($this->vertragsart_kurzbz, array('werkvertrag', 'studentischehilfskr')) )
|
||||
&& $ci->VertragsbestandteilLib->isOverlappingExistingDV($this) )
|
||||
{
|
||||
$this->validationerrors[] = 'Es existiert bereits ein überlappendes Dienstverhältnis';
|
||||
|
||||
@@ -26,30 +26,35 @@ class VertragsbestandteilLib
|
||||
{
|
||||
const INCLUDE_FUTURE = true;
|
||||
const DO_NOT_INCLUDE_FUTURE = false;
|
||||
|
||||
|
||||
protected $CI;
|
||||
/** @var Dienstverhaeltnis_model */
|
||||
protected $DienstverhaeltnisModel;
|
||||
/** @var Vertragsbestandteil_model */
|
||||
protected $VertragsbestandteilModel;
|
||||
/**
|
||||
/** @var Benutzer_model */
|
||||
protected $BenutzerModel;
|
||||
/**
|
||||
* @var GehaltsbestandteilLib
|
||||
*/
|
||||
protected $GehaltsbestandteilLib;
|
||||
|
||||
|
||||
protected $loggedInUser;
|
||||
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->loggedInUser = getAuthUID();
|
||||
$this->CI = get_instance();
|
||||
$this->CI->load->model('vertragsbestandteil/Dienstverhaeltnis_model',
|
||||
$this->CI->load->model('vertragsbestandteil/Dienstverhaeltnis_model',
|
||||
'DienstverhaeltnisModel');
|
||||
$this->DienstverhaeltnisModel = $this->CI->DienstverhaeltnisModel;
|
||||
$this->CI->load->model('vertragsbestandteil/Vertragsbestandteil_model',
|
||||
$this->CI->load->model('vertragsbestandteil/Vertragsbestandteil_model',
|
||||
'VertragsbestandteilModel');
|
||||
$this->VertragsbestandteilModel = $this->CI->VertragsbestandteilModel;
|
||||
$this->CI->load->library('vertragsbestandteil/GehaltsbestandteilLib',
|
||||
$this->CI->load->model('person/benutzer_model',
|
||||
'BenutzerModel');
|
||||
$this->BenutzerModel = $this->CI->BenutzerModel;
|
||||
$this->CI->load->library('vertragsbestandteil/GehaltsbestandteilLib',
|
||||
null, 'GehaltsbestandteilLib');
|
||||
$this->GehaltsbestandteilLib = $this->CI->GehaltsbestandteilLib;
|
||||
}
|
||||
@@ -63,49 +68,54 @@ class VertragsbestandteilLib
|
||||
} catch (Exception $ex)
|
||||
{
|
||||
log_message('debug', "Error handling json data from GUI. " . $ex->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
public function fetchDienstverhaeltnisse($unternehmen, $stichtag=null, $mitarbeiteruid=null) {
|
||||
$dvs = $this->DienstverhaeltnisModel->fetchDienstverhaeltnisse($unternehmen, $stichtag, $mitarbeiteruid);
|
||||
return $dvs;
|
||||
}
|
||||
|
||||
public function fetchDienstverhaeltnis($dienstverhaeltnis_id)
|
||||
{
|
||||
$result = $this->DienstverhaeltnisModel->load($dienstverhaeltnis_id);
|
||||
$dv = null;
|
||||
if(null !== ($row = getData($result)))
|
||||
if(null !== ($row = getData($result)))
|
||||
{
|
||||
$dv = new Dienstverhaeltnis();
|
||||
$dv->hydrateByStdClass($row[0], true);
|
||||
}
|
||||
return $dv;
|
||||
}
|
||||
|
||||
|
||||
public function fetchVertragsbestandteile($dienstverhaeltnis_id, $stichtag=null, $includefuture=false)
|
||||
{
|
||||
$vbs = $this->VertragsbestandteilModel->getVertragsbestandteile($dienstverhaeltnis_id, $stichtag, $includefuture);
|
||||
$gbs = $this->GehaltsbestandteilLib->fetchGehaltsbestandteile($dienstverhaeltnis_id, $stichtag, $includefuture);
|
||||
|
||||
|
||||
$gbsByVBid = array();
|
||||
foreach( $gbs as $gb )
|
||||
foreach( $gbs as $gb )
|
||||
{
|
||||
if( intval($gb->getVertragsbestandteil_id()) > 0 )
|
||||
if( intval($gb->getVertragsbestandteil_id()) > 0 )
|
||||
{
|
||||
if( !isset($gbsByVBid[$gb->getVertragsbestandteil_id()])
|
||||
if( !isset($gbsByVBid[$gb->getVertragsbestandteil_id()])
|
||||
|| !is_array($gbsByVBid[$gb->getVertragsbestandteil_id()]) ) {
|
||||
$gbsByVBid[$gb->getVertragsbestandteil_id()] = array();
|
||||
}
|
||||
$gbsByVBid[$gb->getVertragsbestandteil_id()][] = $gb;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
foreach ($vbs as $vb)
|
||||
{
|
||||
if( isset($gbsByVBid[$vb->getVertragsbestandteil_id()]) )
|
||||
if( isset($gbsByVBid[$vb->getVertragsbestandteil_id()]) )
|
||||
{
|
||||
$vb->setGehaltsbestandteile($gbsByVBid[$vb->getVertragsbestandteil_id()]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return $vbs;
|
||||
}
|
||||
|
||||
@@ -113,22 +123,22 @@ class VertragsbestandteilLib
|
||||
{
|
||||
return $this->VertragsbestandteilModel->getVertragsbestandteil($vertragsbestandteil_id);
|
||||
}
|
||||
|
||||
|
||||
public function storeDienstverhaeltnis(Dienstverhaeltnis $dv)
|
||||
{
|
||||
if( intval($dv->getDienstverhaeltnis_id()) > 0 )
|
||||
{
|
||||
$this->updateDienstverhaeltnis($dv);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->insertDienstverhaeltnis($dv);
|
||||
$this->insertDienstverhaeltnis($dv);
|
||||
}
|
||||
}
|
||||
|
||||
public function storeVertragsbestandteil(Vertragsbestandteil $vertragsbestandteil)
|
||||
|
||||
public function storeVertragsbestandteil(Vertragsbestandteil $vertragsbestandteil)
|
||||
{
|
||||
$this->CI->db->trans_begin();
|
||||
$this->CI->db->trans_begin();
|
||||
try
|
||||
{
|
||||
$this->setUIDtoPGSQL();
|
||||
@@ -144,7 +154,7 @@ class VertragsbestandteilLib
|
||||
{
|
||||
log_message('debug', "Transaction failed");
|
||||
throw new Exception("Transaction failed");
|
||||
}
|
||||
}
|
||||
$this->CI->db->trans_commit();
|
||||
}
|
||||
catch (Exception $ex)
|
||||
@@ -152,7 +162,7 @@ class VertragsbestandteilLib
|
||||
log_message('debug', "Transaction rolled back. " . $ex->getMessage());
|
||||
$this->CI->db->trans_rollback();
|
||||
throw new Exception('Storing Vertragsbestandteil failed.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function deleteDienstverhaeltnis(Dienstverhaeltnis $dv)
|
||||
@@ -220,13 +230,13 @@ class VertragsbestandteilLib
|
||||
throw new Exception('Delete Vertragsbestandteil failed.');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected function insertDienstverhaeltnis(Dienstverhaeltnis $dv)
|
||||
{
|
||||
$dv->setInsertvon($this->loggedInUser)
|
||||
->setInsertamum(strftime('%Y-%m-%d %H:%M:%S'));
|
||||
$ret = $this->DienstverhaeltnisModel->insert($dv->toStdClass());
|
||||
if( hasData($ret) )
|
||||
if( hasData($ret) )
|
||||
{
|
||||
$dv->setDienstverhaeltnis_id(getData($ret));
|
||||
}
|
||||
@@ -235,14 +245,14 @@ class VertragsbestandteilLib
|
||||
throw new Exception('error inserting dienstverhaeltnis');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected function insertVertragsbestandteil(Vertragsbestandteil $vertragsbestandteil)
|
||||
{
|
||||
$vertragsbestandteil->setInsertvon($this->loggedInUser)
|
||||
->setInsertamum(strftime('%Y-%m-%d %H:%M:%S'));
|
||||
$vertragsbestandteil->beforePersist();
|
||||
$ret = $this->VertragsbestandteilModel->insert($vertragsbestandteil->baseToStdClass());
|
||||
if( hasData($ret) )
|
||||
if( hasData($ret) )
|
||||
{
|
||||
$vertragsbestandteil->setVertragsbestandteil_id(getData($ret));
|
||||
}
|
||||
@@ -254,19 +264,19 @@ class VertragsbestandteilLib
|
||||
$specialisedModel = VertragsbestandteilFactory::getVertragsbestandteilDBModel(
|
||||
$vertragsbestandteil->getVertragsbestandteiltyp_kurzbz());
|
||||
$retspecial = $specialisedModel->insert($vertragsbestandteil->toStdClass());
|
||||
|
||||
|
||||
if(isError($retspecial) )
|
||||
{
|
||||
throw new Exception('error updating vertragsbestandteil '
|
||||
throw new Exception('error updating vertragsbestandteil '
|
||||
. $vertragsbestandteil->getVertragsbestandteiltyp_kurzbz());
|
||||
}
|
||||
|
||||
try
|
||||
|
||||
try
|
||||
{
|
||||
$gehaltsbestandteile = $vertragsbestandteil->getGehaltsbestandteile();
|
||||
$this->GehaltsbestandteilLib->storeGehaltsbestandteile($gehaltsbestandteile);
|
||||
}
|
||||
catch(Exception $ex)
|
||||
}
|
||||
catch(Exception $ex)
|
||||
{
|
||||
throw new Exception('VertragsbestandteilLib insertVertragsbestandteil '
|
||||
. 'failed to store Gehaltsbestandteile. ' . $ex->getMessage());
|
||||
@@ -278,7 +288,7 @@ class VertragsbestandteilLib
|
||||
if(!$dv->isDirty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
$dv->setUpdatevon($this->loggedInUser)
|
||||
->setUpdateamum(strftime('%Y-%m-%d %H:%M:%S'));
|
||||
$ret = $this->DienstverhaeltnisModel->update($dv->getDienstverhaeltnis_id(),
|
||||
@@ -288,20 +298,20 @@ class VertragsbestandteilLib
|
||||
throw new Exception('error updating dienstverhaeltnis');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private function deleteVertragsbestandteilHelper(Vertragsbestandteil $vertragsbestandteil)
|
||||
{
|
||||
|
||||
$specialisedModel = VertragsbestandteilFactory::getVertragsbestandteilDBModel(
|
||||
$vertragsbestandteil->getVertragsbestandteiltyp_kurzbz());
|
||||
$retspecial = $specialisedModel->delete($vertragsbestandteil->getVertragsbestandteil_id());
|
||||
|
||||
|
||||
if(isError($retspecial) )
|
||||
{
|
||||
throw new Exception('error deleting vertragsbestandteil '
|
||||
. $vertragsbestandteil->getVertragsbestandteiltyp_kurzbz());
|
||||
}
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
$gehaltsbestandteile = $vertragsbestandteil->getGehaltsbestandteile();
|
||||
@@ -320,76 +330,118 @@ class VertragsbestandteilLib
|
||||
{
|
||||
throw new Exception('error deleting vertragsbestandteil');
|
||||
}
|
||||
|
||||
|
||||
$vertragsbestandteil->afterDelete();
|
||||
}
|
||||
|
||||
protected function updateVertragsbestandteil(Vertragsbestandteil $vertragsbestandteil)
|
||||
{
|
||||
if($vertragsbestandteil->isDirty()) {
|
||||
if($vertragsbestandteil->isDirty()) {
|
||||
$vertragsbestandteil->setUpdatevon($this->loggedInUser)
|
||||
->setUpdateamum(strftime('%Y-%m-%d %H:%M:%S'));
|
||||
$vertragsbestandteil->beforePersist();
|
||||
$basedata = $vertragsbestandteil->baseToStdClass();
|
||||
if( count((array) $basedata) > 0 )
|
||||
if( count((array) $basedata) > 0 )
|
||||
{
|
||||
$ret = $this->VertragsbestandteilModel->update(
|
||||
$vertragsbestandteil->getVertragsbestandteil_id(),
|
||||
$vertragsbestandteil->getVertragsbestandteil_id(),
|
||||
$basedata);
|
||||
|
||||
if(isError($ret) )
|
||||
{
|
||||
throw new Exception('error updating vertragsbestandteil');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$specialisedData = $vertragsbestandteil->toStdClass();
|
||||
if( count((array) $specialisedData) > 0 )
|
||||
if( count((array) $specialisedData) > 0 )
|
||||
{
|
||||
$specialisedModel = VertragsbestandteilFactory::getVertragsbestandteilDBModel(
|
||||
$vertragsbestandteil->getVertragsbestandteiltyp_kurzbz());
|
||||
$retspecial = $specialisedModel->update(
|
||||
$vertragsbestandteil->getVertragsbestandteil_id(),
|
||||
$vertragsbestandteil->getVertragsbestandteil_id(),
|
||||
$specialisedData);
|
||||
|
||||
if(isError($retspecial) )
|
||||
{
|
||||
throw new Exception('error updating vertragsbestandteil '
|
||||
throw new Exception('error updating vertragsbestandteil '
|
||||
. $vertragsbestandteil->getVertragsbestandteiltyp_kurzbz());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
|
||||
try
|
||||
{
|
||||
$gehaltsbestandteile = $vertragsbestandteil->getGehaltsbestandteile();
|
||||
$this->GehaltsbestandteilLib->storeGehaltsbestandteile($gehaltsbestandteile);
|
||||
}
|
||||
catch(Exception $ex)
|
||||
}
|
||||
catch(Exception $ex)
|
||||
{
|
||||
throw new Exception('VertragsbestandteilLib updateVertragsbestandteil '
|
||||
. 'failed to store Gehaltsbestandteile. ' . $ex->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function isOverlappingExistingDV(Dienstverhaeltnis $dv)
|
||||
|
||||
public function isOverlappingExistingDV(Dienstverhaeltnis $dv)
|
||||
{
|
||||
return $this->DienstverhaeltnisModel->isOverlappingExistingDV(
|
||||
$dv->getMitarbeiter_uid(),
|
||||
$dv->getOe_kurzbz(),
|
||||
$dv->getVon(),
|
||||
$dv->getMitarbeiter_uid(),
|
||||
$dv->getOe_kurzbz(),
|
||||
$dv->getVon(),
|
||||
$dv->getBis(),
|
||||
$dv->getDienstverhaeltnis_id()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
protected function hasOtherActiveDV(Dienstverhaeltnis $dv, $duedate)
|
||||
{
|
||||
$hasotheractivedv = false;
|
||||
$result = $this->DienstverhaeltnisModel->getDVByPersonUID($dv->getMitarbeiter_uid(), null, $duedate);
|
||||
$dvs = getData($result);
|
||||
foreach ($dvs as $tmpdv)
|
||||
{
|
||||
if(intval($tmpdv->dienstverhaeltnis_id) !== intval($dv->getDienstverhaeltnis_id()))
|
||||
{
|
||||
$hasotheractivedv = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return $hasotheractivedv;
|
||||
}
|
||||
|
||||
/**
|
||||
* like endDienstverhaeltnis, but also sets aktiv flag to false
|
||||
*/
|
||||
public function deactivateDienstverhaeltnis(Dienstverhaeltnis $dv, $enddate, $deactivate)
|
||||
{
|
||||
$result = $this->endDienstverhaeltnis($dv, $enddate);
|
||||
if ( $result === true)
|
||||
{
|
||||
if (!$deactivate) return $result;
|
||||
|
||||
if(!$this->hasOtherActiveDV($dv, $enddate))
|
||||
{
|
||||
$result = $this->BenutzerModel->update(
|
||||
array('uid' => $dv->getMitarbeiter_uid()),
|
||||
array(
|
||||
'aktiv' => false,
|
||||
'updateaktivam' => date('Y-m-d'),
|
||||
'updateaktivvon' => $this->loggedInUser
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function endDienstverhaeltnis(Dienstverhaeltnis $dv, $enddate)
|
||||
{
|
||||
if( $dv->getBis() !== null && $dv->getBis() < $enddate )
|
||||
if( $dv->getBis() !== null && $dv->getBis() < $enddate )
|
||||
{
|
||||
return 'Dienstverhältnis ist bereits beendet.';
|
||||
}
|
||||
|
||||
|
||||
$this->CI->db->trans_begin();
|
||||
try
|
||||
{
|
||||
@@ -401,13 +453,13 @@ class VertragsbestandteilLib
|
||||
{
|
||||
$this->GehaltsbestandteilLib->endGehaltsbestandteil($gb, $enddate);
|
||||
}
|
||||
|
||||
|
||||
$vbs = $this->fetchVertragsbestandteile($dv->getDienstverhaeltnis_id());
|
||||
foreach ($vbs as $vb)
|
||||
{
|
||||
$this->endVertragsbestandteil($vb, $enddate);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$dv->setBis($enddate);
|
||||
$this->updateDienstverhaeltnis($dv);
|
||||
|
||||
@@ -428,23 +480,23 @@ class VertragsbestandteilLib
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public function endVertragsbestandteil(Vertragsbestandteil $vertragsbestandteil, $enddate)
|
||||
{
|
||||
if( $vertragsbestandteil->getBis() !== null && $vertragsbestandteil->getBis() < $enddate )
|
||||
if( $vertragsbestandteil->getBis() !== null && $vertragsbestandteil->getBis() < $enddate )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
$vertragsbestandteil->setBis($enddate);
|
||||
$this->updateVertragsbestandteil($vertragsbestandteil);
|
||||
}
|
||||
|
||||
|
||||
protected function setUIDtoPGSQL() {
|
||||
$ret = $this->VertragsbestandteilModel
|
||||
->execReadOnlyQuery('SET LOCAL pv21.uid TO \''
|
||||
->execReadOnlyQuery('SET LOCAL pv21.uid TO \''
|
||||
. $this->loggedInUser . '\'');
|
||||
if(isError($ret))
|
||||
if(isError($ret))
|
||||
{
|
||||
throw new Exception('error setting uid to pgsql');
|
||||
}
|
||||
|
||||
@@ -11,4 +11,25 @@ class Bismeldestichtag_model extends DB_Model
|
||||
$this->dbTable = 'bis.tbl_bismeldestichtag';
|
||||
$this->pk = 'meldestichtag_id';
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets last Bismeldestichtag for a Studiensemester.
|
||||
* @param $studiensemester_kurzbz
|
||||
* @return object success or error
|
||||
*/
|
||||
public function getByStudiensemester($studiensemester_kurzbz)
|
||||
{
|
||||
$query = '
|
||||
SELECT
|
||||
meldestichtag
|
||||
FROM
|
||||
bis.tbl_bismeldestichtag
|
||||
JOIN public.tbl_studiensemester USING (studiensemester_kurzbz)
|
||||
WHERE
|
||||
studiensemester_kurzbz = ?
|
||||
ORDER BY meldestichtag DESC
|
||||
LIMIT 1';
|
||||
|
||||
return $this->execQuery($query, array($studiensemester_kurzbz));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,4 +21,26 @@ class Zeitaufzeichnung_model extends DB_Model
|
||||
|
||||
return $this->execQuery($qry);
|
||||
}
|
||||
|
||||
public function getFullInterval($uid, $fromDate, $toDate)
|
||||
{
|
||||
$qry = <<<EOL
|
||||
SELECT d.dates, z.*
|
||||
FROM
|
||||
(SELECT
|
||||
*, to_char ((ende-start),'HH24:MI') as diff,
|
||||
(SELECT (to_char(sum(ende-start),'DD')::integer)*24+to_char(sum(ende-start),'HH24')::integer || ':' || to_char(sum(ende-start),'MI')
|
||||
FROM campus.tbl_zeitaufzeichnung
|
||||
WHERE uid=? and start between ? AND ?) as summe
|
||||
FROM campus.tbl_zeitaufzeichnung
|
||||
WHERE uid=? AND (aktivitaet_kurzbz != 'DienstreiseMT' or aktivitaet_kurzbz is null) AND start between ? AND ?) as z
|
||||
|
||||
RIGHT JOIN (select generate_series ( ?::timestamp , ?::timestamp , '1 day'::interval) :: date as dates) d on date(z.ende) = d.dates
|
||||
|
||||
ORDER BY d.dates desc, z.start desc
|
||||
EOL;
|
||||
|
||||
|
||||
return $this->execQuery($qry, array($uid, $fromDate, $toDate, $uid, $fromDate, $toDate, $fromDate, $toDate));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ EODVIDC;
|
||||
AND
|
||||
dv.oe_kurzbz = ?
|
||||
AND
|
||||
dv.vertragsart_kurzbz != 'werkvertrag'
|
||||
dv.vertragsart_kurzbz NOT IN ('werkvertrag', 'studentischehilfskr')
|
||||
AND
|
||||
?::date <= COALESCE(dv.bis, '2170-12-31'::date)
|
||||
AND
|
||||
@@ -224,4 +224,22 @@ EOSQL;
|
||||
|
||||
}
|
||||
|
||||
public function fetchDienstverhaeltnisse($unternehmen, $stichtag=null, $mitarbeiteruid=null) {
|
||||
$where = "oe_kurzbz = " . $this->escape($unternehmen);
|
||||
if( !is_null($stichtag) )
|
||||
{
|
||||
$where .= " AND " . $this->escape($stichtag) . " BETWEEN COALESCE(von, '1970-01-01') AND COALESCE(bis, '2070-12-31')";
|
||||
}
|
||||
if( !is_null($mitarbeiteruid) )
|
||||
{
|
||||
$where .= " AND mitarbeiter_uid = " . $this->escape($mitarbeiteruid);
|
||||
}
|
||||
$res = $this->loadWhere($where);
|
||||
$dvs = array();
|
||||
if(hasData($res) )
|
||||
{
|
||||
$dvs = getData($res);
|
||||
}
|
||||
return $dvs;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
$stsem = $_GET['stsem'];
|
||||
else
|
||||
die($p->t('anwesenheitsliste/studiensemesterIstUngueltig'));
|
||||
|
||||
|
||||
$covidhelper = new CovidHelper();
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
@@ -114,9 +114,6 @@ $covidhelper = new CovidHelper();
|
||||
|
||||
echo "</table>";
|
||||
|
||||
$qry = "SELECT *, tbl_lehreinheitgruppe.studiengang_kz, tbl_lehreinheitgruppe.semester FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitgruppe USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE lehrveranstaltung_id='$lvid' AND studiensemester_kurzbz=".$db->db_add_param($stsem);
|
||||
|
||||
$qry = "SELECT *, tbl_lehreinheitgruppe.studiengang_kz, tbl_lehreinheitgruppe.semester ,tbl_lehreinheit.lehrform_kurzbz
|
||||
FROM lehre.tbl_lehreinheit
|
||||
JOIN lehre.tbl_lehreinheitgruppe USING(lehreinheit_id)
|
||||
@@ -213,7 +210,7 @@ $covidhelper = new CovidHelper();
|
||||
$covid_content = "<table border='0' cellspacing='0'><tr><td><h3>".$p->t('anwesenheitsliste/covidstatuslisten')."</h3></td></tr>".$covid_content."</table>";
|
||||
else
|
||||
$covid_content = ($covidhelper->isUdfDefined()) ? $p->t('anwesenheitsliste/keineStudentenVorhanden') : '';
|
||||
|
||||
|
||||
if($aw_content!='')
|
||||
$aw_content = "<table border='0' cellspacing='0'><tr><td><h3>".$p->t('anwesenheitsliste/anwesenheitslisten')."</h3></td></tr>".$aw_content."</table>";
|
||||
else
|
||||
@@ -241,9 +238,9 @@ $covidhelper = new CovidHelper();
|
||||
{
|
||||
$covid_content = '';
|
||||
}
|
||||
|
||||
|
||||
echo "<table cellpadding='0' cellspacing='0'>
|
||||
|
||||
|
||||
<tr>
|
||||
<td>$aw_content</td>
|
||||
<td class=\"covidstatus\">$covid_content</td>
|
||||
|
||||
@@ -102,6 +102,22 @@ $noten_obj->getAll();
|
||||
$sprachen = new sprache();
|
||||
$sprachen->getAll(true);
|
||||
|
||||
|
||||
$noten_array = array();
|
||||
$js_noten='';
|
||||
foreach ($noten_obj->result as $row)
|
||||
{
|
||||
$js_noten .= " noten_array['" . $row->note . "']='" . addslashes($row->bezeichnung) . "';\n";
|
||||
$noten_array[$row->note]['bezeichnung'] = $row->bezeichnung;
|
||||
$noten_array[$row->note]['positiv'] = $row->positiv;
|
||||
$noten_array[$row->note]['aktiv'] = $row->aktiv;
|
||||
$noten_array[$row->note]['lehre'] = $row->lehre;
|
||||
$noten_array[$row->note]['lkt_ueberschreibbar'] = $row->lkt_ueberschreibbar;
|
||||
$noten_array[$row->note]['anmerkung'] = $row->anmerkung;
|
||||
foreach ($sprachen->result as $s)
|
||||
$noten_array[$row->note]['bezeichnung_mehrsprachig'][$s->sprache] = $row->bezeichnung_mehrsprachig[$s->sprache];
|
||||
}
|
||||
|
||||
$errormsg = '';
|
||||
|
||||
// eingetragene lv-gesamtnoten freigeben
|
||||
@@ -326,19 +342,7 @@ echo '<!DOCTYPE HTML>
|
||||
var noten_array = Array();
|
||||
';
|
||||
|
||||
$noten_array = array();
|
||||
foreach ($noten_obj->result as $row)
|
||||
{
|
||||
echo " noten_array['" . $row->note . "']='" . addslashes($row->bezeichnung) . "';\n";
|
||||
$noten_array[$row->note]['bezeichnung'] = $row->bezeichnung;
|
||||
$noten_array[$row->note]['positiv'] = $row->positiv;
|
||||
$noten_array[$row->note]['aktiv'] = $row->aktiv;
|
||||
$noten_array[$row->note]['lehre'] = $row->lehre;
|
||||
$noten_array[$row->note]['lkt_ueberschreibbar'] = $row->lkt_ueberschreibbar;
|
||||
$noten_array[$row->note]['anmerkung'] = $row->anmerkung;
|
||||
foreach ($sprachen->result as $s)
|
||||
$noten_array[$row->note]['bezeichnung_mehrsprachig'][$s->sprache] = $row->bezeichnung_mehrsprachig[$s->sprache];
|
||||
}
|
||||
echo $js_noten;
|
||||
|
||||
?>
|
||||
|
||||
@@ -806,16 +810,16 @@ foreach ($noten_obj->result as $row)
|
||||
for(row in rows)
|
||||
{
|
||||
linenumber++;
|
||||
if( rows[row] == '' )
|
||||
if( rows[row] == '' )
|
||||
{
|
||||
//skip empty lines
|
||||
continue;
|
||||
}
|
||||
zeile = rows[row].split(" ");
|
||||
|
||||
|
||||
if( zeile.length < 2 )
|
||||
{
|
||||
alertMsg = alertMsg + "Zeile " + linenumber + ': '
|
||||
alertMsg = alertMsg + "Zeile " + linenumber + ': '
|
||||
+ 'Zu wenig Paramter - 2 erforderlich. '
|
||||
+ 'Die Zeile wurde uebersprungen.' + "\n\n";
|
||||
continue;
|
||||
@@ -917,36 +921,36 @@ foreach ($noten_obj->result as $row)
|
||||
for(row in rows)
|
||||
{
|
||||
linenumber++;
|
||||
if( rows[row] == '' )
|
||||
if( rows[row] == '' )
|
||||
{
|
||||
//skip empty lines
|
||||
continue;
|
||||
}
|
||||
zeile = rows[row].split(" ");
|
||||
|
||||
|
||||
if( zeile.length < 3 )
|
||||
{
|
||||
alertMsg = alertMsg + "Zeile " + linenumber + ': '
|
||||
alertMsg = alertMsg + "Zeile " + linenumber + ': '
|
||||
+ 'Zu wenig Paramter - 3 erforderlich. '
|
||||
+ 'Die Zeile wurde uebersprungen.' + "\n\n";
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if( zeile[1] == '' && zeile[2] == '' )
|
||||
{
|
||||
// ignore lines just copied from excel
|
||||
// ignore lines just copied from excel
|
||||
continue;
|
||||
}
|
||||
|
||||
if( zeile[2] == '' )
|
||||
|
||||
if( zeile[2] == '' )
|
||||
{
|
||||
alertMsg = alertMsg + "Zeile " + linenumber + ': '
|
||||
+ "Die Note oder Punkte fehlen. "
|
||||
+ "Die Zeile wurde uebersprungen. \n\n";
|
||||
continue;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (CIS_GESAMTNOTE_PUNKTE == false)
|
||||
|
||||
if (CIS_GESAMTNOTE_PUNKTE == false)
|
||||
{
|
||||
// check for valid grades
|
||||
if (validGrades.indexOf(zeile[2]) === -1)
|
||||
@@ -958,7 +962,7 @@ foreach ($noten_obj->result as $row)
|
||||
}
|
||||
}
|
||||
|
||||
if( !zeile[1].match(/[0-9]{2}\.[0-9]{2}\.[0-9]{4}/) )
|
||||
if( !zeile[1].match(/[0-9]{2}\.[0-9]{2}\.[0-9]{4}/) )
|
||||
{
|
||||
alertMsg = alertMsg + "Zeile " + linenumber + ': '
|
||||
+ "Das Datum "+zeile[1]+" fehlt oder ist nicht zulaessig. "
|
||||
|
||||
@@ -251,7 +251,7 @@ else
|
||||
// deshalb wird hier versucht eine passende Lehreinheit zu ermitteln.
|
||||
$lehreinheit_id = getLehreinheit($db, $lvid, $student_uid, $stsem);
|
||||
|
||||
$response = savePruefung($lvid, $student_uid, $stsem, $lehreinheit_id, $datum, $typ, $note);
|
||||
$response = savePruefung($lvid, $student_uid, $stsem, $lehreinheit_id, $datum, $typ, $note, $punkte);
|
||||
echo $response;
|
||||
}
|
||||
else
|
||||
|
||||
+11
-10
@@ -65,6 +65,11 @@ $xsl_stg_kz = 0;
|
||||
|
||||
$sign = false;
|
||||
|
||||
/* Signing on CIS disabled
|
||||
if(isset($_GET['sign']))
|
||||
$sign = true;
|
||||
*/
|
||||
|
||||
// Direkte uebergabe des Studienganges dessen Vorlage verwendet werden soll
|
||||
if (isset($_GET['xsl_stg_kz']))
|
||||
$xsl_stg_kz = $_GET['xsl_stg_kz'];
|
||||
@@ -298,22 +303,18 @@ if ((((isset($_GET["uid"]) && $user == $_GET["uid"])) || $rechte->isBerechtigt('
|
||||
|
||||
$dokument->setFilename($filename);
|
||||
|
||||
if (!$dokument->create($output))
|
||||
die($dokument->errormsg);
|
||||
|
||||
if ($sign === true)
|
||||
{
|
||||
if ($dokument->sign($user))
|
||||
{
|
||||
$dokument->output();
|
||||
}
|
||||
else
|
||||
if (!$dokument->sign($user))
|
||||
{
|
||||
echo $dokument->errormsg;
|
||||
}
|
||||
}
|
||||
else
|
||||
$dokument->output();
|
||||
|
||||
if (!$dokument->create($output))
|
||||
die($dokument->errormsg);
|
||||
|
||||
$dokument->output();
|
||||
$dokument->close();
|
||||
}
|
||||
else
|
||||
|
||||
@@ -60,7 +60,7 @@ if (isset($_GET['uid']))
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
if ($rechte->isBerechtigt('admin') || (in_array($_GET['uid'], $untergebenen_arr)))
|
||||
if ($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter/zeitsperre') || (in_array($_GET['uid'], $untergebenen_arr)))
|
||||
{
|
||||
$uid = $_GET['uid'];
|
||||
}
|
||||
|
||||
@@ -280,7 +280,7 @@ if(!$error)
|
||||
|
||||
if($_POST['neu']!='true')
|
||||
{
|
||||
if(!$entwt->load($_POST['mitarbeiter_uid'],$_POST['studiengang_kz_old']))
|
||||
if(!$entwt->load($_POST['entwicklungsteam_id']))
|
||||
{
|
||||
$error = true;
|
||||
$return = false;
|
||||
@@ -291,12 +291,6 @@ if(!$error)
|
||||
else
|
||||
{
|
||||
|
||||
if($entwt->exists($_POST['mitarbeiter_uid'],$_POST['studiengang_kz']))
|
||||
{
|
||||
$error = true;
|
||||
$errormsg = 'Es existiert bereits ein Eintrag fuer diesen Studiengang';
|
||||
$return = false;
|
||||
}
|
||||
$entwt->new = true;
|
||||
$entwt->insertamum = date('Y-m-d H:i:s');
|
||||
$entwt->insertvon = $user;
|
||||
@@ -304,6 +298,7 @@ if(!$error)
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
$entwt->entwicklungsteam_id= $_POST['entwicklungsteam_id'];
|
||||
$entwt->mitarbeiter_uid = $_POST['mitarbeiter_uid'];
|
||||
$entwt->studiengang_kz = $_POST['studiengang_kz'];
|
||||
$entwt->studiengang_kz_old = $_POST['studiengang_kz_old'];
|
||||
@@ -328,15 +323,17 @@ if(!$error)
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='entwicklungsteamdelete')
|
||||
{
|
||||
//Loescht einen Entwicklungsteameintrag
|
||||
$entwicklungsteam_id = $_POST['entwicklungsteam_id'];
|
||||
|
||||
$entwt = new entwicklungsteam();
|
||||
if($entwt->delete($_POST['mitarbeiter_uid'],$_POST['studiengang_kz']))
|
||||
if($entwt->delete($entwicklungsteam_id))
|
||||
{
|
||||
$return = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = $entwt->errormsg;
|
||||
$errormsg = $entwt->errormsg;
|
||||
}
|
||||
}
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='buchungsave')
|
||||
@@ -803,6 +800,7 @@ if(!$error)
|
||||
$errormsg = $konto->errormsg;
|
||||
}
|
||||
else
|
||||
|
||||
{
|
||||
$error = false;
|
||||
$return = true;
|
||||
|
||||
@@ -199,7 +199,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bisfunktion/rdf#sws" onclick="MitarbeiterTreeFunktionSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="mitarbeiter-funktion-treecol-bisverwendung_id" label="VerwendungID" flex="1" persist="hidden, width" hidden="true"
|
||||
<treecol id="mitarbeiter-funktion-treecol-bisverwendung_id" label="VerwendungID" flex="1" persist="hidden, width" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bisfunktion/rdf#bisverwendung_id" onclick="MitarbeiterTreeFunktionSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
@@ -286,15 +286,19 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#studiengang" onclick="MitarbeiterTreeEntwicklungsteamSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="mitarbeiter-entwicklungsteam-treecol-entwicklungsteam_id" label="entwicklungsteam_id" flex="1" persist="hidden, width" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#entwicklungsteam_id" onclick="MitarbeiterTreeEntwicklungteamSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="mitarbeiter-entwicklungsteam-treecol-besqual" label="Besondere Qualifikation" flex="1" persist="hidden, width" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#besqual" onclick="MitarbeiterTreeEntwicklungteamSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="mitarbeiter-entwicklungsteam-treecol-beginn" label="Beginn" flex="1" persist="hidden, width" hidden="true"
|
||||
<treecol id="mitarbeiter-entwicklungsteam-treecol-beginn" label="Beginn" flex="1" persist="hidden, width" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#beginn" onclick="MitarbeiterTreeEntwicklungsteamSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="mitarbeiter-entwicklungsteam-treecol-ende" label="Ende" flex="1" persist="hidden, width" hidden="true"
|
||||
<treecol id="mitarbeiter-entwicklungsteam-treecol-ende" label="Ende" flex="1" persist="hidden, width" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#ende" onclick="MitarbeiterTreeEntwicklungsteamSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
@@ -318,6 +322,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<treeitem uri="rdf:*">
|
||||
<treerow>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#studiengang" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#entwicklungsteam_id" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#besqual" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#beginn" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#ende" />
|
||||
@@ -345,6 +350,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<column flex="5"/>
|
||||
</columns>
|
||||
<rows>
|
||||
|
||||
<row>
|
||||
<label value="Studiengang" control="mitarbeiter-entwicklungsteam-detail-menulist-studiengang"/>
|
||||
<menulist id="mitarbeiter-entwicklungsteam-detail-menulist-studiengang" disabled="true"
|
||||
@@ -359,6 +365,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
</template>
|
||||
</menulist>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<label value="Besondere Qualifikation" control="mitarbeiter-entwicklungsteam-detail-menulist-besqual"/>
|
||||
<menulist id="mitarbeiter-entwicklungsteam-detail-menulist-besqual" disabled="true"
|
||||
@@ -373,14 +380,17 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
</template>
|
||||
</menulist>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<label value="Beginn" control="mitarbeiter-entwicklungsteam-detail-datum-beginn"/>
|
||||
<box id="mitarbeiter-entwicklungsteam-detail-datum-beginn" class="Datum" disabled="true"/>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<label value="Ende" control="mitarbeiter-entwicklungsteam-detail-datum-ende"/>
|
||||
<box id="mitarbeiter-entwicklungsteam-detail-datum-ende" class="Datum" disabled="true"/>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<spacer />
|
||||
<button id="mitarbeiter-entwicklungsteam-detail-button-speichern" label="Speichern" disabled="true" oncommand="MitarbeiterEntwicklungsteamSpeichern()" />
|
||||
|
||||
@@ -39,6 +39,7 @@ var MitarbeiterFunktionTreeDatasource=null; // Datasource des Verwendungstrees
|
||||
var MitarbeiterFunktionSelectVerwendungID=null; // ID der Verwendung der Funktion die nach dem rebuild markiert werden soll
|
||||
var MitarbeiterFunktionSelectStudiengangID=null; // ID des Studiengangs der Funktion die nach dem rebuild markiert werden soll
|
||||
var MitarbeiterEntwicklungsteamTreeDatasource=null; // Datasource des Entwicklungsteamtrees
|
||||
var MitarbeiterEntwicklungsteamSelectEntwicklungsteamID=null; //ID Entwicklungsteameintrag
|
||||
var MitarbeiterEntwicklungsteamSelectMitarbeiterUID=null; // UID des Mitarbeiters des Entwicklugnsteams das nach dem rebuild markiert werden soll
|
||||
var MitarbeiterEntwicklungsteamSelectStudiengangID=null; // ID des Stg des Entwicklungsteams das nach dem rebuild markiert werden soll
|
||||
var MitarbeiterEntwicklungsteamDoubleRefresh=false; // Wenn auf einen Tree der eine leere Datasource enthaelt eine neue Datasource angehaengt wird, dann muss doppelt refresht werden
|
||||
@@ -685,6 +686,7 @@ function MitarbeiterAuswahl()
|
||||
|
||||
// **** ENTWICKLUNGSTEAM ****
|
||||
entwicklungsteamtree = document.getElementById('mitarbeiter-tree-entwicklungsteam');
|
||||
|
||||
url='<?php echo APP_ROOT;?>rdf/entwicklungsteam.rdf.php?mitarbeiter_uid='+uid+"&"+gettimestamp();
|
||||
|
||||
try
|
||||
@@ -1603,24 +1605,27 @@ function MitarbeiterEntwicklungsteamTreeSelect()
|
||||
var tree=document.getElementById('mitarbeiter-tree-entwicklungsteam');
|
||||
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
|
||||
|
||||
//In der globalen Variable ist der zu selektierende Verwendung gespeichert
|
||||
if(MitarbeiterEntwicklungsteamSelectStudiengangID!=null)
|
||||
//In der globalen Variable ist der zu selektierende Entwicklungsteameintrag gespeichert
|
||||
if (MitarbeiterEntwicklungsteamSelectStudiengangID!=null)
|
||||
{
|
||||
for(var i=0;i<items;i++)
|
||||
{
|
||||
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-entwicklungsteam_id"] : "mitarbeiter-entwicklungsteam-treecol-entwicklungsteam_id";
|
||||
entwicklungsteam_id=tree.view.getCellText(i,col);
|
||||
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-mitarbeiter_uid"] : "mitarbeiter-entwicklungsteam-treecol-mitarbeiter_uid";
|
||||
mitarbeiter_uid=tree.view.getCellText(i,col);
|
||||
mitarbeiter_uid=tree.view.getCellText(i,col);
|
||||
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-studiengang_kz"] : "mitarbeiter-entwicklungsteam-treecol-studiengang_kz";
|
||||
studiengang_kz=tree.view.getCellText(i,col);
|
||||
|
||||
if(mitarbeiter_uid == MitarbeiterEntwicklungsteamSelectMitarbeiterUID && studiengang_kz==MitarbeiterEntwicklungsteamSelectStudiengangID)
|
||||
{
|
||||
//Zeile markieren
|
||||
tree.view.selection.select(i);
|
||||
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
|
||||
tree.treeBoxObject.ensureRowIsVisible(i);
|
||||
return true;
|
||||
}
|
||||
|
||||
if(entwicklungsteam_id == MitarbeiterEntwicklungsteamSelectEntwicklungsteamID && mitarbeiter_uid == MitarbeiterEntwicklungsteamSelectMitarbeiterUID && studiengang_kz==MitarbeiterEntwicklungsteamSelectStudiengangID)
|
||||
{
|
||||
//Zeile markieren
|
||||
tree.view.selection.select(i);
|
||||
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
|
||||
tree.treeBoxObject.ensureRowIsVisible(i);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1673,20 +1678,21 @@ function MitarbeiterEntwicklungsteamSelect()
|
||||
if (tree.currentIndex==-1)
|
||||
return false;
|
||||
|
||||
var col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-entwicklungsteam_id"] : "mitarbeiter-entwicklungsteam-treecol-entwicklungsteam_id";
|
||||
entwicklungsteam_id=tree.view.getCellText(tree.currentIndex,col);
|
||||
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-studiengang_kz"] : "mitarbeiter-entwicklungsteam-treecol-studiengang_kz";
|
||||
studiengang_kz=tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-mitarbeiter_uid"] : "mitarbeiter-entwicklungsteam-treecol-mitarbeiter_uid";
|
||||
mitarbeiter_uid=tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>rdf/entwicklungsteam.rdf.php?studiengang_kz='+studiengang_kz+'&mitarbeiter_uid='+mitarbeiter_uid+'&'+gettimestamp();
|
||||
var url = '<?php echo APP_ROOT ?>rdf/entwicklungsteam.rdf.php?studiengang_kz='+studiengang_kz+'&mitarbeiter_uid='+mitarbeiter_uid+'&entwicklungsteam_id='+entwicklungsteam_id+'&'+gettimestamp();
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
||||
getService(Components.interfaces.nsIRDFService);
|
||||
|
||||
var dsource = rdfService.GetDataSourceBlocking(url);
|
||||
var dsource = rdfService.GetDataSourceBlocking(url);
|
||||
|
||||
var subject = rdfService.GetResource("http://www.technikum-wien.at/entwicklungsteam/" + mitarbeiter_uid+'/'+studiengang_kz);
|
||||
var subject = rdfService.GetResource("http://www.technikum-wien.at/entwicklungsteam/" + mitarbeiter_uid+'/'+studiengang_kz+'/'+entwicklungsteam_id);
|
||||
|
||||
var predicateNS = "http://www.technikum-wien.at/entwicklungsteam/rdf";
|
||||
|
||||
@@ -1743,6 +1749,7 @@ function MitarbeiterEntwicklungsteamSpeichern()
|
||||
req.add('type', 'entwicklungsteamsave');
|
||||
|
||||
req.add('neu', neu);
|
||||
req.add('entwicklungsteam_id', entwicklungsteam_id);
|
||||
req.add('studiengang_kz', studiengang_kz);
|
||||
req.add('studiengang_kz_old', studiengang_kz_old);
|
||||
req.add('besqualcode', besqualcode);
|
||||
@@ -1765,6 +1772,7 @@ function MitarbeiterEntwicklungsteamSpeichern()
|
||||
else
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
MitarbeiterEntwicklungsteamSelectEntwicklungsteamID = entwicklungsteam_id;
|
||||
MitarbeiterEntwicklungsteamSelectMitarbeiterUID = mitarbeiter_uid;
|
||||
MitarbeiterEntwicklungsteamSelectStudiengangID = studiengang_kz;
|
||||
MitarbeiterEntwicklungsteamDoubleRefresh=true;
|
||||
@@ -1788,11 +1796,8 @@ function MitarbeiterEntwicklungsteamLoeschen()
|
||||
return false;
|
||||
}
|
||||
|
||||
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-studiengang_kz"] : "mitarbeiter-entwicklungsteam-treecol-studiengang_kz";
|
||||
studiengang_kz=tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-mitarbeiter_uid"] : "mitarbeiter-entwicklungsteam-treecol-mitarbeiter_uid";
|
||||
mitarbeiter_uid=tree.view.getCellText(tree.currentIndex,col);
|
||||
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-entwicklungsteam_id"] : "mitarbeiter-entwicklungsteam-treecol-entwicklungsteam_id";
|
||||
entwicklungsteam_id=tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
if(confirm("Wollen Sie diesen Eintrag wirklich loeschen?"))
|
||||
{
|
||||
@@ -1800,9 +1805,7 @@ function MitarbeiterEntwicklungsteamLoeschen()
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'entwicklungsteamdelete');
|
||||
|
||||
req.add('studiengang_kz', studiengang_kz);
|
||||
req.add('mitarbeiter_uid', mitarbeiter_uid);
|
||||
req.add('entwicklungsteam_id', entwicklungsteam_id);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ require_once('../../include/Excel/excel.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/mail.class.php');
|
||||
require_once('../../include/benutzerfunktion.class.php');
|
||||
require_once('../../include/organisationseinheit.class.php');
|
||||
|
||||
$stsem = new studiensemester();
|
||||
|
||||
@@ -96,12 +98,11 @@ $qry_stg = "SELECT distinct studiengang_kz, typ, kurzbz
|
||||
SELECT
|
||||
studiengang_kz
|
||||
FROM
|
||||
lehre.tbl_projektbetreuer, lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung
|
||||
lehre.tbl_projektbetreuer JOIN lehre.tbl_projektarbeit ON tbl_projektbetreuer.projektarbeit_id=tbl_projektarbeit.projektarbeit_id
|
||||
JOIN lehre.tbl_lehreinheit ON tbl_lehreinheit.lehreinheit_id = tbl_projektarbeit.lehreinheit_id
|
||||
JOIN lehre.tbl_lehrveranstaltung ON tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id
|
||||
WHERE
|
||||
lehre.tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND
|
||||
tbl_projektbetreuer.projektarbeit_id=tbl_projektarbeit.projektarbeit_id AND
|
||||
tbl_projektarbeit.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND
|
||||
tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id
|
||||
lehre.tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
|
||||
) as foo
|
||||
JOIN public.tbl_studiengang USING (studiengang_kz)
|
||||
";
|
||||
@@ -124,6 +125,10 @@ $workbook->setCustomColor(10, 255, 186, 179);
|
||||
$format_colored =& $workbook->addFormat();
|
||||
$format_colored->setFgColor(10);
|
||||
|
||||
$workbook->setCustomColor(10, 238, 238, 0);
|
||||
$oe_colored =& $workbook->addFormat();
|
||||
$oe_colored->setFgColor(11);
|
||||
|
||||
$format_number_colored =& $workbook->addFormat();
|
||||
$format_number_colored->setNumFormat('0,0.00');
|
||||
//$format_number_colored->setNumFormat('0.00');
|
||||
@@ -185,6 +190,17 @@ if ($result_stg = $db->db_query($qry_stg))
|
||||
$gesamt->write($gesamtsheet_row, $i, "Gesamtstunden", $format_bold);
|
||||
$worksheet->write(2, ++$i, "Gesamtkosten", $format_bold);
|
||||
$gesamt->write($gesamtsheet_row, $i, "Gesamtkosten", $format_bold);
|
||||
|
||||
$worksheet->write(2, ++$i, "Gesamtstunden bestellt", $format_bold);
|
||||
$gesamt->write($gesamtsheet_row, $i, "Gesamtstunden bestellt", $format_bold);
|
||||
$worksheet->write(2, ++$i, "Gesamtkosten bestellt", $format_bold);
|
||||
$gesamt->write($gesamtsheet_row, $i, "Gesamtkosten bestellt", $format_bold);
|
||||
|
||||
$worksheet->write(2, ++$i, "Gesamtstunden erteilt", $format_bold);
|
||||
$gesamt->write($gesamtsheet_row, $i, "Gesamtstunden erteilt", $format_bold);
|
||||
$worksheet->write(2, ++$i, "Gesamtkosten erteilt", $format_bold);
|
||||
$gesamt->write($gesamtsheet_row, $i, "Gesamtkosten erteilt", $format_bold);
|
||||
|
||||
$worksheet->write(2, ++$i, "Gesamtstunden angenommen", $format_bold);
|
||||
$gesamt->write($gesamtsheet_row, $i, "Gesamtstunden angenommen", $format_bold);
|
||||
$worksheet->write(2, ++$i, "Gesamtkosten angenommen", $format_bold);
|
||||
@@ -209,7 +225,7 @@ if ($result_stg = $db->db_query($qry_stg))
|
||||
SELECT tbl_organisationseinheit.organisationseinheittyp_kurzbz || ' ' || tbl_organisationseinheit.bezeichnung
|
||||
FROM PUBLIC.tbl_benutzerfunktion
|
||||
JOIN PUBLIC.tbl_organisationseinheit USING (oe_kurzbz)
|
||||
WHERE funktion_kurzbz = 'oezuordnung'
|
||||
WHERE funktion_kurzbz = (CASE WHEN fixangestellt = true THEN 'kstzuordnung' ELSE 'oezuordnung' END)
|
||||
AND (
|
||||
datum_von IS NULL
|
||||
OR datum_von <= now()
|
||||
@@ -229,7 +245,7 @@ if ($result_stg = $db->db_query($qry_stg))
|
||||
WHERE oe_kurzbz IN (
|
||||
SELECT oe_kurzbz
|
||||
FROM PUBLIC.tbl_benutzerfunktion
|
||||
WHERE funktion_kurzbz = 'oezuordnung'
|
||||
WHERE funktion_kurzbz = (CASE WHEN fixangestellt = true THEN 'kstzuordnung' ELSE 'oezuordnung' END)
|
||||
AND (
|
||||
datum_von IS NULL
|
||||
OR datum_von <= now()
|
||||
@@ -262,26 +278,20 @@ if ($result_stg = $db->db_query($qry_stg))
|
||||
THEN 't'
|
||||
ELSE 'f'
|
||||
END AS geaendert,
|
||||
(SELECT
|
||||
vertragsstatus_kurzbz
|
||||
FROM
|
||||
lehre.tbl_vertrag_vertragsstatus
|
||||
WHERE
|
||||
vertrag_id = tbl_lehreinheitmitarbeiter.vertrag_id
|
||||
ORDER BY datum DESC
|
||||
LIMIT 1) as vertragsstatus
|
||||
FROM lehre.tbl_lehreinheit,
|
||||
lehre.tbl_lehreinheitmitarbeiter,
|
||||
PUBLIC.tbl_mitarbeiter,
|
||||
PUBLIC.tbl_benutzer,
|
||||
PUBLIC.tbl_person,
|
||||
lehre.tbl_lehrveranstaltung
|
||||
WHERE tbl_person.person_id = tbl_benutzer.person_id
|
||||
AND tbl_benutzer.uid = tbl_mitarbeiter.mitarbeiter_uid
|
||||
AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid = tbl_mitarbeiter.mitarbeiter_uid
|
||||
AND tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id
|
||||
AND tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id
|
||||
AND studiengang_kz = ".$db->db_add_param($studiengang_kz)."
|
||||
(SELECT
|
||||
ARRAY_TO_STRING(ARRAY_AGG(vertragsstatus_kurzbz), ',')
|
||||
FROM
|
||||
lehre.tbl_vertrag_vertragsstatus
|
||||
WHERE
|
||||
vertrag_id = tbl_lehreinheitmitarbeiter.vertrag_id
|
||||
) as vertragsstatus
|
||||
FROM lehre.tbl_lehreinheit
|
||||
JOIN lehre.tbl_lehreinheitmitarbeiter ON tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id
|
||||
JOIN PUBLIC.tbl_mitarbeiter ON tbl_lehreinheitmitarbeiter.mitarbeiter_uid = tbl_mitarbeiter.mitarbeiter_uid
|
||||
JOIN PUBLIC.tbl_benutzer ON tbl_benutzer.uid = tbl_mitarbeiter.mitarbeiter_uid
|
||||
JOIN PUBLIC.tbl_person ON tbl_person.person_id = tbl_benutzer.person_id
|
||||
JOIN lehre.tbl_lehrveranstaltung ON tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id
|
||||
WHERE studiengang_kz = ".$db->db_add_param($studiengang_kz)."
|
||||
AND studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)."
|
||||
AND tbl_lehreinheitmitarbeiter.semesterstunden <> 0
|
||||
AND tbl_lehreinheitmitarbeiter.semesterstunden IS NOT NULL
|
||||
@@ -302,6 +312,7 @@ if ($result_stg = $db->db_query($qry_stg))
|
||||
$gesamtsheet_row++;
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$row->vertragsstatus = explode(',', $row->vertragsstatus);
|
||||
//Gesamtstunden und Kosten ermitteln
|
||||
if (array_key_exists($row->mitarbeiter_uid, $liste))
|
||||
{
|
||||
@@ -314,13 +325,43 @@ if ($result_stg = $db->db_query($qry_stg))
|
||||
$liste[$row->mitarbeiter_uid]['gesamtkosten'] =
|
||||
$liste[$row->mitarbeiter_uid]['gesamtkosten'] + ($row->semesterstunden * $row->stundensatz);
|
||||
|
||||
if (!isset($liste[$row->mitarbeiter_uid]['gesamtstunden_bestellt']))
|
||||
{
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden_bestellt'] = 0;
|
||||
$liste[$row->mitarbeiter_uid]['gesamtkosten_bestellt'] = 0;
|
||||
}
|
||||
|
||||
if (!isset($liste[$row->mitarbeiter_uid]['gesamtstunden_erteilt']))
|
||||
{
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden_erteilt'] = 0;
|
||||
$liste[$row->mitarbeiter_uid]['gesamtkosten_erteilt'] = 0;
|
||||
}
|
||||
|
||||
if (!isset($liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert']))
|
||||
{
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] = 0;
|
||||
$liste[$row->mitarbeiter_uid]['gesamtkosten_akzeptiert'] = 0;
|
||||
}
|
||||
|
||||
if ($row->vertragsstatus == 'akzeptiert')
|
||||
if (in_array('bestellt', $row->vertragsstatus))
|
||||
{
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden_bestellt'] =
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden_bestellt'] + $row->semesterstunden;
|
||||
$liste[$row->mitarbeiter_uid]['gesamtkosten_bestellt'] =
|
||||
$liste[$row->mitarbeiter_uid]['gesamtkosten_bestellt']
|
||||
+ ($row->semesterstunden * $row->stundensatz);
|
||||
}
|
||||
|
||||
if (in_array('erteilt', $row->vertragsstatus))
|
||||
{
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden_erteilt'] =
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden_erteilt'] + $row->semesterstunden;
|
||||
$liste[$row->mitarbeiter_uid]['gesamtkosten_erteilt'] =
|
||||
$liste[$row->mitarbeiter_uid]['gesamtkosten_erteilt']
|
||||
+ ($row->semesterstunden * $row->stundensatz);
|
||||
}
|
||||
|
||||
if (in_array('akzeptiert', $row->vertragsstatus))
|
||||
{
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] =
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] + $row->semesterstunden;
|
||||
@@ -336,13 +377,43 @@ if ($result_stg = $db->db_query($qry_stg))
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden'] = $row->semesterstunden;
|
||||
$liste[$row->mitarbeiter_uid]['gesamtkosten'] = $row->semesterstunden * $row->stundensatz;
|
||||
|
||||
if (!isset($liste[$row->mitarbeiter_uid]['gesamtstunden_bestellt']))
|
||||
{
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden_bestellt'] = 0;
|
||||
$liste[$row->mitarbeiter_uid]['gesamtkosten_bestellt'] = 0;
|
||||
}
|
||||
|
||||
if (!isset($liste[$row->mitarbeiter_uid]['gesamtstunden_erteilt']))
|
||||
{
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden_erteilt'] = 0;
|
||||
$liste[$row->mitarbeiter_uid]['gesamtkosten_erteilt'] = 0;
|
||||
}
|
||||
|
||||
if (!isset($liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert']))
|
||||
{
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] = 0;
|
||||
$liste[$row->mitarbeiter_uid]['gesamtkosten_akzeptiert'] = 0;
|
||||
}
|
||||
|
||||
if ($row->vertragsstatus == 'akzeptiert')
|
||||
if (in_array('bestellt', $row->vertragsstatus))
|
||||
{
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden_bestellt'] =
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden_bestellt'] + $row->semesterstunden;
|
||||
$liste[$row->mitarbeiter_uid]['gesamtkosten_bestellt'] =
|
||||
$liste[$row->mitarbeiter_uid]['gesamtkosten_bestellt']
|
||||
+ ($row->semesterstunden * $row->stundensatz);
|
||||
}
|
||||
|
||||
if (in_array('erteilt', $row->vertragsstatus))
|
||||
{
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden_erteilt'] =
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden_erteilt'] + $row->semesterstunden;
|
||||
$liste[$row->mitarbeiter_uid]['gesamtkosten_erteilt'] =
|
||||
$liste[$row->mitarbeiter_uid]['gesamtkosten_erteilt']
|
||||
+ ($row->semesterstunden * $row->stundensatz);
|
||||
}
|
||||
|
||||
if (in_array('akzeptiert', $row->vertragsstatus))
|
||||
{
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] =
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] + $row->semesterstunden;
|
||||
@@ -356,8 +427,20 @@ if ($result_stg = $db->db_query($qry_stg))
|
||||
$liste[$row->mitarbeiter_uid]['vorname'] = $row->vorname;
|
||||
$liste[$row->mitarbeiter_uid]['nachname'] = $row->nachname;
|
||||
$liste[$row->mitarbeiter_uid]['fixangestellt'] = $row->fixangestellt;
|
||||
$liste[$row->mitarbeiter_uid]['oezuordnung'] = $row->oezuordnung;
|
||||
$liste[$row->mitarbeiter_uid]['department'] = $row->department;
|
||||
|
||||
if (is_null($row->oezuordnung))
|
||||
{
|
||||
$oeInfos = getOe($row->mitarbeiter_uid, $row->fixangestellt);
|
||||
$liste[$row->mitarbeiter_uid]['oezuordnung'] = $oeInfos['oezuordnung'];
|
||||
$liste[$row->mitarbeiter_uid]['department'] = $oeInfos['department'];
|
||||
$liste[$row->mitarbeiter_uid]['organisationgeaendert'] = $oeInfos['organisationgeaendert'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$liste[$row->mitarbeiter_uid]['oezuordnung'] = $row->oezuordnung;
|
||||
$liste[$row->mitarbeiter_uid]['department'] = $row->department;
|
||||
}
|
||||
|
||||
$liste[$row->mitarbeiter_uid]['betreuergesamtstunden'] = 0;
|
||||
$liste[$row->mitarbeiter_uid]['betreuergesamtkosten'] = 0;
|
||||
if ($row->geaendert == 't')
|
||||
@@ -375,7 +458,7 @@ if ($result_stg = $db->db_query($qry_stg))
|
||||
public.tbl_benutzerfunktion
|
||||
JOIN public.tbl_organisationseinheit USING (oe_kurzbz)
|
||||
WHERE
|
||||
funktion_kurzbz='oezuordnung'
|
||||
funktion_kurzbz = (CASE WHEN fixangestellt = true THEN 'kstzuordnung' ELSE 'oezuordnung' END)
|
||||
AND (datum_von IS NULL OR datum_von <= now())
|
||||
AND (datum_bis IS NULL OR datum_bis >= now())
|
||||
AND tbl_benutzerfunktion.uid = tbl_benutzer.uid
|
||||
@@ -390,7 +473,7 @@ if ($result_stg = $db->db_query($qry_stg))
|
||||
WHERE oe_kurzbz IN (
|
||||
SELECT oe_kurzbz
|
||||
FROM PUBLIC.tbl_benutzerfunktion
|
||||
WHERE funktion_kurzbz = 'oezuordnung'
|
||||
WHERE funktion_kurzbz = (CASE WHEN fixangestellt = true THEN 'kstzuordnung' ELSE 'oezuordnung' END)
|
||||
AND (
|
||||
datum_von IS NULL
|
||||
OR datum_von <= now()
|
||||
@@ -419,27 +502,23 @@ if ($result_stg = $db->db_query($qry_stg))
|
||||
WHERE meine_oes.organisationseinheittyp_kurzbz = 'Department'
|
||||
) AS department
|
||||
FROM
|
||||
lehre.tbl_projektbetreuer, public.tbl_person, public.tbl_benutzer,
|
||||
public.tbl_mitarbeiter, lehre.tbl_projektarbeit, lehre.tbl_lehreinheit,
|
||||
lehre.tbl_lehrveranstaltung
|
||||
lehre.tbl_projektbetreuer JOIN public.tbl_person ON tbl_projektbetreuer.person_id=tbl_person.person_id
|
||||
JOIN public.tbl_benutzer ON tbl_benutzer.person_id=tbl_person.person_id
|
||||
JOIN public.tbl_mitarbeiter ON tbl_mitarbeiter.mitarbeiter_uid=tbl_benutzer.uid
|
||||
JOIN lehre.tbl_projektarbeit ON tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id
|
||||
JOIN lehre.tbl_lehreinheit ON tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id
|
||||
JOIN lehre.tbl_lehrveranstaltung ON tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id
|
||||
WHERE
|
||||
tbl_projektbetreuer.person_id=tbl_person.person_id AND
|
||||
tbl_person.person_id=tbl_benutzer.person_id AND
|
||||
tbl_mitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND
|
||||
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
|
||||
tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND
|
||||
tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
|
||||
NOT EXISTS (SELECT
|
||||
mitarbeiter_uid
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung
|
||||
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit ON tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
|
||||
JOIN lehre.tbl_lehrveranstaltung ON tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id
|
||||
WHERE
|
||||
mitarbeiter_uid=tbl_benutzer.uid AND
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
|
||||
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
|
||||
tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
|
||||
tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND
|
||||
tbl_lehreinheitmitarbeiter.semesterstunden is not null AND
|
||||
EXISTS (
|
||||
@@ -461,8 +540,20 @@ if ($result_stg = $db->db_query($qry_stg))
|
||||
$liste[$row->uid]['vorname'] = $row->vorname;
|
||||
$liste[$row->uid]['nachname'] = $row->nachname;
|
||||
$liste[$row->uid]['fixangestellt'] = $row->fixangestellt;
|
||||
$liste[$row->uid]['oezuordnung'] = $row->oezuordnung;
|
||||
$liste[$row->uid]['department'] = $row->department;
|
||||
|
||||
if (is_null($row->oezuordnung))
|
||||
{
|
||||
$oeInfos = getOe($row->uid, $row->fixangestellt);
|
||||
$liste[$row->uid]['oezuordnung'] = $oeInfos['oezuordnung'];
|
||||
$liste[$row->uid]['department'] = $oeInfos['department'];
|
||||
$liste[$row->uid]['organisationgeaendert'] = $oeInfos['organisationgeaendert'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$liste[$row->uid]['oezuordnung'] = $row->oezuordnung;
|
||||
$liste[$row->uid]['department'] = $row->department;
|
||||
}
|
||||
|
||||
$liste[$row->uid]['geaendert'] = false;
|
||||
$liste[$row->uid]['gesamtstunden'] = 0;
|
||||
$liste[$row->uid]['gesamtkosten'] = 0;
|
||||
@@ -488,32 +579,29 @@ if ($result_stg = $db->db_query($qry_stg))
|
||||
ELSE
|
||||
'f'
|
||||
END as geaendert,
|
||||
(
|
||||
SELECT
|
||||
vertragsstatus_kurzbz
|
||||
(SELECT
|
||||
ARRAY_TO_STRING(ARRAY_AGG(vertragsstatus_kurzbz), ',')
|
||||
FROM
|
||||
lehre.tbl_vertrag_vertragsstatus
|
||||
WHERE
|
||||
vertrag_id = tbl_projektbetreuer.vertrag_id
|
||||
ORDER BY datum DESC
|
||||
LIMIT 1
|
||||
) as vertragsstatus
|
||||
FROM lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung,
|
||||
public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student
|
||||
FROM
|
||||
lehre.tbl_projektbetreuer JOIN public.tbl_benutzer ON tbl_projektbetreuer.person_id = tbl_benutzer.person_id
|
||||
JOIN lehre.tbl_projektarbeit ON tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id
|
||||
JOIN lehre.tbl_lehreinheit ON tbl_lehreinheit.lehreinheit_id = tbl_projektarbeit.lehreinheit_id
|
||||
JOIN lehre.tbl_lehrveranstaltung ON tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id
|
||||
JOIN campus.vw_student ON vw_student.uid = student_uid
|
||||
WHERE
|
||||
tbl_projektbetreuer.person_id = tbl_benutzer.person_id
|
||||
AND tbl_benutzer.uid = ".$db->db_add_param($uid)."
|
||||
AND tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id
|
||||
AND student_uid = vw_student.uid
|
||||
AND tbl_lehreinheit.lehreinheit_id = tbl_projektarbeit.lehreinheit_id
|
||||
tbl_benutzer.uid = ".$db->db_add_param($uid)."
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
|
||||
AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id
|
||||
AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$row->vertragsstatus = explode(',', $row->vertragsstatus);
|
||||
$liste[$uid]['gesamtstunden'] = $liste[$uid]['gesamtstunden'] + $row->stunden;
|
||||
$liste[$uid]['gesamtkosten'] =
|
||||
$liste[$uid]['gesamtkosten'] + ($row->stunden * $row->stundensatz);
|
||||
@@ -524,13 +612,42 @@ if ($result_stg = $db->db_query($qry_stg))
|
||||
{
|
||||
$liste[$uid]['geaendert'] = true;
|
||||
}
|
||||
|
||||
if (!isset($liste[$uid]['gesamtstunden_bestellt']))
|
||||
{
|
||||
$liste[$uid]['gesamtstunden_bestellt'] = 0;
|
||||
$liste[$uid]['gesamtkosten_bestellt'] = 0;
|
||||
}
|
||||
|
||||
if (!isset($liste[$uid]['gesamtstunden_erteilt']))
|
||||
{
|
||||
$liste[$uid]['gesamtstunden_erteilt'] = 0;
|
||||
$liste[$uid]['gesamtkosten_erteilt'] = 0;
|
||||
}
|
||||
|
||||
if (!isset($liste[$uid]['gesamtstunden_akzeptiert']))
|
||||
{
|
||||
$liste[$uid]['gesamtstunden_akzeptiert'] = 0;
|
||||
$liste[$uid]['gesamtkosten_akzeptiert'] = 0;
|
||||
}
|
||||
|
||||
if ($row->vertragsstatus == 'akzeptiert')
|
||||
if (in_array('bestellt', $row->vertragsstatus))
|
||||
{
|
||||
$liste[$uid]['gesamtstunden_bestellt'] =
|
||||
$liste[$uid]['gesamtstunden_bestellt'] + $row->stunden;
|
||||
$liste[$uid]['gesamtkosten_bestellt'] =
|
||||
$liste[$uid]['gesamtkosten_bestellt'] + ($row->stunden * $row->stundensatz);
|
||||
}
|
||||
|
||||
if (in_array('erteilt', $row->vertragsstatus))
|
||||
{
|
||||
$liste[$uid]['gesamtstunden_erteilt'] =
|
||||
$liste[$uid]['gesamtstunden_erteilt'] + $row->stunden;
|
||||
$liste[$uid]['gesamtkosten_erteilt'] =
|
||||
$liste[$uid]['gesamtkosten_erteilt'] + ($row->stunden * $row->stundensatz);
|
||||
}
|
||||
|
||||
if (in_array('akzeptiert', $row->vertragsstatus))
|
||||
{
|
||||
$liste[$uid]['gesamtstunden_akzeptiert'] =
|
||||
$liste[$uid]['gesamtstunden_akzeptiert'] + $row->stunden;
|
||||
@@ -558,13 +675,20 @@ if ($result_stg = $db->db_query($qry_stg))
|
||||
if (isset($row['geaendert']) && $row['geaendert'] == true)
|
||||
{
|
||||
$format = $format_colored;
|
||||
$formatOE = $format_colored;
|
||||
$formatnb = $format_number_colored;
|
||||
}
|
||||
else
|
||||
{
|
||||
$format = $format_normal;
|
||||
$formatOE = $format_normal;
|
||||
$formatnb = $format_number;
|
||||
}
|
||||
|
||||
if(isset($row['organisationgeaendert']) && $row['organisationgeaendert'] === true)
|
||||
{
|
||||
$formatOE = $oe_colored;
|
||||
}
|
||||
//Studiengang
|
||||
$worksheet->write($zeile, $i, $studiengang->kuerzel, $format);
|
||||
$gesamt->write($gesamtsheet_row, $i, $studiengang->kuerzel, $format);
|
||||
@@ -584,11 +708,11 @@ if ($result_stg = $db->db_query($qry_stg))
|
||||
$worksheet->write($zeile, ++$i, $row['fixangestellt'], $format);
|
||||
$gesamt->write($gesamtsheet_row, $i, $row['fixangestellt'], $format);
|
||||
//OE-Zuordnung
|
||||
$worksheet->write($zeile, ++$i, $row['oezuordnung'], $format);
|
||||
$gesamt->write($gesamtsheet_row, $i, $row['oezuordnung'], $format);
|
||||
$worksheet->write($zeile, ++$i, $row['oezuordnung'], $formatOE);
|
||||
$gesamt->write($gesamtsheet_row, $i, $row['oezuordnung'], $formatOE);
|
||||
//Department der OE-Zuordnung
|
||||
$worksheet->write($zeile, ++$i, $row['department'], $format);
|
||||
$gesamt->write($gesamtsheet_row, $i, $row['department'], $format);
|
||||
$worksheet->write($zeile, ++$i, $row['department'], $formatOE);
|
||||
$gesamt->write($gesamtsheet_row, $i, $row['department'], $formatOE);
|
||||
//LVStunden
|
||||
$lvstunden = str_replace(', ', '.', $row['lvstunden']);
|
||||
$worksheet->write($zeile, ++$i, $lvstunden, $format);
|
||||
@@ -613,6 +737,25 @@ if ($result_stg = $db->db_query($qry_stg))
|
||||
$gesamtkosten_row = str_replace(', ', '.', $row['gesamtkosten']);
|
||||
$worksheet->writeNumber($zeile, ++$i, $gesamtkosten_row, $formatnb);
|
||||
$gesamt->writeNumber($gesamtsheet_row, $i, $gesamtkosten_row, $formatnb);
|
||||
|
||||
//Gesamtstunden bestellt
|
||||
$gesamtstunden_bestellt = str_replace(', ', '.', $row['gesamtstunden_bestellt']);
|
||||
$worksheet->write($zeile, ++$i, $gesamtstunden_bestellt, $formatnb);
|
||||
$gesamt->write($gesamtsheet_row, $i, $gesamtstunden_bestellt, $formatnb);
|
||||
//Gesamtkosten bestellt
|
||||
$gesamtkosten_bestellt_row = str_replace(', ', '.', $row['gesamtkosten_bestellt']);
|
||||
$worksheet->writeNumber($zeile, ++$i, $gesamtkosten_bestellt_row, $formatnb);
|
||||
$gesamt->writeNumber($gesamtsheet_row, $i, $gesamtkosten_bestellt_row, $formatnb);
|
||||
|
||||
//Gesamtstunden erteilt
|
||||
$gesamtstunden_erteilt = str_replace(', ', '.', $row['gesamtstunden_erteilt']);
|
||||
$worksheet->write($zeile, ++$i, $gesamtstunden_erteilt, $formatnb);
|
||||
$gesamt->write($gesamtsheet_row, $i, $gesamtstunden_erteilt, $formatnb);
|
||||
//Gesamtkosten erteilt
|
||||
$gesamtkosten_erteilt_row = str_replace(', ', '.', $row['gesamtkosten_erteilt']);
|
||||
$worksheet->writeNumber($zeile, ++$i, $gesamtkosten_erteilt_row, $formatnb);
|
||||
$gesamt->writeNumber($gesamtsheet_row, $i, $gesamtkosten_erteilt_row, $formatnb);
|
||||
|
||||
//Gesamtstunden akzeptiert
|
||||
$gesamtstunden_akzeptiert = str_replace(', ', '.', $row['gesamtstunden_akzeptiert']);
|
||||
$worksheet->write($zeile, ++$i, $gesamtstunden_akzeptiert, $formatnb);
|
||||
@@ -641,11 +784,31 @@ if ($result_stg = $db->db_query($qry_stg))
|
||||
else
|
||||
$liste_gesamt[$uid]['gesamtkosten'] = $row['gesamtkosten'];
|
||||
|
||||
if (isset($liste_gesamt[$uid]['gesamtstunden_bestellt']))
|
||||
$liste_gesamt[$uid]['gesamtstunden_bestellt'] += $row['gesamtstunden_bestellt'];
|
||||
else
|
||||
$liste_gesamt[$uid]['gesamtstunden_bestellt'] = $row['gesamtstunden_bestellt'];
|
||||
|
||||
if (isset($liste_gesamt[$uid]['gesamtkosten_bestellt']))
|
||||
$liste_gesamt[$uid]['gesamtkosten_bestellt'] += $row['gesamtkosten_bestellt'];
|
||||
else
|
||||
$liste_gesamt[$uid]['gesamtkosten_bestellt'] = $row['gesamtkosten_bestellt'];
|
||||
|
||||
if (isset($liste_gesamt[$uid]['gesamtstunden_erteilt']))
|
||||
$liste_gesamt[$uid]['gesamtstunden_erteilt'] += $row['gesamtstunden_erteilt'];
|
||||
else
|
||||
$liste_gesamt[$uid]['gesamtstunden_erteilt'] = $row['gesamtstunden_erteilt'];
|
||||
|
||||
if (isset($liste_gesamt[$uid]['gesamtkosten_erteilt']))
|
||||
$liste_gesamt[$uid]['gesamtkosten_erteilt'] += $row['gesamtkosten_erteilt'];
|
||||
else
|
||||
$liste_gesamt[$uid]['gesamtkosten_erteilt'] = $row['gesamtkosten_erteilt'];
|
||||
|
||||
if (isset($liste_gesamt[$uid]['gesamtstunden_akzeptiert']))
|
||||
$liste_gesamt[$uid]['gesamtstunden_akzeptiert'] += $row['gesamtstunden_akzeptiert'];
|
||||
else
|
||||
$liste_gesamt[$uid]['gesamtstunden_akzeptiert'] = $row['gesamtstunden_akzeptiert'];
|
||||
|
||||
|
||||
if (isset($liste_gesamt[$uid]['gesamtkosten_akzeptiert']))
|
||||
$liste_gesamt[$uid]['gesamtkosten_akzeptiert'] += $row['gesamtkosten_akzeptiert'];
|
||||
else
|
||||
@@ -745,3 +908,36 @@ if ($result_stg = $db->db_query($qry_stg))
|
||||
else
|
||||
echo "Fehler beim Versenden der Lehrauftragsliste";
|
||||
}
|
||||
|
||||
function getOe($mitarbeiter_uid, $fixangestellt)
|
||||
{
|
||||
$benutzerfunktion = new Benutzerfunktion();
|
||||
$oe = new Organisationseinheit();
|
||||
|
||||
$benutzerfunktion->getBenutzerFunktionByUid($mitarbeiter_uid, $fixangestellt === 'Ja' ? 'kstzuordnung' : 'oezuordnung', date('Y-m-d'));
|
||||
|
||||
if (isset($benutzerfunktion->result[0]))
|
||||
{
|
||||
array_multisort(array_column($benutzerfunktion->result, 'datum_von'), SORT_ASC, $benutzerfunktion->result);
|
||||
}
|
||||
else
|
||||
{
|
||||
$benutzerfunktion->getBenutzerFunktionByUid($mitarbeiter_uid, $fixangestellt === 'Ja' ? 'kstzuordnung' : 'oezuordnung', null, date('Y-m-d'));
|
||||
array_multisort(array_column($benutzerfunktion->result, 'datum_bis'), SORT_DESC, $benutzerfunktion->result);
|
||||
}
|
||||
|
||||
if (!isset($benutzerfunktion->result[0]))
|
||||
return array('oezuordnung' => '', 'department' => '', 'organisationgeaendert' => false);
|
||||
|
||||
$oe->load($benutzerfunktion->result[0]->oe_kurzbz);
|
||||
$oezuordnung = $oe->organisationseinheittyp_kurzbz . ' ' . $oe->bezeichnung;
|
||||
|
||||
$oe_parents = $oe->getParents_withOEType($oe->oe_kurzbz);
|
||||
|
||||
if (is_array($oe_parents))
|
||||
$department = ($oe_parents[array_search('Department', array_column($oe_parents, 'oe_typ_bezeichnung'))]->oe_bezeichnung);
|
||||
else
|
||||
$department = '';
|
||||
|
||||
return array('oezuordnung' => $oezuordnung, 'department' => $department, 'organisationgeaendert' => true);
|
||||
}
|
||||
@@ -181,7 +181,7 @@ abstract class db extends basis
|
||||
if (!include(dirname(__FILE__).'/../application/config/'.CI_ENVIRONMENT.'/db_crypt.php')) return null;
|
||||
|
||||
// Array that will contains all the DB decryption password
|
||||
$decryptionPasswordsArray = array();
|
||||
$decryptionPasswordArray = array();
|
||||
// Array that will contains all the DB decryption password names
|
||||
$decryptionPasswordNamesArray = array();
|
||||
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
<?php
|
||||
/* Copyright (C) 2013 fhcomplete.org
|
||||
*
|
||||
* 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: Manuela Thamer <manuela.thamer@technikum-wien.at>
|
||||
*/
|
||||
|
||||
require_once(dirname(__FILE__). '/basis_db.class.php');
|
||||
require_once(dirname(__FILE__). '/sprache.class.php');
|
||||
require_once(dirname(__FILE__). '/functions.inc.php');
|
||||
|
||||
class besqualcode extends basis_db
|
||||
{
|
||||
//Objekt besqualcode
|
||||
public $result = array();
|
||||
|
||||
//Tabellenspalten
|
||||
public $besqualcode;
|
||||
public $besqualbez;
|
||||
|
||||
/**
|
||||
* Konstruktor - Laedt optional einen besqualcode
|
||||
* @param char $besqualcode Besqualcode der geladen werden soll.
|
||||
*/
|
||||
public function __construct($besqualcode = null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if($besqualcode != null)
|
||||
$this->load($besqualcode);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert alle Lehrmodi aus der table tbl_besqualcode
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getAll()
|
||||
{
|
||||
$qry = "SELECT * FROM bis.tbl_besqual";
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
while ($row = $this->db_fetch_object())
|
||||
{
|
||||
$besqualcode = new besqualcode();
|
||||
|
||||
$besqualcode->besqualcode = $row->besqualcode;
|
||||
$besqualcode->besqualbez = $row->besqualbez;
|
||||
|
||||
$this->result[] = $besqualcode;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen besqualcode
|
||||
* @param char $besqualcode ID des Datensatzes der zu laden ist.
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load($besqualcode)
|
||||
{
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
bis.tbl_besqual
|
||||
WHERE
|
||||
besqualcode=".$this->db_add_param($besqualcode).";";
|
||||
|
||||
if (!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Lesen vom besqualcode';
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->besqualcode = $row->besqualcode;
|
||||
$this->besqualbez = $row->besqualbez;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist kein besqualcode mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -16,8 +16,9 @@
|
||||
* 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>.
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>
|
||||
* Manuela Thamer <manuela.thamer@technikum-wien.at>
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
@@ -27,7 +28,10 @@ class entwicklungsteam extends basis_db
|
||||
public $result = array();
|
||||
|
||||
//Tabellenspalten
|
||||
public $entwicklungsteam_id;
|
||||
public $mitarbeiter_uid;
|
||||
public $nachname;
|
||||
public $vorname;
|
||||
public $studiengang_kz;
|
||||
public $besqualcode;
|
||||
public $beginn;
|
||||
@@ -43,38 +47,40 @@ class entwicklungsteam extends basis_db
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param mitarbeiter_uid ID des zu ladenden Datensatzes
|
||||
* @param entwicklungsteam_id ID des zu ladenden Datensatzes
|
||||
* studiengang_kz
|
||||
*/
|
||||
public function __construct($mitarbeiter_uid=null, $studiengang_kz=null)
|
||||
public function __construct($entwicklungsteam_id = null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if(!is_null($mitarbeiter_uid) && !is_null($studiengang_kz))
|
||||
$this->load($mitarbeiter_uid, $studiengang_kz);
|
||||
if(!is_null($entwicklungsteam_id))
|
||||
$this->load($entwicklungsteam_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Datensatz
|
||||
* @param mitarbeiter_uid ID des zu ladenden Datensatzes
|
||||
* studiengang_kz
|
||||
* @param entwicklungsteam_id ID des zu ladenden Datensatzes
|
||||
*/
|
||||
public function load($mitarbeiter_uid, $studiengang_kz)
|
||||
public function load($entwicklungsteam_id)
|
||||
{
|
||||
if(!is_numeric($studiengang_kz) || $studiengang_kz == '')
|
||||
if(!is_numeric($entwicklungsteam_id))
|
||||
{
|
||||
$this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein';
|
||||
$this->errormsg = 'entwicklungsteam_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT * FROM bis.tbl_entwicklungsteam JOIN bis.tbl_besqual USING(besqualcode)
|
||||
WHERE mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid)." AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER).";";
|
||||
WHERE entwicklungsteam_id=".$this->db_add_param($entwicklungsteam_id);
|
||||
|
||||
$qry.=";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->entwicklungsteam_id = $row->entwicklungsteam_id;
|
||||
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->besqualcode = $row->besqualcode;
|
||||
@@ -103,19 +109,19 @@ class entwicklungsteam extends basis_db
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @param bisverwendung_id ID des zu loeschenden Datensatzes
|
||||
* @param entwicklungsteam_id ID des zu loeschenden Datensatzes
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function delete($mitarbeiter_uid, $studiengang_kz)
|
||||
public function delete($entwicklungsteam_id)
|
||||
{
|
||||
if(!is_numeric($studiengang_kz) || $studiengang_kz == '')
|
||||
if(!is_numeric($entwicklungsteam_id))
|
||||
{
|
||||
$this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein';
|
||||
$this->errormsg = 'entwicklungsteam_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM bis.tbl_entwicklungsteam
|
||||
WHERE mitarbeiter_uid = ".$this->db_add_param($mitarbeiter_uid)." AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER).";";
|
||||
WHERE entwicklungsteam_id = ".$this->db_add_param($entwicklungsteam_id).";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -148,7 +154,12 @@ class entwicklungsteam extends basis_db
|
||||
}
|
||||
if($this->besqualcode=='')
|
||||
{
|
||||
$this->errormsg = 'BesondereQualifikation muss eingetragen werden';
|
||||
$this->errormsg = 'Besondere Qualifikation muss eingetragen werden';
|
||||
return false;
|
||||
}
|
||||
if($this->ende != '' && $this->beginn > $this->ende)
|
||||
{
|
||||
$this->errormsg = 'Endedatum darf nicht vor Anfangsdatum liegen';
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -160,7 +171,7 @@ class entwicklungsteam extends basis_db
|
||||
* andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function save($new=null)
|
||||
public function save($new = null)
|
||||
{
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
@@ -181,7 +192,6 @@ class entwicklungsteam extends basis_db
|
||||
$this->db_add_param($this->updatevon).', '.
|
||||
$this->db_add_param($this->insertamum).', '.
|
||||
$this->db_add_param($this->insertvon).');';
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -196,7 +206,7 @@ class entwicklungsteam extends basis_db
|
||||
" ende=".$this->db_add_param($this->ende).",".
|
||||
" updateamum=".$this->db_add_param($this->updateamum).",".
|
||||
" updatevon=".$this->db_add_param($this->updatevon).
|
||||
" WHERE mitarbeiter_uid=".$this->db_add_param($this->mitarbeiter_uid)." AND studiengang_kz=".$this->db_add_param($this->studiengang_kz_old, FHC_INTEGER).";";
|
||||
" WHERE entwicklungsteam_id=".$this->db_add_param($this->entwicklungsteam_id).";";
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
@@ -215,7 +225,7 @@ class entwicklungsteam extends basis_db
|
||||
* @param $uid UID des Mitarbeiters
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function getEntwicklungsteam($mitarbeiter_uid, $studiengang_kz=null)
|
||||
public function getEntwicklungsteam($mitarbeiter_uid, $studiengang_kz = null)
|
||||
{
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT * FROM bis.tbl_entwicklungsteam JOIN bis.tbl_besqual USING(besqualcode)
|
||||
@@ -232,6 +242,7 @@ class entwicklungsteam extends basis_db
|
||||
{
|
||||
$obj = new entwicklungsteam();
|
||||
|
||||
$obj->entwicklungsteam_id = $row->entwicklungsteam_id;
|
||||
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->besqualcode = $row->besqualcode;
|
||||
@@ -256,16 +267,15 @@ class entwicklungsteam extends basis_db
|
||||
}
|
||||
|
||||
/**
|
||||
* Preuft ob der Eintrag schon existiert
|
||||
* Prueft ob der Eintrag schon existiert
|
||||
*
|
||||
* @param $mitarbeiter_uid
|
||||
* @param $studiengang_kz
|
||||
* @param entwicklungsteam_id
|
||||
* @return true wenn vorhanden, false wenn nicht
|
||||
*/
|
||||
public function exists($mitarbeiter_uid,$studiengang_kz)
|
||||
public function exists($entwicklungsteam_id)
|
||||
{
|
||||
$qry = "SELECT count(*) as anzahl FROM bis.tbl_entwicklungsteam
|
||||
WHERE mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid)." AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER).";";
|
||||
WHERE entwicklungsteam_id=".$this->db_add_param($entwicklungsteam_id).";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -288,5 +298,112 @@ class entwicklungsteam extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert alle Entwicklungsteameinträge
|
||||
* @param int $studiengang_kz Studiengangkennzeichen.
|
||||
* @param char $sort Parameter, nach dem sortiert werden soll.
|
||||
* @return alle Entwicklungsteameinträge
|
||||
*/
|
||||
public function getAll($studiengang_kz = null, $sort = null)
|
||||
{
|
||||
$qry = "SELECT e.*, p.nachname, p.vorname FROM bis.tbl_entwicklungsteam e
|
||||
JOIN public.tbl_benutzer b ON e.mitarbeiter_uid = b.uid
|
||||
JOIN public.tbl_person p ON b.person_id = p.person_id
|
||||
";
|
||||
if ($studiengang_kz != null)
|
||||
$qry .= " WHERE e.studiengang_kz = ".$this->db_add_param($studiengang_kz);
|
||||
|
||||
if ($sort != null)
|
||||
{
|
||||
$qry .= " ORDER BY ".$sort;
|
||||
}
|
||||
|
||||
$qry .= ";";
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
while ($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new entwicklungsteam();
|
||||
|
||||
$obj->entwicklungsteam_id = $row->entwicklungsteam_id;
|
||||
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$obj->nachname = $row->nachname;
|
||||
$obj->vorname = $row->vorname;
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->besqualcode = $row->besqualcode;
|
||||
$obj->beginn = $row->beginn;
|
||||
$obj->ende = $row->ende;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Entwicklungsteameinträge.';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Laedt alle Entwicklungsteameintraege eines Mitarbeiters für eine bestimmte Bisperiode
|
||||
* @param $uid UID des Mitarbeiters
|
||||
* @param $stichtag Stichtag im Format 'Y-m-d'
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function getEntwicklungsteamBis($mitarbeiter_uid, $stichtag, $studiengang_kz = null)
|
||||
{
|
||||
$datetime = new DateTime($stichtag);
|
||||
$bismeldung_jahr = $datetime->format('Y');
|
||||
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT *
|
||||
FROM bis.tbl_entwicklungsteam
|
||||
JOIN bis.tbl_besqual USING(besqualcode)
|
||||
WHERE mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid)."
|
||||
AND (beginn is NULL OR beginn <= make_date(". $this->db_add_param($bismeldung_jahr). "::INTEGER, 12, 31))
|
||||
AND (ende is NULL OR ende >= make_date(". $this->db_add_param($bismeldung_jahr). "::INTEGER, 1, 1))";
|
||||
|
||||
if($studiengang_kz!=null)
|
||||
$qry.=" AND studiengang_kz=".$this->db_add_param($studiengang_kz);
|
||||
|
||||
$qry.=";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new entwicklungsteam();
|
||||
|
||||
$obj->entwicklungsteam_id = $row->entwicklungsteam_id;
|
||||
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->besqualcode = $row->besqualcode;
|
||||
$obj->beginn = $row->beginn;
|
||||
$obj->ende = $row->ende;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->ext_id = $row->ext_id;
|
||||
$obj->besqual = $row->besqualbez;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -184,13 +184,30 @@ class filter extends basis_db
|
||||
}
|
||||
|
||||
/**
|
||||
* Ausgabe des HTML Widgets
|
||||
* @param kurzbz des Datensatzes, der gefunden werden soll
|
||||
* Ausgabe des HTML Widgets. Parameter, die als GET übergeben werden, werden ausgelesen und vorselektiert
|
||||
* @param $kurzbz String Kurzbz des Datensatzes, der gefunden werden soll
|
||||
* @return boolean true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getHtmlWidget($kurzbz)
|
||||
{
|
||||
$html='';
|
||||
// GET-Parameter parsen und in String rausschreiben
|
||||
parse_str($this->getVars(), $getParams);
|
||||
|
||||
foreach ($getParams AS $key=>$value)
|
||||
{
|
||||
// Vordefinierte Parameter entfernen
|
||||
if ($key == 'type' ||
|
||||
$key == 'statistik_kurzbz' ||
|
||||
$key == 'report_id' ||
|
||||
$key == 'putlog' ||
|
||||
$key == 'systemfilter_id' ||
|
||||
$key == 'debug')
|
||||
{
|
||||
unset($getParams[$key]);
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($this->result as $filter)
|
||||
{
|
||||
if ($filter->kurzbz==$kurzbz)
|
||||
@@ -206,15 +223,58 @@ class filter extends basis_db
|
||||
$sql = str_replace('$user', $this->db_add_param($user), $filter->sql);
|
||||
$this->loadValues($sql, $filter->valuename, $filter->showvalue);
|
||||
foreach ($this->values as $value)
|
||||
$html.="\n\t\t\t\t".'<option value="'.$value->value.'">'.$value->text.'</option>';
|
||||
{
|
||||
// Wenn ein Attribut als GET-Parameter übergeben wurde, dann vorselektieren
|
||||
if (isset($getParams[$filter->kurzbz]))
|
||||
{
|
||||
//GET-Parameter aufsplitten
|
||||
$paramsArr = explode(',',$getParams[$filter->kurzbz]);
|
||||
//echo '<pre>', var_dump($value->value), '</pre>';
|
||||
//$value->value = preg_replace('/(.*?)\s*selected.*/im', '$1', $value->value);
|
||||
$value->value = preg_replace('/"\s*.*/im', '', $value->value);
|
||||
//echo '<pre>', var_dump($value->value), '</pre>';
|
||||
|
||||
if (in_array($value->value, $paramsArr))
|
||||
$html .= "\n\t\t\t\t".'<option value="'.$value->value.'" selected="selected">'.$value->text.'</option>';
|
||||
else
|
||||
{
|
||||
//$value->value = preg_replace('/(.*?)selected=.selected./', '$1', $value->value);
|
||||
//$value->value = preg_replace('/(.*?)\s*[selected=?selected?]/', '$1', $value->value);
|
||||
//$value->value = preg_replace('/(.*?)\s*selected="selected"\s*/', '${1}', $value->value);
|
||||
//$value->value = preg_replace('/^\s*selected=.*?selected.*?\s*/', ' ', $value->value);
|
||||
//$value->value = str_replace('selected=', '', $value->value);
|
||||
|
||||
//echo '<pre>', var_dump($value->value), '</pre>';
|
||||
$html .= "\n\t\t\t\t".'<option value="'.$value->value.'">'.$value->text.'</option>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//$value->value = str_replace('selected="selected', '', $value->value);
|
||||
$html .= "\n\t\t\t\t".'<option value="'.$value->value.'">'.$value->text.'</option>';
|
||||
}
|
||||
}
|
||||
$html.="\n\t\t\t</select>";
|
||||
break;
|
||||
case 'datepicker':
|
||||
$html .= '<input type="text" id="' . $filter->kurzbz . '" class="form-control" name="' . $filter->kurzbz . '">';
|
||||
$html .= '<input type="text" id="'.$filter->kurzbz.'" class="form-control" name="'.$filter->kurzbz.'"';
|
||||
if (isset($getParams[$filter->kurzbz]))
|
||||
{
|
||||
$html .= ' value="'.$getParams[$filter->kurzbz].'"';
|
||||
}
|
||||
$html .= ' >';
|
||||
$html .= '<script>';
|
||||
$html .= '$("#' . $filter->kurzbz . '").datepicker({ dateFormat: \'yy-mm-dd\' });';
|
||||
$html .= '</script>';
|
||||
break;
|
||||
case 'text':
|
||||
$html .= '<input type="text" id="'.$filter->kurzbz.'" class="form-control" name="'.$filter->kurzbz.'" '.$filter->htmlattr;
|
||||
if (isset($getParams[$filter->kurzbz]))
|
||||
{
|
||||
$html .= ' value="'.$getParams[$filter->kurzbz].'"';
|
||||
}
|
||||
$html .= '>';
|
||||
break;
|
||||
}
|
||||
return $html;
|
||||
}
|
||||
|
||||
@@ -1889,6 +1889,46 @@ class mitarbeiter extends benutzer
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert alle Mitarbeiter*innen
|
||||
*
|
||||
* @param $filter
|
||||
* @return boolean
|
||||
*/
|
||||
public function getAll()
|
||||
{
|
||||
$qry = '
|
||||
SELECT
|
||||
ma.mitarbeiter_uid, p.nachname, p.vorname, b.alias
|
||||
FROM
|
||||
public.tbl_mitarbeiter ma
|
||||
JOIN public.tbl_benutzer b ON (mitarbeiter_uid=uid)
|
||||
JOIN public.tbl_person p USING(person_id)
|
||||
ORDER BY p.nachname
|
||||
';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$ma_obj = new mitarbeiter();
|
||||
|
||||
$ma_obj->nachname = $row->nachname;
|
||||
$ma_obj->vorname = $row->vorname;
|
||||
$ma_obj->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$ma_obj->alias = $row->alias;
|
||||
|
||||
$this->maData[] = $ma_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generiert nächste freie Personalnummer anhand der sequence tbl_mitarbeiter_personalnummer_seq
|
||||
* @return string $personalnummer
|
||||
@@ -1947,6 +1987,5 @@ class mitarbeiter extends benutzer
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
+656
-655
File diff suppressed because it is too large
Load Diff
@@ -120,6 +120,7 @@ $menu=array
|
||||
'name'=>'Mitarbeiter','permissions'=>array('admin','mitarbeiter','support'),
|
||||
'Übersicht'=>array('name'=>'Übersicht', 'link'=>'personen/lektor_uebersicht.php', 'target'=>'main'),
|
||||
'Zeitsperren'=>array('name'=>'Zeitsperren/Urlaub', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre:begrenzt')),
|
||||
'Projektexport'=>array('name'=>'Projektexport', 'link'=>'personen/projektexport.php', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre')),
|
||||
),
|
||||
'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.php', 'target'=>'main','permissions'=>array('basis/betriebsmittel')),
|
||||
'AnwesenheitslistenBarcode'=>array('name'=>'Anwesenheitslisten mit Barcodes', 'link'=>'personen/anwesenheitslisten_barcode.php', 'target'=>'main','permissions'=>array('basis/person')),
|
||||
|
||||
@@ -201,7 +201,7 @@ export default {
|
||||
}, {
|
||||
field: 'name',
|
||||
title: this.$p.t('global', 'name'),
|
||||
mutator: (value, data) => (data.vorname + ' ' + data.nachname).replace(/^\s*(.*)\s*$/, '$1'),
|
||||
mutator: (value, data) => (data.nachname + ' ' + data.vorname).replace(/^\s*(.*)\s*$/, '$1'),
|
||||
headerFilter: 'input'
|
||||
}, {
|
||||
field: 'datum',
|
||||
|
||||
@@ -103,7 +103,11 @@ export default {
|
||||
this.showsearchresult();
|
||||
this.searchfunction(this.searchsettings)
|
||||
.then(function(response) {
|
||||
that.searchresult = response.data.data;
|
||||
if( response.data?.error === 1 ) {
|
||||
that.error = 'Bei der Suche ist ein Fehler aufgetreten.';
|
||||
} else {
|
||||
that.searchresult = response.data.data;
|
||||
}
|
||||
})
|
||||
.catch(function(error) {
|
||||
that.error = 'Bei der Suche ist ein Fehler aufgetreten.'
|
||||
|
||||
+200
-20
@@ -34,19 +34,22 @@ require_once('../include/studiensemester.class.php');
|
||||
require_once('../include/student.class.php');
|
||||
require_once('../include/firma.class.php');
|
||||
require_once('../include/note.class.php');
|
||||
require_once('../include/studienplan.class.php');
|
||||
require_once('../include/lehrveranstaltung.class.php');
|
||||
require_once('../include/lehrform.class.php');
|
||||
require_once('../include/sprache.class.php');
|
||||
|
||||
$datum = new datum();
|
||||
$db = new basis_db();
|
||||
|
||||
if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
{
|
||||
|
||||
if(isset($_GET['uid']))
|
||||
$uid = $_GET['uid'];
|
||||
else
|
||||
$uid = null;
|
||||
|
||||
$uid_arr = explode(";",$uid);
|
||||
$uid_arr = explode(";", $uid);
|
||||
|
||||
echo "<?xml version='1.0' encoding='UTF-8' standalone='yes'?> ";
|
||||
echo "<supplements>";
|
||||
@@ -60,9 +63,11 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
vw_student.matrikelnr, vw_student.prestudent_id,
|
||||
tbl_studiengang.bezeichnung, tbl_studiengang.english, tbl_studiengang.studiengang_kz,
|
||||
tbl_studiengang.typ, tbl_studiengang.mischform, tbl_studiengang.max_semester,
|
||||
tbl_studiengang.orgform_kurzbz
|
||||
tbl_studiengang.orgform_kurzbz, tbl_person.matr_nr
|
||||
FROM
|
||||
campus.vw_student JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
JOIN
|
||||
public.tbl_person USING (person_id)
|
||||
WHERE
|
||||
uid = ".$db->db_add_param($uid_arr[$i]);
|
||||
|
||||
@@ -96,7 +101,12 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
echo ' <vornamen><![CDATA['.$row->vornamen.']]></vornamen>';
|
||||
echo ' <name><![CDATA['.$row->vorname.' '.$row->nachname.']]></name>';
|
||||
echo ' <geburtsdatum><![CDATA['.$datum->convertISODate($row->gebdatum).']]></geburtsdatum>';
|
||||
|
||||
//Print in Transcript of Record
|
||||
echo ' <matrikelnummer>'.TRIM($row->matrikelnr).'</matrikelnummer>';
|
||||
|
||||
//Angaben zur Person /Information identifying the holder of the qualification
|
||||
echo ' <matr_nr><![CDATA['.$row->matr_nr.']]></matr_nr>';
|
||||
echo ' <studiengang_kz>'.$studiengang_kz.'</studiengang_kz>';
|
||||
|
||||
$prestudent = new prestudent($row->prestudent_id);
|
||||
@@ -108,6 +118,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
{
|
||||
$studiengangbezeichnung = $studienordnung->__get('studiengangbezeichnung');
|
||||
$studiengangbezeichnung_englisch = $studienordnung->__get('studiengangbezeichnung_englisch');
|
||||
$studienordnung_id =$studienordnung->__get('studienordnung_id');
|
||||
}
|
||||
}
|
||||
$studiengang_bezeichnung = empty($studiengangbezeichnung) ? $row->bezeichnung : $studiengangbezeichnung;
|
||||
@@ -115,6 +126,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
|
||||
echo ' <studiengang_bezeichnung_deutsch><![CDATA['.$studiengang_bezeichnung.']]></studiengang_bezeichnung_deutsch>';
|
||||
echo ' <studiengang_bezeichnung_englisch><![CDATA['.$studiengang_bezeichnung_englisch.']]></studiengang_bezeichnung_englisch>';
|
||||
echo '<studienordnung_id>'.$studienordnung_id.'</studienordnung_id>';
|
||||
|
||||
$prestudent = new prestudent();
|
||||
$prestudent->getFirstStatus($row->prestudent_id, 'Student');
|
||||
@@ -126,8 +138,12 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
{
|
||||
$angerechneteECTS=($semesterNumberStart-1)*30; // 30 ECTS pro Semester
|
||||
echo ' <angerechnete_ects_quereinstieg>'.$angerechneteECTS.'</angerechnete_ects_quereinstieg>';
|
||||
|
||||
$end_semester_anrechnung = $semesterNumberStart - 1;
|
||||
echo ' <start_semester_anrechnung_number>1</start_semester_anrechnung_number>';
|
||||
echo ' <end_semester_anrechnung_number>'. $end_semester_anrechnung .'</end_semester_anrechnung_number>';
|
||||
}
|
||||
echo ' <start_semester>'.substr($prestudent->studiensemester_kurzbz,2,6).'</start_semester>';
|
||||
echo ' <start_semester>'.substr($prestudent->studiensemester_kurzbz, 2, 6).'</start_semester>';
|
||||
echo ' <start_semester_number>'.$prestudent->ausbildungssemester.'</start_semester_number>';
|
||||
$prestudent->getLastStatus($row->prestudent_id, null);
|
||||
$semesterNumberEnd = $prestudent->ausbildungssemester;
|
||||
@@ -254,6 +270,25 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
break;
|
||||
}
|
||||
|
||||
//Anforderungen durch Lernergebnisse des Studiums ersetzen
|
||||
$addon_obj = new addon();
|
||||
$addonStgAktiv = $addon_obj->checkActiveAddon("studiengangsverwaltung");
|
||||
|
||||
if($addonStgAktiv)
|
||||
{
|
||||
|
||||
require_once('../addons/studiengangsverwaltung/include/qualifikationsziel.class.php');
|
||||
$qualifikationsziel = new qualifikationsziel();
|
||||
$qualifikationsziel->getAll($studienordnung_id);
|
||||
if (isset($qualifikationsziel->result[0]))
|
||||
{
|
||||
$qualifikation_beschreibung = $qualifikationsziel->result[0]->data[1]->elements[0];
|
||||
$qualifikation_beschreibung = json2odt($qualifikation_beschreibung);
|
||||
echo "<lernergebnisse><![CDATA[$qualifikation_beschreibung]]></lernergebnisse>";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if($row->typ=='d')
|
||||
{
|
||||
echo ' <niveau_code>UNESCO ISCED 7</niveau_code>';
|
||||
@@ -275,8 +310,8 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
echo ' <anforderungen_englisch><![CDATA[The program requires the positive completion of all courses (lectures, labs, seminars, project work, and integrated courses) to the extend of 30 ECTS per semester according to the curriculum. The program integrates technical, economical, management and personal study elements. The degree is awarded upon the successful completion of a Master´s Thesis and the final examination. The program (classification number '.$studiengang_kz.') is accredited by AQ Austria.]]></anforderungen_englisch>';
|
||||
echo ' <zugangsberechtigung_deutsch><![CDATA[Der Abschluss des Masterstudiengangs berechtigt zu einem facheinschlägigen Doktoratsstudium an einer Universität (mit eventuellen Zusatzprüfungen).]]></zugangsberechtigung_deutsch>';
|
||||
echo ' <zugangsberechtigung_englisch><![CDATA[The successful completion of the Master Degree Program qualifies the graduate to apply for admission to a relevant Doctoral Degree Program at a University (additional qualifying exams may be required). ]]></zugangsberechtigung_englisch>';
|
||||
echo ' <niveau_deutsch>Masterstudium (UNESCO ISCED 7)</niveau_deutsch>';
|
||||
echo ' <niveau_englisch>Master degree program (UNESCO ISCED 7)</niveau_englisch>';
|
||||
echo ' <niveau_deutsch>Masterstudium: UNESCO ISCED 7; Zuordnung nationaler Qualifikationsrahmen 7</niveau_deutsch>';
|
||||
echo ' <niveau_englisch>Master degree program: UNESCO ISCED 7; Classification national qualification framework 7</niveau_englisch>';
|
||||
}
|
||||
elseif($row->typ=='b')
|
||||
{
|
||||
@@ -287,8 +322,8 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
echo ' <anforderungen_englisch><![CDATA[The program requires the positive completion of all courses (lectures, labs, seminars, project work, and integrated courses) to the extend of 30 ECTS per semester according to the curriculum. The program integrates technical, economical, management and personal study elements. '.$anforderungen_praxiseng.' The degree is awarded upon the successful completion of 1 bachelor theses and the final examination. The program (classification number '.$studiengang_kz.') is accredited by AQ Austria.]]></anforderungen_englisch>';
|
||||
echo ' <zugangsberechtigung_deutsch><![CDATA[Der Abschluss des Bachelorstudiengangs berechtigt zu einem facheinschlägigen Magister- bzw. Master-Studium an einer fachhochschulischen Einrichtung oder Universität (mit eventuellen Zusatzprüfungen).]]></zugangsberechtigung_deutsch>';
|
||||
echo ' <zugangsberechtigung_englisch><![CDATA[The successful completion of the Bachelor Degree Program qualifies the graduate to apply for admission to a relevant Master Degree Program at a University of Applied Sciences or a University (additional qualifying exams may be required).]]></zugangsberechtigung_englisch>';
|
||||
echo ' <niveau_deutsch>Bachelorstudium (UNESCO ISCED 6)</niveau_deutsch>';
|
||||
echo ' <niveau_englisch>Bachelor degree program (UNESCO ISCED 6)</niveau_englisch>';
|
||||
echo ' <niveau_deutsch>Bachelorstudium: UNESCO ISCED 6; Zuordnung nationaler Qualifikationsrahmen 6</niveau_deutsch>';
|
||||
echo ' <niveau_englisch>Bachelor degree program: UNESCO ISCED 6; Classification national qualification framework 6</niveau_englisch>';
|
||||
}
|
||||
elseif($row->typ=='r')
|
||||
{
|
||||
@@ -329,6 +364,9 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
echo " <beurteilung_english>Not applicable within this curriculum.</beurteilung_english>";
|
||||
}
|
||||
|
||||
echo " <zugangsber_reglementierte_berufe>Zugang zu reglementierten Berufen nach Maßgabe der berufsrechtlichen Vorschriften; Diplom im Sinne des Art.11 lit.c/d/e der Richtlinie 2005/36/EG über die Anerkennung von Berufsqualifikationen</zugangsber_reglementierte_berufe>";
|
||||
echo " <zugangsber_reglementierte_berufe_englisch>Access to regulated professions according to professional regulations; diploma in the sense of Art.11 lit.(c)/(d)/(e) of directive 2005/36/EG</zugangsber_reglementierte_berufe_englisch>";
|
||||
|
||||
$qry = "SELECT * FROM lehre.tbl_akadgrad WHERE akadgrad_id=".$db->db_add_param($akadgrad_id);
|
||||
$titel_de = '';
|
||||
$titel_en = '';
|
||||
@@ -411,7 +449,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$abschlussbeurteilung='';
|
||||
// Hole Datum der Sponsion -> wenn keine vorhanden nimm aktuelles datum
|
||||
$qry = "SELECT
|
||||
sponsion, tbl_abschlussbeurteilung.bezeichnung_english, datum, pruefungstyp_kurzbz
|
||||
sponsion, tbl_abschlussbeurteilung.bezeichnung_english, datum, pruefungstyp_kurzbz, bezeichnung
|
||||
FROM
|
||||
lehre.tbl_abschlusspruefung
|
||||
JOIN lehre.tbl_abschlussbeurteilung USING(abschlussbeurteilung_kurzbz)
|
||||
@@ -431,11 +469,13 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$sponsion_datum = $datum->formatDatum($row1->sponsion, 'd.m.Y');
|
||||
$abschlusspruefungsdatum = $datum->formatDatum($row1->datum, 'd.m.Y');
|
||||
$abschlussbeurteilung = $row1->bezeichnung_english;
|
||||
$abschlussbeurteilung_deutsch = $row1->bezeichnung;
|
||||
$pruefungstyp_kurzbz = $row1->pruefungstyp_kurzbz;
|
||||
}
|
||||
}
|
||||
echo " <pruefungstyp_kurzbz>$pruefungstyp_kurzbz</pruefungstyp_kurzbz>";
|
||||
echo " <abschlussbeurteilung>$abschlussbeurteilung</abschlussbeurteilung>";
|
||||
echo " <abschlussbeurteilung_deutsch>$abschlussbeurteilung_deutsch</abschlussbeurteilung_deutsch>";
|
||||
echo " <abschlusspruefungsdatum>$abschlusspruefungsdatum</abschlusspruefungsdatum>";
|
||||
echo " <sponsion_datum>$sponsion_datum</sponsion_datum>";
|
||||
|
||||
@@ -578,6 +618,41 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$ects_total = 0;
|
||||
$ects_total_positiv = 0;
|
||||
|
||||
//Anrechnung Quereinsteiger
|
||||
echo ' <anrechnungen>';
|
||||
|
||||
//Version Studienordnung
|
||||
if($semesterNumberStart>1)
|
||||
{
|
||||
$maxSemester = $semesterNumberStart;
|
||||
$summe_ects_orgform = 0;
|
||||
$summe_sws_orgform = 0;
|
||||
for($j = 1; $j <$maxSemester; $j++)
|
||||
{
|
||||
$summe_ects_semester = 0;
|
||||
$summe_sws_semester = 0;
|
||||
echo ' <stosemester>';
|
||||
echo ' <stosemester_nr><![CDATA['.$j.']]></stosemester_nr>';
|
||||
|
||||
$lv = new lehrveranstaltung();
|
||||
$lv->loadLehrveranstaltungStudienplan($studienplan_id, $j);
|
||||
$tree = $lv->getLehrveranstaltungTree();
|
||||
|
||||
printLehrveranstaltungTree($tree);
|
||||
|
||||
//if ($lv->lehrtyp_kurzbz!='modul')
|
||||
// $summe += $lv->ects;
|
||||
|
||||
echo ' <lv_summe_ects_semester><![CDATA['.$summe_ects_semester.']]></lv_summe_ects_semester>';
|
||||
echo ' <lv_summe_sws_semester><![CDATA['.round($summe_sws_semester, 2).']]></lv_summe_sws_semester>';
|
||||
|
||||
$summe_ects_orgform += $summe_ects_semester;
|
||||
$summe_sws_orgform += $summe_sws_semester;
|
||||
echo '</stosemester>';
|
||||
}
|
||||
}
|
||||
echo ' </anrechnungen>';
|
||||
|
||||
echo "<studiensemester>";
|
||||
for($start = $semesterNumberStart; $start <= $semesterNumberEnd; $start++)
|
||||
{
|
||||
@@ -615,16 +690,16 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
// Array der Semester
|
||||
$aktuellesSemester = $semester_kurzbz;
|
||||
|
||||
$semester = mb_substr($semester_kurzbz[0],0,2);
|
||||
$year = mb_substr($semester_kurzbz[0], 2,4);
|
||||
$semester = mb_substr($semester_kurzbz[0], 0, 2);
|
||||
$year = mb_substr($semester_kurzbz[0], 2, 4);
|
||||
|
||||
if($semester == 'SS')
|
||||
$semester_kurzbz = 'Summer Semester '.$year;
|
||||
else if($semester == 'WS')
|
||||
elseif($semester == 'WS')
|
||||
{
|
||||
$helpyear = mb_substr($year, 2,2);
|
||||
$helpyear = mb_substr($year, 2, 2);
|
||||
$helpyear +=1;
|
||||
$helpyear = sprintf("%02d",$helpyear);
|
||||
$helpyear = sprintf("%02d", $helpyear);
|
||||
$semester_kurzbz = 'Winter Semester '.$year.'/'.$helpyear;
|
||||
}
|
||||
|
||||
@@ -763,11 +838,12 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
if($result_lehrform = $db->db_query($qry_lehrform))
|
||||
{
|
||||
while($row_lehrform = $db->db_fetch_object($result_lehrform))
|
||||
{ if($y != 0)
|
||||
$lehrform_kurzbz = $lehrform_kurzbz.', '.$row_lehrform->lehrform_kurzbz;
|
||||
else
|
||||
$lehrform_kurzbz = $row_lehrform->lehrform_kurzbz;
|
||||
$y++;
|
||||
{
|
||||
if($y != 0)
|
||||
$lehrform_kurzbz = $lehrform_kurzbz.', '.$row_lehrform->lehrform_kurzbz;
|
||||
else
|
||||
$lehrform_kurzbz = $row_lehrform->lehrform_kurzbz;
|
||||
$y++;
|
||||
}
|
||||
}
|
||||
$arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['lehrform_kurzbz']= $lehrform_kurzbz;
|
||||
@@ -791,7 +867,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
}
|
||||
|
||||
$datum = new datum();
|
||||
$benotungsdatum = $datum->formatDatum($benotungsdatum,'d/m/Y');
|
||||
$benotungsdatum = $datum->formatDatum($benotungsdatum, 'd/m/Y');
|
||||
$arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['benotungsdatum']= $benotungsdatum;
|
||||
|
||||
$bezeichnung_englisch = $row_stud->bezeichnung_english;
|
||||
@@ -1052,4 +1128,108 @@ function checkNote($note_alt, $note_neu)
|
||||
return false;
|
||||
}
|
||||
|
||||
//Funktionen für Andruck Studienordnung
|
||||
function cmp($a, $b)
|
||||
{
|
||||
return strcmp($a->bezeichnung, $b->bezeichnung);
|
||||
}
|
||||
|
||||
//newline \n durch string '\n' ersetzen (für Qualifikationsziele)
|
||||
function json2odt($str)
|
||||
{
|
||||
$str = str_replace(array("\r\n", "\r", "\n"), '\n', $str);
|
||||
|
||||
return $str;
|
||||
}
|
||||
|
||||
function printLehrveranstaltungTree($tree)
|
||||
{
|
||||
global $summe_ects_semester, $summe_sws_semester;
|
||||
usort($tree, "cmp");
|
||||
foreach($tree as $lv)
|
||||
{
|
||||
if ($lv->export)
|
||||
{
|
||||
$db = new basis_db();
|
||||
$lv_alvs = new lehrveranstaltung();
|
||||
if(!$alvs = $lv_alvs->getALVS($lv->lehrveranstaltung_id, $lv->semester))
|
||||
$alvs = '';
|
||||
//Semesterwochen zum berechnen der SWS ermitteln
|
||||
$qry = ' SELECT
|
||||
wochen
|
||||
FROM
|
||||
public.tbl_semesterwochen
|
||||
WHERE
|
||||
studiengang_kz='.$lv->studiengang_kz.'
|
||||
AND
|
||||
semester='.$lv->semester;
|
||||
if($wochen_stg = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($wochen_stg)==1)
|
||||
{
|
||||
$row_wochen = $db->db_fetch_object($wochen_stg);
|
||||
$wochen = $row_wochen->wochen;
|
||||
}
|
||||
else
|
||||
$wochen = '15';
|
||||
}
|
||||
if ($lv->semesterstunden!='')
|
||||
$sws = ($lv->semesterstunden / $wochen);
|
||||
else
|
||||
$sws = 0;
|
||||
|
||||
//Bezeichnung der Lehrform
|
||||
$lehrform_kurzbz = new lehrform();
|
||||
$lehrform_kurzbz->load($lv->lehrform_kurzbz);
|
||||
|
||||
//Klasse "sprache" instanzieren, um anschließend die Sprache(e.g. "German") in der richtigen Sprache zu bekommen("Deutsch")
|
||||
$sp = new sprache();
|
||||
|
||||
|
||||
echo ' <lehrveranstaltung>';
|
||||
echo ' <lv_semester><![CDATA['.$lv->semester.']]></lv_semester>';
|
||||
echo ' <lv_lehrtyp_kurzbz><![CDATA['.$lv->lehrtyp_kurzbz.']]></lv_lehrtyp_kurzbz>';
|
||||
echo ' <lv_bezeichnung><![CDATA['.$lv->bezeichnung.']]></lv_bezeichnung>';
|
||||
echo ' <lv_bezeichnung_en><![CDATA['.$lv->bezeichnung_english.']]></lv_bezeichnung_en>';
|
||||
echo ' <lv_kurzbz><![CDATA['.$lv->kurzbz.']]></lv_kurzbz>';
|
||||
echo ' <lv_lehrform_kurzbz><![CDATA['.$lv->lehrform_kurzbz.']]></lv_lehrform_kurzbz>';
|
||||
echo ' <lv_lehrform_langbz><![CDATA['.$lehrform_kurzbz->bezeichnung.']]></lv_lehrform_langbz>';
|
||||
echo ' <lv_gruppen><![CDATA[]]></lv_gruppen>';
|
||||
echo ' <lv_ects><![CDATA['.$lv->ects.']]></lv_ects>';
|
||||
echo ' <lv_semesterstunden><![CDATA['.$lv->semesterstunden.']]></lv_semesterstunden>';
|
||||
echo ' <lv_sws><![CDATA['.$lv->sws.']]></lv_sws>';
|
||||
echo ' <lv_lvs><![CDATA['.$lv->lvs.']]></lv_lvs>';
|
||||
echo ' <lv_pflicht><![CDATA['.$lv->stpllv_pflicht.']]></lv_pflicht>';
|
||||
echo ' <lv_studplan><![CDATA['.$lv->export.']]></lv_studplan>';
|
||||
echo ' <lv_gen><![CDATA['.$lv->genehmigung.']]></lv_gen>';
|
||||
echo ' <lv_anmerkung><![CDATA['.clearHtmlTags($lv->anmerkung).']]></lv_anmerkung>';
|
||||
echo ' <lv_sprache><![CDATA['.$sp->getBezeichnung($lv->sprache, constant("DEFAULT_LANGUAGE")).']]></lv_sprache>';
|
||||
|
||||
//Wenn Modul verpflichtend und alle Childs frei wählbar, soll Modul für ects gezählt werden
|
||||
$allChildsFree = true;
|
||||
foreach ($lv->childs as $child)
|
||||
{
|
||||
if($child->stpllv_pflicht)
|
||||
{
|
||||
$allChildsFree = false;
|
||||
}
|
||||
}
|
||||
|
||||
if(($lv->lehrtyp_kurzbz!='modul' && $lv->stpllv_pflicht) || ($allChildsFree && $lv->lehrtyp_kurzbz=='modul' && $lv->stpllv_pflicht))
|
||||
{
|
||||
$summe_ects_semester += $lv->ects;
|
||||
$summe_sws_semester += $sws;
|
||||
}
|
||||
|
||||
// Darunterliegende LVs/Module
|
||||
if(isset($lv->childs) && count($lv->childs)>0)
|
||||
{
|
||||
echo '<singlelehrveranstaltungen>';
|
||||
printLehrveranstaltungTree($lv->childs, count($lv->childs));
|
||||
echo '</singlelehrveranstaltungen>';
|
||||
}
|
||||
echo '</lehrveranstaltung>';
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -34,6 +34,11 @@ require_once('../include/entwicklungsteam.class.php');
|
||||
require_once('../include/datum.class.php');
|
||||
require_once('../include/studiengang.class.php');
|
||||
|
||||
if(isset($_GET['entwicklungsteam_id']))
|
||||
$entwicklungsteam_id = $_GET['entwicklungsteam_id'];
|
||||
else
|
||||
$entwicklungsteam_id = '';
|
||||
|
||||
if(isset($_GET['mitarbeiter_uid']))
|
||||
$mitarbeiter_uid = $_GET['mitarbeiter_uid'];
|
||||
else
|
||||
@@ -44,6 +49,7 @@ if(isset($_GET['studiengang_kz']))
|
||||
else
|
||||
$studiengang_kz = '';
|
||||
|
||||
|
||||
$datum = new datum();
|
||||
$stg = new studiengang();
|
||||
$stg->getAll(null, false);
|
||||
@@ -70,8 +76,10 @@ foreach ($entwicklungsteam->result as $row)
|
||||
{
|
||||
echo '
|
||||
<RDF:li>
|
||||
<RDF:Description id="'.$row->mitarbeiter_uid.'/'.$row->studiengang_kz.'" about="'.$rdf_url.'/'.$row->mitarbeiter_uid.'/'.$row->studiengang_kz.'" >
|
||||
<ENTWICKLUNGSTEAM:mitarbeiter_uid><![CDATA['.$row->mitarbeiter_uid.']]></ENTWICKLUNGSTEAM:mitarbeiter_uid>
|
||||
<RDF:Description id="'.$row->mitarbeiter_uid.'/'.$row->studiengang_kz.'/'.$row->entwicklungsteam_id.'"
|
||||
about="'.$rdf_url.'/'.$row->mitarbeiter_uid.'/'.$row->studiengang_kz.'/'.$row->entwicklungsteam_id.'" >
|
||||
<ENTWICKLUNGSTEAM:entwicklungsteam_id><![CDATA['.$row->entwicklungsteam_id.']]></ENTWICKLUNGSTEAM:entwicklungsteam_id>
|
||||
<ENTWICKLUNGSTEAM:mitarbeiter_uid><![CDATA['.$row->mitarbeiter_uid.']]></ENTWICKLUNGSTEAM:mitarbeiter_uid>
|
||||
<ENTWICKLUNGSTEAM:studiengang_kz><![CDATA['.$row->studiengang_kz.']]></ENTWICKLUNGSTEAM:studiengang_kz>
|
||||
<ENTWICKLUNGSTEAM:besqualcode><![CDATA['.$row->besqualcode.']]></ENTWICKLUNGSTEAM:besqualcode>
|
||||
<ENTWICKLUNGSTEAM:besqual><![CDATA['.$row->besqual.']]></ENTWICKLUNGSTEAM:besqual>
|
||||
@@ -86,4 +94,4 @@ foreach ($entwicklungsteam->result as $row)
|
||||
}
|
||||
?>
|
||||
</RDF:Seq>
|
||||
</RDF:RDF>
|
||||
</RDF:RDF>
|
||||
|
||||
@@ -80,6 +80,10 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
|
||||
$prestudentstatus = new prestudent();
|
||||
$prestudentstatus->getLastStatus($student->prestudent_id,'','Student');
|
||||
|
||||
$prestudent = new prestudent();
|
||||
$prestudent->getLastStatus($student->prestudent_id);
|
||||
$last_status = $prestudent->status_kurzbz;
|
||||
|
||||
if($studiensemester_aktuell!=$prestudentstatus->studiensemester_kurzbz)
|
||||
$studiensemester_aktuell = $prestudentstatus->studiensemester_kurzbz;
|
||||
|
||||
@@ -154,6 +158,7 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
|
||||
$xml .= " <studienerfolg>";
|
||||
$xml .= " <logopath>".DOC_ROOT."skin/images/</logopath>";
|
||||
$xml .= " <studiensemester>".$row->sembezeichnung."</studiensemester>";
|
||||
$xml .= " <last_prestudentstatus>".$last_status."</last_prestudentstatus>";
|
||||
$xml .= " <studiensemester_aktuell>".$studiensemester_aktuell."</studiensemester_aktuell>";
|
||||
$xml .= " <studiensemester_aktuell_beschreibung>".(($studiensemester->beschreibung != NULL) ? $studiensemester->beschreibung : $studiensemester_aktuell)."</studiensemester_aktuell_beschreibung>";
|
||||
$xml .= " <semester>".$row->semester."</semester>";
|
||||
|
||||
@@ -6826,7 +6826,7 @@ $tabellen=array(
|
||||
"bis.tbl_bisstandort" => array("standort_code","bezeichnung","aktiv","insertamum","insertvon","updateamum","updatevon"),
|
||||
"bis.tbl_bisverwendung" => array("bisverwendung_id","ba1code","ba2code","vertragsstunden","beschausmasscode","verwendung_code","mitarbeiter_uid","hauptberufcode","hauptberuflich","habilitation","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id","dv_art","inkludierte_lehre","zeitaufzeichnungspflichtig","azgrelevant", "homeoffice"),
|
||||
"bis.tbl_bundesland" => array("bundesland_code","kurzbz","bezeichnung"),
|
||||
"bis.tbl_entwicklungsteam" => array("mitarbeiter_uid","studiengang_kz","besqualcode","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id"),
|
||||
"bis.tbl_entwicklungsteam" => array("entwicklungsteam_id","mitarbeiter_uid","studiengang_kz","besqualcode","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id"),
|
||||
"bis.tbl_gemeinde" => array("gemeinde_id","plz","name","ortschaftskennziffer","ortschaftsname","bulacode","bulabez","kennziffer"),
|
||||
"bis.tbl_gsstudientyp" => array("gsstudientyp_kurzbz","bezeichnung","studientyp_code"),
|
||||
"bis.tbl_gsprogrammtyp" => array("gsprogrammtyp_kurzbz","bezeichnung","programmtyp_code"),
|
||||
|
||||
@@ -27,8 +27,7 @@ require_once('dbupdate_3.4/example.php');
|
||||
require_once('dbupdate_3.4/example2.php');
|
||||
...
|
||||
*/
|
||||
require_once('dbupdate_3.4/25003_notenimport_nachpruefung.php');
|
||||
|
||||
//require_once('dbupdate_3.4/25003_notenimport_nachpruefung.php');
|
||||
require_once('dbupdate_3.4/26173_index_webservicelog.php');
|
||||
require_once('dbupdate_3.4/24682_reihungstest_zugangscode_fuer_login.php');
|
||||
require_once('dbupdate_3.4/17512_fehlercode_constraints.php');
|
||||
@@ -49,10 +48,12 @@ require_once('dbupdate_3.4/30181_tabelle_anrechnung_neue_attribute_fuer_begruend
|
||||
require_once('dbupdate_3.4/29529_infocenter_anpassungen.php');
|
||||
require_once('dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php');
|
||||
require_once('dbupdate_3.4/33714_erhoehter_studienbeitrag_fuer_drittsaatenangehoerig.php');
|
||||
require_once('dbupdate_3.4/33003_bis_meldung_personal.php');
|
||||
require_once('dbupdate_3.4/36275_zeitaufzeichnung_karenz.php');
|
||||
require_once('dbupdate_3.4/21620_neues_feld_zum_erfassen_des_ESI.php');
|
||||
require_once('dbupdate_3.4/36530_bis_internationsalisierung_codextabelle_neuerungen.php');
|
||||
require_once('dbupdate_3.4/34543_ux_template.php');
|
||||
require_once('dbupdate_3.4/17513_Entwicklungsteam.php');
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
@@ -76,7 +77,7 @@ $tabellen=array(
|
||||
"bis.tbl_bisstandort" => array("standort_code","bezeichnung","aktiv","insertamum","insertvon","updateamum","updatevon"),
|
||||
"bis.tbl_bisverwendung" => array("bisverwendung_id","ba1code","ba2code","vertragsstunden","beschausmasscode","verwendung_code","mitarbeiter_uid","hauptberufcode","hauptberuflich","habilitation","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id","dv_art","inkludierte_lehre","zeitaufzeichnungspflichtig","azgrelevant", "homeoffice"),
|
||||
"bis.tbl_bundesland" => array("bundesland_code","kurzbz","bezeichnung"),
|
||||
"bis.tbl_entwicklungsteam" => array("mitarbeiter_uid","studiengang_kz","besqualcode","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id"),
|
||||
"bis.tbl_entwicklungsteam" => array("mitarbeiter_uid","studiengang_kz","besqualcode","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id","entwicklungsteam_id"),
|
||||
"bis.tbl_gemeinde" => array("gemeinde_id","plz","name","ortschaftskennziffer","ortschaftsname","bulacode","bulabez","kennziffer"),
|
||||
"bis.tbl_gsstudientyp" => array("gsstudientyp_kurzbz","bezeichnung","studientyp_code"),
|
||||
"bis.tbl_gsprogrammtyp" => array("gsprogrammtyp_kurzbz","bezeichnung","programmtyp_code"),
|
||||
@@ -166,12 +167,10 @@ $tabellen=array(
|
||||
"fue.tbl_ressource" => array("ressource_id","student_uid","mitarbeiter_uid","betriebsmittel_id","firma_id","bezeichnung","beschreibung","insertamum","insertvon","updateamum","updatevon"),
|
||||
"fue.tbl_scrumteam" => array("scrumteam_kurzbz","bezeichnung","punkteprosprint","tasksprosprint","gruppe_kurzbz"),
|
||||
"fue.tbl_scrumsprint" => array("scrumsprint_id","scrumteam_kurzbz","sprint_kurzbz","sprintstart","sprintende","insertamum","insertvon","updateamum","updatevon"),
|
||||
"hr.tbl_audit_log" => array("audit_log_id","mtime","action","username","table_name","diff_data","row_data"),
|
||||
"hr.tbl_sachaufwand" => array("sachaufwand_id","mitarbeiter_uid","sachaufwandtyp_kurzbz","dienstverhaeltnis_id","beginn","ende","anmerkung","insertamum","insertvon","updateamum","updatevon"),
|
||||
"hr.tbl_sachaufwandtyp" => array("sachaufwandtyp_kurzbz","bezeichnung","sort", "aktiv"),
|
||||
"hr.tbl_stundensatz" => array("stundensatz_id","uid","stundensatztyp","stundensatz","oe_kurzbz","gueltig_von","gueltig_bis","insertamum","insertvon","updateamum","updatevon"),
|
||||
"hr.tbl_stundensatztyp" => array("stundensatztyp","bezeichnung","aktiv","insertamum","insertvon","updateamum","updatevon"),
|
||||
"hr.tbl_tmp_store" => array("tmp_store_id","typ","mitarbeiter_uid","formdata","insertvon","insertamum","updatevon","updateamum"),
|
||||
"hr.tbl_dienstverhaeltnis" => array("dienstverhaeltnis_id","mitarbeiter_uid","vertragsart_kurzbz","oe_kurzbz","von","bis","insertamum","insertvon","updateamum","updatevon"),
|
||||
"hr.tbl_vertragsart" => array("vertragsart_kurzbz","bezeichnung","anmerkung","dienstverhaeltnis","vertragsart_kurzbz_parent","aktiv","sort"),
|
||||
"hr.tbl_vertragsbestandteil" => array("vertragsbestandteil_id","dienstverhaeltnis_id","vertragsbestandteiltyp_kurzbz","von", "bis","insertamum", "insertvon","updateamum","updatevon"),
|
||||
@@ -282,7 +281,7 @@ $tabellen=array(
|
||||
"public.tbl_konto" => array("buchungsnr","person_id","studiengang_kz","studiensemester_kurzbz","buchungstyp_kurzbz","buchungsnr_verweis","betrag","buchungsdatum","buchungstext","mahnspanne","updateamum","updatevon","insertamum","insertvon","ext_id","credit_points", "zahlungsreferenz", "anmerkung"),
|
||||
"public.tbl_lehrverband" => array("studiengang_kz","semester","verband","gruppe","aktiv","bezeichnung","ext_id","orgform_kurzbz","gid"),
|
||||
"public.tbl_log" => array("log_id","executetime","mitarbeiter_uid","beschreibung","sql","sqlundo"),
|
||||
"public.tbl_mitarbeiter" => array("mitarbeiter_uid","personalnummer","telefonklappe","kurzbz","lektor","fixangestellt","bismelden","stundensatz","ausbildungcode","ort_kurzbz","standort_id","anmerkung","insertamum","insertvon","updateamum","updatevon","ext_id","kleriker"),
|
||||
"public.tbl_mitarbeiter" => array("mitarbeiter_uid","personalnummer","telefonklappe","kurzbz","lektor","fixangestellt","bismelden","stundensatz","ausbildungcode","ort_kurzbz","standort_id","anmerkung","insertamum","insertvon","updateamum","updatevon","ext_id","kleriker","habilitation"),
|
||||
"public.tbl_msg_attachment" => array("attachment_id","message_id","name","filename"),
|
||||
"public.tbl_msg_message" => array("message_id","person_id","subject","body","priority","relationmessage_id","oe_kurzbz","insertamum","insertvon"),
|
||||
"public.tbl_msg_recipient" => array("message_id","person_id","token","sent","sentinfo","insertamum","insertvon","oe_kurzbz"),
|
||||
|
||||
@@ -0,0 +1,121 @@
|
||||
<?php
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
//Add column entwicklungs_id to bis.tbl_entwicklungsteam
|
||||
if(!@$db->db_query("SELECT entwicklungsteam_id FROM bis.tbl_entwicklungsteam LIMIT 1"))
|
||||
{
|
||||
$qry = 'ALTER TABLE bis.tbl_entwicklungsteam ADD COLUMN entwicklungsteam_id integer;';
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong> bis.tbl_entwicklungsteam '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>bis.tbl_entwicklungsteam: Neue Spalte entwicklungsteam_id hinzugefügt';
|
||||
}
|
||||
|
||||
//Column entwicklungsteam_id mit Werten befüllen
|
||||
if($result = @$db->db_query("SELECT entwicklungsteam_id FROM bis.tbl_entwicklungsteam where entwicklungsteam_id is not null LIMIT 1"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = 'UPDATE bis.tbl_entwicklungsteam et SET entwicklungsteam_id =
|
||||
(SELECT rownumber FROM (SELECT ROW_NUMBER() OVER (ORDER BY mitarbeiter_uid, studiengang_kz)
|
||||
AS rownumber, t.* FROM bis.tbl_entwicklungsteam t ORDER BY mitarbeiter_uid, studiengang_kz) rn
|
||||
WHERE rn.mitarbeiter_uid = et.mitarbeiter_uid
|
||||
AND rn.studiengang_kz = et.studiengang_kz);
|
||||
';
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong> bis.tbl_entwicklungsteam '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>bis.tbl_entwicklungsteam: Spalte bis.tbl_entwicklungsteam_id mit Werten aufgefüllt';
|
||||
}
|
||||
}
|
||||
|
||||
//Create Sequence bis.tbl_entwicklungsteam and grant Rights
|
||||
if ($result = @$db->db_query("SELECT * FROM pg_class WHERE relname = 'tbl_entwicklungsteam_entwicklungsteam_id_seq'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
if ($count = @$db->db_query("SELECT * FROM bis.tbl_entwicklungsteam"))
|
||||
{
|
||||
$count = $db->db_num_rows($count) + 1;
|
||||
$qry = 'CREATE SEQUENCE bis.tbl_entwicklungsteam_entwicklungsteam_id_seq START ';
|
||||
$qry .= $count;
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong> bis.tbl_entwicklungsteam '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<br>bis.tbl_entwicklungsteam: Sequence bis.tbl_entwicklungsteam_entwicklungsteam_id_seq mit Startwert ' . $count . ' erstellt';
|
||||
$qry2 = "GRANT SELECT, UPDATE ON bis.tbl_entwicklungsteam_entwicklungsteam_id_seq TO vilesci;
|
||||
GRANT SELECT, UPDATE ON bis.tbl_entwicklungsteam_entwicklungsteam_id_seq TO web;";
|
||||
if(!$db->db_query($qry2))
|
||||
{
|
||||
echo '<strong>bis.tbl_entwicklungsteam_entwicklungsteam_id_seqBerechtigungen: '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<br>bis.tbl_entwicklungsteam: Rechte auf bis.tbl_entwicklungsteam_entwicklungsteam_id_seq fuer web user und vilesci gesetzt ';
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Bis.tbl_entwicklungsteam auf NOTNULL setzen
|
||||
if ($result = @$db->db_query("SELECT is_nullable FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tbl_entwicklungsteam' AND column_name = 'entwicklungsteam_id' and is_nullable = 'NO'"))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
$qry = 'ALTER TABLE bis.tbl_entwicklungsteam ALTER COLUMN entwicklungsteam_id SET NOT NULL';
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong> bis.tbl_entwicklungsteam '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>bis.tbl_entwicklungsteam: Spalte bis.tbl_entwicklungsteam_id auf NOT NULL gesetzt';
|
||||
}
|
||||
}
|
||||
|
||||
//Bis.tbl_entwicklungsteam DEFAULT einstellen
|
||||
if ($result = @$db->db_query("SELECT column_default FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tbl_entwicklungsteam'AND column_name = 'entwicklungsteam_id' and column_default is null"))
|
||||
{
|
||||
if($db->db_num_rows($result)==1)
|
||||
{
|
||||
$qry = "ALTER TABLE bis.tbl_entwicklungsteam ALTER COLUMN entwicklungsteam_id SET DEFAULT nextval('bis.tbl_entwicklungsteam_entwicklungsteam_id_seq'::regclass);";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong> bis.tbl_entwicklungsteam '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br> bis.tbl_entwicklungsteam: Defaultwert bei Spalte bis.tbl_entwicklungsteam_id gesetzt';
|
||||
}
|
||||
}
|
||||
|
||||
//DELETE Constraint PRIMARY KEY pk_tbl_entwicklungsteam (mitarbeiter_uid, studiengang_kz) entfernen
|
||||
if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'pk_tbl_entwicklungsteam'"))
|
||||
{
|
||||
if($db->db_num_rows($result)==1)
|
||||
{
|
||||
$qry = "ALTER TABLE bis.tbl_entwicklungsteam DROP CONSTRAINT pk_tbl_entwicklungsteam;";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>bis.tbl_entwicklungsteam: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>bis.tbl_entwicklungsteam: Primary Key pk_tbl_entwicklungsteam (mitarbeiter_uid, studiengang_kz) entfernt ';
|
||||
}
|
||||
}
|
||||
|
||||
// ADD PRIMARY KEY tbl_entwicklungsteam_pk to bis.tbl_entwicklungsteam
|
||||
if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'tbl_entwicklungsteam_pk'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "ALTER TABLE bis.tbl_entwicklungsteam ADD CONSTRAINT tbl_entwicklungsteam_pk PRIMARY KEY(entwicklungsteam_id);";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>sbis.tbl_entwicklungsteam: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>bis.tbl_entwicklungsteam: Primary Key tbl_entwicklungsteam_pk (entwicklungsteam_id) hinzugefügt';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
//Add column habilitation to public.tbl_mitarbeiter
|
||||
if(!@$db->db_query("SELECT habilitation FROM public.tbl_mitarbeiter LIMIT 1"))
|
||||
{
|
||||
$qry = "ALTER TABLE public.tbl_mitarbeiter ADD COLUMN habilitation boolean NOT NULL DEFAULT false;
|
||||
COMMENT ON COLUMN public.tbl_mitarbeiter.habilitation IS 'Zeigt an, ob Mitarbeiter habilitiert ist (BIS relevant).';";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_mitarbeiter '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Spalte habilitation zu Tabelle public.tbl_mitarbeiter hinzugefügt';
|
||||
}
|
||||
@@ -19947,6 +19947,26 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'suche',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Suche',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Search',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'studierendenantrag',
|
||||
@@ -22911,6 +22931,46 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
'phrase' => 'maennlich',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Männlich',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Male',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
'phrase' => 'weiblich',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Weiblich',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Female',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
@@ -23978,6 +24038,26 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'personalverwaltung',
|
||||
'category' => 'person',
|
||||
'phrase' => 'habilitation',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Habilitation',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Habilitation',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'personalverwaltung',
|
||||
'category' => 'person',
|
||||
@@ -24298,6 +24378,26 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'personalverwaltung',
|
||||
'category' => 'zeitaufzeichnung',
|
||||
'phrase' => 'id',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
// Personalverwaltung end
|
||||
array(
|
||||
'app' => 'core',
|
||||
|
||||
@@ -36,7 +36,7 @@ $uid = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
if(!$rechte->isBerechtigt('mitarbeiter/stammdaten',null,'suid'))
|
||||
if(!$rechte->isBerechtigt('mitarbeiter/stammdaten', null, 'suid'))
|
||||
die('Sie haben keine Berechtigung für diese Seite');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
@@ -141,11 +141,11 @@ $studiensemester = new studiensemester();
|
||||
$stsem = (isset($_GET['stsem'])) ? $_GET['stsem'] : $studiensemester->getaktorNext(); // aktuelles Studiensemester
|
||||
|
||||
$datum_obj = new datum();
|
||||
if(mb_strstr($stsem,'SS'))
|
||||
if(mb_strstr($stsem, 'SS'))
|
||||
{
|
||||
$studiensemester->load($stsem);
|
||||
$jahr = $datum_obj->formatDatum($studiensemester->start, 'Y');
|
||||
$stichtag = date("Y-m-d", mktime(0, 0, 0, 12, 31, $jahr - 1)); // 31.12. des vorangehenden Kalenderjahres zur BIS Meldung TODO: oder Abfragetag mitgeben?
|
||||
$stichtag = date("Y-m-d", mktime(0, 0, 0, 12, 31, $jahr - 1)); // 31.12. des vorangehenden Kalenderjahres zur BIS Meldung TODO: oder Abfragetag mitgeben?
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -219,7 +219,7 @@ foreach ($mitarbeiter_arr as $mitarbeiter)
|
||||
* - nebenberuflich Lehrender: Hauptberufscode der letzten BIS-Verwendung
|
||||
*/
|
||||
$person_obj->hauptberufcode = ($is_hauptberuflich == true)
|
||||
? NULL
|
||||
? null
|
||||
: $bisverwendung_arr[count($bisverwendung_arr) - 1]->hauptberufcode;
|
||||
|
||||
|
||||
@@ -258,7 +258,6 @@ foreach ($mitarbeiter_arr as $mitarbeiter)
|
||||
// Loop innerhalb Verwendungen mit selben Beschaeftigungsverhaeltnissen und Verwendung_codes
|
||||
foreach ($verwendung_tmp_arr as $verwendung_tmp)
|
||||
{
|
||||
|
||||
// Jahresvollzeitaequivalenz JVZAE ermitteln
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
@@ -299,7 +298,7 @@ foreach ($mitarbeiter_arr as $mitarbeiter)
|
||||
}
|
||||
|
||||
// Neue Verwendung im finalen Verwendungcontainer speichern
|
||||
$verwendung_arr [] = $verwendung_obj;
|
||||
$verwendung_arr[] = $verwendung_obj;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -316,7 +315,8 @@ foreach ($mitarbeiter_arr as $mitarbeiter)
|
||||
// Alle Benutzerfunktionen im BIS Meldungsjahr holen
|
||||
$benutzerfunktion = new Benutzerfunktion();
|
||||
$benutzerfunktion->getBenutzerFunktionByUid(
|
||||
$person_obj->uid, null,
|
||||
$person_obj->uid,
|
||||
null,
|
||||
$beginn_imJahr->format('Y-m-d'),
|
||||
$ende_imJahr->format('Y-m-d')
|
||||
);
|
||||
@@ -334,7 +334,7 @@ foreach ($mitarbeiter_arr as $mitarbeiter)
|
||||
* Exkludiert Funktionen, die einem Lehrgang bzw. STG, die nicht BIS-gemeldet werden, zugeordnet sind.
|
||||
*/
|
||||
// -------------------------------------------------------------------------------------------------------------
|
||||
$funktion_arr = _addFunktionscontainer_Funktionscode7($person_obj->uid, $funktion_arr);
|
||||
$funktion_arr = _addFunktionscontainer_Funktionscode7($person_obj->uid, $funktion_arr, $stichtag);
|
||||
|
||||
// Container Funktion dem Container Person anhaengen
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
@@ -368,7 +368,7 @@ foreach ($mitarbeiter_arr as $mitarbeiter)
|
||||
|
||||
// Container Person dem Gesamt-Container anhaengen
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
$person_arr []= $person_obj;
|
||||
$person_arr[]= $person_obj;
|
||||
}
|
||||
|
||||
// *********************************************************************************************************************
|
||||
@@ -380,7 +380,7 @@ _outputHTML($person_arr);
|
||||
$xml = _generateXML($person_arr);
|
||||
|
||||
$xml_datei = 'bisdaten/bismeldung_mitarbeiter.xml';
|
||||
$dateiausgabe = fopen($xml_datei,'w');
|
||||
$dateiausgabe = fopen($xml_datei, 'w');
|
||||
fwrite($dateiausgabe, $xml);
|
||||
fclose($dateiausgabe);
|
||||
|
||||
@@ -449,7 +449,7 @@ function _add_relativesBA_und_anteiligeJVZAE($uid, $bisverwendung_arr)
|
||||
// Echter Dienstvertrag - d.h. Vertragsstunden sind vorhanden
|
||||
// Bsp. angestellte Lektoren, angestellte MA in Verwaltung/Management/Wartung
|
||||
// -------------------------------------------------------------------------------------------------------------
|
||||
else if ($has_vertragsstunden)
|
||||
elseif ($has_vertragsstunden)
|
||||
{
|
||||
// Vertragsstunden koennen max. VZ Aequivalenz-Basiswert haben
|
||||
if ($bisverwendung->vertragsstunden > BIS_VOLLZEIT_ARBEITSSTUNDEN)
|
||||
@@ -523,7 +523,7 @@ function _add_relativesBA_und_anteiligeJVZAE($uid, $bisverwendung_arr)
|
||||
* (durch Abzug der eben erstellten anteiligen JVZAE fuer Lehrtaetigkeiten)
|
||||
*/
|
||||
$bisverwendung->jvzae_anteilig -= $verwendung_lehre_obj->jvzae_anteilig;
|
||||
$bisverwendung_arr [] = $verwendung_lehre_obj;
|
||||
$bisverwendung_arr[] = $verwendung_lehre_obj;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -532,7 +532,7 @@ function _add_relativesBA_und_anteiligeJVZAE($uid, $bisverwendung_arr)
|
||||
// Sonstige Beschaeftigungsverhaeltnisse ohne Vertragsstunden
|
||||
// Freie Dienstvertraege auf Stundenbasis
|
||||
// -------------------------------------------------------------------------------------------------------------
|
||||
else if (!$has_vertragsstunden && $has_lehrtaetigkeit)
|
||||
elseif (!$has_vertragsstunden && $has_lehrtaetigkeit)
|
||||
{
|
||||
/**
|
||||
* Verwendungen ergänzen, wenn die BIS-Verwendung als externer Mitarbeiter in Sommer- / Wintersemester
|
||||
@@ -565,7 +565,7 @@ function _add_relativesBA_und_anteiligeJVZAE($uid, $bisverwendung_arr)
|
||||
$verwendung_lehre_obj->beschaeftigungsausmass_relativ = round($lehre_sws / BIS_VOLLZEIT_SWS_EINZELSTUNDENBASIS, 2); // VZ-Basis nach BIS-Vorgabe fuer Stundenbasis
|
||||
$verwendung_lehre_obj->gewichtung = BIS_HALBJAHRES_GEWICHTUNG_SWS;
|
||||
$verwendung_lehre_obj->jvzae_anteilig = round($verwendung_lehre_obj->beschaeftigungsausmass_relativ * $verwendung_lehre_obj->gewichtung, 2);
|
||||
$bisverwendung_arr []= $verwendung_lehre_obj;
|
||||
$bisverwendung_arr[]= $verwendung_lehre_obj;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -723,13 +723,13 @@ function _addVerwendung_fuerLehre_Stundenbasis($bisverwendung)
|
||||
* @param array $bisfunktion_arr
|
||||
* @return array
|
||||
*/
|
||||
function _getFunktionscontainer_Funktionscode123456($bisfunktion_arr)
|
||||
function _getFunktionscontainer_Funktionscode123456($bisfunktion_arr)
|
||||
{
|
||||
$funktion_arr = array();
|
||||
|
||||
foreach ($bisfunktion_arr as $bisfunktion)
|
||||
{
|
||||
$funktion_code = NULL;
|
||||
$funktion_code = null;
|
||||
$has_oe_lehrgang = false; // default
|
||||
|
||||
$studiengang = new Studiengang();
|
||||
@@ -784,15 +784,15 @@ function _getFunktionscontainer_Funktionscode123456($bisfunktion_arr)
|
||||
{
|
||||
$funktion_obj = new StdClass();
|
||||
$funktion_obj->funktionscode = $funktion_code;
|
||||
$funktion_obj->besondereQualifikationCode = NULL;
|
||||
$funktion_obj->besondereQualifikationCode = null;
|
||||
$funktion_obj->studiengang = ($funktion_code == 5)
|
||||
? array(setLeadingZero(intval($studiengang->studiengang_kz), 4)) // STG bei Funktionscode 5 melden
|
||||
: NULL;
|
||||
: null;
|
||||
|
||||
// Funktionsobjekt dem Funktionscontainer anhaengen
|
||||
$funktion_arr []= $funktion_obj;
|
||||
$funktion_arr[]= $funktion_obj;
|
||||
}
|
||||
else if ($funktion_code == 5) // Funktionscontainer vorhanden und Funktionscode 5
|
||||
elseif ($funktion_code == 5)// Funktionscontainer vorhanden und Funktionscode 5
|
||||
{
|
||||
$funktion_obj_arr = array_filter($funktion_arr, function (&$obj) {
|
||||
return $obj->funktionscode == 5;
|
||||
@@ -812,17 +812,17 @@ function _getFunktionscontainer_Funktionscode123456($bisfunktion_arr)
|
||||
* @return array
|
||||
*
|
||||
*/
|
||||
function _addFunktionscontainer_Funktionscode7($uid, $funktion_arr)
|
||||
function _addFunktionscontainer_Funktionscode7($uid, $funktion_arr, $stichtag)
|
||||
{
|
||||
$entwicklungsteam = new Entwicklungsteam();
|
||||
$entwicklungsteam->getEntwicklungsteam($uid);
|
||||
//nur aktuelle bzw EW-Teameinträge ohne Datumseinträgen werden berücksichtigt
|
||||
$entwicklungsteam->getEntwicklungsteamBis($uid, $stichtag);
|
||||
$entwicklungsteam_arr = $entwicklungsteam->result;
|
||||
|
||||
if (!empty($entwicklungsteam_arr))
|
||||
{
|
||||
// Lehrgaenge und STG, die nicht BIS gemeldet werden, extrahieren
|
||||
$entwicklungsteam_arr = array_filter($entwicklungsteam_arr, function ($obj)
|
||||
{
|
||||
$entwicklungsteam_arr = array_filter($entwicklungsteam_arr, function ($obj) {
|
||||
return
|
||||
!in_array($obj->studiengang_kz, BIS_EXCLUDE_STG) &&
|
||||
$obj->studiengang_kz > 0 &&
|
||||
@@ -834,15 +834,14 @@ function _addFunktionscontainer_Funktionscode7($uid, $funktion_arr)
|
||||
{
|
||||
// Hoechste besondere Qualifikation
|
||||
$besondere_qualifikation_code_arr = array();
|
||||
foreach($entwicklungsteam_arr as $row_entw)
|
||||
$besondere_qualifikation_code_arr[] = $row_entw->besqualcode;
|
||||
|
||||
$besondere_qualifikation_code = max($besondere_qualifikation_code_arr);
|
||||
|
||||
// Studiengaenge, wo Person Teil des Entwicklungsteams gewesen ist
|
||||
$studiengang_kz_arr = array();
|
||||
foreach($entwicklungsteam_arr as $row_entw)
|
||||
{
|
||||
$besondere_qualifikation_code_arr[] = $row_entw->besqualcode;
|
||||
$studiengang_kz_arr[] = $row_entw->studiengang_kz;
|
||||
}
|
||||
$besondere_qualifikation_code = max($besondere_qualifikation_code_arr);
|
||||
|
||||
sort($studiengang_kz_arr); // sortieren
|
||||
foreach($studiengang_kz_arr as &$studiengang_kz) // fuehrende Nullen fuer STG
|
||||
@@ -855,7 +854,7 @@ function _addFunktionscontainer_Funktionscode7($uid, $funktion_arr)
|
||||
$funktion_obj->funktionscode = 7;
|
||||
$funktion_obj->besondereQualifikationCode = $besondere_qualifikation_code;
|
||||
$funktion_obj->studiengang = $studiengang_kz_arr;
|
||||
$funktion_arr []= $funktion_obj;
|
||||
$funktion_arr[] = $funktion_obj;
|
||||
}
|
||||
|
||||
return $funktion_arr;
|
||||
@@ -873,13 +872,12 @@ function _getLehrecontainer($sws_proStg_arr)
|
||||
if (!empty($sws_proStg_arr))
|
||||
{
|
||||
// Lehrgaenge und STG, die nicht BIS gemeldet werden, extrahieren
|
||||
$sws_proStg_arr = array_filter($sws_proStg_arr, function ($obj)
|
||||
{
|
||||
return
|
||||
!in_array($obj->studiengang_kz, BIS_EXCLUDE_STG) &&
|
||||
$obj->studiengang_kz > 0 &&
|
||||
$obj->studiengang_kz < 10000;
|
||||
});
|
||||
$sws_proStg_arr = array_filter($sws_proStg_arr, function ($obj) {
|
||||
return
|
||||
!in_array($obj->studiengang_kz, BIS_EXCLUDE_STG) &&
|
||||
$obj->studiengang_kz > 0 &&
|
||||
$obj->studiengang_kz < 10000;
|
||||
});
|
||||
}
|
||||
|
||||
if (!empty($sws_proStg_arr))
|
||||
@@ -899,7 +897,7 @@ function _getLehrecontainer($sws_proStg_arr)
|
||||
$lehre_obj->WintersemesterSWS = $is_wintersemester ? $sws_proStg->sws : 0.00;
|
||||
|
||||
// Lehreobjekt dem Lehrecontainer anhaengen
|
||||
$lehre_arr []= $lehre_obj;
|
||||
$lehre_arr[]= $lehre_obj;
|
||||
}
|
||||
else // Lehrecontainer mit STG schon vorhanden
|
||||
{
|
||||
@@ -912,7 +910,7 @@ function _getLehrecontainer($sws_proStg_arr)
|
||||
{
|
||||
current($lehre_obj_arr)->SommersemesterSWS = $sws_proStg->sws;
|
||||
}
|
||||
else if ($is_wintersemester)
|
||||
elseif ($is_wintersemester)
|
||||
{
|
||||
current($lehre_obj_arr)->WintersemesterSWS = $sws_proStg->sws;
|
||||
}
|
||||
@@ -934,7 +932,7 @@ function _generateXML($person_arr)
|
||||
|
||||
if(isset($erhalter->result[0]))
|
||||
{
|
||||
$erhalter = sprintf("%03s",trim($erhalter->result[0]->erhalter_kz));
|
||||
$erhalter = sprintf("%03s", trim($erhalter->result[0]->erhalter_kz));
|
||||
}
|
||||
else
|
||||
$erhalter = '';
|
||||
@@ -966,8 +964,8 @@ function _generateXML($person_arr)
|
||||
$xml .= '<VerwendungsCode><![CDATA['. $verwendung->verwendung_code. ']]></VerwendungsCode>';
|
||||
$xml .= '<BeschaeftigungsArt1><![CDATA['. $verwendung->ba1code. ']]></BeschaeftigungsArt1>';
|
||||
$xml .= '<BeschaeftigungsArt2><![CDATA['. $verwendung->ba2code. ']]></BeschaeftigungsArt2>';
|
||||
$xml .= '<BeschaeftigungsAusmassVZAE><![CDATA['. number_format($verwendung->vzae,2,'.',''). ']]></BeschaeftigungsAusmassVZAE>';
|
||||
$xml .= '<BeschaeftigungsAusmassJVZAE><![CDATA['. number_format($verwendung->jvzae,2,'.',''). ']]></BeschaeftigungsAusmassJVZAE>';
|
||||
$xml .= '<BeschaeftigungsAusmassVZAE><![CDATA['. number_format($verwendung->vzae, 2, '.', ''). ']]></BeschaeftigungsAusmassVZAE>';
|
||||
$xml .= '<BeschaeftigungsAusmassJVZAE><![CDATA['. number_format($verwendung->jvzae, 2, '.', ''). ']]></BeschaeftigungsAusmassJVZAE>';
|
||||
$xml .= '</Verwendung>';
|
||||
}
|
||||
|
||||
@@ -979,7 +977,7 @@ function _generateXML($person_arr)
|
||||
? '<BesondereQualifikationCode><![CDATA['. $funktion->besondereQualifikationCode. ']]></BesondereQualifikationCode>'
|
||||
: '';
|
||||
|
||||
if ($funktion->funktionscode == 5 || $funktion->funktionscode == 7)
|
||||
if (($funktion->funktionscode == 5) || ($funktion->funktionscode == 7))
|
||||
{
|
||||
if (is_array($funktion->studiengang))
|
||||
{
|
||||
@@ -990,7 +988,7 @@ function _generateXML($person_arr)
|
||||
$xml .= '</Studiengang>';
|
||||
}
|
||||
}
|
||||
else if (!is_null($funktion->studiengang))
|
||||
elseif (!is_null($funktion->studiengang))
|
||||
{
|
||||
$xml .= '<Studiengang>';
|
||||
$xml .= '<StgKz><![CDATA['. $funktion->studiengang. ']]></StgKz>';
|
||||
@@ -998,6 +996,24 @@ function _generateXML($person_arr)
|
||||
}
|
||||
}
|
||||
|
||||
// if ($funktion->funktionscode == 7)
|
||||
// {
|
||||
// if (is_array($funktion->studiengang))
|
||||
// {
|
||||
// foreach ($funktion->studiengang as $studiengang)
|
||||
// {
|
||||
// $xml .= '<Studiengang>';
|
||||
// $xml .= '<StgKz><![CDATA['. $studiengang["studieng_kz"]. ']]></StgKz>';
|
||||
// $xml .= '</Studiengang>';
|
||||
// }
|
||||
// }
|
||||
// elseif (!is_null($funktion->studiengang))
|
||||
// {
|
||||
// $xml .= '<Studiengang>';
|
||||
// $xml .= '<StgKz><![CDATA['. $funktion->studiengang. ']]></StgKz>';
|
||||
// $xml .= '</Studiengang>';
|
||||
// }
|
||||
// }
|
||||
$xml .= '</Funktion>';
|
||||
}
|
||||
|
||||
@@ -1154,7 +1170,7 @@ function _outputHTML($person_arr)
|
||||
<td>'. $funktion->besondereQualifikationCode. '</td>
|
||||
<td>';
|
||||
|
||||
if ($funktion->funktionscode == 5 || $funktion->funktionscode == 7)
|
||||
if (($funktion->funktionscode == 5) || ($funktion->funktionscode == 7))
|
||||
{
|
||||
if (is_array($funktion->studiengang))
|
||||
{
|
||||
@@ -1163,11 +1179,12 @@ function _outputHTML($person_arr)
|
||||
echo $studiengang.' ';
|
||||
}
|
||||
}
|
||||
else if (!is_null($funktion->studiengang))
|
||||
elseif (!is_null($funktion->studiengang))
|
||||
{
|
||||
echo $funktion->studiengang.' ';
|
||||
}
|
||||
}
|
||||
|
||||
echo '</td>
|
||||
</tr>';
|
||||
}
|
||||
@@ -1306,7 +1323,7 @@ function outputPlausibilitaetschecks($person_arr)
|
||||
|
||||
if (count($msg) > 0)
|
||||
{
|
||||
echo "Fehler bei ".$row->vorname.' '.$row->nachname.' : '.implode($msg,', ');
|
||||
echo "Fehler bei ".$row->vorname.' '.$row->nachname.' : '.implode($msg, ', ');
|
||||
echo "\n<br/>";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ foreach ($cj->result as $cronjob)
|
||||
if($cronjob->execute())
|
||||
{
|
||||
echo "\n".date('d.m.Y H:i:s').' '.$cronjob->titel.'('.$cronjob->cronjob_id.') executed<br>'."\n";
|
||||
echo implode($cronjob->output,"\n");
|
||||
echo implode("\n",$cronjob->output);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -92,6 +92,18 @@ echo '<!DOCTYPE HTML>
|
||||
<title>Lehreinheit Vorrueckung</title>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
<script type="text/javascript" src="../../vendor/jquery/jquery1/jquery-1.12.4.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#select_studiensemester_kurzbz_from").change(function()
|
||||
{
|
||||
var index = $(this).prop("selectedIndex");
|
||||
index = index-1;
|
||||
$("#select_studiensemester_kurzbz_to :nth-child("+index+")").prop("selected", true);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body style="background-color:#eeeeee;">
|
||||
<h2>Lehreinheiten Vorrückung</h2>
|
||||
@@ -132,9 +144,9 @@ for ($i = 1;$i <= 10;$i++)
|
||||
}
|
||||
echo '</SELECT>';
|
||||
|
||||
echo ' Von: <SELECT name="stsem_von">';
|
||||
echo ' Von: <SELECT id="select_studiensemester_kurzbz_from" name="stsem_von">';
|
||||
$stsem_obj = new studiensemester();
|
||||
$stsem_obj->getAll();
|
||||
$stsem_obj->getAll('desc');
|
||||
|
||||
foreach ($stsem_obj->studiensemester as $stsem)
|
||||
{
|
||||
@@ -147,7 +159,7 @@ foreach ($stsem_obj->studiensemester as $stsem)
|
||||
}
|
||||
echo '</SELECT>';
|
||||
|
||||
echo ' Nach: <SELECT name="stsem_nach">';
|
||||
echo ' Nach: <SELECT id="select_studiensemester_kurzbz_to" name="stsem_nach">';
|
||||
|
||||
foreach ($stsem_obj->studiensemester as $stsem)
|
||||
{
|
||||
|
||||
@@ -108,7 +108,7 @@ echo '<form action="studienplan_vorrueckung.php" method="POST">';
|
||||
echo ' Quelle: <select id="select_studiensemester_kurzbz_from" name="studiensemester_kurzbz_from" />';
|
||||
|
||||
$stsem = new studiensemester();
|
||||
$stsem->getPlusMinus(null,10,'ende ASC');
|
||||
$stsem->getPlusMinus(null,10,'ende DESC');
|
||||
|
||||
foreach($stsem->studiensemester as $row)
|
||||
{
|
||||
|
||||
@@ -0,0 +1,152 @@
|
||||
<?php
|
||||
/* Copyright (C) 2024 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: Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
|
||||
*/
|
||||
/**
|
||||
*
|
||||
* Export von Projektlisten für HR
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/zeitsperre.class.php');
|
||||
require_once('../../include/person.class.php');
|
||||
require_once('../../include/benutzer.class.php');
|
||||
require_once('../../include/mitarbeiter.class.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/benutzerfunktion.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
$user = get_uid();
|
||||
$datum = new datum();
|
||||
|
||||
//Rechte Pruefen
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
//Kopfzeile
|
||||
echo '<html>
|
||||
<head>
|
||||
<title>Zeitsperren (Urlaube) der MitarbeiterInnen</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../skin/jquery-ui-1.9.2.custom.min.css" type="text/css">';
|
||||
|
||||
include('../../include/meta/jquery.php');
|
||||
include('../../include/meta/jquery-tablesorter.php');
|
||||
|
||||
echo ' <script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<script language="Javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#ma_name").autocomplete({
|
||||
source: "../../cis/private/tools/zeitaufzeichnung_autocomplete.php?autocomplete=kunde",
|
||||
minLength:2,
|
||||
response: function(event, ui)
|
||||
{
|
||||
//Value und Label fuer die Anzeige setzen
|
||||
for(i in ui.content)
|
||||
{
|
||||
ui.content[i].value=ui.content[i].uid;
|
||||
ui.content[i].label=ui.content[i].vorname+" "+ui.content[i].nachname+" ("+ui.content[i].uid+")";
|
||||
}
|
||||
},
|
||||
select: function(event, ui)
|
||||
{
|
||||
//Ausgeaehlte Ressource zuweisen und Textfeld wieder leeren
|
||||
$("#ma_name").val(ui.item.uid);
|
||||
}
|
||||
});
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[3,1]],
|
||||
widgets: [\'zebra\', \'filter\'],
|
||||
headers : { 3 : { sorter: "shortDate", dateFormat: "ddmmyyyy" },4 : { sorter: "shortDate", dateFormat: "ddmmyyyy" } }
|
||||
});
|
||||
$( ".datepicker_datum" ).datepicker({
|
||||
changeMonth: true,
|
||||
changeYear: true,
|
||||
dateFormat: "dd.mm.yy",
|
||||
});
|
||||
})
|
||||
</script>
|
||||
</head>
|
||||
<body class="Background_main">
|
||||
<h2>Projektexport</h2>
|
||||
|
||||
Wähle einen Mitarbeiter und einen Zeitraum um die Projektliste für diesen Monat zu erstellen.<br /><br />
|
||||
';
|
||||
|
||||
|
||||
$redirect = basename($_SERVER['REQUEST_URI'], '?' . $_SERVER['QUERY_STRING']);
|
||||
|
||||
echo '<form accept-charset="UTF-8" action="../../cis/private/tools/zeitaufzeichnung_projektliste.php" method="GET" taget="_blank">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
User
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" id="ma_name" name="uid">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Monat</td>
|
||||
<td>
|
||||
<select name="projexpmonat" >
|
||||
<option value="1">Jänner</option>
|
||||
<option value="2">Februar</option>
|
||||
<option value="3">März</option>
|
||||
<option value="4">April</option>
|
||||
<option value="5">Mai</option>
|
||||
<option value="6">Juni</option>
|
||||
<option value="7">Juli</option>
|
||||
<option value="8">August</option>
|
||||
<option value="9">September</option>
|
||||
<option value="10">Oktober</option>
|
||||
<option value="11">November</option>
|
||||
<option value="12">Dezember</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Jahr</td>
|
||||
<td>
|
||||
<input type="text" name="projexpjahr" value="'.date('Y').'" size="4"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><input type="submit" value="Export" name="export">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>';
|
||||
|
||||
echo '</body></html>';
|
||||
?>
|
||||
Reference in New Issue
Block a user