From 7451e0bf78fc848e7f20a60377c60a6c6503978a Mon Sep 17 00:00:00 2001 From: Erik Dunin Date: Thu, 13 Aug 2026 15:04:56 +0200 Subject: [PATCH] =?UTF-8?q?Standart=20werte=20f=C3=BCr=20die=20Auslastung?= =?UTF-8?q?=20je=20Leistungsphase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 10244 -> 10244 bytes public/Test.html | 8 +++++--- public/main.v2.js | 33 ++++++++++++++++++++++++++------- sessions/.DS_Store | Bin 10244 -> 10244 bytes sessions/ELT/KW_33___2026.csv | 2 +- 5 files changed, 32 insertions(+), 11 deletions(-) diff --git a/.DS_Store b/.DS_Store index e42afa809f3e05d4b41bc14bbf2adde822ca38b1..acd0341c3c5a9a722c2da6af0493ae103fd5d931 100644 GIT binary patch delta 132 zcmZn(XbIS$CJ<|Oje&uIg+Y%YogtH0G^p9761SM delta 132 zcmZn(XbIS$CJ@Wl&A`CG!l1{H&XCDalAG`1l9ZF51Qg@=yCLGo53v)DsPZXz0NIcyivR!s diff --git a/public/Test.html b/public/Test.html index 65e14bb..5e00f19 100644 --- a/public/Test.html +++ b/public/Test.html @@ -160,8 +160,9 @@

Aufwand je Leistungsphase

- Rollenbezogene Gewichtungsfaktoren je Leistungsphase (Standard 1,0). - Die amtierende Leistungsphase wird pro Projekt im Tab „Projekte" gewählt. + Rollenbezogene Gewichtungsfaktoren je Leistungsphase (Standardwerte laut + Vorlage im Code). Die amtierende Leistungsphase wird pro Projekt im Tab + „Projekte" gewählt.

@@ -197,7 +198,8 @@

- Rollenbezogener Gewichtungsfaktor je Leistungsphase (Standard 1,0). + Rollenbezogener Gewichtungsfaktor je Leistungsphase (Standardwerte laut + Vorlage im Code).

diff --git a/public/main.v2.js b/public/main.v2.js index 53a9328..ee22a9b 100644 --- a/public/main.v2.js +++ b/public/main.v2.js @@ -1799,11 +1799,26 @@ function reorderProjects(){ // - Mitarbeiterkapazität (Teilzeit/Vollzeit) existiert nicht – offener Punkt. // // AUFWAND_LPS: Phasen des Aufwandsmodells (LPH 1–8; "W+M" ist bewusst nicht -// enthalten, entspricht der Entscheidung "LP-Schema: lp1-8"). Es gibt keine -// Default-Vorlage: neue Projekte starten leer und zählen bei gesetzter aktiver -// LP je Rolle zu 1,0; ohne aktive LP zu 0. +// enthalten, entspricht der Entscheidung "LP-Schema: lp1-8"). const AUFWAND_LPS = LPHS.slice(0, 8); +// LP_AUFWAND_VORLAGE: Standardwerte der Maske "Aufwand je Leistungsphase". +// Vorbefüllung beim Anlegen neuer Projekte sowie beim Öffnen der Maske für +// bestehende Projekte, die in einzelnen Feldern keine Werte haben – beim +// Speichern werden sie übernommen. Werte 0.0–1.0 je Rolle; 0 = kein Aufwand. +// Nicht gelistete Phasen/Rollen bleiben leer und zählen als Standard-Faktor 1,0. +// Hier im Code anpassen. +const LP_AUFWAND_VORLAGE = { + 'LPH 1': { Planung: 0.4, Projektleitung: 0.2, Bauüberwachung: 0 }, + 'LPH 2': { Planung: 0.4, Projektleitung: 0.2, Bauüberwachung: 0 }, + 'LPH 3': { Planung: 1.0, Projektleitung: 0.3, Bauüberwachung: 0 }, + 'LPH 4': { Planung: 0.0, Projektleitung: 0.3, Bauüberwachung: 0 }, + 'LPH 5': { Planung: 1.0, Projektleitung: 0.4, Bauüberwachung: 0 }, + 'LPH 6': { Planung: 0.2, Projektleitung: 0.7, Bauüberwachung: 0.3 }, + 'LPH 7': { Planung: 0.1, Projektleitung: 0.3, Bauüberwachung: 0.5 }, + 'LPH 8': { Planung: 0, Projektleitung: 0.2, Bauüberwachung: 1.0 } +}; + // PLATZHALTER! Ampel-Schwellen als Anteil des Maximalwerts LOAD_BAR_MAX // (gelb ab 50 %, rot ab 75 %). Müssen vom Fachplaner bestätigt werden. const THRESHOLD_RATIO_CRITICAL = 0.75; @@ -1867,6 +1882,7 @@ let lpModalProjectId = null; // Bauüberwachung). Die amtierende Leistungsphase wird pro Projekt im Tab // "Projekte" gewählt (renderProjects / editProjectActiveLP). // prefix: 'lp' = Bearbeiten-Modal, 'np' = Neues-Projekt-Modal (eindeutige IDs). +// Leere Felder werden mit den Standardwerten aus LP_AUFWAND_VORLAGE vorbefüllt. // Die Feld-IDs bleiben identisch, damit collectLpRows() unverändert funkioniert. function lpRowsHtml(p, prefix){ const head = ROLES.map(r => `${esc(r)}`).join(''); @@ -1875,8 +1891,10 @@ function lpRowsHtml(p, prefix){ const row = (p.aufwandProLP && typeof p.aufwandProLP[l] === 'object') ? p.aufwandProLP[l] : {}; const cells = ROLES.map((r, ri) => { const raw = row[r]; - const val = (raw !== undefined && raw !== null && raw !== '') - ? String(parseFloat(raw)).replace('.', ',') : ''; + const vorlage = LP_AUFWAND_VORLAGE && LP_AUFWAND_VORLAGE[l] ? LP_AUFWAND_VORLAGE[l][r] : undefined; + const base = (raw !== undefined && raw !== null && raw !== '') ? raw + : (vorlage !== undefined && vorlage !== null && vorlage !== '') ? vorlage : ''; + const val = base !== '' ? String(parseFloat(base)).replace('.', ',') : ''; return ``; }).join(''); return `${l}${cells}`; @@ -1919,8 +1937,9 @@ function collectLpRows(prefix){ } // applyLpRows: übernimmt das Ergebnis von collectLpRows auf ein Projekt. -// Ohne gepflegte Rollen-Matrix (leer) zählt bei gesetzter aktiver LP später der -// Standard-Faktor 1,0; ohne aktive LP zählt das Projekt 0. +// Die Maske ist mit den Standardwerten (LP_AUFWAND_VORLAGE) vorbefüllt; +// Felder ohne Vorbefüllung, die leer bleiben, zählen bei gesetzter aktiver LP +// später als Standard-Faktor 1,0; ohne aktive LP zählt das Projekt 0. // Die amtierende Leistungsphase wird separat über den Tab "Projekte" gesetzt. function applyLpRows(p, lp){ if(!lp) return false; diff --git a/sessions/.DS_Store b/sessions/.DS_Store index c903d441ba5370eefe382dfc39ac40a97990723a..ae6fe13c17e3930ee2c6351a0a6b792012b103e6 100644 GIT binary patch delta 14 VcmZn(XbIR*C&-wxxn8hU3;-$l1uFmm delta 14 VcmZn(XbIR*C&(DFxn8hU3;-#y1s?za diff --git a/sessions/ELT/KW_33___2026.csv b/sessions/ELT/KW_33___2026.csv index b6fa2a8..b503e16 100644 --- a/sessions/ELT/KW_33___2026.csv +++ b/sessions/ELT/KW_33___2026.csv @@ -6,7 +6,7 @@ ANWESENHEIT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 21-4030;NSHV Köln Immobilienprüfung in Hof;- Thorsten W. klärt und übernimmt Schriftverkehr
- LV liegt zur Sichtung bei T.W.
;X;;;;;;;;;;;;;;;;;;100%;100%;100%;;100%;100%;;;;Aktive Projekte;2;;; 22-4066;DSW 21, Umbau E-Mobilität;- Elt-Montagen ab KW 33.;;;;;;;;;;;;;;;;;;;100%;100%;100%;;100%;100%;100%;20%;;Aktive Projekte;6;;; 24-4043;S-K ODL-Heim Sanierung Krefeld;- Vorraussichtlich LV-Abgabe XX.XX
- LPH5 mündlich freigegeben
- Neuer EG Grundriss mit diversen Änderungen kommt noch von Architekten
;;;;;;;;;;;;;;;;;;;100%;100%;100%;;100%;;;;;Aktive Projekte;10;;; -21-4001;Feuerwehrgeräteh. Rodenkirchen;- KNX muß noch programmiert werden. Abnahme 27.07
- Fertigstellung Ende Juli
- Abnahmen laufen bis Ende KW31
- Blackbuilding Test 26.07
;X;;X;;;;X;X;;;;;;X;;;;;;;;;100%;100%;100%;;;Aktive Projekte;1;"{""start"":"""",""end"":"""",""milestones"":[{""id"":""mslrvh7hjau1e"",""name"":""Übergabe"",""date"":""2026-09-12"",""dependsOn"":[""mslv6h76cmx8k""],""position"":""after:mslv6h76cmx8k""}],""people"":[""p_ap"",""p_ak"",""p_sk"",""p_sg""],""progress"":""0"",""todos"":[{""id"":""msluufbp114g1"",""title"":""Test"",""start"":""2026-08-10"",""end"":""2026-08-14"",""done"":false,""dependsOn"":[],""assignees"":[""p_ap"",""p_ed""],""progress"":0},{""id"":""mslv6h76cmx8k"",""title"":""Test 2"",""start"":""2026-08-24"",""end"":""2026-09-04"",""done"":false,""dependsOn"":[""msluufbp114g1""],""assignees"":[""p_ap""],""progress"":41},{""id"":""mslw4l3qp1v18"",""title"":""Test 3"",""start"":""2026-09-14"",""end"":""2026-09-22"",""done"":false,""dependsOn"":[""m_mslrvh7hjau1e""],""assignees"":[],""progress"":0},{""id"":""msoltaa1itx48"",""title"":""Gehen"",""start"":""2026-09-23"",""end"":""2026-09-25"",""done"":false,""progress"":0,""dependsOn"":[""mslw4l3qp1v18""],""assignees"":[""p_ws""]}]}";"{""LPH 1"":{""Planung"":0.8},""LPH 2"":{""Planung"":0.8},""LPH 3"":{""Planung"":0.8},""LPH 4"":{""Planung"":0.8},""LPH 5"":{""Planung"":0.8}}";"[""LPH 3""]" +21-4001;Feuerwehrgeräteh. Rodenkirchen;- KNX muß noch programmiert werden. Abnahme 27.07
- Fertigstellung Ende Juli
- Abnahmen laufen bis Ende KW31
- Blackbuilding Test 26.07
;X;;X;;;;X;X;;;;;;X;;;;;100%;100%;100%;;100%;100%;100%;;;Aktive Projekte;1;"{""start"":"""",""end"":"""",""milestones"":[{""id"":""mslrvh7hjau1e"",""name"":""Übergabe"",""date"":""2026-09-12"",""dependsOn"":[""mslv6h76cmx8k""],""position"":""after:mslv6h76cmx8k""}],""people"":[""p_ap"",""p_ak"",""p_sk"",""p_sg""],""progress"":""0"",""todos"":[{""id"":""msluufbp114g1"",""title"":""Test"",""start"":""2026-08-10"",""end"":""2026-08-14"",""done"":false,""dependsOn"":[],""assignees"":[""p_ap"",""p_ed""],""progress"":0},{""id"":""mslv6h76cmx8k"",""title"":""Test 2"",""start"":""2026-08-24"",""end"":""2026-09-04"",""done"":false,""dependsOn"":[""msluufbp114g1""],""assignees"":[""p_ap""],""progress"":41},{""id"":""mslw4l3qp1v18"",""title"":""Test 3"",""start"":""2026-09-14"",""end"":""2026-09-22"",""done"":false,""dependsOn"":[""m_mslrvh7hjau1e""],""assignees"":[],""progress"":0},{""id"":""msoltaa1itx48"",""title"":""Gehen"",""start"":""2026-09-23"",""end"":""2026-09-25"",""done"":false,""progress"":0,""dependsOn"":[""mslw4l3qp1v18""],""assignees"":[""p_ws""]}]}";"{""LPH 1"":{""Planung"":0.8},""LPH 2"":{""Planung"":0.8},""LPH 3"":{""Planung"":0.8},""LPH 4"":{""Planung"":0.8},""LPH 5"":{""Planung"":0.8}}";"[""LPH 3""]" 22-4027;Sporthalle Soest;- SV und VOB Abnahme erfolgt.
- Nachprüfung VOB 24.07
- Keine Infos über Nachprüfung
;X;;;;;;;;;;;;;;;;;;100%;100%;100%;;100%;100%;100%;90%;;Aktive Projekte;3;;;"[""LPH 5""]" 22-4056;Gymnasium Hemer;;;;;;;;;;;;;;;;;;;;100%;100%;100%;;100%;100%;100%;90%;;Aktive Projekte;4;;; 22-4056-1;Gymnasium Hemer (Deckensanierung);- Beginn der Arbeiten vorraussichtlich KW 30 (KW 32 Kickoff);;;;;;;;;;;;;;;;;;;;;100%;;100%;100%;;;;Aktive Projekte;5;;;