diff --git a/BeWo/AI/AiChatController.cs b/BeWo/AI/AiChatController.cs new file mode 100644 index 000000000..616133547 --- /dev/null +++ b/BeWo/AI/AiChatController.cs @@ -0,0 +1,45 @@ +using BeWo.AI.View; +using BeWo.View; +using BS.Shared; +using BS.Shared.Translation; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BeWo.AI +{ + class AiChatController + { + private static void CreateAiChatWindow(AiChatView view, double height, double width) + { + var beWoWindow = BeWoWindowBuilder.GetBeWoWindow(Translator.Translate("Frage unsere KI"), view, height, width); + + view.CloseButtonClicked += () => beWoWindow.Close(); + + beWoWindow.ShowDialog(); + } + + public static void ShowAiChatViewForServiceRecords(long c2sOid, DateTime start, DateTime end, double height, double width) + { + var ctrl = new AiChatView(); + ctrl.InitServiceRecordQuery(c2sOid, start, end); + CreateAiChatWindow(ctrl, height, width); + } + + public static void ShowAiChatViewForSingleCustomer(long customerOid, double height, double width) + { + var ctrl = new AiChatView(); + ctrl.InitSingleCustomerQuery(customerOid); + CreateAiChatWindow(ctrl, height, width); + } + + public static void ShowAiChatViewForObjects(TableID tableId, double height, double width) + { + var ctrl = new AiChatView(); + ctrl.InitObjectQuery(tableId); + CreateAiChatWindow(ctrl, height, width); + } + } +} diff --git a/BeWo/BeWo.csproj b/BeWo/BeWo.csproj index 8e898f11b..82c471f1a 100644 --- a/BeWo/BeWo.csproj +++ b/BeWo/BeWo.csproj @@ -43,12 +43,12 @@ de-DE BeWoPlaner ownSoft GmbH - 2.0.1.242 + 2.0.1.243 true publish.htm false true - 243 + 244 2.0.1.%2a false true diff --git a/BeWo/app.config b/BeWo/app.config index 86dd5294a..566c145c9 100644 --- a/BeWo/app.config +++ b/BeWo/app.config @@ -13,17 +13,17 @@ - + - + - + diff --git a/BeWoPlanerMobil/BeWoPlanerMobil.csproj.user b/BeWoPlanerMobil/BeWoPlanerMobil.csproj.user index 2763ebb1b..033eb78ef 100644 --- a/BeWoPlanerMobil/BeWoPlanerMobil.csproj.user +++ b/BeWoPlanerMobil/BeWoPlanerMobil.csproj.user @@ -8,7 +8,7 @@ - Debug|Any CPU + Release|Any CPU ShowAllFiles 600 MvcControllerEmptyScaffolder diff --git a/Model/Changes_2024_06_21 Organisation Leistungserbringergruppe.txt b/Model/Changes_2024_06_21 Organisation Leistungserbringergruppe.txt index 244dfca50..a901c7db9 100644 --- a/Model/Changes_2024_06_21 Organisation Leistungserbringergruppe.txt +++ b/Model/Changes_2024_06_21 Organisation Leistungserbringergruppe.txt @@ -1,2 +1,2 @@ ALTER TABLE `organisation` -ADD COLUMN `Leistungserbringergruppe` VARCHAR(16) NULL DEFAULT NULL AFTER `IKDatenannahmestelle`; +ADD COLUMN `Leistungserbringergruppe` VARCHAR(256) NULL DEFAULT NULL AFTER `IKDatenannahmestelle`; diff --git a/ReportImp/Fortis/ZeitdokumentationPlanIstUebersicht.cs b/ReportImp/Fortis/ZeitdokumentationPlanIstUebersicht.cs index 61dacee0c..97a477d7b 100644 --- a/ReportImp/Fortis/ZeitdokumentationPlanIstUebersicht.cs +++ b/ReportImp/Fortis/ZeitdokumentationPlanIstUebersicht.cs @@ -197,49 +197,49 @@ namespace Fortis //Stufe IST: - + var durchschnittProWoche = ro.DurchschnittProWocheDirekt + ro.DurchschnittProWocheAbgesagt; if (!ro.DokuzeitraumStart.HasValue) { ro.StufeIst = "-"; } - else if (ro.DurchschnittProWocheDirekt < 90) + else if (durchschnittProWoche < 90) { ro.StufeIst = "< 1"; } - else if (ro.DurchschnittProWocheDirekt >= 90 && ro.DurchschnittProWocheDirekt < 120) + else if (durchschnittProWoche >= 90 && durchschnittProWoche < 120) { ro.StufeIst = "2"; } - else if (ro.DurchschnittProWocheDirekt >= 121 && ro.DurchschnittProWocheDirekt < 165) + else if (durchschnittProWoche >= 121 && durchschnittProWoche < 165) { ro.StufeIst = "3"; } - else if (ro.DurchschnittProWocheDirekt >= 166 && ro.DurchschnittProWocheDirekt <= 225) + else if (durchschnittProWoche >= 166 && durchschnittProWoche <= 225) { ro.StufeIst = "4"; } - else if (ro.DurchschnittProWocheDirekt >= 226 && ro.DurchschnittProWocheDirekt <= 300) + else if (durchschnittProWoche >= 226 && durchschnittProWoche <= 300) { ro.StufeIst = "5"; } - else if (ro.DurchschnittProWocheDirekt >= 301 && ro.DurchschnittProWocheDirekt <= 420) + else if (durchschnittProWoche >= 301 && durchschnittProWoche <= 420) { ro.StufeIst = "6"; } - else if (ro.DurchschnittProWocheDirekt > 420) + else if (durchschnittProWoche > 420) { ro.StufeIst = "> 6"; } //Unter STufe: - if (ro.DurchschnittProWocheDirekt < 90) + if (durchschnittProWoche < 90) { - ro.MinutenProWocheUnterStufe = ro.DurchschnittProWocheDirekt - ro.KorridorVon; + ro.MinutenProWocheUnterStufe = durchschnittProWoche - ro.KorridorVon; } - else if (ro.KorridorVon > ro.DurchschnittProWocheDirekt + 1) + else if (ro.KorridorVon > durchschnittProWoche + 1) { - ro.MinutenProWocheUnterStufe = ro.DurchschnittProWocheDirekt + 1 - ro.KorridorVon; + ro.MinutenProWocheUnterStufe = durchschnittProWoche + 1 - ro.KorridorVon; } else { @@ -249,21 +249,21 @@ namespace Fortis //Bis Ende Stufe: - if (ro.DurchschnittProWocheDirekt < 90) + if (durchschnittProWoche < 90) { ro.MinutenProWocheBisEndeStufe = 0; } - else if (ro.DurchschnittProWocheDirekt + 1 >= ro.KorridorVon && ro.DurchschnittProWocheDirekt < ro.KorridorBis) + else if (durchschnittProWoche + 1 >= ro.KorridorVon && durchschnittProWoche < ro.KorridorBis) { - ro.MinutenProWocheBisEndeStufe = ro.DurchschnittProWocheDirekt - ro.KorridorBis; + ro.MinutenProWocheBisEndeStufe = durchschnittProWoche - ro.KorridorBis; } //Über Stufe: - if (ro.KorridorBis < ro.DurchschnittProWocheDirekt) + if (ro.KorridorBis < durchschnittProWoche) { - ro.MinutenProWocheUeberStufe = (ro.KorridorBis - ro.DurchschnittProWocheDirekt) * -1; + ro.MinutenProWocheUeberStufe = (ro.KorridorBis - durchschnittProWoche) * -1; } else { diff --git a/ReportImp/MobileEV/Service/CustomSaveInterceptor.cs b/ReportImp/MobileEV/Service/CustomSaveInterceptor.cs index 373e0d86a..4f0deeb4a 100644 --- a/ReportImp/MobileEV/Service/CustomSaveInterceptor.cs +++ b/ReportImp/MobileEV/Service/CustomSaveInterceptor.cs @@ -14,7 +14,7 @@ namespace MobileEV.Service public override void BeforeSaveServiceRecord(ServiceRecord sr) { - if (sr.CostBearer2SupportConcept.CostBearer.Organisation.Function != null && !sr.CostBearer2SupportConcept.CostBearer.Organisation.Function.Value.IsNullOrEmpty() && sr.CostBearer2SupportConcept.CostBearer.Organisation.Function.Value == "Rundung Selbstzahler wie LWL") + if (sr.CostBearer2SupportConcept != null && sr.CostBearer2SupportConcept.CostBearer.Organisation.Function != null && !sr.CostBearer2SupportConcept.CostBearer.Organisation.Function.Value.IsNullOrEmpty() && sr.CostBearer2SupportConcept.CostBearer.Organisation.Function.Value == "Rundung Selbstzahler wie LWL") { // Nach LWL-Regeln runden diff --git a/ReportImp/PariSozial/CustomReportCreator.cs b/ReportImp/PariSozial/CustomReportCreator.cs new file mode 100644 index 000000000..c8b678104 --- /dev/null +++ b/ReportImp/PariSozial/CustomReportCreator.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using BeWo.Data.Access; +using BeWo.Data.Entities; +using BeWo.Report; +using BeWo.Report.ReportObjects; +using BeWo.Service.DCEntityMapper; +using BS.Shared; +using BS.Shared.DataContracts; +using DevExpress.XtraReports.UI; + +namespace PariSozial +{ + public class CustomReportCreator : DefaultReportCreator + { + public override XtraReport CreateServiceOverviewAllCustomersReport(int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay) + { + List lROs = ServicesOverviewRO.Create(month, year, orgaOid, empOid, startDay, endDay, serviceCategoryOid); + + if (lROs.Count > 0) + { + var rootReport = CreateServicesOverviewReportForRo(lROs[0], serviceCategoryOid); + rootReport.CreateDocument(); + + for (int i = 1; i < lROs.Count; i++) + { + var lNext = CreateServicesOverviewReportForRo(lROs[i], serviceCategoryOid); + lNext.CreateDocument(); + rootReport.Pages.AddRange(lNext.Pages); + } + + return rootReport; + } + return new XtraReport(); + } + + public override XtraReport CreateServiceOverviewSingleCustomerReport(long customerOid, int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay) + { + var ro = ServicesOverviewRO.Create(customerOid, month, year, false, orgaOid, empOid, startDay, endDay, serviceCategoryOid); + + return CreateServicesOverviewReportForRo(ro, serviceCategoryOid); + } + + public override XtraReport CreateReportForServicesOverviewRo(ServicesOverviewRO ro, string reportId) + { + return CreateServicesOverviewReportForRo(ro, null); + } + + private XtraReport CreateServicesOverviewReportForRo(ServicesOverviewRO ro, long? serviceCategoryOid) + { + XtraReport report = null; + + + ServicesOverviewRO defaultRo = ServicesOverviewRO.CopyFromRO(ro); + ServicesOverviewRO assiRo = ServicesOverviewRO.CopyFromRO(ro); + + if (ro.Services != null) + { + foreach (ServicesOverviewRO.ServiceDetail s in ro.Services) + { + if (s.ServiceCategory.ToLower().Contains("assistenz") ) + { + assiRo.Services.Add(s); + } + else + { + defaultRo.Services.Add(s); + } + } + } + + report = AddSubServicesOverviewReportToReport(report, new Quittierungsbeleg(), defaultRo); + report = AddSubServicesOverviewReportToReport(report, new AssistenzstundenReport(), assiRo); + + if (report == null) + report = new XtraReport(); + + return report; + } + } +}