mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-26 09:04:28 +00:00
Cleaned up commit from 'feature-27351/Digitalisierung_Formulare_Abmeldung_Unterbrechung_Wiederholung'
This commit is contained in:
@@ -100,8 +100,8 @@ class Konto_model extends DB_Model
|
||||
|
||||
public function checkStudienbeitrag($uid, $stsem, $buchungstypen)
|
||||
{
|
||||
$query = 'SELECT tbl_konto.buchungsnr,
|
||||
tbl_konto.buchungsdatum
|
||||
$query = 'SELECT tbl_konto.buchungsnr,
|
||||
tbl_konto.buchungsdatum
|
||||
FROM public.tbl_konto,
|
||||
public.tbl_benutzer,
|
||||
public.tbl_student
|
||||
@@ -117,10 +117,47 @@ class Konto_model extends DB_Model
|
||||
FROM public.tbl_konto skonto
|
||||
WHERE skonto.buchungsnr = tbl_konto.buchungsnr_verweis
|
||||
OR skonto.buchungsnr_verweis = tbl_konto.buchungsnr_verweis
|
||||
)
|
||||
)
|
||||
ORDER BY buchungsnr DESC LIMIT 1
|
||||
';
|
||||
|
||||
return $this->execQuery($query);
|
||||
}
|
||||
|
||||
/**
|
||||
* check if student has paid studienbeitrag for certain semester
|
||||
*
|
||||
* @param $person_id person_id
|
||||
* @param $stsem stsem
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function checkStudienbeitragFromPerson($person_id, $stsem)
|
||||
{
|
||||
$this->addOrder('buchungsnr');
|
||||
$this->addLimit(1);
|
||||
$result = $this->loadWhere([
|
||||
'person_id'=>$person_id,
|
||||
'studiensemester_kurzbz' => $stsem,
|
||||
'buchungstyp_kurzbz' => 'Studiengebuehr'
|
||||
]);
|
||||
|
||||
if (!getData($result))
|
||||
return false;
|
||||
|
||||
$data = getData($result)[0];
|
||||
|
||||
$this->resetQuery();
|
||||
|
||||
$this->addSelect('sum(betrag) as differenz');
|
||||
$this->db->or_where('buchungsnr', $data->buchungsnr);
|
||||
$this->db->or_where('buchungsnr_verweis', $data->buchungsnr);
|
||||
|
||||
$result = $this->load();
|
||||
if (!getData($result))
|
||||
return false;
|
||||
|
||||
$data = getData($result)[0];
|
||||
return $data->differenz >= 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
|
||||
class Prestudentstatus_model extends DB_Model
|
||||
{
|
||||
|
||||
const STATUS_ABBRECHER = 'Abbrecher';
|
||||
const STATUS_UNTERBRECHER = 'Unterbrecher';
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
@@ -226,4 +230,90 @@ class Prestudentstatus_model extends DB_Model
|
||||
|
||||
return $this->execQuery($query, $parametersArray);
|
||||
}
|
||||
|
||||
/**
|
||||
* get Email of relevant Studiengang of prestudent
|
||||
*/
|
||||
public function getLastStatusWithStgEmail($prestudent_id, $studiensemester_kurzbz = '', $status_kurzbz = '')
|
||||
{
|
||||
$this->addSelect('tbl_prestudentstatus.*,
|
||||
tbl_studienplan.bezeichnung AS studienplan_bezeichnung,
|
||||
tbl_studienplan.orgform_kurzbz AS orgform,
|
||||
tbl_studienplan.sprache,
|
||||
tbl_orgform.bezeichnung_mehrsprachig AS bezeichnung_orgform,
|
||||
tbl_status.bezeichnung_mehrsprachig,
|
||||
tbl_status_grund.bezeichnung_mehrsprachig AS bezeichnung_statusgrund,
|
||||
tbl_studiengang.email');
|
||||
$this->addJoin('lehre.tbl_studienplan', 'studienplan_id', 'LEFT');
|
||||
$this->addJoin('lehre.tbl_studienordnung', 'studienordnung_id', 'LEFT');
|
||||
$this->addJoin('public.tbl_studiengang', 'studiengang_kz', 'LEFT');
|
||||
$this->addJoin('public.tbl_status', 'tbl_status.status_kurzbz = tbl_prestudentstatus.status_kurzbz');
|
||||
$this->addJoin('public.tbl_status_grund', 'statusgrund_id', 'LEFT');
|
||||
$this->addJoin('bis.tbl_orgform', 'tbl_studienplan.orgform_kurzbz = tbl_orgform.orgform_kurzbz', 'LEFT');
|
||||
$this->db->where('tbl_status.status_kurzbz = tbl_prestudentstatus.status_kurzbz');
|
||||
|
||||
$where = array('prestudent_id' => $prestudent_id);
|
||||
if ($studiensemester_kurzbz)
|
||||
$where['studiensemester_kurzbz'] = $studiensemester_kurzbz;
|
||||
if ($status_kurzbz)
|
||||
$where['tbl_prestudentstatus.status_kurzbz'] = $status_kurzbz;
|
||||
|
||||
$this->addOrder('datum', 'DESC');
|
||||
$this->addOrder('insertamum', 'DESC');
|
||||
$this->addOrder('ext_id', 'DESC');
|
||||
$this->addLimit(1);
|
||||
|
||||
return $this->loadWhere($where);
|
||||
}
|
||||
|
||||
public function loadLastWithStgDetails($prestudent_id, $studiensemester_kurzbz = null)
|
||||
{
|
||||
$this->load->config('studierendenantrag');
|
||||
|
||||
$lang = getUserLanguage();
|
||||
|
||||
$this->addSelect($this->dbTable . '.prestudent_id');
|
||||
$this->addSelect($this->dbTable . '.ausbildungssemester AS semester');
|
||||
$this->addSelect($this->dbTable . '.studiensemester_kurzbz');
|
||||
$this->addSelect('s.matrikelnr');
|
||||
$this->addSelect('ss.studienjahr_kurzbz');
|
||||
$this->addSelect('pers.vorname');
|
||||
$this->addSelect('pers.nachname');
|
||||
$this->addSelect('TRIM(CONCAT(pers.vorname, \' \', pers.nachname)) AS name');
|
||||
$this->addSelect('pers.person_id');
|
||||
$this->addSelect('g.studiengang_kz');
|
||||
$this->addSelect('g.bezeichnung');
|
||||
$this->addSelect('o.orgform_kurzbz');
|
||||
$this->addSelect(
|
||||
'o.bezeichnung_mehrsprachig[(SELECT index FROM public.tbl_sprache WHERE sprache=\'' . $lang . '\')] AS orgform_bezeichnung',
|
||||
false
|
||||
);
|
||||
|
||||
$this->addJoin('public.tbl_student s', 'prestudent_id');
|
||||
$this->addJoin('public.tbl_prestudent p', 'prestudent_id');
|
||||
$this->addJoin('public.tbl_studiensemester ss', 'studiensemester_kurzbz');
|
||||
$this->addJoin('public.tbl_person pers', 'person_id');
|
||||
$this->addJoin('public.tbl_studiengang g', 'p.studiengang_kz=g.studiengang_kz');
|
||||
$this->addJoin('bis.tbl_orgform o', 'g.orgform_kurzbz=o.orgform_kurzbz');
|
||||
|
||||
$this->addOrder($this->dbTable . '.datum', 'DESC');
|
||||
$this->addOrder($this->dbTable . '.insertamum', 'DESC');
|
||||
$this->addOrder($this->dbTable . '.ext_id', 'DESC');
|
||||
|
||||
$this->addLimit(1);
|
||||
|
||||
$this->db->where_in($this->dbTable . '.status_kurzbz', $this->config->item('antrag_prestudentstatus_whitelist'));
|
||||
|
||||
$whereArr = [
|
||||
$this->dbTable . '.prestudent_id' => $prestudent_id,
|
||||
'g.aktiv' => true
|
||||
];
|
||||
|
||||
if ($studiensemester_kurzbz !== null)
|
||||
{
|
||||
$whereArr[$this->dbTable. '.studiensemester_kurzbz'] = $studiensemester_kurzbz;
|
||||
}
|
||||
|
||||
return $this->loadWhere($whereArr);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user