mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
BIS Meldung angepasst für 3. Geschlecht
This commit is contained in:
@@ -3483,6 +3483,34 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_geschlecht LIMIT 1"))
|
||||
echo '<br>public.tbl_geschlecht hinzugefügt. Check Constraint für Geschlecht entfernt.';
|
||||
}
|
||||
|
||||
if($result = $db->db_query("SELECT * FROM pg_proc WHERE proname = 'transform_geschlecht'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = '
|
||||
CREATE OR REPLACE FUNCTION transform_geschlecht(character, date) RETURNS character
|
||||
LANGUAGE plpgsql
|
||||
AS $_$
|
||||
DECLARE geschlecht ALIAS FOR $1;
|
||||
DECLARE gebdatum ALIAS FOR $2;
|
||||
|
||||
BEGIN
|
||||
IF geschlecht=\'x\' THEN
|
||||
IF date_part(\'day\', gebdatum)::int%2=0 THEN
|
||||
geschlecht:=\'m\';
|
||||
ELSE
|
||||
geschlecht:=\'w\';
|
||||
END IF;
|
||||
END IF;
|
||||
RETURN geschlecht;
|
||||
END;
|
||||
$_$;';
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>transform_geschlecht: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Function transform_geschlecht hinzugefügt.';
|
||||
}
|
||||
}
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
|
||||
@@ -197,7 +197,7 @@ if($result = $db->db_query($qry))
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."Geburtsdatum ('".$row->gebdatum."')";
|
||||
}
|
||||
if($row->geschlecht!='m' && $row->geschlecht!='w')
|
||||
if($row->geschlecht!='m' && $row->geschlecht!='w' && $row->geschlecht!='x')
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."Geschlecht ('".$row->geschlecht."')";
|
||||
}
|
||||
|
||||
@@ -595,7 +595,7 @@ function GenerateXMLStudentBlock($row)
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."Geburtsdatum ('".$row->gebdatum."')";
|
||||
}
|
||||
if($row->geschlecht!='m' && $row->geschlecht!='w')
|
||||
if($row->geschlecht!='m' && $row->geschlecht!='w' && $row->geschlecht!='x')
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."Geschlecht ('".$row->geschlecht."')";
|
||||
}
|
||||
@@ -1303,13 +1303,19 @@ function GenerateXMLBewerberBlock($orgformcode=null)
|
||||
if(mb_strstr($ssem,"WS"))
|
||||
{
|
||||
//Bewerber
|
||||
$qrybw="SELECT * FROM public.tbl_prestudent
|
||||
$qrybw="
|
||||
SELECT
|
||||
*, transform_geschlecht(tbl_person.geschlecht, tbl_person.gebdatum) as geschlecht_imputiert
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id)
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
LEFT JOIN bis.tbl_orgform USING(orgform_kurzbz)
|
||||
WHERE (studiensemester_kurzbz=".$db->db_add_param($ssem)." OR studiensemester_kurzbz=".$db->db_add_param($psem).") AND tbl_prestudent.studiengang_kz=".$db->db_add_param($stg_kz)."
|
||||
WHERE (studiensemester_kurzbz=".$db->db_add_param($ssem)." OR studiensemester_kurzbz=".$db->db_add_param($psem).")
|
||||
AND tbl_prestudent.studiengang_kz=".$db->db_add_param($stg_kz)."
|
||||
AND (tbl_prestudentstatus.datum<=".$db->db_add_param($bisdatum).")
|
||||
AND status_kurzbz='Bewerber' AND reihungstestangetreten
|
||||
AND status_kurzbz='Bewerber'
|
||||
AND reihungstestangetreten
|
||||
";
|
||||
if(!is_null($orgformcode))
|
||||
$qrybw.=" AND tbl_orgform.code=".$db->db_add_param($orgformcode);
|
||||
@@ -1321,7 +1327,7 @@ function GenerateXMLBewerberBlock($orgformcode=null)
|
||||
// Bachelor / Diplom
|
||||
if(($stgart==1 || $stgart==3) && $rowbw->zgv_code!=NULL)
|
||||
{
|
||||
if(strtoupper($rowbw->geschlecht)=='M')
|
||||
if(strtoupper($rowbw->geschlecht_imputiert)=='M')
|
||||
{
|
||||
if(!isset($bewerberM[$rowbw->zgv_code]))
|
||||
{
|
||||
@@ -1341,7 +1347,7 @@ function GenerateXMLBewerberBlock($orgformcode=null)
|
||||
// Master
|
||||
if($stgart==2 && $rowbw->zgvmas_code!=NULL)
|
||||
{
|
||||
if(strtoupper($rowbw->geschlecht)=='M')
|
||||
if(strtoupper($rowbw->geschlecht_imputiert)=='M')
|
||||
{
|
||||
if(!isset($bewerberM[$rowbw->zgvmas_code]))
|
||||
{
|
||||
@@ -1369,7 +1375,18 @@ function GenerateXMLBewerberBlock($orgformcode=null)
|
||||
else
|
||||
$bewerbercount[$bworgform]=1;
|
||||
|
||||
$bwlist.='<tr><td>'.trim($rowbw->nachname).'</td><td>'.trim($rowbw->vorname).'</td><td>'.$bworgform.'</td></tr>';
|
||||
if($rowbw->geschlecht_imputiert!=$rowbw->geschlecht)
|
||||
$geschlecht_imputiert = ' -> '.$rowbw->geschlecht_imputiert;
|
||||
else
|
||||
$geschlecht_imputiert = '';
|
||||
|
||||
$bwlist.='
|
||||
<tr>
|
||||
<td>'.trim($rowbw->nachname).'</td>
|
||||
<td>'.trim($rowbw->vorname).'</td>
|
||||
<td>'.$bworgform.'</td>
|
||||
<td>'.$rowbw->geschlecht.$geschlecht_imputiert.'</td>
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user