From cf2c2c8c08f06c6108893f6508560c6d09a57fbb Mon Sep 17 00:00:00 2001 From: Waldi Date: Tue, 14 Nov 2017 10:33:57 +0100 Subject: [PATCH] SBD Update --- BeWo/PasswortSecurity/PasswortSicherheit.cs | 1 - .../NewSchulbegleitenderDienstView.xaml | 16 +- .../NewSchulbegleitenderDienstView.xaml.cs | 215 +++++++++--------- .../SBD/Vertretung/VertretungsAlgorithmus.cs | 12 +- .../DataContracts/VertretungsListeItemsDC.cs | 3 + 5 files changed, 132 insertions(+), 115 deletions(-) diff --git a/BeWo/PasswortSecurity/PasswortSicherheit.cs b/BeWo/PasswortSecurity/PasswortSicherheit.cs index 356a7aed4..605ff5027 100644 --- a/BeWo/PasswortSecurity/PasswortSicherheit.cs +++ b/BeWo/PasswortSecurity/PasswortSicherheit.cs @@ -104,7 +104,6 @@ namespace BeWo.PasswortSecurity else { //Passwort Längen Bonus Punkte - //hier npwb gegen text austauschen und schauen wie es funktioniert if (neuesPwBox.Length >= 6 && neuesPwBox.Length < 9) { score += 1; diff --git a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml index 17a3cf70e..a6bd4b8ab 100644 --- a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml +++ b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml @@ -803,7 +803,7 @@ - + @@ -851,7 +851,7 @@ - + @@ -886,7 +886,7 @@ - + @@ -920,7 +920,7 @@ - + @@ -953,7 +953,7 @@ - + @@ -986,7 +986,7 @@ - + @@ -1019,7 +1019,7 @@ - + @@ -1047,7 +1047,7 @@ - + diff --git a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs index 6ce340ca1..bdb7fc821 100644 --- a/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs +++ b/BeWo/SchulbegleitenderDienst/NewSchulbegleitenderDienstView.xaml.cs @@ -96,6 +96,7 @@ namespace BeWo.SchulbegleitenderDienst KrankMeldungKlientDatepicker.DateTime = dt; } + //Lade Tagesansichts gedöns private void GetAllVertretungenOnLoad(DateTime AusgewaehltesDatum) { _items.Clear(); @@ -112,7 +113,7 @@ namespace BeWo.SchulbegleitenderDienst { GridDataControlTagesansicht.RefreshData(); GridDataControlTagesansicht.RefreshUI(); - GetWochenDienstFromItems(AusgewaehltesDatum); + // GetWochenDienstFromItems(AusgewaehltesDatum); }); #endregion }); @@ -162,27 +163,6 @@ namespace BeWo.SchulbegleitenderDienst }); } - private void GetAllWieAbschlagszahlung(DateTime startDate, DateTime endDate) - { - //Hier neuen bereich für QuittierungsCheck - - //ServiceFacade.DoOperationsServiceAsync(s => s.KlientenAbschlagsInfoListe(startDate, endDate), r => - // { - // _wieAbschlagszahlung.Clear(); - - // AddWieAbschlagszahlungToGrid(r.CustomerAccountItemList); - - // #region Dispatcher Refresh Grid - // this.Dispatch(delegate - // { - // // GridControlKlient.RefreshData(); - // // GridControlKlient.RefreshUI(); - // }); - // #endregion - //}); - - } - private void AddItemsToGrid(VertretungsListeItemsDC item) { int i = 0, y = 0; @@ -236,6 +216,7 @@ namespace BeWo.SchulbegleitenderDienst xyc.Klientoid = customer.Key ; xyc.Kunde = customer.Value; xyc.WochenansichtBemerkung = item.WochenansichtBemerkung; + //xyc.Beschreibung = item.Bemerkung;//nur anzeigen wenn gewollt das man die Message Von der Krankmeldung sieht if (item.EmployeeName.Equals("")) { @@ -319,6 +300,7 @@ namespace BeWo.SchulbegleitenderDienst xyc.Vertreteroid = item.VertetenderMit; xyc.Mitarbeiteroid = item.EmployeeOid; xyc.WochenansichtBemerkung = item.WochenansichtBemerkung; + //xyc.Beschreibung = item.Bemerkung; //nur anzeigen wenn gewollt das man die Message Von der Krankmeldung sieht xyc.Kunde = ""; xyc.Klientoid = 0; @@ -336,15 +318,10 @@ namespace BeWo.SchulbegleitenderDienst #endregion } - - //Hier die Abgrenzung von Klienten(Krank) und Customer(Krank) vollführen - - - - + } - #region Mitarbeiter Wochenansicht Verarbeitung + #region Mitarbeiter Wochenansicht Verarbeitung | Rausnehmen ??? private void AddMitarbeiterItemsToGrid(VertretungsListeMitarbeiterItemsDC item, DateTime time) { @@ -396,24 +373,7 @@ namespace BeWo.SchulbegleitenderDienst _mitarbeiterwochen.Add(x); } - - private void AddWieAbschlagszahlungToGrid(Dictionary> item) - { - //Add irgendwas mit WieAbschlagszahlung - - //foreach (var key in item) - //{ - - // foreach (var valuelist in key.Value) - // { - // WieAbschlagszahlung waz = new WieAbschlagszahlung(key.Key.FullName,valuelist.InsertedOn.ToString(),valuelist.BookingDate.ToString(), - // valuelist.ValidityDate.ToString(),valuelist.Amount.ToString(),valuelist.Notice,"Unterschift fehlt",key.Key); - - // _wieAbschlagszahlung.Add(waz); - // } - //} - } - + public MitarbeiterWochenansicht WochentageMitarbeiterVerarbeitung(DateTime startDt, DateTime endDt, DateTime wochenTag, VertretungsListeMitarbeiterItemsDC item, MitarbeiterWochenansicht wwk, string eingesetztBei, int wochenTagZahl) { // mach colles zeug @@ -554,7 +514,8 @@ namespace BeWo.SchulbegleitenderDienst MaKrank = item.KrankerMitarbeiter, Kind = item.Kunde, MaFrei = item.Vertretung, - Bemerkung = item.WochenansichtBemerkung + WochenBeschreibung = item.WochenansichtBemerkung, + //Bemerkung = item.Beschreibung }; @@ -625,14 +586,15 @@ namespace BeWo.SchulbegleitenderDienst return ""; } + //geht das nicht irgendwie besser und verständlicher ? | also bearbeiten private Wochenansichten WochentagVerarbeitung(DateTime anfangDt, DateTime endeDt, DateTime wochentagDt, SchulbegleitenderDienst item,string vertretungstag, string einsetzungstag,Wochenansichten wwk ,int i) { if (anfangDt.Date <= wochentagDt && wochentagDt <= endeDt.Date) { if (item.VertretungsDC != null) { - if (item.VertretungsDC.VertretungsZeitraumVon <= wochentagDt && - item.VertretungsDC.VertretungsZeitraumBis >= wochentagDt) + if (item.VertretungsDC.VertretungsZeitraumVon.Date <= wochentagDt.Date && + item.VertretungsDC.VertretungsZeitraumBis.Date >= wochentagDt.Date) { Dictionary sa = new Dictionary(); sa.Add(wochentagDt, item); // item.vertreteroid @@ -985,9 +947,10 @@ namespace BeWo.SchulbegleitenderDienst xyc.Vertretung = item.VertretenderMitarbeiter; xyc.IsKunde = i; - - xyc.Beschreibung = item.Vertretung.Notice; - + + xyc.Beschreibung = item.Vertretung.Notice; + + return xyc; } @@ -1000,8 +963,7 @@ namespace BeWo.SchulbegleitenderDienst KrankheitsMeldung = item.Krankheitsmeldung, IsMitarbeiter = y, Arbeitszeit = item.Worktime, - Wochentagsarbeitszeit = item.Wochentagsarbeitszeit - + Wochentagsarbeitszeit = item.Wochentagsarbeitszeit }; if (item.Abwesenheitskategorie != null) @@ -1193,8 +1155,16 @@ namespace BeWo.SchulbegleitenderDienst SaveEmployeeInVertretung(); ClearAllMitarbeiterValues(); - - GetAllVertretungenOnLoad(Datepicker.DateTime.Date); + + if (GridDataControlTagesansicht.Visibility == Visibility.Visible) + { + GetAllVertretungenOnLoad(Datepicker.DateTime.Date); + } + else if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible) + { + var x = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear()); + GetAllVertrungenFromWeekRange(x, x.AddDays(5)); + } } } @@ -1394,8 +1364,16 @@ namespace BeWo.SchulbegleitenderDienst SaveKlientInVertretung(); ClearAllKlientValues(); - - GetAllVertretungenOnLoad(Datepicker.DateTime.Date); + + if (GridDataControlTagesansicht.Visibility == Visibility.Visible) + { + GetAllVertretungenOnLoad(Datepicker.DateTime.Date); + } + else if (GridDataControlKlientenWochenansicht.Visibility == Visibility.Visible) + { + var x = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear()); + GetAllVertrungenFromWeekRange(x, x.AddDays(5)); + } } } @@ -1503,7 +1481,7 @@ namespace BeWo.SchulbegleitenderDienst #region Tages / Wochen Vertretungsanzeige - #region Mitarbeiter Wochen Vertretung verarbeitung + #region Mitarbeiter Wochen Vertretung verarbeitung | wird nicht gebraucht wegnehmen bei ok private void AddKlientToMitarbeiter_OnClick(object sender, RoutedEventArgs e) { @@ -1607,58 +1585,64 @@ namespace BeWo.SchulbegleitenderDienst #endregion + + #region Klient Wochen Vertretung verarbeiten private void KlientenWochenAnzeigeSettings_OnDefaultButtonClick(object sender, RoutedEventArgs e) { - var a = (Wochenansichten)GridDataControlKlientenWochenansicht.SelectedItem; + var a = (Wochenansichten) GridDataControlKlientenWochenansicht.SelectedItem; - var tag = GridDataControlKlientenWochenansicht.CurrentColumn.FieldName; + if (!a.IsMitarbeiterKrank) + { + var tag = GridDataControlKlientenWochenansicht.CurrentColumn.FieldName; - VertretungDC vertretung = new VertretungDC(); - AbsenceTimeDC absenceTime = new AbsenceTimeDC(); - foreach (var vert in a.KlientvertretungsWoche) - { - if (vert.Key.Equals(tag)) - { - foreach (var val in vert.Value) - { - vertretung = val.Value.VertretungsDC; - absenceTime = val.Value.AbsenceTimeDC; - } - } - } - - - if (!a.MaKrank.Equals("")) - { - //if(vertretung.EmployeeOid != 0){ + VertretungDC vertretung = new VertretungDC(); + AbsenceTimeDC absenceTime = new AbsenceTimeDC(); + foreach (var vert in a.KlientvertretungsWoche) + { + if (vert.Key.Equals(tag)) + { + foreach (var val in vert.Value) + { + vertretung = val.Value.VertretungsDC; + absenceTime = val.Value.AbsenceTimeDC; + } + } + } + + if (!a.MaKrank.Equals("")) + { + //if(vertretung.EmployeeOid != 0){ if (_view == null) { - _view = new SchulbegleitenderDienstBearbeitungsView(1, absenceTime.Start, absenceTime.End, Datepicker.DateTime,vertretung.CustomerOid ); + _view = new SchulbegleitenderDienstBearbeitungsView(1, absenceTime.Start, absenceTime.End, + Datepicker.DateTime, vertretung.CustomerOid); - _view.RaiseCustomEvent += new EventHandler(KlientenWochen_RaiseCustomEvent); + _view.RaiseCustomEvent += new EventHandler(KlientenWochen_RaiseCustomEvent); _view.ShowDialog(); } else { - _view.Close(); - _view = new SchulbegleitenderDienstBearbeitungsView(1, absenceTime.Start, absenceTime.End, Datepicker.DateTime, vertretung.CustomerOid); + _view.Close(); + _view = new SchulbegleitenderDienstBearbeitungsView(1, absenceTime.Start, absenceTime.End, + Datepicker.DateTime, vertretung.CustomerOid); - _view.RaiseCustomEvent += new EventHandler(KlientenWochen_RaiseCustomEvent); + _view.RaiseCustomEvent += new EventHandler(KlientenWochen_RaiseCustomEvent); _view.ShowDialog(); - } - //} - //else - //{ - // MessageBox.Show("Einem Kranken Klienten kann man keine Vertretung zuteilen."); - //} - - }else - { - MessageBox.Show("Fehler"); - } - } + } + + } + else + { + MessageBox.Show("Fehler"); + } + } + else + { + MessageBox.Show("Du kannst einem kranken Klienten keine Mitarbeiter hinzufügen.","Info"); + } + } private void KlientenWochen_RaiseCustomEvent(object sender, CustomEventArgs e) { @@ -1722,16 +1706,38 @@ namespace BeWo.SchulbegleitenderDienst _view.Close(); - GetAllVertretungenOnLoad(Datepicker.DateTime.Date); + + //Diese Funktion führt zur fehlerhaften darstellung + //GetAllVertretungenOnLoad(Datepicker.DateTime.Date); + var x = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear()); + GetAllVertrungenFromWeekRange(x, x.AddDays(5)); } } } - #endregion + #endregion - #region Tages Klient Vertretung verarbeiten + #region Klienten Wochen 2 Vertretung Verarbeiten + //Richtigen namen für finden + private void ButtonInfo_OnClick(object sender, RoutedEventArgs e) + { + var a = (Wochenansichten)GridDataControlKlientenWochenansicht2.SelectedItem; - private void TagesansichtSettings_OnDefaultButtonClick(object sender, RoutedEventArgs e) + if (!a.IsMitarbeiterKrank) + { + // bleibt noch offen + } + else + { + MessageBox.Show("Du kannst einem kranken Klienten keine Mitarbeiter hinzufügen.","Info"); + } + + } + #endregion + + #region Tages Klient Vertretung verarbeiten + + private void TagesansichtSettings_OnDefaultButtonClick(object sender, RoutedEventArgs e) { var a = (SchulbegleitenderDienst)GridDataControlTagesansicht.SelectedItem; @@ -2486,8 +2492,9 @@ namespace BeWo.SchulbegleitenderDienst } } - - } + + + } #region Connectoren @@ -2589,6 +2596,8 @@ namespace BeWo.SchulbegleitenderDienst public bool isCustomerKrank { get; set; } public string Bemerkung { get; set; } + + public string WochenBeschreibung { get; set; } } diff --git a/Service/SBD/Vertretung/VertretungsAlgorithmus.cs b/Service/SBD/Vertretung/VertretungsAlgorithmus.cs index cda6c73f9..9a143c699 100644 --- a/Service/SBD/Vertretung/VertretungsAlgorithmus.cs +++ b/Service/SBD/Vertretung/VertretungsAlgorithmus.cs @@ -314,6 +314,8 @@ namespace BeWo.Service.SBD.Vertretung AddArbeitszeitToItem(item, item.EmployeeOid, 1); //überprüfung durchführen und ggf mehrere Davon anlegen. wegen vertretungszeiten bei krankheitszeiträumen + item.Bemerkung = vertritt.Notice; + //Abfragen ob überhaupt ein Employee Vorhanden ist. vertretungsliste.Add(item); @@ -349,7 +351,7 @@ namespace BeWo.Service.SBD.Vertretung item.Abwesenheitskategorie = ars.Reason; item.Absencetime = ars; - + item.Bemerkung = ars.Notice; AddKrankheitsZeitraumAndMeldungToItem(item, ars); @@ -434,6 +436,8 @@ namespace BeWo.Service.SBD.Vertretung AddArbeitszeitToItem(item, item.EmployeeOid, 1); } + //item.Bemerkung = ars.Notice; + if (DarfGeaddetWerden(item, vertretungsliste)) { vertretungsliste.Add(item); @@ -488,6 +492,7 @@ namespace BeWo.Service.SBD.Vertretung item.WochenansichtBemerkung = "Test"; + item.Bemerkung = vertritt.Notice; if (vertritt.VertretungsZeitraumVon.Date <= _endDate.Date && vertritt.VertretungsZeitraumBis.Date >= _startDate.Date) { @@ -585,7 +590,7 @@ namespace BeWo.Service.SBD.Vertretung item.Abwesenheitskategorie = ars.Reason; item.Absencetime = ars; - + item.Bemerkung = ars.Notice; AddKrankheitsZeitraumAndMeldungToItem(item, ars); @@ -803,7 +808,7 @@ namespace BeWo.Service.SBD.Vertretung } #endregion - #region Ermittle time Range ,Erstelle neue Vertretung + #region Ermittle time Range ,Erstelle neue Vertretung // nicht benutzter bereich / war dafür gedacht einem klienten mehrere Employee zuzuweisen private void ErmittleTimeRange(DateTime start, DateTime end, DateTime vertretStart, DateTime vertretEnd) @@ -952,6 +957,7 @@ namespace BeWo.Service.SBD.Vertretung CustomerOid = new List(), Wochentagsarbeitszeit = new Dictionary(), Customer = new Dictionary() + }; diff --git a/Shared/DataContracts/VertretungsListeItemsDC.cs b/Shared/DataContracts/VertretungsListeItemsDC.cs index 494eb76d1..cc7a19e0e 100644 --- a/Shared/DataContracts/VertretungsListeItemsDC.cs +++ b/Shared/DataContracts/VertretungsListeItemsDC.cs @@ -58,5 +58,8 @@ namespace BS.Shared.DataContracts [DataMember] public string WochenansichtBemerkung { get; set; } + [DataMember] + public string Bemerkung { get; set; } + } } \ No newline at end of file