fix: Messwertlinie (m) im DIA0-Modus in DetailModal sichtbar gemacht

This commit is contained in:
ISA
2025-07-11 08:23:15 +02:00
parent e9a6d45d1f
commit bb8b345647
13 changed files with 194 additions and 15 deletions

View File

@@ -0,0 +1,81 @@
// /services/fetchSystemChartDataService.ts
/**
* hier ist nur noch ein Test, wenn nicht gebraucht, kann die Datei gelöscht werden.
*/
const getApiUrl = (
mode: "DIA0" | "DIA1" | "DIA2",
type: number,
slotNumber: number,
vonDatum: string,
bisDatum: string
) => {
if (!slotNumber) {
console.error("⚠️ Slot-Nummer nicht gesetzt!");
return "";
}
// type: 3 → Isolationswiderstand
// type: 4 → Schleifenwiderstand
const typeFolder =
type === 3
? "isolationswiderstand"
: type === 4
? "schleifenwiderstand"
: "unbekannterTyp";
return process.env.NEXT_PUBLIC_NODE_ENV === "development"
? `/api/cpl/slotDataAPIHandler?slot=${slotNumber}&messart=${typeFolder}&dia=${mode}&vonDatum=${vonDatum}&bisDatum=${bisDatum}`
: `${window.location.origin}/CPL?seite.ACP&${mode}=${formatDate(
vonDatum
)};${formatDate(bisDatum)};${slotNumber};${type};`;
};
/**
* Wandelt ein Datum von "YYYY-MM-DD" zu "YYYY;MM;DD" um (für die API-URL).
*/
const formatDate = (dateString: string) => {
const dateParts = dateString.split("-");
return `${dateParts[0]};${dateParts[1]};${dateParts[2]}`;
};
/**
* Holt die Messwerte vom Embedded-System oder einer JSON-Datei.
*/
export const fetchSystemChartData = async (
mode: "DIA0" | "DIA1" | "DIA2",
type: number,
slotNumber: number,
vonDatum: string,
bisDatum: string
) => {
try {
const apiUrl = getApiUrl(mode, type, slotNumber, vonDatum, bisDatum);
if (!apiUrl) {
throw new Error(
"❌ Keine gültige API-URL! in /services/fetchSystemChartData.ts"
);
}
console.log(
`📡 Fetching data from in /services/fetchSystemChartData.ts: ${apiUrl}`
);
const response = await fetch(apiUrl);
if (!response.ok) {
throw new Error(`❌ Fehler: ${response.status} ${response.statusText}`);
}
const data = await response.json();
console.log(
"✅ Daten erfolgreich geladen in /services/fetchSystemChartData.ts:",
data
);
return data;
} catch (error) {
console.error(
"❌ Fehler beim Laden der Schleifenmesskurvendaten in /services/fetchSystemChartData.ts:",
error
);
return null;
}
};