Merge remote-tracking branch 'origin/feature-33714/erhoehter_studienbeitrag_fuer_drittsaatenangehoerig' into infocenter_2023_12_04

This commit is contained in:
ma0048
2023-12-04 12:29:17 +01:00
11 changed files with 74 additions and 17 deletions
@@ -31,21 +31,35 @@ $query = '
ORDER BY l.log_id DESC
LIMIT 1
)
AND '. $LOGDATA_VON .' = (
AND ('. $LOGDATA_VON .' = (
SELECT l.insertvon
FROM system.tbl_log l
WHERE l.person_id = p.person_id
ORDER BY l.log_id DESC
LIMIT 1
)
OR
(
(
SELECT l.insertvon
FROM system.tbl_log l
WHERE l.person_id = p.person_id
ORDER BY l.log_id DESC
LIMIT 1
) IS NULL
)
)
AND l.zeitpunkt >= pss.insertamum
ORDER BY l.log_id DESC
LIMIT 1
) AS "Nachricht",
(
SELECT SUM(konto.betrag)
SELECT
CASE
WHEN COUNT(CASE WHEN konto.betrag != 0 THEN 1 END) = 0 THEN null
ELSE SUM(konto.betrag)
END AS "Kaution"
FROM public.tbl_konto konto
LEFT JOIN tbl_konto skonto ON (skonto.buchungsnr_verweis = konto.buchungsnr)
WHERE konto.person_id = p.person_id
AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
AND konto.buchungstyp_kurzbz = '. $STUDIENGEBUEHR_ANZAHLUNG .'
@@ -292,9 +292,12 @@
rueck.datum_bis AS "HoldDate",
rueck.bezeichnung AS "Rueckstellgrund",
(
SELECT SUM(konto.betrag)
SELECT
CASE
WHEN COUNT(CASE WHEN konto.betrag != 0 THEN 1 END) = 0 THEN null
ELSE SUM(konto.betrag)
END AS "Kaution"
FROM public.tbl_konto konto
LEFT JOIN tbl_konto skonto ON (skonto.buchungsnr_verweis = konto.buchungsnr)
WHERE konto.person_id = p.person_id
AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
AND konto.buchungstyp_kurzbz = '. $STUDIENGEBUEHR_ANZAHLUNG .'
@@ -267,9 +267,12 @@ $query = '
LIMIT 1
) AS "AktenId",
(
SELECT SUM(konto.betrag)
SELECT
CASE
WHEN COUNT(CASE WHEN konto.betrag != 0 THEN 1 END) = 0 THEN null
ELSE SUM(konto.betrag)
END AS "Kaution"
FROM public.tbl_konto konto
LEFT JOIN tbl_konto skonto ON (skonto.buchungsnr_verweis = konto.buchungsnr)
WHERE konto.person_id = p.person_id
AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
AND konto.buchungstyp_kurzbz = '. $STUDIENGEBUEHR_ANZAHLUNG .'
@@ -198,7 +198,11 @@ $query = '
LIMIT 1
) AS "InfoCenterMitarbeiter",
(
SELECT SUM(konto.betrag)
SELECT
CASE
WHEN COUNT(CASE WHEN konto.betrag != 0 THEN 1 END) = 0 THEN null
ELSE SUM(konto.betrag)
END AS "Kaution"
FROM public.tbl_konto konto
WHERE konto.person_id = p.person_id
AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
@@ -447,7 +447,6 @@
<div class="form-inline">
<div class="input-group" id="absgstatusgrselect_<?php echo $zgvpruefung->prestudent_id ?>">
<select name="absgstatusgrund"
<?php echo $disabledStg ?>
<?php echo $disabledPer ?>
class="d-inline float-right"
required>
@@ -460,7 +459,7 @@
</select>
<span class="input-group-btn">
<button type="button"
class="btn btn-default absageBtn" <?php echo $disabledStg . ' ' . $disabledPer?> id="absagebtn_<?php echo $zgvpruefung->prestudent_id ?>">
class="btn btn-default absageBtn" <?php echo $disabledPer?> id="absagebtn_<?php echo $zgvpruefung->prestudent_id ?>">
<?php echo $this->p->t('ui', 'absagen') ?>
</button>
</span>
+8 -3
View File
@@ -2502,10 +2502,15 @@ if(!$error)
{
$person_ids = explode(';',$_POST['person_ids']);
$exists = false;
if (defined('FAS_DOPPELTE_BUCHUNGSTYPEN_CHECK') && (in_array($_POST['buchungstyp_kurzbz'], unserialize(FAS_DOPPELTE_BUCHUNGSTYPEN_CHECK))))
if (defined('FAS_DOPPELTE_BUCHUNGSTYPEN_CHECK'))
{
$konto = new konto();
$exists = $konto->checkDoppelteBuchung($person_ids, $_POST['studiensemester_kurzbz'], $_POST['buchungstyp_kurzbz']);
$buchungen = unserialize(FAS_DOPPELTE_BUCHUNGSTYPEN_CHECK);
$buchung = $_POST['buchungstyp_kurzbz'];
if (isset($buchungen[$buchung]))
{
$konto = new konto();
$exists = $konto->checkDoppelteBuchung($person_ids, $_POST['studiensemester_kurzbz'], $buchungen[$buchung]);
}
}
if($exists)
+2 -1
View File
@@ -208,7 +208,8 @@ else
<menupopup id="student-filter-menu-popup" >
<menuitem id="student-toolbar-filter-dokumente" label="fehlende Dokumente" oncommand="InteressentDokumenteFilter()" disabled="false" tooltiptext="Liste aller Studenten mit Fehlenden Dokumenten"/>
<menuitem id="student-toolbar-filter-offenebuchungen" label="offene Buchungen" oncommand="StudentKontoFilterStudenten('konto')" disabled="false" tooltiptext="Liste aller Studenten mit offenen Buchungen"/>
<menuitem id="student-toolbar-filter-studiengebuehr" label="nicht gebuchte Studiengebuehr" oncommand="StudentKontoFilterStudenten('studiengebuehr')" disabled="false" tooltiptext="Liste aller Studenten die noch nicht mit Studienbebuehr belastet wurden" />
<menuitem id="student-toolbar-filter-studiengebuehr" label="nicht gebuchte Studiengebuehr" oncommand="StudentKontoFilterStudenten('studiengebuehr')" disabled="false" tooltiptext="Liste aller Studenten die noch nicht mit der Studiengebühr belastet wurden" />
<menuitem id="student-toolbar-filter-erhoehte-studiengebuehr" label="erhöhten Studienbeitrag" oncommand="StudentKontoFilterStudenten('StudiengebuehrErhoeht')" disabled="false" tooltiptext="Liste aller Studenten denen der erhöhte Studienbeitrag eingebucht wurde" />
<menuitem id="student-toolbar-filter-zgvohnedatum" label="ZGV eingetragen ohne Datum" oncommand="StudentKontoFilterStudenten('zgvohnedatum')" disabled="false" tooltiptext="Liste aller Studenten die ZGV eingetragen haben bei denen aber kein ZGV Datum gesetzt ist" />
<menu label="nach Statusgrund">
<menupopup id="student-filter-statusgrund-menu-popup">
+2 -3
View File
@@ -965,17 +965,16 @@ class konto extends basis_db
}
}
public function checkDoppelteBuchung($person_ids, $stsem, $typ)
public function checkDoppelteBuchung($person_ids, $stsem, $typen)
{
$qry = "SELECT person.vorname, person.nachname
FROM public.tbl_konto konto
JOIN public.tbl_person person USING(person_id)
WHERE konto.person_id IN (".$this->implode4SQL(array_filter($person_ids)).")
AND studiensemester_kurzbz = ".$this->db_add_param($stsem)."
AND buchungstyp_kurzbz = ".$this->db_add_param($typ)."
AND buchungstyp_kurzbz IN (".$this->implode4SQL($typen) .")
GROUP BY person.vorname, person.nachname
ORDER BY person.nachname, person.vorname";
if ($result = $this->db_query($qry))
{
$persons = array();
+15
View File
@@ -107,6 +107,21 @@ function checkfilter($row, $filter2, $buchungstyp = null)
if($row_filter->anzahl>0 || $prestudent->status_kurzbz=='Incoming')
return false;
}
elseif($filter2 == 'StudiengebuehrErhoeht')
{
// Alle Personen die eine erhöhte Studiengebuehrbelastung haben
$prestudent = new prestudent();
$prestudent->getLastStatus($row->prestudent_id);
$qry = "SELECT count(*) as anzahl FROM public.tbl_konto WHERE
studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND
person_id=".$db->db_add_param($row->person_id, FHC_INTEGER)." AND
buchungstyp_kurzbz='StudiengebuehrErhoeht'";
if($db->db_query($qry))
if($row_filter = $db->db_fetch_object())
if($row_filter->anzahl == 0)
return false;
}
elseif(strstr($filter2,'buchungstyp;'))
{
// Alle Personen die keine Belastung auf den uebergebenen Buchungstyp haben
+1
View File
@@ -45,6 +45,7 @@ require_once('dbupdate_3.4/30537_anmerkung_in_tbl_rolleberechtigung.php');
require_once('dbupdate_3.4/30181_tabelle_anrechnung_neue_attribute_fuer_begruendung.php');
require_once('dbupdate_3.4/29529_infocenter_anpassungen.php');
require_once('dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php');
require_once('dbupdate_3.4/33714_erhoehter_studienbeitrag_fuer_drittsaatenangehoerig.php');
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
@@ -0,0 +1,13 @@
<?php
// Added Buchungstyp "StudiengebuehrErhoeht"
if ($result = @$db->db_query("SELECT 1 FROM public.tbl_buchungstyp WHERE buchungstyp_kurzbz = 'StudiengebuehrErhoeht';"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO public.tbl_buchungstyp (buchungstyp_kurzbz, beschreibung, standardtext, standardbetrag) VALUES ('StudiengebuehrErhoeht', 'Erhöhter Studienbeitrag', 'Erhöhter Studienbeitrag', '-3000');";
if (!$db->db_query($qry))
echo '<strong>public.tbl_buchungstyp '.$db->db_last_error().'</strong><br>';
else
echo ' public.tbl_buchungstyp: Added buchungstyp "StudiengebuehrErhoeht" <br>';
}
}