Abfrage missedProjektarbeiten

This commit is contained in:
ma0068
2023-10-06 08:57:20 +02:00
parent b618ad247a
commit f695f3d7dc
2 changed files with 112 additions and 0 deletions
@@ -0,0 +1,66 @@
<?php
/**
* FH-Complete
*
* @package FHC-API
* @author FHC-Team
* @copyright Copyright (c) 2016, fhcomplete.org
* @license GPLv3
* @link http://fhcomplete.org
* @since Version 3.2
* @filesource
*
* Cronjob to be run for missed Abgabe Bachelor and Master Arbeiten
*
* Actions:
* (1) missed endupload projektarbeit: grade projektarbeit with grade 7 (Nicht beurteilt)
* (2) copy projektarbeit
* (3) set Betreuungen to 0 hours
* (4) sancho Mail to Studiengang with Link
*/
if (!defined('BASEPATH')) exit('No direct script access allowed');
class ProjektarbeitJob extends JOB_Controller
{
public function __construct()
{
parent::__construct();
// Load SanchoHelper
$this->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);
}
}
@@ -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
]);
}
}