mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
add new Job for sent Email to Assistant as Reminder for Manual Deregistration of ExRepeaterWithNewNegativeCommissionalExams
This commit is contained in:
@@ -673,6 +673,58 @@ class AntragJob extends JOB_Controller
|
|||||||
$this->logInfo('Ende Job sendAufforderungWiederholer');
|
$this->logInfo('Ende Job sendAufforderungWiederholer');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Send Reminder to Assistance of Wiederholer with a Second Negative Commissional Exam
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function sendReminderWiederholerWithNegativeCommissionalExam()
|
||||||
|
{
|
||||||
|
$this->logInfo('Start Job sendReminderWiederholerWithNegativeCommissionalExam');
|
||||||
|
|
||||||
|
$this->load->library('PrestudentLib');
|
||||||
|
$result = $this->PruefungModel->getAllExRepeaterWithNewNegativeCommissionalExams();
|
||||||
|
if (isError($result)) {
|
||||||
|
print_r(getError($result));
|
||||||
|
}
|
||||||
|
$dataExrepeater = getData($result) ?: [];
|
||||||
|
$count = 0;
|
||||||
|
|
||||||
|
foreach ($dataExrepeater as $exrepeater) {
|
||||||
|
|
||||||
|
$result = $this->PrestudentModel->load($exrepeater->prestudent_id);
|
||||||
|
if (!hasData($result)) {
|
||||||
|
$this->logWarning('No Prestudent found');
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$prestudent = current(getData($result));
|
||||||
|
$result = $this->StudiengangModel->load($prestudent->studiengang_kz);
|
||||||
|
if (!hasData($result)) {
|
||||||
|
$this->logWarning('No Studiengang found');
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$studiengang = current(getData($result));
|
||||||
|
$result = $this->PersonModel->loadPrestudent($exrepeater->prestudent_id);
|
||||||
|
if (!hasData($result)) {
|
||||||
|
$this->logWarning('No Person found');
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$person = current(getData($result));
|
||||||
|
$count++;
|
||||||
|
$email = $studiengang->email;
|
||||||
|
$dataMail = array(
|
||||||
|
'prestudent' => 'PreStudentId: ' . $exrepeater->prestudent_id,
|
||||||
|
'name' => trim($person->vorname . ' ' . $person->nachname),
|
||||||
|
//'emailAn' => $email
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!sendSanchoMail('Sancho_Mail_Antrag_W_EX_W', $dataMail, $email, 'Kommissionelle Prüfung ehemalige*r Wiederholer*in')) {
|
||||||
|
$this->logWarning("Failed to send Notification to " . $email);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->logInfo($count . " Mails sent");
|
||||||
|
$this->logInfo('End Job sendReminderWiederholerWithNegativeCommissionalExam');
|
||||||
|
}
|
||||||
|
|
||||||
protected function prestudentsGetUnique($prestudents)
|
protected function prestudentsGetUnique($prestudents)
|
||||||
{
|
{
|
||||||
$result = [];
|
$result = [];
|
||||||
|
|||||||
@@ -306,4 +306,35 @@ class Pruefung_model extends DB_Model
|
|||||||
|
|
||||||
return $this->loadWhereCommitteeExamsFailed();
|
return $this->loadWhereCommitteeExamsFailed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return stdClass
|
||||||
|
*/
|
||||||
|
public function getAllExRepeaterWithNewNegativeCommissionalExams()
|
||||||
|
{
|
||||||
|
$query = "
|
||||||
|
SELECT DISTINCT antrag.prestudent_id
|
||||||
|
FROM lehre.tbl_pruefung p
|
||||||
|
JOIN lehre.tbl_note n USING (note)
|
||||||
|
JOIN (
|
||||||
|
SELECT
|
||||||
|
stud.student_uid,
|
||||||
|
antr.datum,
|
||||||
|
antr.prestudent_id
|
||||||
|
FROM campus.tbl_studierendenantrag antr
|
||||||
|
JOIN public.tbl_prestudent ps USING (prestudent_id)
|
||||||
|
JOIN public.tbl_student stud USING (prestudent_id)
|
||||||
|
JOIN public.tbl_benutzer ben ON (ben.uid = stud.student_uid)
|
||||||
|
WHERE antr.typ = 'Wiederholung'
|
||||||
|
AND ben.aktiv = true
|
||||||
|
) antrag ON antrag.student_uid = p.student_uid
|
||||||
|
WHERE n.note IN (20, 13, 5, 15, 14) -- 9 (noch nicht eingetragen ist negativ)
|
||||||
|
AND p.pruefungstyp_kurzbz IN ('kommPruef', 'zusKommPruef')
|
||||||
|
AND p.datum > antrag.datum
|
||||||
|
";
|
||||||
|
|
||||||
|
return $this->execQuery($query);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user