Adaptierungen SponsionJob

This commit is contained in:
ma0068
2022-10-07 08:34:11 +02:00
parent 2706a76b46
commit aff272397c
3 changed files with 70 additions and 54 deletions
+65 -29
View File
@@ -11,44 +11,80 @@ if (!defined('BASEPATH')) exit('No direct script access allowed');
class SponsionJob extends JOB_Controller
{
/**
* Constructor
*/
public function __construct()
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct();
// Load models
$this->load->model('education/Abschlusspruefung_model', 'AbschlusspruefungModel');
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
}
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
}
public function insertDate()
{
$countBewerbungen = 0;
public function insertDate()
{
$countBewerbungen = 0;
//Bewerbungen vom aktuellen Semester + nächstes Semester berücksichtigen
$date_actual = new DateTime('first day of this month midnight'); // date obj of actual date
$month = $date_actual->format('m'); // string month of actual timesheet
$year = $date_actual->format('Y'); // string year of actual timesheet
$nextYear = $year+1;
print_r("-----------------------------------------------------------------\n");
$semester1 = "WS" . $year;
$semester2 = ($month>= 6) ? "SS" . $nextYear : "SS" . $year;
$allInteressenten = $this->PrestudentModel->getAllInteressentenWithMasterSponsion($semester1, $semester2)->retval;
foreach($allInteressenten as $interessent)
$semester = $this->StudiensemesterModel->getAkt();
if (isSuccess($semester) && hasData($semester))
{
$this->AbschlusspruefungModel->insertDatumSponsionAsZgvmadatum($interessent->prestudent_id, $interessent->sponsion);
$countBewerbungen++;
$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 = '';
}
print_r("Anzahl Inserts Bewerbungen: " . $countBewerbungen);
print_r("\n-----------------------------------------------------------------\n");
$this->logInfo('Start Sponsion Job');
$this->logInfo('Check Applications of Semester ' . $semester . 'and '. $nextSemester);
return true;
}
$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;
}
}
+5 -7
View File
@@ -669,11 +669,11 @@ class Prestudent_model extends DB_Model
/**
* get all Interessenten without ZGVmasdatum and with Sponsionsdate
* @param $semesterkurzbz1 und $semesterkurzbz2
* @return array all prestudents with sponsionsdate
*/
public function getAllInteressentenWithMasterSponsion($semesterkurzbz1, $semesterkurzbz2=null)
* 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
@@ -697,6 +697,4 @@ class Prestudent_model extends DB_Model
)
);
}
}
@@ -113,22 +113,4 @@ class Abschlusspruefung_model extends DB_Model
return success($abschlusspruefungdata);
}
/**
* update ZGV Master
*/
public function insertDatumSponsionAsZgvmadatum($prestudentId, $datumSponsion)
{
return $this->execQuery(
'UPDATE public.tbl_prestudent
SET zgvmadatum = ?
WHERE prestudent_id = ?',
array(
$datumSponsion,
$prestudentId
)
);
}
}