diff --git a/BeWo/BeWo.csproj b/BeWo/BeWo.csproj index f0d865ab9..1844d47c9 100644 --- a/BeWo/BeWo.csproj +++ b/BeWo/BeWo.csproj @@ -43,12 +43,12 @@ de-DE BeWoPlaner beyondSoft GmbH - 2.0.1.210 + 2.0.1.212 true publish.htm false true - 211 + 213 2.0.1.%2a false true diff --git a/BeWo/LoginControl.xaml.cs b/BeWo/LoginControl.xaml.cs index 73fa02310..70a1b0a3c 100644 --- a/BeWo/LoginControl.xaml.cs +++ b/BeWo/LoginControl.xaml.cs @@ -971,7 +971,7 @@ namespace BeWo }); }, true); } - else if (result == UserValidationResult.PasswordExpired) + else if (result == UserValidationResult.PasswordExpired || result == UserValidationResult.BeWoPasswordNotAllowed) { BeWoApp.UserName = lUserName; BeWoApp.UserPassword = lPassword; @@ -987,8 +987,13 @@ namespace BeWo BeWoApp.Mandator = m; this.Dispatch(delegate { + String msg = Translator.Translate("Das Passwort ist abgelaufen!"); + if (result == UserValidationResult.BeWoPasswordNotAllowed) + { + msg = Translator.Translate("Das Passwort ist leider unsicher und muss zwingend geändert werden!"); + } grid_root.Children.Remove(lWaitLayer); - MessageBox.Show("Das Passwort ist abgelaufen!", "Fehler bei der Anmeldung", MessageBoxButton.OK, MessageBoxImage.Exclamation); + MessageBox.Show(msg, "Fehler bei der Anmeldung", MessageBoxButton.OK, MessageBoxImage.Exclamation); var pav = new PasswortAenderungsView(); pav.ShowDialog(); diff --git a/BeWo/View/Detail/PersonView.xaml.cs b/BeWo/View/Detail/PersonView.xaml.cs index 49c743b61..48540b51e 100644 --- a/BeWo/View/Detail/PersonView.xaml.cs +++ b/BeWo/View/Detail/PersonView.xaml.cs @@ -328,7 +328,7 @@ namespace BeWo.View.Detail foreach (var cus in list) { - if (cus.Customer != null) + if (cus.Customer != null && cus.RelationRole != null) { KlientenUmfeldGridControl defvk = new KlientenUmfeldGridControl( cus.Customer.LastNameFirstName, diff --git a/BeWo/View/PasswortAenderungsView.xaml.cs b/BeWo/View/PasswortAenderungsView.xaml.cs index 29c88b52f..a489fb2e1 100644 --- a/BeWo/View/PasswortAenderungsView.xaml.cs +++ b/BeWo/View/PasswortAenderungsView.xaml.cs @@ -86,12 +86,12 @@ namespace BeWo.View if (ViewModel.DataContract.UserOid == BeWoApp.LoggedOnUser.UserOid) { BeWoApp.UserPassword = newPassword; - ServiceFacade.DoUserServiceAsync(s => s.LoadUser(BeWoApp.LoggedOnUser.UserOid.Value), obj2 => - { - BeWoApp.LoggedOnUser = obj2; - BeWoApp.LoggedOnUser.ResetPasswordInfos.ForEach(f => f.HasToChangePW = false); - ServiceFacade.DoUserServiceAsync(s3 => s3.UpdateUser(BeWoApp.LoggedOnUser), true); - }, true); + //ServiceFacade.DoUserServiceAsync(s => s.LoadUser(BeWoApp.LoggedOnUser.UserOid.Value), obj2 => + //{ + // BeWoApp.LoggedOnUser = obj2; + // BeWoApp.LoggedOnUser.ResetPasswordInfos.ForEach(f => f.HasToChangePW = false); + // ServiceFacade.DoUserServiceAsync(s3 => s3.UpdateUser(BeWoApp.LoggedOnUser), true); + //}, true); } this.Dispatch(Close); diff --git a/Data/Mappings/Employee.hbm.xml b/Data/Mappings/Employee.hbm.xml index 15fe7a0d9..b1926f7e0 100644 --- a/Data/Mappings/Employee.hbm.xml +++ b/Data/Mappings/Employee.hbm.xml @@ -65,7 +65,7 @@ - + diff --git a/ReportImp/AmbulantBetreutesWohnenAstridPulm/QuittierungsbelegMitDatum.cs b/ReportImp/AmbulantBetreutesWohnenAstridPulm/QuittierungsbelegMitDatum.cs index 3eaa212a1..74dbed512 100644 --- a/ReportImp/AmbulantBetreutesWohnenAstridPulm/QuittierungsbelegMitDatum.cs +++ b/ReportImp/AmbulantBetreutesWohnenAstridPulm/QuittierungsbelegMitDatum.cs @@ -98,7 +98,7 @@ namespace AmbulantBetreutesWohnenAstridPulm if (newRows > 0) { - lblUnterschriftKlient.Top += newRows * 20; + //lblUnterschriftKlient.Top += newRows * 20; lblUnterschriftMitarbeiter.Top += newRows * 20; } } diff --git a/ReportImp/AwoDortmund/Export/DiamantExporter.cs b/ReportImp/AwoDortmund/Export/DiamantExporter.cs index f9c660161..199e5d914 100644 --- a/ReportImp/AwoDortmund/Export/DiamantExporter.cs +++ b/ReportImp/AwoDortmund/Export/DiamantExporter.cs @@ -73,6 +73,7 @@ namespace AwoDortmund.Export DataTable dtAssi = null; DataTable dtOffenerTreff = null; + DataTable dtSoziTreff = null; String sql; if (date < new DateTime(2019, 1, 1)) @@ -94,12 +95,18 @@ namespace AwoDortmund.Export cats.Add(13); // Offener Treff var otSql = GetMonatlicheAbrechnungStringForCatsSql(date, cats, null); dtOffenerTreff = ExecuteQuery(otSql, date); + + cats = new List(); + cats.Add(50); // Offener Treff + var soziSql = GetMonatlicheAbrechnungStringForCatsSql(date, cats, null); + dtSoziTreff = ExecuteQuery(soziSql, date); } var dt = ExecuteQuery(sql, date); Dictionary c2sOid2AssiBetrag = CreateDictionary(dtAssi); Dictionary c2sOid2OtBetrag = CreateDictionary(dtOffenerTreff); + Dictionary c2sOid2SoziBetrag = CreateDictionary(dtSoziTreff); StringBuilder sb = new StringBuilder(); @@ -167,7 +174,7 @@ namespace AwoDortmund.Export } else { - ErstelleKostenstellenZeilenNeu(row, sb, c2sOid2AssiBetrag, c2sOid2OtBetrag); + ErstelleKostenstellenZeilenNeu(row, sb, c2sOid2AssiBetrag, c2sOid2OtBetrag, c2sOid2SoziBetrag); } } //F,0,050,,BEWO,DA,01012016,012016,iBelegNr1,Belegnr1,220001,,,,999.99, "Name AZ Abrechnung 01/2016 LVR",,,EUR,,,,,,,,,,,R,,, @@ -227,7 +234,7 @@ namespace AwoDortmund.Export } } - private static void ErstelleKostenstellenZeilenNeu(DataRow row, StringBuilder sb, Dictionary c2sOid2AssiBetrag, Dictionary c2sOid2OtBetrag) + private static void ErstelleKostenstellenZeilenNeu(DataRow row, StringBuilder sb, Dictionary c2sOid2AssiBetrag, Dictionary c2sOid2OtBetrag, Dictionary c2sOid2SoziBetrag) { if (row.ItemArray.Length > 15) { @@ -243,6 +250,7 @@ namespace AwoDortmund.Export decimal betragBewo = Math.Round(gesamtbetrag, 2, MidpointRounding.AwayFromZero); decimal betragGruppen = 0;//Math.Round(gesamtbetrag, 2, MidpointRounding.AwayFromZero); decimal betragAssistenz = 0;//Math.Round(gesamtbetrag, 2, MidpointRounding.AwayFromZero); + decimal betragSozi = 0; if (oid.HasValue && c2sOid2AssiBetrag.ContainsKey(oid.Value)) { @@ -257,6 +265,12 @@ namespace AwoDortmund.Export betragGruppen = Math.Round(betragGruppen, 2, MidpointRounding.AwayFromZero); betragBewo -= betragGruppen; } + if (oid.HasValue && c2sOid2SoziBetrag.ContainsKey(oid.Value)) + { + betragSozi = c2sOid2SoziBetrag[oid.Value]; + betragSozi = Math.Round(betragSozi, 2, MidpointRounding.AwayFromZero); + betragBewo -= betragSozi; + } //bewo 610900 //offener Treff 610910 Leistungskategorie Gruppenbuchung //Assistenzleistungen 610915 Leistungskategorien Assistenz (Kategorie Assistenzleistungen) @@ -288,6 +302,14 @@ namespace AwoDortmund.Export sb.Append(String.Format("{0:0.##}", betragAssistenz * -1).Replace(",", ".")); sb.Append(";"); } + + if (betragSozi > 0) + { + sb.AppendLine(); + sb.Append("K;0;610905;;;;;;"); + sb.Append(String.Format("{0:0.##}", betragSozi * -1).Replace(",", ".")); + sb.Append(";"); + } } } diff --git a/ReportImp/DiakonieKKKleve/InvoiceCustomerReport.cs b/ReportImp/DiakonieKKKleve/InvoiceCustomerReport.cs index 26805a413..6c415b372 100644 --- a/ReportImp/DiakonieKKKleve/InvoiceCustomerReport.cs +++ b/ReportImp/DiakonieKKKleve/InvoiceCustomerReport.cs @@ -1,4 +1,6 @@ using System; +using BeWo.Data.Access; +using BeWo.Data.Entities; using BeWo.Report; using BeWo.Report.ReportObjects; @@ -13,6 +15,23 @@ namespace DiakonieKKKleve public void SetReportDataSource(InvoiceCustomerRO pRO) { + if (pRO.InvoiceBase != null && pRO.InvoiceBase.SupportConceptOid.HasValue) + { + var sc = DAOFactory.GenericDAO.LoadByID(pRO.InvoiceBase.SupportConceptOid.Value); + + foreach (var item in sc.CostBearer2SupportConceptList) + { + foreach (var ap in item.ApprovalPeriodList) + { + if (ap.ServiceCategory != null && ap.ServiceCategory.Name.Contains("Therapie")) + { + xrRichText1.Rtf = xrRichText1.Rtf.Replace("Ambulant Betreutes Wohnen", "Soziotherapie"); + } + } + } + } + + if (!String.IsNullOrEmpty(pRO.SenderPhone)) { pRO.SenderPhone = pRO.SenderPhone.Replace("Tel.:", "").Trim(); diff --git a/ReportImp/SozialeDienstleistungenBeckerReports/CustomMitarbeiterstundenkontoBerechnung.cs b/ReportImp/SozialeDienstleistungenBeckerReports/CustomMitarbeiterstundenkontoBerechnung.cs index 572ea1ef2..333947b7a 100644 --- a/ReportImp/SozialeDienstleistungenBeckerReports/CustomMitarbeiterstundenkontoBerechnung.cs +++ b/ReportImp/SozialeDienstleistungenBeckerReports/CustomMitarbeiterstundenkontoBerechnung.cs @@ -88,7 +88,11 @@ namespace SozialeDienstleistungenBeckerReports out decimal alteExtraUeberstunden) { DateTime stichTag = new DateTime(2021, 1, 1); - //DateTime stichTag = new DateTime(2020, 5, 1); + + if (monat.Year == 2020) + { + stichTag = new DateTime(2020, 1, 1); + } if (monat >= stichTag) { diff --git a/Service/Plugins/PluginLoader.cs b/Service/Plugins/PluginLoader.cs index 687ed2843..aa26e25aa 100644 --- a/Service/Plugins/PluginLoader.cs +++ b/Service/Plugins/PluginLoader.cs @@ -30,7 +30,7 @@ namespace BeWo.Service.Plugins //t = "0216265667"; // LH Hannover //t = "1774789565"; // LH Essen //t = "9342168675"; // ABC Betreuungen - jetzt Schubkraft - //t = "1193188501"; // Aids Hilfe Dortmund + t = "1193188501"; // Aids Hilfe Dortmund //t = "7860351957"; // SKF Alsdorf //t = "3311520228"; // Die Düne //t = "1352143437"; // Sewo @@ -166,7 +166,7 @@ namespace BeWo.Service.Plugins //t = "7803602698"; // Taubblindendienst //t = "5518600303"; // Wetterleuchten e.V. //t = "4096649015"; // AWO Dortmund - t = "3614251071"; // Pusteblume + //t = "3614251071"; // Pusteblume //t = "7755740484"; // Sawo //t = "8275654834"; // Twg Jonathan //t = "6586058528"; // Freundeskreis Suchtkrankenhilfe e.V. diff --git a/Service/Plugins/UserService.cs b/Service/Plugins/UserService.cs index c0097cd8f..0e49734af 100644 --- a/Service/Plugins/UserService.cs +++ b/Service/Plugins/UserService.cs @@ -60,17 +60,17 @@ namespace BeWo.Service.Plugins emp.LeadingTeamOids = oids; } - var teams = DAOFactory.SearchDAO.FindAllActiveTeamsOfEmployee(emp.EmployeeOid); - emp.TeamOids = new List(); - foreach (var t in teams) - { - emp.TeamOids.Add(t.Oid.Value); + //var teams = DAOFactory.SearchDAO.FindAllActiveTeamsOfEmployee(emp.EmployeeOid); + //emp.TeamOids = new List(); + //foreach (var t in teams) + //{ + // emp.TeamOids.Add(t.Oid.Value); - foreach (var member in t.MemberList) - { - emp.AllTeamMemberOids.Add(member.Oid.Value); - } - } + // foreach (var member in t.MemberList) + // { + // emp.AllTeamMemberOids.Add(member.Oid.Value); + // } + //} } } @@ -116,17 +116,17 @@ namespace BeWo.Service.Plugins emp.LeadingTeamOids = oids; } - var teams = DAOFactory.SearchDAO.FindAllActiveTeamsOfEmployee(emp.EmployeeOid); - emp.TeamOids = new List(); - foreach (var t in teams) - { - emp.TeamOids.Add(t.Oid.Value); + //var teams = DAOFactory.SearchDAO.FindAllActiveTeamsOfEmployee(emp.EmployeeOid); + //emp.TeamOids = new List(); + //foreach (var t in teams) + //{ + // emp.TeamOids.Add(t.Oid.Value); - foreach (var member in t.MemberList) - { - emp.AllTeamMemberOids.Add(member.Oid.Value); - } - } + // foreach (var member in t.MemberList) + // { + // emp.AllTeamMemberOids.Add(member.Oid.Value); + // } + //} } } diff --git a/Service/ServiceImplementations/UserServiceImp.cs b/Service/ServiceImplementations/UserServiceImp.cs index c082a1619..8eeca927c 100644 --- a/Service/ServiceImplementations/UserServiceImp.cs +++ b/Service/ServiceImplementations/UserServiceImp.cs @@ -481,9 +481,10 @@ namespace BeWo.Service.ServiceImplementations } else if (settings.IsPasswordSecurityActiv) { + if (!lUser.Zeitstempel.HasValue || lUser.Zeitstempel.Value == DateTime.MinValue) { - lUser.Zeitstempel = lUser.InsTs; + lUser.Zeitstempel = DateTime.Now; } if (!lUser.Zeitstempel.HasValue || DateTime.Now > lUser.Zeitstempel.Value.AddYears(1)) @@ -491,7 +492,10 @@ namespace BeWo.Service.ServiceImplementations result = UserValidationResult.PasswordExpired; } } - + if (pPassword == "bewo") + { + result = UserValidationResult.BeWoPasswordNotAllowed; + } } var lLogin = new Login {LoginName = pUserName, LoginDate = DateTime.Now}; @@ -827,6 +831,10 @@ namespace BeWo.Service.ServiceImplementations { return "Das angegebene Passwort ist nicht korrekt!"; } + if (pNewPassword.Equals("bewo")) + { + return "Das Passwort ist nicht erlaubt"; + } var settings = AppSettings.CreateSettings(); if (settings.IsPasswordSecurityActiv) { @@ -860,10 +868,7 @@ namespace BeWo.Service.ServiceImplementations return "Das Passwort muss mindestens drei Zeichen aus der Gruppe Sonderzeichen, Zahlen, Groß- und Kleinbuchstaben enthalten."; } - if (pNewPassword.Equals("bewo")) - { - return "Das Passwort darf nicht bewo heißen"; - } + return pNewPassword.Equals(pOldPassword) ? "Sie dürfen nicht das gleiche Passwort benutzen!" : null; } diff --git a/Shared/BeWoEntityEnums.cs b/Shared/BeWoEntityEnums.cs index 866b2e8d9..1a24d7b4d 100644 --- a/Shared/BeWoEntityEnums.cs +++ b/Shared/BeWoEntityEnums.cs @@ -692,7 +692,8 @@ namespace BS.Shared PinAlreadyUsed = 6, PasswordExpired = 7, UserValidTwoFactorAuthenticationNeeded = 8, - EmployeeDeleted = 9 + EmployeeDeleted = 9, + BeWoPasswordNotAllowed = 10 } public enum SupportConceptApprovalInterval