diff --git a/Service/Import/Perseh/PersehReader.cs b/Service/Import/Perseh/PersehReader.cs index 23ca12bb7..4b97bcce5 100644 --- a/Service/Import/Perseh/PersehReader.cs +++ b/Service/Import/Perseh/PersehReader.cs @@ -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() { "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() { "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; } diff --git a/Service/Import/TextAbschnittReader.cs b/Service/Import/TextAbschnittReader.cs index be713b0dc..9e667ec8c 100644 --- a/Service/Import/TextAbschnittReader.cs +++ b/Service/Import/TextAbschnittReader.cs @@ -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 ignoreLines = null) { var ta = new TextAbschnitt(); StringBuilder sb = new StringBuilder(); ta.ZeilenIndex = index; + + if (ignoreLines == null) + { + ignoreLines = new List(); + + } 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;