diff --git a/application/controllers/api/frontend/v1/vertraege/Vertraege.php b/application/controllers/api/frontend/v1/vertraege/Vertraege.php index 02d0ab5f9..d1376c484 100644 --- a/application/controllers/api/frontend/v1/vertraege/Vertraege.php +++ b/application/controllers/api/frontend/v1/vertraege/Vertraege.php @@ -659,7 +659,12 @@ class Vertraege extends FHCAPI_Controller } if (!hasData($result)) { - return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id' => 'Id_Lehrauftrag']), self::ERROR_TYPE_GENERAL); + //return data before PV21 (with filter fix angestellt, active and with bisverwendung) + $result = $this->Mitarbeitermodel->getPersonal(true, true, true); + if (isError($result)) + { + return $this->terminateWithError($result, self::ERROR_TYPE_GENERAL); + } } return $this->terminateWithSuccess(getData($result)); } diff --git a/application/models/accounting/Vertrag_model.php b/application/models/accounting/Vertrag_model.php index 048dbb085..f89c6c185 100644 --- a/application/models/accounting/Vertrag_model.php +++ b/application/models/accounting/Vertrag_model.php @@ -343,9 +343,9 @@ class Vertrag_model extends DB_Model *, tbl_vertrag.bezeichnung as bezeichnung, tbl_vertragstyp.bezeichnung as vertragstyp_bezeichnung, - TO_CHAR(tbl_vertrag.vertragsdatum::timestamp, 'DD.MM.YYYY') AS format_vertragsdatum, + tbl_vertrag.vertragsdatum, (SELECT bezeichnung FROM lehre.tbl_vertragsstatus - JOIN lehre.tbl_vertrag_vertragsstatus USING(vertragsstatus_kurzbz) + JOIN lehre.tbl_vertrag_vertragsstatus USING(vertragsstatus_kurzbz) WHERE vertrag_id=tbl_vertrag.vertrag_id ORDER BY datum desc limit 1) as status, anmerkung, CASE WHEN EXISTS ( @@ -487,15 +487,15 @@ SELECT $query = " SELECT *, - TO_CHAR(tbl_vertrag_vertragsstatus.datum::timestamp, 'DD.MM.YYYY HH24:MI') AS format_datum, - TO_CHAR(tbl_vertrag_vertragsstatus.insertamum::timestamp, 'DD.MM.YYYY HH24:MI') AS format_insertamum, - TO_CHAR(tbl_vertrag_vertragsstatus.updateamum::timestamp, 'DD.MM.YYYY HH24:MI') AS format_updateamum + tbl_vertrag_vertragsstatus.datum, + tbl_vertrag_vertragsstatus.insertamum, + tbl_vertrag_vertragsstatus.updateamum FROM lehre.tbl_vertrag_vertragsstatus JOIN lehre.tbl_vertragsstatus USING(vertragsstatus_kurzbz) WHERE tbl_vertrag_vertragsstatus.vertrag_id = ? - ORDER BY datum DESC"; + ORDER BY tbl_vertrag_vertragsstatus.datum DESC"; return $this->execQuery($query, array($vertrag_id)); } diff --git a/application/models/ressource/Mitarbeiter_model.php b/application/models/ressource/Mitarbeiter_model.php index e67635538..0004837f0 100644 --- a/application/models/ressource/Mitarbeiter_model.php +++ b/application/models/ressource/Mitarbeiter_model.php @@ -107,17 +107,14 @@ class Mitarbeiter_model extends DB_Model { $qry = " SELECT - b.uid , p.person_id, + b.uid , p.person_id, p.vorname, p.nachname, - TO_CHAR(gebdatum::timestamp, 'DD.MM.YYYY') AS format_gebdatum, + 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, b.aktiv - -- CASE WHEN b.aktiv=true THEN 'aktiv' - -- ELSE 'nicht aktiv' - -- END as status //not working in header filter */ FROM hr.tbl_dienstverhaeltnis d JOIN @@ -128,7 +125,7 @@ class Mitarbeiter_model extends DB_Model public.tbl_organisationseinheit u ON d.oe_kurzbz = u.oe_kurzbz JOIN hr.tbl_vertragsart va ON d.vertragsart_kurzbz = va.vertragsart_kurzbz - "; + "; if($person_id) { @@ -138,9 +135,9 @@ class Mitarbeiter_model extends DB_Model $qry.= " GROUP BY b.uid, p.person_id, p.vorname, p.nachname, b.alias - ORDER BY + ORDER BY p.nachname, p.vorname; - "; + "; $params = array($person_id); diff --git a/public/js/components/Vertraege/List/Status.js b/public/js/components/Vertraege/List/Status.js index 3c05daa66..60475d3e2 100644 --- a/public/js/components/Vertraege/List/Status.js +++ b/public/js/components/Vertraege/List/Status.js @@ -44,14 +44,61 @@ export default { ajaxResponse: (url, params, response) => response.data, columns: [ {title: "Status", field: "bezeichnung"}, - {title: "Datum", field: "format_datum"}, + { + title: "Datum", + field: "datum", + formatter: function (cell) { + const dateStr = cell.getValue(); + const date = new Date(dateStr); // Convert to Date object + return date.toLocaleString("de-DE", { + day: "2-digit", + month: "2-digit", + year: "numeric", + hour: "2-digit", + minute: "2-digit", + hour12: false + }); + } + }, {title: "vertrag_id", field: "vertrag_id", visible: false}, {title: "Vertragsstatus", field: "vertragsstatus_kurzbz", visible: false}, {title: "User", field: "mitarbeiter_uid", visible: false}, {title: "insertvon", field: "insertvon", visible: false}, - {title: "insertamum", field: "format_insertamum", visible: false}, + { + title: "insertamum", + field: "insertamum", + visible: false, + formatter: function (cell) { + const dateStr = cell.getValue(); + const date = new Date(dateStr); + return date.toLocaleString("de-DE", { + day: "2-digit", + month: "2-digit", + year: "numeric", + hour: "2-digit", + minute: "2-digit", + hour12: false + }); + } + }, {title: "updatevon", field: "updatevon", visible: false}, - {title: "updateamum", field: "format_updateamum", visible: false}, + { + title: "updateamum", + field: "updateamum", + visible: false, + formatter: function (cell) { + const dateStr = cell.getValue(); + const date = new Date(dateStr); + return date.toLocaleString("de-DE", { + day: "2-digit", + month: "2-digit", + year: "numeric", + hour: "2-digit", + minute: "2-digit", + hour12: false + }); + } + }, { title: 'Aktionen', field: 'actions', minWidth: 150, @@ -112,7 +159,7 @@ export default { cm.getColumnByField('bezeichnung').component.updateDefinition({ title: this.$p.t('global', 'status') }); - cm.getColumnByField('format_datum').component.updateDefinition({ + cm.getColumnByField('datum').component.updateDefinition({ title: this.$p.t('global', 'datum') }); cm.getColumnByField('mitarbeiter_uid').component.updateDefinition({ @@ -130,13 +177,13 @@ export default { cm.getColumnByField('updatevon').component.updateDefinition({ title: this.$p.t('global', 'updatevon') }); - cm.getColumnByField('format_updateamum').component.updateDefinition({ + cm.getColumnByField('updateamum').component.updateDefinition({ title: this.$p.t('global', 'updateamum') }); cm.getColumnByField('insertvon').component.updateDefinition({ title: this.$p.t('global', 'insertvon') }); - cm.getColumnByField('format_insertamum').component.updateDefinition({ + cm.getColumnByField('insertamum').component.updateDefinition({ title: this.$p.t('global', 'insertamum') }); } diff --git a/public/js/components/Vertraege/MitarbeiterHeader.js b/public/js/components/Vertraege/MitarbeiterHeader.js index 84d8e03b8..ff361eaea 100644 --- a/public/js/components/Vertraege/MitarbeiterHeader.js +++ b/public/js/components/Vertraege/MitarbeiterHeader.js @@ -62,7 +62,20 @@ export default { crossElement: '' } }, - {title: "Geburtsdatum", field: "format_gebdatum", headerFilter:"input"}, + { + title: "Geburtsdatum", + field: "gebdatum", + headerFilter:"input", + formatter: function (cell) { + const dateStr = cell.getValue(); + const date = new Date(dateStr); + return date.toLocaleString("de-DE", { + day: "2-digit", + month: "2-digit", + year: "numeric", + }); + } + }, {title: "Unternehmen", field: "unternehmen", headerFilter:"input"}, {title: "Vertragsarten", field: "vertragsarten", headerFilter:"input"}, {title: "Ids Dienstverträge", field: "ids", headerFilter:"input"}, @@ -98,7 +111,7 @@ export default { cm.getColumnByField('aktiv').component.updateDefinition({ title: this.$p.t('global', 'aktiv') }); - cm.getColumnByField('format_gebdatum').component.updateDefinition({ + cm.getColumnByField('gebdatum').component.updateDefinition({ title: this.$p.t('person', 'geburtsdatum') }); cm.getColumnByField('unternehmen').component.updateDefinition({ diff --git a/public/js/components/Vertraege/Vertraege.js b/public/js/components/Vertraege/Vertraege.js index 94104e3c5..a3d92fa14 100644 --- a/public/js/components/Vertraege/Vertraege.js +++ b/public/js/components/Vertraege/Vertraege.js @@ -68,9 +68,21 @@ export default { }, {title: "Vertragstyp", field: "vertragstyp_bezeichnung", width: 125}, {title: "Status", field: "status"}, - {title: "Vertragsdatum", field: "format_vertragsdatum", width: 128}, + { + title: "Vertragsdatum", + field: "vertragsdatum", + width: 128, + formatter: function (cell) { + const dateStr = cell.getValue(); + const date = new Date(dateStr); + return date.toLocaleString("de-DE", { + day: "2-digit", + month: "2-digit", + year: "numeric", + }); + } + }, {title: "VertragId", field: "vertrag_id", visible: false}, - {title: "Vertragsdatum_iso", field: "vertragsdatum", visible: false}, {title: "Vertragsstunden", field: "vertragsstunden", visible: false}, {title: "VertragsstundenStudiensemester", field: "vertragsstunden_studiensemester_kurzbz", visible: false}, {title: "Anmerkung", field: "anmerkung", visible: false}, @@ -146,11 +158,8 @@ export default { cm.getColumnByField('vertragstyp_bezeichnung').component.updateDefinition({ title: this.$p.t('vertrag', 'vertragstyp') }); - cm.getColumnByField('format_vertragsdatum').component.updateDefinition({ - title: this.$p.t('vertrag', 'vertragsdatum') - }); cm.getColumnByField('vertragsdatum').component.updateDefinition({ - title: this.$p.t('vertrag', 'vertragsdatum_iso') + title: this.$p.t('vertrag', 'vertragsdatum') }); cm.getColumnByField('vertragsstunden').component.updateDefinition({ title: this.$p.t('vertrag', 'vertragsstunden') @@ -177,7 +186,7 @@ export default { //(maybe enable also for ADDON FH Burgenland: MultiAccept later) event: 'rowClick', handler: (e, row) => { - if (this.dataPrintHonorar.multiselect) { + if (this.dataPrintHonorar != null && this.dataPrintHonorar.multiselect != null) { const selectedContract = row.getData().vertrag_id; const status = row.getData().status; const bezeichnung = row.getData().bezeichnung; diff --git a/public/js/components/Vertraege/Vertragsverwaltung.js b/public/js/components/Vertraege/Vertragsverwaltung.js index 85f183584..1a6100913 100644 --- a/public/js/components/Vertraege/Vertragsverwaltung.js +++ b/public/js/components/Vertraege/Vertragsverwaltung.js @@ -21,15 +21,8 @@ export default { } }, data() { - //TODO(Manu) props for filter: actually not necessary return { person_id: null, -/* filterMa: { - active: true, - hasVertraege: true - },*/ -/* vertragsarten: - [ 'echterdv', 'externerlehrender', 'gastlektor']*/ } }, methods: { @@ -43,14 +36,14 @@ export default {