mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
refactor backend filter
This commit is contained in:
@@ -4,6 +4,10 @@ $filterCmptArray = array(
|
||||
'datasetName' => 'vertragsverwaltung',
|
||||
'query' => '
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
b.uid , p.person_id,
|
||||
p.vorname, p.nachname,
|
||||
gebdatum,
|
||||
@@ -13,8 +17,8 @@ $filterCmptArray = array(
|
||||
STRING_AGG(d.dienstverhaeltnis_id::TEXT, \', \') AS ids,
|
||||
CASE
|
||||
WHEN b.aktiv = true THEN \'aktiv\'
|
||||
ELSE \'naktiv\'
|
||||
END AS "aktiv"
|
||||
END AS "aktiv_status",
|
||||
b.aktiv
|
||||
FROM
|
||||
hr.tbl_dienstverhaeltnis d
|
||||
JOIN public.tbl_benutzer b ON d.mitarbeiter_uid = b.uid
|
||||
@@ -23,7 +27,27 @@ $filterCmptArray = array(
|
||||
JOIN hr.tbl_vertragsart va ON d.vertragsart_kurzbz = va.vertragsart_kurzbz
|
||||
WHERE b.aktiv = true
|
||||
GROUP BY b.uid, p.person_id, p.vorname, p.nachname, b.alias, b.aktiv
|
||||
ORDER BY nachname, vorname
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
b.uid , p.person_id,
|
||||
p.vorname, p.nachname,
|
||||
gebdatum,
|
||||
COALESCE(b.alias, b.uid) AS email,
|
||||
STRING_AGG(DISTINCT va.bezeichnung, \', \') AS Vertragsarten,
|
||||
STRING_AGG(DISTINCT u.bezeichnung, \', \') AS Unternehmen,
|
||||
STRING_AGG(d.dienstverhaeltnis_id::TEXT, \', \') AS ids,
|
||||
\'all\' AS "aktiv_status",
|
||||
b.aktiv
|
||||
FROM
|
||||
hr.tbl_dienstverhaeltnis d
|
||||
JOIN public.tbl_benutzer b ON d.mitarbeiter_uid = b.uid
|
||||
JOIN public.tbl_person p ON p.person_id = b.person_id
|
||||
JOIN public.tbl_organisationseinheit u ON d.oe_kurzbz = u.oe_kurzbz
|
||||
JOIN hr.tbl_vertragsart va ON d.vertragsart_kurzbz = va.vertragsart_kurzbz
|
||||
GROUP BY b.uid, p.person_id, p.vorname, p.nachname, b.alias
|
||||
ORDER BY nachname, vorname) a
|
||||
',
|
||||
'requiredPermissions' => 'vertrag/mitarbeiter'
|
||||
);
|
||||
@@ -53,16 +53,14 @@ export default {
|
||||
title: "Aktiv", field: "aktiv", visible: false, headerFilter: true, width: 85,
|
||||
formatter:"tickCross",
|
||||
hozAlign:"center",
|
||||
formatter: function(cell) {
|
||||
return cell.getValue() === "aktiv"
|
||||
? '<i class="fa fa-check text-success"></i>'
|
||||
: '<i class="fa fa-xmark text-danger"></i>';
|
||||
formatterParams: {
|
||||
tickElement: '<i class="fa fa-check text-success"></i>',
|
||||
crossElement: '<i class="fa fa-xmark text-danger"></i>'
|
||||
}
|
||||
},
|
||||
{title: "Unternehmen", field: "unternehmen", visible: false, headerFilter: "input"},
|
||||
{title: "Vertragsarten", field: "vertragsarten", visible: true, headerFilter: "input"},
|
||||
{title: "Ids Dienstverträge", field: "ids", visible: true, headerFilter: "input"},
|
||||
|
||||
{
|
||||
title: "email", field: "email", headerFilter: "input",
|
||||
visible: false,
|
||||
@@ -77,6 +75,7 @@ export default {
|
||||
return container;
|
||||
},
|
||||
},
|
||||
{title: "Filter aktiv/all", field: "aktiv_status", visible:false, headerFilter: "input"}
|
||||
],
|
||||
layout: 'fitColumns',
|
||||
persistenceID: 'core-mitarbeiter_20250901',
|
||||
|
||||
@@ -1567,7 +1567,7 @@ $filters = array(
|
||||
'default_filter' => true,
|
||||
'filter' => '
|
||||
{
|
||||
"name": "MA Vertragsverwaltung (aktiv)",
|
||||
"name": "MA Vertragsverwaltung (aktiv/all)",
|
||||
"columns": [
|
||||
{"name": "UID"},
|
||||
{"name": "PersonId"},
|
||||
@@ -1579,9 +1579,16 @@ $filters = array(
|
||||
{"name": "Firma"},
|
||||
{"name": "Vertragsarten"},
|
||||
{"name": "IDs Dienstverhältnis"},
|
||||
{"name": "email"}
|
||||
{"name": "email"},
|
||||
{"name": "aktiv_status"}
|
||||
],
|
||||
"filters": [
|
||||
{
|
||||
"name": "aktiv_status",
|
||||
"option": "",
|
||||
"operation": "equal",
|
||||
"condition": "aktiv"
|
||||
}
|
||||
]
|
||||
}',
|
||||
'oe_kurzbz' => null,
|
||||
|
||||
Reference in New Issue
Block a user