prepare new Cronjob SponsionJob

This commit is contained in:
ma0068
2022-09-09 10:12:09 +02:00
parent 1867807cdd
commit 8e6b9b7e5f
2 changed files with 74 additions and 11 deletions
@@ -0,0 +1,48 @@
<?php
/**
* FH-Complete
*
*
* Cronjobs to be run for inserting the date of Sponsion as Date ZGV for further applications.
*/
// ------------------------------------------------------------------------
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('education/Abschlusspruefung_model', 'AbschlusspruefungModel');
// Load libraries
$this->load->library('PermissionLib');
// Load helpers
$this->load->helper('hlp_sancho_helper');
}
public function insertDate()
{
}
//******************************************************************************************************************
// PRIVATE FUNCTIONS
//******************************************************************************************************************
private function getAbsolventsWithSponsion()
{
$mResult = $this->AbschlusspruefungModel->getAbsolventsWithSponsionDate();
$absolventList = getData($mResult);
// $vorgesetzte = array();
// $toSend = array();
}
}
@@ -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,22 @@ class Abschlusspruefung_model extends DB_Model
}
}
}
return success($abschlusspruefungdata);
}
public function getAbsolventsWithSponsionDate()
{
$qry = "SELECT ps.prestudent_id
FROM lehre.tbl_abschlusspruefung ap
JOIN public.tbl_student st USING (student_uid)
JOIN public.tbl_prestudent ps USING (prestudent_id)
JOIN public.tbl_prestudentstatus pstatus USING (prestudent_id)
WHERE ap.sponsion < now()
AND ap.sponsion >= '2022-07-01' --just for testing
AND ps.zgvmadatum is NULL
AND pstatus.status_kurzbz in ('Absolvent')
ORDER BY ap.Sponsion DESC";
return $this->execQuery($qry);
}
}