Bugfix Perseh Import für LVW wenn keine Massnahmen vorhanden sind

This commit is contained in:
2025-10-24 01:56:35 +02:00
parent 6dc40579d8
commit b8fff99aaa
2 changed files with 49 additions and 4 deletions

View File

@@ -214,7 +214,9 @@ namespace BeWo.Service.Import.Perseh
startIdx = 0;
while (startIdx >= 0)
{
var ta = TextAbschnittReader.LeseBisText(zeilen, startIdx, "Lebensbereich ", true, false, false);
var ignore = new List<String>() { "Lebensbereich Stunden pro Woche" };
var ta = TextAbschnittReader.LeseBisText(zeilen, startIdx, "Lebensbereich ", true, false, false, ignore);
if (ta.Success)
{
ziele.AddRange(ErstelleBereichMitZielen(zeilen, ta));
@@ -1446,7 +1448,9 @@ gegen von Ärzten empfohlene medikamentöse Therapien, thematisieren.
int idxBereichStart = ta.ZeilenIndex + 1;
int idxBereichtEnde = zeilen.Length;
var taEnde = TextAbschnittReader.LeseBisText(zeilen, ta.ZeilenIndex + 1, "Lebensbereich ", true, false, false);
var ignore = new List<String>() { "Lebensbereich Stunden pro Woche" };
var taEnde = TextAbschnittReader.LeseBisText(zeilen, ta.ZeilenIndex + 1, "Lebensbereich ", true, false, false, ignore);
if (taEnde.Success)
{
idxBereichtEnde = taEnde.ZeilenIndex;
@@ -1505,6 +1509,41 @@ gegen von Ärzten empfohlene medikamentöse Therapien, thematisieren.
{
return true;
}
if (zeile.StartsWith("Seite ") && zeile.Contains(" von "))
{
return true;
}
//LVR spezifisch:
if ("Übersicht der Leistungsplanung Eingliederungshilfe".Equals(zeile))
{
return true;
}
if ("Stunden pro Woche für Fachleistungsstunden".Equals(zeile))
{
return true;
}
if ("Lebensbereich Stunden pro Woche".Equals(zeile))
{
return true;
}
if (zeile.StartsWith("Allgemeine Aufgaben und Anforderungen") && zeile.Length < 45)
{
return true;
}
if (zeile.StartsWith("Selbstversorgung") && zeile.Length < 24)
{
return true;
}
if (zeile.StartsWith("Häusliches Leben") && zeile.Length < 24)
{
return true;
}
if (zeile.StartsWith("Interpersonelle Interaktionen und Beziehungen") && zeile.Length < 53)
{
return true;
}
return false;
}

View File

@@ -12,18 +12,24 @@ namespace BeWo.Service.Import
public class TextAbschnittReader
{
public static TextAbschnitt LeseBisText(string[] lines, int index, String suchText, bool sucheAmZeilenAnfang, bool sucheInnerhalbDerZeile, bool sucheAmZeilenEnde)
public static TextAbschnitt LeseBisText(string[] lines, int index, String suchText, bool sucheAmZeilenAnfang, bool sucheInnerhalbDerZeile, bool sucheAmZeilenEnde, IList<String> ignoreLines = null)
{
var ta = new TextAbschnitt();
StringBuilder sb = new StringBuilder();
ta.ZeilenIndex = index;
if (ignoreLines == null)
{
ignoreLines = new List<String>();
}
while (index < lines.Length)
{
String line = lines[index];
sb.AppendLine(line);
if ((sucheAmZeilenAnfang && line.StartsWith(suchText)) || (sucheInnerhalbDerZeile && line.Contains(suchText)) || (sucheAmZeilenEnde && line.EndsWith(suchText)))
if (((sucheAmZeilenAnfang && line.StartsWith(suchText)) || (sucheInnerhalbDerZeile && line.Contains(suchText)) || (sucheAmZeilenEnde && line.EndsWith(suchText))) && !ignoreLines.Contains(line))
{
ta.Success = true;
ta.ZeilenIndex = index;