Merge branch 'master' into feature-6050/Stundensatz_vorschlag

This commit is contained in:
Andreas Österreicher
2020-03-20 09:00:17 +01:00
139 changed files with 15998 additions and 11912 deletions
+91
View File
@@ -618,6 +618,7 @@ class bisverwendung extends basis_db
{
while($row = $this->db_fetch_object())
{
$obj = new bisverwendung();
$obj->bisverwendung_id = $row->bisverwendung_id;
@@ -650,5 +651,95 @@ class bisverwendung extends basis_db
return false;
}
}
/*
* Prueft, ob Mitarbeiter habilitiert ist
* @param $uid UID des Mitarbeiters
* @return bool
*/
public function isHabilitiert($uid)
{
$qry = '
SELECT
*
FROM
bis.tbl_bisverwendung
WHERE
mitarbeiter_uid = '. $this->db_add_param($uid). '
AND
habilitation = true;
';
if ($this->db_query($qry))
{
return $this->db_num_rows() > 0;
}
}
/**
* Holt alle Verwendungen eines Mitarbeiters innerhalb des BIS Meldungszeitraums
* @param $uid UID des Mitarbeiters
* @param $stichtag
* @return bool
*/
public function getVerwendungenBISMeldung($uid, $stichtag)
{
$datetime = new DateTime($stichtag);
$stichtag = $datetime->format('Y-m-d');
$bismeldung_jahr = $datetime->format('Y');
$qry = '
SELECT
*,
CASE
WHEN (beginn is null OR beginn < make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 1, 1))
THEN make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 1, 1)
ELSE beginn
END as beginn_imBISMeldungsJahr,
CASE
WHEN (ende is null OR ende > make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 12, 31))
THEN make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 12, 31)
ELSE ende
END as ende_imBISMeldungsJahr
FROM
bis.tbl_bisverwendung
JOIN bis.tbl_beschaeftigungsart1 USING (ba1code)
WHERE
mitarbeiter_uid = '. $this->db_add_param($uid).'
AND (beginn <= '. $this->db_add_param($stichtag).' OR beginn is null)
AND (ende >= make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 1, 1) OR ende is null)
ORDER BY ende
';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new StdClass();
$obj->bisverwendung_id = $row->bisverwendung_id;
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->vertragsstunden = $row->vertragsstunden;
$obj->ba1code = $row->ba1code_bis;
$obj->ba2code = $row->ba2code;
$obj->verwendung_code = $row->verwendung_code;
$obj->beschausmasscode = $row->beschausmasscode;
$obj->hauptberufcode = $row->hauptberufcode;
$obj->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->beginn_imBISMeldungsJahr = $row->beginn_imbismeldungsjahr;
$obj->ende_imBISMeldungsJahr = $row->ende_imbismeldungsjahr;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
}
?>