changeFormat Dates, use different select for MitarbeiterHeader before PV21, adapt condition for multiselect addon

This commit is contained in:
ma0068
2025-02-12 17:05:18 +01:00
parent 295e2aa3e5
commit 24682fb559
7 changed files with 99 additions and 25 deletions
@@ -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));
}
@@ -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));
}
@@ -109,7 +109,7 @@ class Mitarbeiter_model extends DB_Model
SELECT
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,
+53 -6
View File
@@ -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')
});
}
@@ -62,7 +62,20 @@ export default {
crossElement: '<i class="fa fa-xmark text-danger"></i>'
}
},
{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({
+16 -7
View File
@@ -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;
@@ -44,13 +44,13 @@ export default {
<vertical-split ref="vsplit">
<template #top>
<!-- <div class="d-flex flex-column" style="height: 100%;">-->
<MitarbeiterHeader :filterMa="filterMa" :vertragsarten="vertragsarten" @selectedPerson="selectPerson" />
<mitarbeiter-header :filterMa="filterMa" :vertragsarten="vertragsarten" @selectedPerson="selectPerson" />
<!-- </div>-->
</template>
<template #bottom>
<div class="col" v-if="person_id!=null">
<mitarbeiter-details :person_id="person_id"></mitarbeiter-details>
<VertraegeMitarbeiter :endpoint="$fhcApi.factory.vertraege.person" :person_id="this.person_id"/>
<vertraege-mitarbeiter :endpoint="$fhcApi.factory.vertraege.person" :person_id="this.person_id"/>
</div>
<template>
</vertical-split>