mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Merge branch 'feature-52533/PV21_Karteireiter_Vertraege' of github.com:FH-Complete/FHC-Core into feature-52533/PV21_Karteireiter_Vertraege
This commit is contained in:
@@ -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));
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 {
|
||||
<main class="col-md-8 ms-sm-auto col-lg-9 col-xl-10">
|
||||
<vertical-split ref="vsplit">
|
||||
<template #top>
|
||||
<!-- <div class="d-flex flex-column" style="height: 100%;">-->
|
||||
<MitarbeiterHeader :filterMa="filterMa" :vertragsarten="vertragsarten" @selectedPerson="selectPerson" />
|
||||
<!-- </div>-->
|
||||
<div class="d-flex flex-column" style="height: 100%;">
|
||||
<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>
|
||||
|
||||
Reference in New Issue
Block a user