major(fullstack): Add dynamic section spawning, removal of app. form create DTOs,

This commit is contained in:
2025-12-15 19:12:00 +01:00
parent 7bacff967e
commit 844ab8661c
47 changed files with 1283 additions and 511 deletions

View File

@@ -63,10 +63,10 @@
],
"type": "DATE",
"visibilityCondition": {
"conditionType": "SHOW",
"formElementConditionType": "SHOW",
"sourceFormElementReference": "art_der_massnahme",
"expectedValue": "Einführung",
"operator": "EQUALS"
"formElementExpectedValue": "Einführung",
"formElementOperator": "EQUALS"
}
},
{
@@ -89,10 +89,10 @@
],
"type": "RADIOBUTTON",
"visibilityCondition": {
"conditionType": "HIDE",
"formElementConditionType": "HIDE",
"sourceFormElementReference": "art_der_massnahme",
"expectedValue": "Ablösung/Einstellung IT-System",
"operator": "EQUALS"
"formElementExpectedValue": "Ablösung/Einstellung IT-System",
"formElementOperator": "EQUALS"
}
},
{
@@ -109,10 +109,10 @@
],
"type": "TEXTAREA",
"visibilityCondition": {
"conditionType": "SHOW",
"formElementConditionType": "SHOW",
"sourceFormElementReference": "testphase_findet_statt",
"expectedValue": "Ja",
"operator": "EQUALS"
"formElementExpectedValue": "Ja",
"formElementOperator": "EQUALS"
}
},
{
@@ -135,10 +135,10 @@
],
"type": "RADIOBUTTON",
"visibilityCondition": {
"conditionType": "SHOW",
"formElementConditionType": "SHOW",
"sourceFormElementReference": "testphase_findet_statt",
"expectedValue": "Ja",
"operator": "EQUALS"
"formElementExpectedValue": "Ja",
"formElementOperator": "EQUALS"
}
},
{
@@ -155,10 +155,10 @@
],
"type": "TEXTAREA",
"visibilityCondition": {
"conditionType": "SHOW",
"formElementConditionType": "SHOW",
"sourceFormElementReference": "verwendung_anonymisierter_daten",
"expectedValue": "Nein",
"operator": "EQUALS"
"formElementExpectedValue": "Nein",
"formElementOperator": "EQUALS"
}
},
{
@@ -175,10 +175,10 @@
],
"type": "TEXTAREA",
"visibilityCondition": {
"conditionType": "SHOW",
"formElementConditionType": "SHOW",
"sourceFormElementReference": "verwendung_anonymisierter_daten",
"expectedValue": "Nein",
"operator": "EQUALS"
"formElementExpectedValue": "Nein",
"formElementOperator": "EQUALS"
}
},
{
@@ -195,10 +195,10 @@
],
"type": "TEXTAREA",
"visibilityCondition": {
"conditionType": "SHOW",
"formElementConditionType": "SHOW",
"sourceFormElementReference": "verwendung_anonymisierter_daten",
"expectedValue": "Nein",
"operator": "EQUALS"
"formElementExpectedValue": "Nein",
"formElementOperator": "EQUALS"
}
},
{
@@ -215,10 +215,10 @@
],
"type": "TEXTAREA",
"visibilityCondition": {
"conditionType": "SHOW",
"formElementConditionType": "SHOW",
"sourceFormElementReference": "art_der_massnahme",
"expectedValue": "Ablösung/Einstellung IT-System",
"operator": "EQUALS"
"formElementExpectedValue": "Ablösung/Einstellung IT-System",
"formElementOperator": "EQUALS"
}
},
{
@@ -235,10 +235,10 @@
],
"type": "TEXTAREA",
"visibilityCondition": {
"conditionType": "SHOW",
"formElementConditionType": "SHOW",
"sourceFormElementReference": "art_der_massnahme",
"expectedValue": "Änderung IT-System",
"operator": "EQUALS"
"formElementExpectedValue": "Änderung IT-System",
"formElementOperator": "EQUALS"
}
}
]
@@ -261,10 +261,10 @@
],
"type": "TEXTAREA",
"visibilityCondition": {
"conditionType": "HIDE",
"formElementConditionType": "HIDE",
"sourceFormElementReference": "art_der_massnahme",
"expectedValue": "Ablösung/Einstellung IT-System",
"operator": "EQUALS"
"formElementExpectedValue": "Ablösung/Einstellung IT-System",
"formElementOperator": "EQUALS"
}
},
{
@@ -281,10 +281,10 @@
],
"type": "TEXTAREA",
"visibilityCondition": {
"conditionType": "HIDE",
"formElementConditionType": "HIDE",
"sourceFormElementReference": "art_der_massnahme",
"expectedValue": "Ablösung/Einstellung IT-System",
"operator": "EQUALS"
"formElementExpectedValue": "Ablösung/Einstellung IT-System",
"formElementOperator": "EQUALS"
}
},
{
@@ -301,10 +301,10 @@
],
"type": "TEXTAREA",
"visibilityCondition": {
"conditionType": "HIDE",
"formElementConditionType": "HIDE",
"sourceFormElementReference": "art_der_massnahme",
"expectedValue": "Ablösung/Einstellung IT-System",
"operator": "EQUALS"
"formElementExpectedValue": "Ablösung/Einstellung IT-System",
"formElementOperator": "EQUALS"
}
}
]
@@ -327,10 +327,10 @@
],
"type": "TEXTAREA",
"visibilityCondition": {
"conditionType": "HIDE",
"formElementConditionType": "HIDE",
"sourceFormElementReference": "art_der_massnahme",
"expectedValue": "Ablösung/Einstellung IT-System",
"operator": "EQUALS"
"formElementExpectedValue": "Ablösung/Einstellung IT-System",
"formElementOperator": "EQUALS"
}
},
{
@@ -347,10 +347,10 @@
],
"type": "TEXTAREA",
"visibilityCondition": {
"conditionType": "HIDE",
"formElementConditionType": "HIDE",
"sourceFormElementReference": "art_der_massnahme",
"expectedValue": "Ablösung/Einstellung IT-System",
"operator": "EQUALS"
"formElementExpectedValue": "Ablösung/Einstellung IT-System",
"formElementOperator": "EQUALS"
}
},
{
@@ -367,10 +367,10 @@
],
"type": "TEXTAREA",
"visibilityCondition": {
"conditionType": "HIDE",
"formElementConditionType": "HIDE",
"sourceFormElementReference": "art_der_massnahme",
"expectedValue": "Ablösung/Einstellung IT-System",
"operator": "EQUALS"
"formElementExpectedValue": "Ablösung/Einstellung IT-System",
"formElementOperator": "EQUALS"
}
},
{
@@ -393,10 +393,10 @@
],
"type": "RADIOBUTTON",
"visibilityCondition": {
"conditionType": "HIDE",
"formElementConditionType": "HIDE",
"sourceFormElementReference": "art_der_massnahme",
"expectedValue": "Ablösung/Einstellung IT-System",
"operator": "EQUALS"
"formElementExpectedValue": "Ablösung/Einstellung IT-System",
"formElementOperator": "EQUALS"
}
},
{
@@ -425,10 +425,10 @@
],
"type": "SELECT",
"visibilityCondition": {
"conditionType": "HIDE",
"formElementConditionType": "HIDE",
"sourceFormElementReference": "art_der_massnahme",
"expectedValue": "Ablösung/Einstellung IT-System",
"operator": "EQUALS"
"formElementExpectedValue": "Ablösung/Einstellung IT-System",
"formElementOperator": "EQUALS"
}
},
{
@@ -451,10 +451,10 @@
],
"type": "RADIOBUTTON",
"visibilityCondition": {
"conditionType": "HIDE",
"formElementConditionType": "HIDE",
"sourceFormElementReference": "art_der_massnahme",
"expectedValue": "Ablösung/Einstellung IT-System",
"operator": "EQUALS"
"formElementExpectedValue": "Ablösung/Einstellung IT-System",
"formElementOperator": "EQUALS"
}
},
{
@@ -477,70 +477,36 @@
],
"type": "RADIOBUTTON",
"visibilityCondition": {
"conditionType": "HIDE",
"formElementConditionType": "HIDE",
"sourceFormElementReference": "art_der_massnahme",
"expectedValue": "Ablösung/Einstellung IT-System",
"operator": "EQUALS"
"formElementExpectedValue": "Ablösung/Einstellung IT-System",
"formElementOperator": "EQUALS"
}
},
{
"reference": "modul_1",
"title": "Modul 1",
"description": "Beschreibung des ersten Moduls",
"title": "Modulname",
"description": "Name des Moduls eingeben",
"options": [
{
"value": "",
"label": "Modul 1",
"label": "Modulname",
"processingPurpose": "SYSTEM_OPERATION",
"employeeDataCategory": "NON_CRITICAL"
}
],
"type": "TEXTAREA",
"isClonable": true,
"sectionSpawnTrigger": {
"templateReference": "module_details_template",
"sectionSpawnConditionType": "SHOW",
"sectionSpawnOperator": "IS_NOT_EMPTY"
},
"visibilityCondition": {
"conditionType": "SHOW",
"formElementConditionType": "SHOW",
"sourceFormElementReference": "modulbasiertes_system",
"expectedValue": "Ja",
"operator": "EQUALS"
}
},
{
"reference": "modul_2",
"title": "Modul 2",
"description": "Beschreibung des zweiten Moduls",
"options": [
{
"value": "",
"label": "Modul 2",
"processingPurpose": "SYSTEM_OPERATION",
"employeeDataCategory": "NON_CRITICAL"
}
],
"type": "TEXTAREA",
"visibilityCondition": {
"conditionType": "SHOW",
"sourceFormElementReference": "modulbasiertes_system",
"expectedValue": "Ja",
"operator": "EQUALS"
}
},
{
"reference": "modul_3",
"title": "Modul 3",
"description": "Beschreibung des dritten Moduls",
"options": [
{
"value": "",
"label": "Modul 3",
"processingPurpose": "SYSTEM_OPERATION",
"employeeDataCategory": "NON_CRITICAL"
}
],
"type": "TEXTAREA",
"visibilityCondition": {
"conditionType": "SHOW",
"sourceFormElementReference": "modulbasiertes_system",
"expectedValue": "Ja",
"operator": "EQUALS"
"formElementExpectedValue": "Ja",
"formElementOperator": "EQUALS"
}
},
{
@@ -562,11 +528,18 @@
}
],
"type": "RADIOBUTTON",
"isClonable": false,
"sectionSpawnTrigger": {
"templateReference": "ki_details_template",
"sectionSpawnConditionType": "SHOW",
"sectionSpawnExpectedValue": "Ja",
"sectionSpawnOperator": "EQUALS"
},
"visibilityCondition": {
"conditionType": "HIDE",
"formElementConditionType": "HIDE",
"sourceFormElementReference": "art_der_massnahme",
"expectedValue": "Ablösung/Einstellung IT-System",
"operator": "EQUALS"
"formElementExpectedValue": "Ablösung/Einstellung IT-System",
"formElementOperator": "EQUALS"
}
},
{
@@ -589,10 +562,10 @@
],
"type": "RADIOBUTTON",
"visibilityCondition": {
"conditionType": "HIDE",
"formElementConditionType": "HIDE",
"sourceFormElementReference": "art_der_massnahme",
"expectedValue": "Ablösung/Einstellung IT-System",
"operator": "EQUALS"
"formElementExpectedValue": "Ablösung/Einstellung IT-System",
"formElementOperator": "EQUALS"
}
},
{
@@ -609,15 +582,184 @@
],
"type": "TEXTAREA",
"visibilityCondition": {
"conditionType": "SHOW",
"formElementConditionType": "SHOW",
"sourceFormElementReference": "wirtschaftliche_auswirkungen",
"expectedValue": "Ja",
"operator": "EQUALS"
"formElementExpectedValue": "Ja",
"formElementOperator": "EQUALS"
}
}
]
}
]
},
{
"title": "Moduldetails",
"shortTitle": "{{triggerValue}}",
"description": "Detaillierte Informationen zum Modul",
"isTemplate": true,
"templateReference": "module_details_template",
"titleTemplate": "Modul: {{triggerValue}}",
"formElementSubSections": [
{
"title": "Modulinformationen",
"formElements": [
{
"reference": "modul_beschreibung",
"title": "Modulbeschreibung",
"description": "Beschreiben Sie die Funktionalität des Moduls",
"type": "TEXTAREA",
"options": [
{
"value": "",
"label": "Beschreibung",
"processingPurpose": "SYSTEM_OPERATION",
"employeeDataCategory": "NON_CRITICAL"
}
]
},
{
"reference": "modul_nutzergruppen",
"title": "Nutzergruppen",
"description": "Welche Nutzergruppen verwenden dieses Modul?",
"type": "TEXTAREA",
"options": [
{
"value": "",
"label": "Nutzergruppen",
"processingPurpose": "SYSTEM_OPERATION",
"employeeDataCategory": "REVIEW_REQUIRED"
}
]
},
{
"reference": "modul_datenkategorien",
"title": "Verarbeitete Datenkategorien",
"type": "CHECKBOX",
"options": [
{
"value": "false",
"label": "Stammdaten",
"processingPurpose": "SYSTEM_OPERATION",
"employeeDataCategory": "NON_CRITICAL"
},
{
"value": "false",
"label": "Leistungsdaten",
"processingPurpose": "DATA_ANALYSIS",
"employeeDataCategory": "SENSITIVE"
},
{
"value": "false",
"label": "Verhaltensdaten",
"processingPurpose": "DATA_ANALYSIS",
"employeeDataCategory": "SENSITIVE"
}
]
}
]
}
]
},
{
"title": "Details zum KI-Einsatz",
"shortTitle": "KI-Einsatz",
"description": "Informationen zum Einsatz künstlicher Intelligenz",
"isTemplate": true,
"templateReference": "ki_details_template",
"titleTemplate": "Details zum KI-Einsatz",
"formElementSubSections": [
{
"title": "KI-Informationen",
"formElements": [
{
"reference": "ki_art",
"title": "Art der KI",
"description": "Um welche Art von KI handelt es sich?",
"type": "CHECKBOX",
"options": [
{
"value": "false",
"label": "Machine Learning",
"processingPurpose": "DATA_ANALYSIS",
"employeeDataCategory": "SENSITIVE"
},
{
"value": "false",
"label": "Generative KI (LLM)",
"processingPurpose": "DATA_ANALYSIS",
"employeeDataCategory": "SENSITIVE"
},
{
"value": "false",
"label": "Regelbasierte KI",
"processingPurpose": "DATA_ANALYSIS",
"employeeDataCategory": "REVIEW_REQUIRED"
}
]
},
{
"reference": "ki_zweck",
"title": "Einsatzzweck der KI",
"description": "Für welchen Zweck wird die KI eingesetzt?",
"type": "TEXTAREA",
"options": [
{
"value": "",
"label": "Einsatzzweck",
"processingPurpose": "DATA_ANALYSIS",
"employeeDataCategory": "SENSITIVE"
}
]
},
{
"reference": "ki_entscheidungen",
"title": "Automatisierte Entscheidungen",
"description": "Werden durch die KI automatisierte Entscheidungen getroffen, die Beschäftigte betreffen?",
"type": "RADIOBUTTON",
"options": [
{
"value": "Nein",
"label": "Nein",
"processingPurpose": "DATA_ANALYSIS",
"employeeDataCategory": "NON_CRITICAL"
},
{
"value": "Ja, mit menschlicher Überprüfung",
"label": "Ja, mit menschlicher Überprüfung",
"processingPurpose": "DATA_ANALYSIS",
"employeeDataCategory": "SENSITIVE"
},
{
"value": "Ja, vollautomatisch",
"label": "Ja, vollautomatisch",
"processingPurpose": "DATA_ANALYSIS",
"employeeDataCategory": "SENSITIVE"
}
]
},
{
"reference": "ki_trainingsdaten",
"title": "Trainingsdaten",
"description": "Werden Beschäftigtendaten für das Training der KI verwendet?",
"type": "RADIOBUTTON",
"options": [
{
"value": "Nein",
"label": "Nein",
"processingPurpose": "DATA_ANALYSIS",
"employeeDataCategory": "NON_CRITICAL"
},
{
"value": "Ja",
"label": "Ja",
"processingPurpose": "DATA_ANALYSIS",
"employeeDataCategory": "SENSITIVE"
}
]
}
]
}
]
}
]
}