mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-7529/Bundesadler_auf_Urkunden_im_Selfservice
This commit is contained in:
@@ -35,6 +35,12 @@ function getUserLanguage($language = null)
|
||||
{
|
||||
$language = $_SESSION[LANG_SESSION_CURRENT_LANGUAGE]; // then use it
|
||||
}
|
||||
// Else if the language is present in the cookie and it is valid
|
||||
elseif (isset($_COOKIE[LANG_SESSION_CURRENT_LANGUAGE]) && !isEmptyString($_COOKIE[LANG_SESSION_CURRENT_LANGUAGE]))
|
||||
{
|
||||
$language = $_COOKIE[LANG_SESSION_CURRENT_LANGUAGE];
|
||||
}
|
||||
|
||||
// Otherwise checks if the user is authenticated to retrieve the users's language
|
||||
// NOTE: this helper could be called when the user is NOT logged in the system
|
||||
// therefore is checked if the user is logged
|
||||
|
||||
@@ -259,7 +259,9 @@ class Prestudent_model extends DB_Model
|
||||
//get Bewerbungsfrist
|
||||
$this->load->model('crm/bewerbungstermine_model', 'BewerbungstermineModel');
|
||||
$this->BewerbungstermineModel->addSelect('ende, nachfrist_ende');
|
||||
$this->BewerbungstermineModel->addOrder('ende', 'DESC');
|
||||
$this->BewerbungstermineModel->addOrder('updateamum', 'DESC');
|
||||
$this->BewerbungstermineModel->addOrder('insertamum', 'DESC');
|
||||
$this->BewerbungstermineModel->addOrder('ende');
|
||||
$this->BewerbungstermineModel->addLimit(1);
|
||||
|
||||
$fristparams = array(
|
||||
|
||||
@@ -103,7 +103,7 @@ if ($semester != '')
|
||||
$zeile=1;
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
while ($row = $db->db_fetch_array($result))
|
||||
while ($row = $db->db_fetch_array($result, null, PGSQL_BOTH))
|
||||
{
|
||||
$zeile++;
|
||||
$i = 0;
|
||||
@@ -150,7 +150,7 @@ if ($result = $db->db_query($qry))
|
||||
}
|
||||
|
||||
$zeile++;
|
||||
while ($row_betreuer = $db->db_fetch_array($result_betreuer))
|
||||
while ($row_betreuer = $db->db_fetch_array($result_betreuer, null, PGSQL_BOTH))
|
||||
{
|
||||
$i = 1;
|
||||
|
||||
|
||||
@@ -172,12 +172,12 @@ class basis_db extends db
|
||||
return pg_result_seek($result, $offset);
|
||||
}
|
||||
|
||||
public function db_fetch_array($result=null)
|
||||
public function db_fetch_array($result=null, $row=null, $result_type=PGSQL_NUM)
|
||||
{
|
||||
if(is_null($result))
|
||||
return pg_fetch_array($this->db_result);
|
||||
return pg_fetch_array($this->db_result, $row, $result_type);
|
||||
else
|
||||
return pg_fetch_array($result);
|
||||
return pg_fetch_array($result, $row, $result_type);
|
||||
}
|
||||
|
||||
public function db_num_fields($result=null)
|
||||
|
||||
@@ -206,8 +206,7 @@ foreach ($mitarbeiter_arr as $mitarbeiter)
|
||||
$is_hauptberuflich = $bisverwendung_arr[count($bisverwendung_arr) - 1]->hauptberuflich;
|
||||
|
||||
// wenn Hauptberuf / Nebenberuf im gleichen Jahr - laengere Dauer melden (Ueberwiegenheitprinzip)
|
||||
if (in_array(true, array_column($bisverwendung_arr, 'hauptberuflich')) && // hauptberuflich UND
|
||||
in_array(false, array_column($bisverwendung_arr, 'hauptberuflich'))) // nebenberuflich
|
||||
if (has_hauptberufchange($bisverwendung_arr)) // nebenberuflich
|
||||
{
|
||||
$is_hauptberuflich = _getUeberwiegendeTaetigkeit_HauptNebenberuf($bisverwendung_arr);
|
||||
}
|
||||
@@ -235,12 +234,9 @@ foreach ($mitarbeiter_arr as $mitarbeiter)
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
foreach ($bisverwendung_arr as $bisverwendung)
|
||||
{
|
||||
if (empty($verwendung_arr) || // wenn erster Durchlauf ODER
|
||||
(!(in_array($bisverwendung->ba1code, array_column($verwendung_arr, 'ba1code')) && // im verwendung_arr Beschaeftigungsart1 UND
|
||||
in_array($bisverwendung->ba2code, array_column($verwendung_arr, 'ba2code')) && // Beschaeftigungsart2 UND
|
||||
in_array($bisverwendung->verwendung_code, array_column($verwendung_arr, 'verwendung_code'))))) // Verwendung_code noch NICHT vorhanden
|
||||
// Pruefen ob bereits eine Verwendung mit selben Ba1code, Ba2code und Verwendung vorhanden ist
|
||||
if (empty($verwendung_arr) || !verwendung_exists($bisverwendung, $verwendung_arr))
|
||||
{
|
||||
|
||||
// Temporaeren array mit Verwendungen mit gleichem Beschaeftigungsverhaeltnis und gleichem Verwendungscode erstellen
|
||||
$verwendung_tmp_arr = array_filter($bisverwendung_arr, function ($obj) use ($bisverwendung) {
|
||||
return
|
||||
@@ -403,16 +399,22 @@ function _add_relativesBA_und_anteiligeJVZAE($uid, $bisverwendung_arr)
|
||||
global $ss_kurzbz;
|
||||
global $ws_kurzbz;
|
||||
|
||||
$has_lehrtaetigkeit = false;
|
||||
|
||||
// Lehrtaetigkeit ermitteln
|
||||
$lema = new lehreinheitmitarbeiter();
|
||||
$lema->getLehreinheiten_SWS_BISMeldung($uid, $ss_kurzbz);
|
||||
$lehre_ss_sws = $lema->result[0]; // Anzahl SS - Semesterwochenstunden
|
||||
|
||||
if (!is_null($lehre_ss_sws) && $lehre_ss_sws > 0)
|
||||
$has_lehrtaetigkeit = true;
|
||||
|
||||
$lema = new lehreinheitmitarbeiter();
|
||||
$lema->getLehreinheiten_SWS_BISMeldung($uid, $ws_kurzbz);
|
||||
$lehre_ws_sws = $lema->result[0]; // Anzahl WS - Semesterwochenstunden
|
||||
|
||||
$has_lehrtaetigkeit = !is_null($lehre_ss_sws) || !is_null($lehre_ws_sws);
|
||||
if (!is_null($lehre_ws_sws) && $lehre_ws_sws > 0)
|
||||
$has_lehrtaetigkeit = true;
|
||||
|
||||
foreach ($bisverwendung_arr as $index => $bisverwendung)
|
||||
{
|
||||
@@ -772,7 +774,7 @@ function _getFunktionscontainer_Funktionscode123456($bisfunktion_arr)
|
||||
// Funktionsobjekt generieren
|
||||
if (!is_null($funktion_code) && // Funktionscode vorhanden UND
|
||||
(empty($funktion_arr) || // (Erster Durchlauf ODER
|
||||
!in_array($funktion_code, array_column($funktion_arr, 'funktionscode')))) // Funktionsobjekt mit diesem Funktionscode nicht vorhanden)
|
||||
!funktionscode_exists($funktion_code, $funktion_arr))) // Funktionsobjekt mit diesem Funktionscode nicht vorhanden)
|
||||
{
|
||||
$funktion_obj = new StdClass();
|
||||
$funktion_obj->funktionscode = $funktion_code;
|
||||
@@ -825,11 +827,17 @@ function _addFunktionscontainer_Funktionscode7($uid, $funktion_arr)
|
||||
if (!empty($entwicklungsteam_arr))
|
||||
{
|
||||
// Hoechste besondere Qualifikation
|
||||
$besondere_qualifikation_code_arr = array_values(array_column($entwicklungsteam_arr, 'besqualcode'));
|
||||
$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_values(array_column($entwicklungsteam_arr, 'studiengang_kz'));
|
||||
$studiengang_kz_arr = array();
|
||||
foreach($entwicklungsteam_arr as $row_entw)
|
||||
$studiengang_kz_arr[] = $row_entw->studiengang_kz;
|
||||
|
||||
sort($studiengang_kz_arr); // sortieren
|
||||
foreach($studiengang_kz_arr as &$studiengang_kz) // fuehrende Nullen fuer STG
|
||||
{
|
||||
@@ -876,8 +884,7 @@ function _getLehrecontainer($sws_proStg_arr)
|
||||
$is_wintersemester = substr($sws_proStg->studiensemester_kurzbz, 0, 2) == 'WS';
|
||||
|
||||
// Lehreobjekt generieren
|
||||
if (empty($lehre_arr) || // Erster Durchlauf ODER
|
||||
!in_array($sws_proStg->studiengang_kz, array_column($lehre_arr, 'StgKz'))) // Neu
|
||||
if (empty($lehre_arr) || !lehre_stg_exists($sws_proStg->studiengang_kz, $lehre_arr))
|
||||
{
|
||||
$lehre_obj = new StdClass();
|
||||
|
||||
@@ -1292,3 +1299,76 @@ function outputPlausibilitaetschecks($person_arr)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob in Verwendung_arr bereits eine Kombination mit selben ba1code, ba2code und verwendungcode
|
||||
* vorhanden ist
|
||||
* @param $bisverwendung Verwendungsobjekt
|
||||
* @param $verwendung_arr Array mit verwendungsobjekten
|
||||
*/
|
||||
function verwendung_exists($bisverwendung, $verwendung_arr)
|
||||
{
|
||||
foreach ($verwendung_arr as $row_verwendung)
|
||||
{
|
||||
if ($row_verwendung->ba1code == $bisverwendung->ba1code
|
||||
&& $row_verwendung->ba2code == $bisverwendung->ba2code
|
||||
&& $row_verwendung->verwendung_code == $bisverwendung->verwendung_code)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob ein Studiengang bereits im Lehre Container vorhanden ist
|
||||
* @param $studiengang_kz Studiengangskennzahl
|
||||
* @param $lehre_arr Array mit Lehre Objekten
|
||||
* @return true wenn der Studiengang bereits existiert
|
||||
*/
|
||||
function lehre_stg_exists($studiengang_kz, $lehre_arr)
|
||||
{
|
||||
foreach($lehre_arr as $row)
|
||||
{
|
||||
if($row->StgKz == $studiengang_kz)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob sich das Hauptberuflich innerhalb der Verwendungen aendert
|
||||
* @param $bisverwendung_arr Array mit Verwendungen
|
||||
* @return boolean true wenn sich hauptberuflich unterscheidet.
|
||||
*/
|
||||
function has_hauptberufchange($bisverwendung_arr)
|
||||
{
|
||||
$hauptberuflich_arr = array();
|
||||
|
||||
foreach($bisverwendung_arr as $row)
|
||||
{
|
||||
$hauptberuflich_arr[] = $row->hauptberuflich;
|
||||
}
|
||||
|
||||
if(count(array_unique($hauptberuflich_arr))>1)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob der Funktionscode in den Funktionen bereits vorkommt
|
||||
* @param $funktion_code Funktionscode
|
||||
* @param $funktion_arr Array mit Funktionsobjekten
|
||||
* @return true wenn funktionscode vorkommt.
|
||||
*/
|
||||
function funktionscode_exists($funktion_code, $funktion_arr)
|
||||
{
|
||||
foreach($funktion_arr as $row)
|
||||
{
|
||||
if($row->funktionscode == $funktion_code)
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1504,6 +1504,15 @@ if (isset($_REQUEST['reihungstest']) || isset($_POST['rtauswsubmit']))
|
||||
$gebiete_arr = array();
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
// Hack für BEW-BB, wenn auch BEW-DL-Ergebnisse vorliegen
|
||||
if ($row->stg_kurzbz == 'BEW' && $row->orgform_kurzbz == 'BB')
|
||||
{
|
||||
if ($row->gebiet_id == 2 || $row->gebiet_id == 44 || $row->gebiet_id == 95 || $row->gebiet_id == 10)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (!isset($ergebnis[$row->prestudent_id]))
|
||||
{
|
||||
$ergebnis[$row->prestudent_id] = new stdClass();
|
||||
@@ -1578,6 +1587,11 @@ if (isset($_REQUEST['reihungstest']) || isset($_POST['rtauswsubmit']))
|
||||
{
|
||||
$gebiete_arr[$row->prestudent_id][] = $row->gebiet_id;
|
||||
|
||||
// Gewichtung bei BEW BB bei Schlussfolgerungen manuell korrigieren, da es zur falschen Berechnung kommt, wenn es auch BEW-DL Ergebnisse gibt
|
||||
if ($row->stg_kurzbz == 'BEW' && $row->orgform_kurzbz == 'BB' && $row->gebiet_id == 4)
|
||||
{
|
||||
$row->gewicht = 2;
|
||||
}
|
||||
// Gesamtpunkte
|
||||
if (isset($ergebnis[$row->prestudent_id]->gesamt))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user