diff --git a/application/controllers/jobs/ProjektarbeitJob.php b/application/controllers/jobs/ProjektarbeitJob.php new file mode 100644 index 000000000..d66bffbcc --- /dev/null +++ b/application/controllers/jobs/ProjektarbeitJob.php @@ -0,0 +1,66 @@ +load->helper('hlp_sancho_helper'); + + //Load Models + $this->load->model('education/Betreuerart_model', 'BetreuerartModel'); + $this->load->model('education/Projektarbeit_model', 'ProjektarbeitModel'); + $this->load->model('education/Paabgabe_model', 'PaabgabeModel'); + $this->load->model('education/Projektbetreuer_model', 'ProjektbetreuerModel'); + + //Load Library + $this->load->library('VorlageLib'); + } + + public function handleMissedAbgaben() + { + $nl = "\n"; + echo "----------------- Test Cronjob cis/cronjobs/handleMissedAbgabenBachelorMaster.php ------------------"; + echo $nl; + + //get all missed Projektarbeiten + $result = $this->ProjektarbeitModel->getMissedProjektarbeiten(); +/* if(isError($result)) + return $this->logError(getError($result)); + + if(!hasData($result)) + return $this->logInfo('End Job sendStglSammelmail: 0 Mails sent'); + */ + + $projektarbeiten = getData($result); + var_dump($projektarbeiten); + + + } + + + +} diff --git a/application/models/education/Projektarbeit_model.php b/application/models/education/Projektarbeit_model.php index 109e23373..3086ab2eb 100644 --- a/application/models/education/Projektarbeit_model.php +++ b/application/models/education/Projektarbeit_model.php @@ -69,4 +69,50 @@ class Projektarbeit_model extends DB_Model return $this->execQuery($qry, $params); } + + public function getMissedProjektarbeiten() + { + //TODO(MANU) check values + $allowedProjekttypes = array(); + $allowedProjekttypes[] = 'Bachelor'; + $allowedProjekttypes[] = 'Diplom'; + + $now = new DateTime(); + + + //$this->addSelect($this->dbTable.'.*'); + $this->addSelect($this->dbTable.'.projektarbeit_id'); + $this->addSelect($this->dbTable.'.titel'); + $this->addSelect($this->dbTable.'.student_uid'); + $this->addSelect($this->dbTable.'.note'); + $this->addSelect($this->dbTable.'.seitenanzahl'); + $this->addSelect('p' . '.person_id'); + $this->addSelect('le' . '.lehreinheit_id'); + $this->addSelect('sg' . '.studiengang_kz'); + + $this->addJoin('campus.tbl_paabgabe pa','projektarbeit_id'); + $this->addJoin('public.tbl_benutzer ben','ben.uid = tbl_projektarbeit.student_uid'); + $this->addJoin('public.tbl_person p', 'person_id', 'LEFT'); + $this->addJoin('lehre.tbl_lehreinheit le', 'lehreinheit_id', 'LEFT'); + $this->addJoin('lehre.tbl_lehrveranstaltung lv', 'lehrveranstaltung_id', 'LEFT'); + $this->addJoin('public.tbl_studiengang sg', 'studiengang_kz', 'LEFT'); + + $this->db->where('pa.paabgabetyp_kurzbz', 'end'); + $this->db->where_in($this->dbTable. '.projekttyp_kurzbz', $allowedProjekttypes); + + //TODO(MANU) Config date + $this->db->where('pa.datum >', '2022-09-01'); + //$this->db->where('pa.fixtermin', 'TRUE'); + $this->db->where('pa.abgabedatum', NULL); + //TODO(MANU) get date with NOW + $this->db->where('pa.datum < ', '2023-10-04'); + + $this->addLimit(10); + + return $this->loadWhere([ + 'pa.fixtermin' => 'TRUE', + 'sg.studiengang_kz' => 328 + ]); + + } }