mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f6224ff9ca | |||
| 452cb2be66 | |||
| aff272397c | |||
| 2706a76b46 | |||
| 11281c1e5f | |||
| 8e6b9b7e5f |
@@ -0,0 +1,90 @@
|
||||
<?php
|
||||
/**
|
||||
* FH-Complete
|
||||
*
|
||||
*
|
||||
* Cronjobs to be run for inserting the date of Sponsion as Date ZGV
|
||||
*/
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class SponsionJob extends JOB_Controller
|
||||
{
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
// Load models
|
||||
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
|
||||
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
|
||||
}
|
||||
|
||||
public function insertDate()
|
||||
{
|
||||
$countBewerbungen = 0;
|
||||
|
||||
$semester = $this->StudiensemesterModel->getAkt();
|
||||
if (isSuccess($semester) && hasData($semester))
|
||||
{
|
||||
$semester = $semester->retval[0];
|
||||
$semester = $semester->studiensemester_kurzbz;
|
||||
}
|
||||
else
|
||||
{
|
||||
$semester = '';
|
||||
}
|
||||
$nextSemester = $this->StudiensemesterModel->getNext();
|
||||
if (isSuccess($nextSemester) && hasData($nextSemester))
|
||||
{
|
||||
$nextSemester = $nextSemester->retval[0];
|
||||
$nextSemester = $nextSemester->studiensemester_kurzbz;
|
||||
}
|
||||
else
|
||||
{
|
||||
$nextSemester = '';
|
||||
}
|
||||
|
||||
$this->logInfo('Start Sponsion Job');
|
||||
$this->logInfo('Check Applications of Semester ' . $semester . ' and '. $nextSemester);
|
||||
|
||||
$allInteressenten = $this->PrestudentModel->getAllInteressentenWithMasterSponsion($semester, $nextSemester);
|
||||
|
||||
if (isSuccess($allInteressenten) && hasData($allInteressenten))
|
||||
{
|
||||
$allInteressenten = $allInteressenten->retval;
|
||||
foreach($allInteressenten as $interessent)
|
||||
{
|
||||
// $this->AbschlusspruefungModel->insertDatumSponsionAsZgvmadatum($interessent->prestudent_id, $interessent->sponsion);
|
||||
|
||||
$updateArray = array(
|
||||
'zgvmadatum' => $interessent->sponsion,
|
||||
'updateamum' => date('Y-m-d H:i:s'),
|
||||
'updatevon' => 'sponsionJob'
|
||||
);
|
||||
|
||||
$prestresult = $this->PrestudentModel->update(
|
||||
$interessent->prestudent_id,
|
||||
$updateArray
|
||||
);
|
||||
|
||||
if (isSuccess($prestresult))
|
||||
{
|
||||
$this->logInfo('ZGV Master Date for prestudent ID ' . $interessent->prestudent_id . ' was updated to ' . $interessent->sponsion);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->logError('Update for prestudent ID ' . $interessent->prestudent_id . ' to ' . $interessent->sponsion . ' failed');
|
||||
}
|
||||
|
||||
$countBewerbungen++;
|
||||
}
|
||||
}
|
||||
$this->logInfo('Count Total of inserted ZGV Master Dates: '. $countBewerbungen);
|
||||
$this->logInfo('End Sponsion Job');
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -667,4 +667,37 @@ class Prestudent_model extends DB_Model
|
||||
return $this->execQuery($query, array($prestudent_id));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* get all Interessenten without ZGVmasdatum and with Sponsionsdate
|
||||
* @param $semesterkurzbz1 und $semesterkurzbz2
|
||||
* @return array all prestudents with sponsionsdate
|
||||
*/
|
||||
public function getAllInteressentenWithMasterSponsion($semesterkurzbz1, $semesterkurzbz2 = null)
|
||||
{
|
||||
return $this->execQuery(
|
||||
'SELECT ps.prestudent_id, person_id, ap.sponsion
|
||||
FROM
|
||||
public.tbl_prestudent ps
|
||||
JOIN public.tbl_prestudentstatus USING(prestudent_id)
|
||||
JOIN public.tbl_person p USING (person_id)
|
||||
JOIN public.tbl_prestudent ps2 USING (person_id)
|
||||
JOIN public.tbl_student st ON (st.prestudent_id = ps2.prestudent_id)
|
||||
JOIN lehre.tbl_abschlusspruefung ap USING (student_uid)
|
||||
JOIN public.tbl_studiengang sg ON (sg.studiengang_kz = ps2.studiengang_kz)
|
||||
WHERE
|
||||
get_rolle_prestudent(ps.prestudent_id, null) = \'Interessent\'
|
||||
AND ps.zgvmadatum is NULL
|
||||
AND ps.prestudent_id <> ps2.prestudent_id
|
||||
AND get_rolle_prestudent(ps2.prestudent_id, null) = \'Absolvent\'
|
||||
AND ap.sponsion < NOW()
|
||||
AND ap.abschlussbeurteilung_kurzbz in (\'bestanden\', \'gut\', \'ausgezeichnet\')
|
||||
AND sg.typ != \'l\'
|
||||
AND tbl_prestudentstatus.studiensemester_kurzbz in (?,?)',
|
||||
array(
|
||||
$semesterkurzbz1,
|
||||
$semesterkurzbz2
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,10 +28,10 @@ class Abschlusspruefung_model extends DB_Model
|
||||
|
||||
$this->addSelect('tbl_abschlusspruefung.abschlusspruefung_id, tbl_abschlusspruefung.datum, tbl_abschlusspruefung.pruefungstyp_kurzbz AS studiengangstyp, tbl_abschlusspruefung.abschlussbeurteilung_kurzbz, tbl_abschlusspruefung.uhrzeit AS pruefungsbeginn, tbl_abschlusspruefung.endezeit AS pruefungsende,
|
||||
tbl_abschlusspruefung.freigabedatum, tbl_abschlusspruefung_antritt.bezeichnung AS pruefungsantritt_bezeichnung, tbl_abschlusspruefung_antritt.bezeichnung_english AS pruefungsantritt_bezeichnung_english, tbl_abschlusspruefung.protokoll,
|
||||
studentpers.vorname AS vorname_student, studentpers.nachname AS nachname_student, studentpers.titelpre AS titelpre_student, studentpers.titelpost AS titelpost_student, studentben.uid AS uid_student, matrikelnr,
|
||||
studentpers.vorname AS vorname_student, studentpers.nachname AS nachname_student, studentpers.titelpre AS titelpre_student, studentpers.titelpost AS titelpost_student, studentben.uid AS uid_student, matrikelnr,
|
||||
vorsitzenderben.uid AS uid_vorsitz, vorsitzenderpers.vorname AS vorname_vorsitz, vorsitzenderpers.nachname AS nachname_vorsitz, vorsitzenderpers.titelpre AS titelpre_vorsitz, vorsitzenderpers.titelpost AS titelpost_vorsitz,
|
||||
erstprueferpers.vorname AS vorname_erstpruefer, erstprueferpers.nachname AS nachname_erstpruefer, erstprueferpers.titelpre AS titelpre_erstpruefer, erstprueferpers.titelpost AS titelpost_erstpruefer,
|
||||
zweitprueferpers.vorname AS vorname_zweitpruefer, zweitprueferpers.nachname AS nachname_zweitpruefer, zweitprueferpers.titelpre AS titelpre_zweitpruefer, zweitprueferpers.titelpost AS titelpost_zweitpruefer
|
||||
erstprueferpers.vorname AS vorname_erstpruefer, erstprueferpers.nachname AS nachname_erstpruefer, erstprueferpers.titelpre AS titelpre_erstpruefer, erstprueferpers.titelpost AS titelpost_erstpruefer,
|
||||
zweitprueferpers.vorname AS vorname_zweitpruefer, zweitprueferpers.nachname AS nachname_zweitpruefer, zweitprueferpers.titelpre AS titelpre_zweitpruefer, zweitprueferpers.titelpost AS titelpost_zweitpruefer
|
||||
');
|
||||
$this->addJoin('lehre.tbl_abschlusspruefung_antritt', 'pruefungsantritt_kurzbz', 'LEFT');
|
||||
$this->addJoin('public.tbl_benutzer studentben', 'tbl_abschlusspruefung.student_uid = studentben.uid');
|
||||
@@ -41,9 +41,9 @@ class Abschlusspruefung_model extends DB_Model
|
||||
$this->addJoin('public.tbl_person vorsitzenderpers', 'vorsitzenderben.person_id = vorsitzenderpers.person_id', 'LEFT');
|
||||
$this->addJoin('public.tbl_person erstprueferpers', 'pruefer1 = erstprueferpers.person_id', 'LEFT');
|
||||
$this->addJoin('public.tbl_person zweitprueferpers', 'pruefer2 = zweitprueferpers.person_id', 'LEFT');
|
||||
|
||||
|
||||
$abschlusspruefung = $this->load($abschlusspruefung_id);
|
||||
|
||||
|
||||
if (isError($abschlusspruefung))
|
||||
return $abschlusspruefung;
|
||||
elseif (hasData($abschlusspruefung))
|
||||
@@ -54,14 +54,14 @@ class Abschlusspruefung_model extends DB_Model
|
||||
$student_uid = $abschlusspruefungdata->uid_student;
|
||||
$this->StudentModel->addSelect('prestudent_id');
|
||||
$prestudent_id = $this->StudentModel->load(array('student_uid' => $student_uid));
|
||||
|
||||
|
||||
if (isError($prestudent_id))
|
||||
return $prestudent_id;
|
||||
elseif (hasData($prestudent_id))
|
||||
{
|
||||
//get Studiengangname from Studienplan and -ordnung
|
||||
$studienordnung = $this->PrestudentstatusModel->getStudienordnungFromPrestudent(getData($prestudent_id)[0]->prestudent_id);
|
||||
|
||||
|
||||
if (isError($studienordnung))
|
||||
return $studienordnung;
|
||||
elseif (hasData($studienordnung))
|
||||
@@ -76,14 +76,14 @@ class Abschlusspruefung_model extends DB_Model
|
||||
elseif (!hasData($studienordnung))
|
||||
{
|
||||
$this->resetQuery();
|
||||
|
||||
|
||||
$this->load->model('crm/Student_model', 'StudentModel');
|
||||
$this->addSelect('studiengang_kz, bezeichnung, english');
|
||||
$this->addJoin('public.tbl_studiengang', 'studiengang_kz');
|
||||
$result = $this->StudentModel->load(array(
|
||||
'student_uid' => $student_uid)
|
||||
);
|
||||
|
||||
|
||||
if ($result = getData($result)[0])
|
||||
{
|
||||
$abschlusspruefungdata->studiengang_kz = $result->studiengang_kz;
|
||||
@@ -91,7 +91,7 @@ class Abschlusspruefung_model extends DB_Model
|
||||
$abschlusspruefungdata->studiengangbezeichnung_englisch = $result->english;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// get Abschlussarbeit
|
||||
if (isset($abschlusspruefungdata->studiengang_kz) && !empty($abschlusspruefungdata->studiengang_kz))
|
||||
{
|
||||
@@ -110,7 +110,7 @@ class Abschlusspruefung_model extends DB_Model
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return success($abschlusspruefungdata);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user