mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-20 13:39:27 +00:00
Personenkennzeichen: if date after Meldestichtag, next Studienjahr is used for generation (for Summersemester)
This commit is contained in:
@@ -222,18 +222,18 @@ class PrestudentLib
|
||||
$statusgrund_id = null
|
||||
) {
|
||||
$ausbildungssemester_plus = 0;
|
||||
|
||||
|
||||
if (!$insertvon)
|
||||
$insertvon = getAuthUID();
|
||||
|
||||
|
||||
$result = $this->_ci->PrestudentstatusModel->getLastStatus($prestudent_id, $studiensemester_kurzbz);
|
||||
|
||||
|
||||
if (isError($result))
|
||||
return $result;
|
||||
|
||||
|
||||
$result = getData($result);
|
||||
|
||||
|
||||
if (!$result) { // NOTE(chris): no status in target stdsem
|
||||
//NOTE(manu): only valid if nextSemester focus max
|
||||
|
||||
@@ -304,7 +304,7 @@ class PrestudentLib
|
||||
return $result;
|
||||
|
||||
$result = getData($result);
|
||||
|
||||
|
||||
if (!$result)
|
||||
return error($this->_ci->p->t('studierendenantrag', 'error_no_student_for_prestudent', ['prestudent_id' => $prestudent_id]));
|
||||
|
||||
@@ -612,16 +612,17 @@ class PrestudentLib
|
||||
|
||||
|
||||
// Genererate Personenkennzeichen
|
||||
$personenkennzeichen = $this->_ci->StudentModel->generateMatrikelnummer2(
|
||||
$personenkennzeichen = $this->_ci->StudentModel->generatePersonenkennzeichen(
|
||||
$student_data->studiengang_kz,
|
||||
$studiensemester_kurzbz,
|
||||
$today,
|
||||
$student_data->typ
|
||||
);
|
||||
if (isError($personenkennzeichen))
|
||||
return $personenkennzeichen;
|
||||
$personenkennzeichen = getData($personenkennzeichen);
|
||||
|
||||
|
||||
|
||||
|
||||
// Generate UID
|
||||
$uid = $this->_ci->StudentModel->generateUID(
|
||||
$student_data->kurzbz,
|
||||
@@ -695,7 +696,7 @@ class PrestudentLib
|
||||
|
||||
if (isError($result))
|
||||
return $result;
|
||||
|
||||
|
||||
|
||||
// Add Student
|
||||
$result = $this->_ci->StudentModel->insert([
|
||||
@@ -712,14 +713,14 @@ class PrestudentLib
|
||||
|
||||
if (isError($result))
|
||||
return $result;
|
||||
|
||||
|
||||
|
||||
// Add Lehrverband if it does not exist
|
||||
$result = $this->_ci->LehrverbandModel->load([' ', ' ', $ausbildungssemester, $student_data->studiengang_kz]);
|
||||
|
||||
|
||||
if (isError($result))
|
||||
return $result;
|
||||
|
||||
|
||||
if (!hasData($result)) {
|
||||
$result = $this->_ci->LehrverbandModel->insert([
|
||||
'studiengang_kz' => $student_data->studiengang_kz,
|
||||
@@ -804,7 +805,7 @@ class PrestudentLib
|
||||
if (isError($result))
|
||||
return $result;
|
||||
|
||||
|
||||
|
||||
// Load Student
|
||||
$result = $this->_ci->StudentModel->loadWhere(['prestudent_id' => $prestudent_id]);
|
||||
|
||||
|
||||
@@ -15,6 +15,8 @@ class Student_model extends DB_Model
|
||||
$this->dbTable = 'public.tbl_student';
|
||||
$this->pk = array('student_uid');
|
||||
$this->hasSequence = false;
|
||||
|
||||
$this->load->model('codex/Bismeldestichtag_model', 'BismeldestichtagModel');
|
||||
}
|
||||
|
||||
// ****
|
||||
@@ -62,15 +64,15 @@ class Student_model extends DB_Model
|
||||
* logic FH Burgenland
|
||||
*
|
||||
* TODO(chris): replace function above with this?
|
||||
* TODO(chris): rename to generatePersonenkennzeichen?
|
||||
*
|
||||
* @param integer $studiengang_kz
|
||||
* @param string $studiensemester_kurzbz
|
||||
* @param string $beginndatum
|
||||
* @param string $typ
|
||||
*
|
||||
* @return stdClass
|
||||
*/
|
||||
public function generateMatrikelnummer2($studiengang_kz, $studiensemester_kurzbz, $typ = null)
|
||||
public function generatePersonenkennzeichen($studiengang_kz, $studiensemester_kurzbz, $beginndatum, $typ = null)
|
||||
{
|
||||
$personenkennzeichen = false;
|
||||
|
||||
@@ -128,7 +130,22 @@ class Student_model extends DB_Model
|
||||
break;
|
||||
}
|
||||
}
|
||||
if($art=='2' || $art=='4')
|
||||
|
||||
// get Bismeldestichtag for the semester
|
||||
$meldestichtagRes = $this->BismeldestichtagModel->getByStudiensemester($studiensemester_kurzbz);
|
||||
|
||||
if (isError($meldestichtagRes))
|
||||
return $meldestichtagRes;
|
||||
|
||||
// if start of study is after Bismeldestichtag, Studienjahr of next semester is used, so 1 doesn't need to be subtracted for SS
|
||||
$afterMeldeStichtag = false;
|
||||
if (hasData($meldestichtagRes))
|
||||
{
|
||||
$meldestichtag = getData($meldestichtagRes)[0]->meldestichtag;
|
||||
$afterMeldeStichtag = isset($beginndatum) && new DateTime($beginndatum) > new DateTime($meldestichtag);
|
||||
}
|
||||
|
||||
if (($art=='2' || $art=='4') && !$afterMeldeStichtag)
|
||||
$jahr = $jahr-1;
|
||||
|
||||
//FH-Burgenland - weil leider die AO Studiengänge aufgeteilt sind
|
||||
|
||||
Reference in New Issue
Block a user