From ccb1a37a950bddb0e5070dbc8f4a4f919d43e127 Mon Sep 17 00:00:00 2001 From: Lyndon Date: Fri, 27 Mar 2026 15:14:20 +0100 Subject: [PATCH 01/10] =?UTF-8?q?Das=20=C3=9Cbertragen=20eines=20Kalendert?= =?UTF-8?q?ermins=20in=20die=20Zeiterfassung=20funktioniert=20jetzt=20wied?= =?UTF-8?q?er=20bei=20Serienterminen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewModel/NewSchedulerViewModel.cs | 2 +- BeWo/ownChat/ChatDokumentationsView.xaml.cs | 7 +- .../DevExpressSchedulerController.cs | 78 +++++- BeWoPlanerMobil/Controllers/MainController.cs | 260 ++++++++++-------- .../Controllers/SchedulerController.cs | 14 +- .../Util/FormCollectionConstants.cs | 6 + .../AptFltCustomersPartial.cshtml | 10 +- .../AptFltEmployeesPartial.cshtml | 14 +- .../AptFltResourcesPartial.cshtml | 17 +- .../DevExpressScheduler.cshtml | 225 ++++++++------- .../Scheduler/OneDaySchedulerPartial.cshtml | 8 +- Data/Access/SearchDAO.cs | 10 +- Service/ServiceContracts/IEmployeeService.cs | 4 + .../ServiceContracts/IOperationsService.cs | 4 + .../EmployeeServiceImp.cs | 16 +- .../OperationsServiceImp.cs | 7 + .../DataContracts/SchedulerAppointmentDC.cs | 8 +- 17 files changed, 435 insertions(+), 255 deletions(-) diff --git a/BeWo/Scheduler/ViewModel/NewSchedulerViewModel.cs b/BeWo/Scheduler/ViewModel/NewSchedulerViewModel.cs index 33c7bc663..f1574b9b0 100644 --- a/BeWo/Scheduler/ViewModel/NewSchedulerViewModel.cs +++ b/BeWo/Scheduler/ViewModel/NewSchedulerViewModel.cs @@ -76,7 +76,7 @@ namespace BeWo.Scheduler.ViewModel ServiceFacade.DoEmployeeServiceSync(s => originator = s.FindCompactEmployeeByFullname(abwesenheit.InsUser)); } - if(!(dc is null)) + if(false == dc is null) { subject += $" ({dc.SimpleDescription})"; } diff --git a/BeWo/ownChat/ChatDokumentationsView.xaml.cs b/BeWo/ownChat/ChatDokumentationsView.xaml.cs index 68031b05a..de4d021bc 100644 --- a/BeWo/ownChat/ChatDokumentationsView.xaml.cs +++ b/BeWo/ownChat/ChatDokumentationsView.xaml.cs @@ -162,12 +162,12 @@ namespace BeWo.ownChat var goalCategoryDict = vm.AllGoalCategories.ToDictionary(goalCat => goalCat.ValueListEntryOid.Value); - foreach (var goal in infoDC.SupportConceptGoals) + foreach(var goal in infoDC.SupportConceptGoals) { - if (goal.ParentOid != null && goalCategoryDict.ContainsKey(goal.ParentOid.Value)) + if(goal.ParentOid != null && goalCategoryDict.ContainsKey(goal.ParentOid.Value)) { var path = ServiceRecordListVM.GetAllParentGoalCategoies(goalCategoryDict, goal); - foreach (var goalCat in path) + foreach(var goalCat in path) { goalCats.Add(goalCat); goalCategoryDict.Remove(goalCat.ValueListEntryOid.Value); @@ -214,7 +214,6 @@ namespace BeWo.ownChat { vm.FetchStatistics(cb2ScOid.Value); } - serviceRecordEditView.InitView(vm, _ServiceRecord, hideCustomerCombo); diff --git a/BeWoPlanerMobil/Controllers/DevExpressSchedulerController.cs b/BeWoPlanerMobil/Controllers/DevExpressSchedulerController.cs index e767001bf..e9d48c8d9 100644 --- a/BeWoPlanerMobil/Controllers/DevExpressSchedulerController.cs +++ b/BeWoPlanerMobil/Controllers/DevExpressSchedulerController.cs @@ -22,7 +22,6 @@ namespace BeWoPlanerMobil.Controllers /* * ToDo: * 1. Filterung einbauen (Mitarbeiter, Klienten, Ressourcen, Privat, Aufgaben, Abwesenheiten) - * Das Filtern muss über den CustomCallback geschehen, damit die Termin-Liste aktualisiert wird. * 2. "In die Zeiterfassung übertragen" und "Verfügbare Mitarbeiter prüfen" einbauen * 3. Rechte implementieren! * 4. Übersetzungen @@ -94,12 +93,14 @@ namespace BeWoPlanerMobil.Controllers private void InitViewModel() { - if(!MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer") || Model?.LoggedInEmployee?.EmployeeOid is null) + if(false == MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer") || Model?.LoggedInEmployee?.EmployeeOid is null) { Logout(); return; } + var x = Model.SelectedEmployeeOidsForFiltering; + Model.PossibleEmployees = EmployeeService.GetAllAuthorizedCompactEmployees(); Model.PossibleCustomers = CustomerService.GetAllAuthorizedCompactCustomers(); Model.PossibleResources = KalenderService.GetAllResources(); @@ -263,7 +264,7 @@ namespace BeWoPlanerMobil.Controllers [Authorize] public ActionResult DevExpressScheduler() { - if(!MobileSessionFacade.IsUserLoggedIn() || Model is null) + if(false == MobileSessionFacade.IsUserLoggedIn() || Model is null) { return RedirectToActionPermanent("Index", "Login"); } @@ -515,7 +516,16 @@ namespace BeWoPlanerMobil.Controllers return PartialView("AptFltEmployeePopupListPartial"); } - Model.SelectedEmployeeOidsForFiltering = Model.PossibleEmployees.Select(employee => employee.EmployeeOid).ToList(); + if(isChecked) + { + Model.SelectedEmployeesForFiltering = Model.PossibleEmployees; + Model.SelectedEmployeeOidsForFiltering = Model.PossibleEmployees.Select(employee => employee.EmployeeOid).ToList(); + } + else + { + Model.SelectedEmployeesForFiltering?.Clear(); + Model.SelectedEmployeeOidsForFiltering?.Clear(); + } return PartialView("AptFltEmployeePopupListPartial", Model); } @@ -529,7 +539,16 @@ namespace BeWoPlanerMobil.Controllers return PartialView("AptFltCustomerPopupListPartial"); } - Model.SelectedCustomerOidsForFiltering = Model.PossibleCustomers.Select(customer => customer.CustomerOid).ToList(); + if(isChecked) + { + Model.SelectedCustomerOidsForFiltering = Model.PossibleCustomers.Select(customer => customer.CustomerOid).ToList(); + Model.SelectedCustomersForFiltering = Model.PossibleCustomers; + } + else + { + Model.SelectedCustomerOidsForFiltering?.Clear(); + Model.SelectedCustomersForFiltering?.Clear(); + } return PartialView("AptFltCustomerPopupListPartial", Model); } @@ -543,9 +562,18 @@ namespace BeWoPlanerMobil.Controllers return PartialView("AptFltResourcePopupListPartial"); } - Model.SelectedResourceOidsForFiltering = Model.PossibleResources.Where(resource => resource.ResourceOid.HasValue).Select(resource => resource.ResourceOid.Value).ToList(); + if(isChecked) + { + Model.SelectedResourceOidsForFiltering = Model.PossibleResources.Where(resource => resource.ResourceOid.HasValue).Select(resource => resource.ResourceOid.Value).ToList(); + Model.SelectedResourcesForFiltering = Model.PossibleResources; + } + else + { + Model.SelectedResourceOidsForFiltering?.Clear(); + Model.SelectedResourcesForFiltering?.Clear(); + } - return PartialView("AptFltResourcePopupListPartial"); + return PartialView("AptFltResourcePopupListPartial", Model); } [Authorize] @@ -561,14 +589,17 @@ namespace BeWoPlanerMobil.Controllers if(selectedTeam is null) { - return PartialView("AptFltEmployeePopupListPartial"); + return PartialView("AptFltEmployeePopupListPartial", Model); } var fullTeamObj = EmployeeService.LoadTeam(teamOid); - Model.SelectedEmployeeOids.AddRangeIfElementsNotIn(fullTeamObj.Member.Select(member => member.EmployeeOid)); + var teamMembers = fullTeamObj?.Member ?? new List(); - return PartialView("AptFltEmployeePopupListPartial"); + Model.SelectedEmployeesForFiltering.AddRangeIfElementsNotIn(teamMembers); + Model.SelectedEmployeeOids.AddRangeIfElementsNotIn(teamMembers.Select(member => member.EmployeeOid)); + + return PartialView("AptFltEmployeePopupListPartial", Model); } [Authorize] @@ -582,6 +613,7 @@ namespace BeWoPlanerMobil.Controllers var selectedEmployees = Model.PossibleEmployees.Where(possibleEmployee => selectedEmployeeOids.Contains(possibleEmployee.EmployeeOid)).ToList(); + Model.SelectedEmployeesForFiltering = selectedEmployees; Model.SelectedEmployeeOidsForFiltering = selectedEmployees.Select(employee => employee.EmployeeOid).ToList(); return PartialView("AptFltEmployeePopupListPartial", Model); @@ -598,6 +630,9 @@ namespace BeWoPlanerMobil.Controllers var selectedCustomers = Model.PossibleCustomers.Where(possibleCustomer => selectedCustomerOids.Contains(possibleCustomer.CustomerOid)).ToList(); + Model.SelectedCustomersForFiltering = selectedCustomers; + Model.SelectedCustomerOidsForFiltering = selectedCustomers.Select(customer => customer.CustomerOid).ToList(); + return PartialView("AptFltCustomerPopupListPartial", Model); } @@ -610,7 +645,30 @@ namespace BeWoPlanerMobil.Controllers return PartialView("AptFltResourcePopupListPartial"); } + var selectedResources = Model.PossibleResources.Where(possibleResource => possibleResource.ResourceOid.HasValue && selectedResourceOids.Contains(possibleResource.ResourceOid.Value)).ToList(); + + Model.SelectedResourcesForFiltering = selectedResources; + Model.SelectedResourceOidsForFiltering = selectedResources.Where(resource => resource.ResourceOid.HasValue).Select(resource => resource.ResourceOid.Value).ToList(); + return PartialView("AptFltResourcePopupListPartial", Model); } + + [Authorize] + public string GetSelectedEmployeesForAptFlt() + { + return JsonConvert.SerializeObject(Model.SelectedEmployeeOidsForFiltering.Count); + } + + [Authorize] + public string GetSelectedCustomersForAptFlt() + { + return JsonConvert.SerializeObject(Model.SelectedCustomerOidsForFiltering.Count); + } + + [Authorize] + public string GetSelectedResourcesForAptFlt() + { + return JsonConvert.SerializeObject(Model.SelectedResourceOidsForFiltering.Count); + } } } \ No newline at end of file diff --git a/BeWoPlanerMobil/Controllers/MainController.cs b/BeWoPlanerMobil/Controllers/MainController.cs index 0494f2dfe..cf624ac4e 100644 --- a/BeWoPlanerMobil/Controllers/MainController.cs +++ b/BeWoPlanerMobil/Controllers/MainController.cs @@ -25,7 +25,6 @@ using System.Net.Sockets; using System.Text; using System.Web.Mvc; using System.Windows.Forms; -using DevExpress.XtraRichEdit.Commands.Internal; using static BeWoPlanerMobil.Util.MobileUtils; using static BS.Shared.ServiceRecordValidationResult; using FormCollection = System.Web.Mvc.FormCollection; @@ -618,7 +617,7 @@ namespace BeWoPlanerMobil.Controllers { try { - if(!MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer")) + if(false == MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer")) { var isNewSession = Session.IsNewSession; @@ -630,7 +629,7 @@ namespace BeWoPlanerMobil.Controllers return Logout(); } - if(!Model.SessionInitialized) + if(false == Model.SessionInitialized) { Model.SessionInitialized = true; var mokSessionTimeout = UserSettingsUtils.GetSettingValueAsInteger(Model.Mandator.Settings, SettingsKeys.MoKSessionTimeout, 20); @@ -653,12 +652,17 @@ namespace BeWoPlanerMobil.Controllers break; } - if(!string.IsNullOrEmpty(tempDataValue)) + if(false == string.IsNullOrEmpty(tempDataValue)) { TempData[TempDataConstants.ShowPwChPopupKey] = tempDataValue; } } } + + if(TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] is SchedulerAppointmentDC occurrenceToInsert) + { + TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] = occurrenceToInsert; + } } catch(Exception e) { @@ -1293,6 +1297,10 @@ namespace BeWoPlanerMobil.Controllers var app = DAOFactory.GenericDAO.LoadByID(Model.TransferringAppointmentOid.Value); appointmentPrototype = MapperFactory.SchedulerAppointmentDCSchedulerAppointment.MapToNewDC(app); } + else if(TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] is SchedulerAppointmentDC occurrenceToInsert) + { + appointmentPrototype = occurrenceToInsert; + } var marker = "on" == collection[FormCollectionConstants.MarkerKey]; @@ -1318,7 +1326,7 @@ namespace BeWoPlanerMobil.Controllers var distanz = collection[FormCollectionConstants.DistanceKey]; decimal? distanceInMeters = null; - if(!string.IsNullOrEmpty(distanz)) + if(false == string.IsNullOrEmpty(distanz)) { if(decimal.TryParse(distanz, out var parsedDistance)) { @@ -1350,7 +1358,7 @@ namespace BeWoPlanerMobil.Controllers durationAsString = durationAsString?.Replace('.', ','); - if(!string.IsNullOrEmpty(durationAsString)) + if(false == string.IsNullOrEmpty(durationAsString)) { decimal.TryParse(durationAsString, out dauer); } @@ -1417,23 +1425,23 @@ namespace BeWoPlanerMobil.Controllers if(Model.LoggedInEmployee.EmployeeOid.HasValue) { - if(!Model.IsInEditingMode) + if(false == Model.IsInEditingMode) { Model.NewServiceRecord.Employee = Model.SelectedEmployee ?? LoggedInUser.Employee; } else { - if(!(Model.SelectedEmployee is null)) + if(Model.SelectedEmployee != null) { Model.NewServiceRecord.Employee = Model.SelectedEmployee; } } - var sclo = Model.SupportConceptListObjects.FirstOrDefault(a => a.CostBearer2SupportConceptOid.Equals(selectedCostbearerScRelOid)); + var mokSupportConceptListObject = Model.SupportConceptListObjects.FirstOrDefault(a => a.CostBearer2SupportConceptOid.Equals(selectedCostbearerScRelOid)); - if(!(sclo is null)) + if(mokSupportConceptListObject != null) { - var sc = GetCompactSupportConcept(sclo.SupportConceptOid, selectedCostbearerScRelOid); + var sc = GetCompactSupportConcept(mokSupportConceptListObject.SupportConceptOid, selectedCostbearerScRelOid); Model.NewServiceRecord.SupportConcept = sc; @@ -1479,7 +1487,7 @@ namespace BeWoPlanerMobil.Controllers var serviceDescOid = 0L; - if(!string.IsNullOrEmpty(collection[FormCollectionConstants.ServiceDescriptionKey])) + if(false == string.IsNullOrEmpty(collection[FormCollectionConstants.ServiceDescriptionKey])) { serviceDescOid = Convert.ToInt64(collection[FormCollectionConstants.ServiceDescriptionKey]); } @@ -1508,7 +1516,7 @@ namespace BeWoPlanerMobil.Controllers return Model.NewServiceRecord.ServiceRecordOid.HasValue ? SaveGroupBooking() : UpdateGroupBooking(); } - if(!Model.IsInEditingMode) + if(false == Model.IsInEditingMode) { var oidList = OperationsService.InsertNewServiceRecords(new List { Model.NewServiceRecord }); @@ -1516,57 +1524,32 @@ namespace BeWoPlanerMobil.Controllers TempData[TempDataConstants.AfterInsertKey] = true; - if (Model.IsAllowedToCreateSignature(Model.NewServiceRecord)) + if(Model.IsAllowedToCreateSignature(Model.NewServiceRecord)) { - if (Model.NewServiceRecord.CostBearer != null && Model.ShowSignature && (Model.NewServiceRecord.ServiceDescription.Category.IsBillable || Model.NewServiceRecord.ServiceDescription.Category.BillableAmount > 0m || Model.NewServiceRecord.ServiceDescription.BillableAmount > 0m)) + if(Model.NewServiceRecord.CostBearer != null && Model.ShowSignature && (Model.NewServiceRecord.ServiceDescription.Category.IsBillable || Model.NewServiceRecord.ServiceDescription.Category.BillableAmount > 0m || Model.NewServiceRecord.ServiceDescription.BillableAmount > 0m)) { TempData[TempDataConstants.ShowSignatureSuggestionPopup] = true; } } - if(appointmentPrototype is object) + + if(false == appointmentPrototype is null) { - var isRecurring = !(appointmentPrototype.RecurrenceInfo is null); + var serviceRecord = OperationsService.GetServiceRecordById(Model.LastCreatedServiceRecordOid); - if(isRecurring && appointmentPrototype.Type != (int) AppointmentType.ChangedOccurrence) + if(appointmentPrototype.ServiceRecordList is null) { - var id = appointmentPrototype.RecurrenceIdReference; - - var recurrenceInfo = new RecurrenceInfo(); - recurrenceInfo.FromXml(appointmentPrototype.RecurrenceInfo); - var occurrenceCalculator = OccurrenceCalculator.CreateInstance(recurrenceInfo); - - var pattern = StaticAppointmentFactory.CreateAppointment(AppointmentType.Pattern); - pattern.RecurrenceInfo.FromXml(appointmentPrototype.RecurrenceInfo); - pattern.Start = pattern.RecurrenceInfo.Start; - pattern.End = pattern.RecurrenceInfo.End; - - var occurrence = occurrenceCalculator.CalcOccurrences(new TimeInterval(appointmentPrototype.StartDate.Value, appointmentPrototype.EndDate.Value), pattern).FirstOrDefault(); - - if(!(occurrence is null)) - { - var index = occurrence.RecurrenceIndex; - appointmentPrototype = SchedulerController.CloneAppointment(appointmentPrototype, $"", (int)AppointmentType.ChangedOccurrence); - } - else - { - appointmentPrototype = null; - } + appointmentPrototype.ServiceRecordList = new List(); } - if(appointmentPrototype is object) + appointmentPrototype.ServiceRecordList.AddIfNotIn(serviceRecord); + + if(appointmentPrototype.SchedulerAppointmentOid.HasValue) { - var serviceRecord = OperationsService.GetServiceRecordById(Model.LastCreatedServiceRecordOid); - - appointmentPrototype.ServiceRecordList.AddIfNotIn(serviceRecord); - - if(appointmentPrototype.SchedulerAppointmentOid.HasValue) - { - KalenderService.UpdateSchedulerAppointments(new List { appointmentPrototype }); - } - else - { - KalenderService.InsertSchedulerAppointments(new List { appointmentPrototype }); - } + KalenderService.UpdateSchedulerAppointments(new List { appointmentPrototype }); + } + else + { + KalenderService.InsertSchedulerAppointments(new List { appointmentPrototype }); } } } @@ -1580,7 +1563,7 @@ namespace BeWoPlanerMobil.Controllers var previousStartDate = Model.IsInEditingMode ? Model.SelectedServiceRecord?.Start : Model.NewServiceRecord?.Start; var previousEndDate = Model.IsInEditingMode ? Model.SelectedServiceRecord?.End : Model.NewServiceRecord?.End; - if(!(previousStartDate is null) && !(previousEndDate is null)) + if(previousStartDate.HasValue && previousEndDate.HasValue) { var duration = (previousEndDate - previousStartDate).Value.TotalMinutes; @@ -1595,7 +1578,7 @@ namespace BeWoPlanerMobil.Controllers { Log.Error(e.Message, e); } - if (!Model.IsInGroupBookingMode && !Model.IsInMultiBookingMode) + if (false == Model.IsInGroupBookingMode && !Model.IsInMultiBookingMode) { //Setze den zuletzt ausgewählten HP zurück, sonst springt die Anzeige dorthin Model.PreviouslySelectedCostbearer2SupportConceptOid = null; @@ -1605,7 +1588,7 @@ namespace BeWoPlanerMobil.Controllers long? oldCatOid = null; long? oldDescOid = null; - if(!Model.IsInEditingMode) + if(false == Model.IsInEditingMode) { oldCatOid = Model.SelectedServiceCategoryOid; oldDescOid = Model.SelectedServiceDescriptionOid; @@ -1674,6 +1657,12 @@ namespace BeWoPlanerMobil.Controllers if(newDCList.Count == 1) { OperationsService.InsertNewServiceRecords(newDCList); + + if(TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] is SchedulerAppointmentDC occurrenceToInsert) + { + KalenderService.InsertSchedulerAppointment(occurrenceToInsert); + } + TempData[TempDataConstants.AfterInsertKey] = true; } else @@ -1703,13 +1692,28 @@ namespace BeWoPlanerMobil.Controllers TempData[TempDataConstants.AfterInsertKey] = true; - if(Model.TransferringAppointmentOid.HasValue && Model.LoggedInEmployee.EmployeeOid.HasValue) + if((Model.TransferringAppointmentOid is null && TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] is null) || Model.LoggedInEmployee?.EmployeeOid is null) { - var app = DAOFactory.GenericDAO.LoadByID(Model.TransferringAppointmentOid.Value); - var appointment = MapperFactory.SchedulerAppointmentDCSchedulerAppointment.MapToNewDC(app); + return ResetEditingMode(); + } - appointment.ServiceRecordList.AddRange(serviceRecords); + var appointment = Model.TransferringAppointmentOid is null ? + (SchedulerAppointmentDC) TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] : + MapperFactory.SchedulerAppointmentDCSchedulerAppointment.MapToNewDC(DAOFactory.GenericDAO.LoadByID(Model.TransferringAppointmentOid.Value)); + if(appointment.ServiceRecordList is null) + { + appointment.ServiceRecordList = new List(); + } + + appointment.ServiceRecordList.AddRange(serviceRecords); + // ToDo: Ist immer noch nicht mit den ServiceRecords verbunden! + if(appointment.SchedulerAppointmentOid is null) + { + KalenderService.InsertSchedulerAppointments(new List { appointment }); + } + else + { KalenderService.UpdateSchedulerAppointments(new List { appointment }); } } @@ -2712,6 +2716,11 @@ namespace BeWoPlanerMobil.Controllers return Logout(); } + if(TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] is SchedulerAppointmentDC occurrenceToInsert) + { + TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] = occurrenceToInsert; + } + var inEditMode = Model.IsInEditingMode; var von = formCollection[FormCollectionConstants.DateKey]; @@ -2740,12 +2749,12 @@ namespace BeWoPlanerMobil.Controllers var startHoursDt = ConvertTimeStringToDateTime(start); var endHoursDt = ConvertTimeStringToDateTime(end); - if(!DateTime.TryParse(von, out var startDate)) + if(false == DateTime.TryParse(von, out var startDate)) { startDate = DateTime.Now.Date; } - if(!DateTime.TryParse(bis, out var endDate)) + if(false == DateTime.TryParse(bis, out var endDate)) { endDate = DateTime.Now.Date; } @@ -2803,10 +2812,7 @@ namespace BeWoPlanerMobil.Controllers if(supportConcept != null) { - if(supportConcept.SupportConceptOid != null) - { - checkServiceRecord.SupportConcept = GetCompactSupportConcept(supportConcept.SupportConceptOid, Model.SelectedCostBearerSupportConceptOid); - } + checkServiceRecord.SupportConcept = GetCompactSupportConcept(supportConcept.SupportConceptOid, Model.SelectedCostBearerSupportConceptOid); checkServiceRecord.Customer = supportConcept.Customer; var costbearer = supportConcept.CostBearerList.FirstOrDefault(); @@ -3950,7 +3956,7 @@ namespace BeWoPlanerMobil.Controllers try { - if(!Model.IsInEditingMode) + if(false == Model.IsInEditingMode) { if(Model.GroupBookingSelectedCostBearerSupportConceptOids.Count == 1) { @@ -4235,8 +4241,6 @@ namespace BeWoPlanerMobil.Controllers return LeerzeichenFuerGetMethoden; } - - /// /// Bereitet die Übernahme eines Termins in die Zeiterfassung vor. Wird im SchedulerController aufgerufen. @@ -4245,7 +4249,7 @@ namespace BeWoPlanerMobil.Controllers [Authorize] public ActionResult PrepareServiceRecordInsert() { - if(!IsUserLoggedIn()) + if(false == IsUserLoggedIn()) { TempData[TempDataConstants.DoLogoutKey] = true; return Logout(); @@ -4269,19 +4273,11 @@ namespace BeWoPlanerMobil.Controllers var startRaw = TempData[TempDataConstants.AppointmentStartKey]?.ToString(); var endRaw = TempData[TempDataConstants.AppointmentEndKey]?.ToString(); var subject = TempData[TempDataConstants.AppointmentSubjectKey]?.ToString(); - var isAllDay = false; - - if(TempData[TempDataConstants.AppointmentIsAllDayKey] is bool isAllDayRaw && isAllDayRaw) - { - isAllDay = true; - } - else if(appointment != null) - { - isAllDay = appointment.AllDay; - } + var isAllDay = TempData[TempDataConstants.AppointmentIsAllDayKey] is true; var customerOids = new List(); var employeeOids = new List(); + var resourceOids = new List(); if(TempData[TempDataConstants.AppointmentEmployeeOidsKey] is string employeeOidsRaw && employeeOidsRaw.Length > 0) { @@ -4293,22 +4289,24 @@ namespace BeWoPlanerMobil.Controllers customerOids = Utils.ConvertCharSeparatedValuesToLongList(customerOidsRaw, ','); } - var isStartParsingSuccessful = DateTime.TryParse(startRaw, out var parsedStart); - var isEndParsingSuccessful = DateTime.TryParse(endRaw, out var parsedEnd); + if(TempData[TempDataConstants.AppointmentResourceOidsKey] is string resourceOidsRaw && resourceOidsRaw.Length > 0) + { + resourceOids = Utils.ConvertCharSeparatedValuesToLongList(resourceOidsRaw, ','); + } - var start = appointment is null ? parsedStart : appointment.StartDate; - var end = appointment is null ? parsedEnd : appointment.EndDate; + DateTime.TryParse(startRaw, out var start); + DateTime.TryParse(endRaw, out var end); if(appointment is object) { customerOids = appointment.CustomerList.Select(customer => customer.CustomerOid).ToList(); employeeOids = appointment.EmployeeList.Select(e2a => e2a.Employee.EmployeeOid).ToList(); } - - if(isAllDay && start.HasValue && end.HasValue) + + if(isAllDay) { - start = start.Value.MergeDateWithHoursMinutesSeconds(0, 0, 1); - end = end.Value.MergeDateWithHoursMinutesSeconds(0, 0, 1); + start = start.MergeDateWithHoursMinutesSeconds(0, 0, 1); + end = end.MergeDateWithHoursMinutesSeconds(0, 0, 1); } if(employeeOids.Count == 0) @@ -4317,11 +4315,16 @@ namespace BeWoPlanerMobil.Controllers } var notice = appointment?.Description ?? TempData[TempDataConstants.AppointmentSubjectKey]?.ToString(); + if(appointment is null) + { + notice = TempData[TempDataConstants.AppointmentDescriptionKey]?.ToString() ?? + TempData[TempDataConstants.AppointmentSubjectKey]?.ToString(); + } Model.SupportConceptListObjects.Clear(); //Macht, dass beim Init die SupportConcepts neu geladen werden InitViewModel(true); - var supportConcepts = Model.SupportConcepts.Where(sc => customerOids.Contains(sc.Customer.CustomerOid) && sc.StartDate.HasValue && sc.EndDate.HasValue && start.Value.AreInBetweenDates(end.Value, sc.StartDate.Value, sc.EndDate.Value)).ToList(); + var supportConcepts = Model.SupportConcepts.Where(sc => customerOids.Contains(sc.Customer.CustomerOid)).ToList(); var supportConceptList = new List(); @@ -4337,6 +4340,49 @@ namespace BeWoPlanerMobil.Controllers supportConceptList.AddIfNotIn(supportConcept); } + // Falls es sich um einen Serientermin handelt, Ausnahme erstellen und speichern, nachdem der Eintrag in der Datenbank gespeichert wurde. + if(isSerientermin && appointment is null) + { + var customers = CustomerService.GetCompactCustomersById(customerOids); + var employees = EmployeeService.GetActiveCompactEmployeesByOids(employeeOids); + var resources = OperationsService.GetResourcesByOids(resourceOids); + + appointment = new SchedulerAppointmentDC + { + StartDate = start, + EndDate = end, + ActivationType = ActivationTypeId.Active, + AllDay = isAllDay, + CustomerList = customers, + ResourceList = resources, + EmployeeList = new List(), + Location = TempData[TempDataConstants.AppointmentLocationKey]?.ToString(), + IsPrivate = TempData[TempDataConstants.AppointmentIsPrivateKey] is true, + Subject = subject, + SupportConceptList = supportConceptList, + Type = (int) AppointmentType.ChangedOccurrence, + Originator = Model.LoggedInUser.Employee + }; + + foreach(var employee in employees) + { + appointment.EmployeeList.Add(new Employee2SchedulerAppointmentDC { Employee = employee }); + } + + var recurrenceInfo = TempData[TempDataConstants.AppointmentRecurrenceInfoKey].ToString(); + + var pattern = StaticAppointmentFactory.CreateAppointment(AppointmentType.Pattern); + pattern.RecurrenceInfo.FromXml(recurrenceInfo); + pattern.Start = pattern.RecurrenceInfo.Start; + pattern.End = pattern.RecurrenceInfo.End; + + var apt = pattern.CreateException(AppointmentType.ChangedOccurrence, recurrenceIndex.Value); + + appointment = SchedulerAppointmentDC.RecurringExceptionFromDevExpressAppointment(apt, appointment, recurrenceIndex.Value, pattern.RecurrenceInfo.Id.ToString()); + + TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] = appointment; + } + // Ohne Hilfeplan if(supportConceptList.Count == 0) { @@ -4349,7 +4395,7 @@ namespace BeWoPlanerMobil.Controllers if(Model.SelectedServiceDescription != null) { Model.SelectedServiceCategory = Model.SelectedServiceDescription.Category; - var serviceRecord = CreateServiceRecordFromScratch(start.Value, end.Value, null, Model.SelectedEmployee, notice); + var serviceRecord = CreateServiceRecordFromScratch(start, end, null, Model.SelectedEmployee, notice); serviceRecord.ServiceDescription = Model.SelectedServiceDescription; Model.SelectedServiceRecord = serviceRecord; } @@ -4377,7 +4423,7 @@ namespace BeWoPlanerMobil.Controllers LoadSupportConceptThings(scListObject.CostBearer2SupportConceptOid, true); } - var serviceRecord = CreateServiceRecordFromScratch(start.Value, end.Value, compactSupportConcept?.Customer, Model.SelectedEmployee, notice); + var serviceRecord = CreateServiceRecordFromScratch(start, end, compactSupportConcept?.Customer, Model.SelectedEmployee, notice); var costBearer = compactSupportConcept?.CostBearerList.FirstOrDefault(); @@ -4391,6 +4437,7 @@ namespace BeWoPlanerMobil.Controllers { Model.SelectedServiceRecord = serviceRecord; } + Model.SelectedCostBearerSupportConceptOid = cb2ScOid; } else // Gruppenbuchung @@ -4399,9 +4446,9 @@ namespace BeWoPlanerMobil.Controllers Model.GroupBookingSelectedEmployees = Model.AllEmployees.Where(w => employeeOids.Contains(w.EmployeeOid)).ToList(); - var roundedDuration = (int) ((end - start)?.TotalMinutes ?? 0); + var roundedDuration = (int) (end - start).TotalMinutes; - Model.SelectedServiceRecord = new ServiceRecordDC() + Model.SelectedServiceRecord = new ServiceRecordDC { Start = start, End = end, @@ -4427,29 +4474,12 @@ namespace BeWoPlanerMobil.Controllers if(costBearer2SupportConceptOids.Any()) { Model.GroupBookingSelectedCostBearerSupportConceptOids = costBearer2SupportConceptOids; - //Model.SelectedConceptCostBearerRelations = costBearer2SupportConcepts; - //Model.GroupBookingSelectedSupportConcepts = supportConceptsForGroupBooking; } + Model.GroupBookingSelectedEmployeeOids = employeeOids; - } } - // ToDo: Falls es sich um einen Serientermin handelt, Ausnahme erstellen und speichern, nachdem der Eintrag in der Datenbank gespeichert wurde. - if(isSerientermin) - { - var recurrenceInfo = appointment.RecurrenceInfo; - - var pattern = StaticAppointmentFactory.CreateAppointment(AppointmentType.Pattern); - pattern.RecurrenceInfo.FromXml(recurrenceInfo); - - var apt = pattern.CreateException(AppointmentType.ChangedOccurrence, recurrenceIndex.Value); - - var changedOccurrence = SchedulerAppointmentDC.RecurringExceptionFromDevExpressAppointment(apt, appointment); - - var x = apt.RecurrenceIndex; - } - Model.SelectedServiceRecordOid = Model.SelectedServiceRecord?.ServiceRecordOid; SetSelectedObjects(); @@ -4529,7 +4559,6 @@ namespace BeWoPlanerMobil.Controllers return RedirectToActionPermanent("Main"); } - #region Mehrfachbuchung [Authorize] @@ -4547,8 +4576,6 @@ namespace BeWoPlanerMobil.Controllers return PartialView("MultiBookingSelectionPartial", Model); } - - [Authorize] public ActionResult RemoveSupportConceptCostbearerRelFromMultiBooking(string relOid) { @@ -4838,6 +4865,11 @@ namespace BeWoPlanerMobil.Controllers OperationsService.InsertNewServiceRecords(serviceRecordsToInsert); + if(TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] is SchedulerAppointmentDC occurrenceToInsert) + { + KalenderService.InsertSchedulerAppointment(occurrenceToInsert); + } + TempData[TempDataConstants.AfterInsertKey] = true; } } diff --git a/BeWoPlanerMobil/Controllers/SchedulerController.cs b/BeWoPlanerMobil/Controllers/SchedulerController.cs index c936d9544..56bc75df4 100644 --- a/BeWoPlanerMobil/Controllers/SchedulerController.cs +++ b/BeWoPlanerMobil/Controllers/SchedulerController.cs @@ -1433,21 +1433,27 @@ namespace BeWoPlanerMobil.Controllers if(appointment?.RecurrenceInfo != null) { - TempData[TempDataConstants.AppointmentRecurrenceIndexKey] = appointment?.RecurrenceIndex; + TempData[TempDataConstants.AppointmentRecurrenceInfoKey] = appointment.RecurrenceInfo; + TempData[TempDataConstants.AppointmentRecurrenceIndexKey] = appointment.RecurrenceIndex; } + TempData[TempDataConstants.AppointmentLocationKey] = appointment?.Location; + TempData[TempDataConstants.AppointmentIsPrivateKey] = appointment?.IsPrivate ?? false; + TempData[TempDataConstants.AppointmentDescriptionKey] = appointment?.Description; + TempData[TempDataConstants.AppointmentStartKey] = appointment?.StartDate; TempData[TempDataConstants.AppointmentEndKey] = appointment?.EndDate; TempData[TempDataConstants.AppointmentSubjectKey] = appointment?.Subject; TempData[TempDataConstants.AppointmentIsAllDayKey] = appointment?.AllDay ?? false; - TempData[TempDataConstants.AppointmentCustomerOidsKey] = string.Join(",", appointment?.CustomerList.Select(s => s.CustomerOid) ?? new List()); + TempData[TempDataConstants.AppointmentCustomerOidsKey] = string.Join(",", appointment?.CustomerList.Select(customer => customer.CustomerOid) ?? new List()); - TempData[TempDataConstants.AppointmentEmployeeOidsKey] = string.Join(",", appointment?.EmployeeList.Select(s => s.Employee.EmployeeOid) ?? new List()); + TempData[TempDataConstants.AppointmentEmployeeOidsKey] = string.Join(",", appointment?.EmployeeList.Select(employee2Appointment => employee2Appointment.Employee.EmployeeOid) ?? new List()); + + TempData[TempDataConstants.AppointmentResourceOidsKey] = string.Join(",", appointment?.ResourceList.Where(resource => resource.ResourceOid.HasValue).Select(resource => resource.ResourceOid.Value) ?? new List()); TempData[TempDataConstants.AppointmentIsSerienterminKey] = appointment != null && appointment.SchedulerAppointmentOid is null && appointment.RecurrenceInfo is string; - return RedirectToActionPermanent("PrepareServiceRecordInsert", "Main"); } diff --git a/BeWoPlanerMobil/Util/FormCollectionConstants.cs b/BeWoPlanerMobil/Util/FormCollectionConstants.cs index efce2ea10..8ff79a53b 100644 --- a/BeWoPlanerMobil/Util/FormCollectionConstants.cs +++ b/BeWoPlanerMobil/Util/FormCollectionConstants.cs @@ -109,5 +109,11 @@ public static string IsGroupTabActiveKey => "IsGroupTabActive"; public static string AfterInsertKey => "AfterInsert"; public static string AppointmentRecurrenceIndexKey => "AppointmentRecurrenceIndex"; + public static string AppointmentRecurrenceInfoKey => "AppointmentRecurrenceInfo"; + public static string AppointmentResourceOidsKey => "AppointmentResourceOids"; + public static string AppointmentLocationKey => "Location"; + public static string AppointmentIsPrivateKey => "IsPrivate"; + public static string AppointmentDescriptionKey => "Description"; + public static string AppointmentOccurrenceToInsertKey => "AppointmentOccurrenceToInsert"; } } \ No newline at end of file diff --git a/BeWoPlanerMobil/Views/DevExpressScheduler/AptFltCustomersPartial.cshtml b/BeWoPlanerMobil/Views/DevExpressScheduler/AptFltCustomersPartial.cshtml index 2f43c6437..53cb5859a 100644 --- a/BeWoPlanerMobil/Views/DevExpressScheduler/AptFltCustomersPartial.cshtml +++ b/BeWoPlanerMobil/Views/DevExpressScheduler/AptFltCustomersPartial.cshtml @@ -50,7 +50,15 @@ $("#all-customers-checkbox").prop("checked", (allCustomersCount === selectedCustomersCount)); - $("#customer-input-container").load("@Url.Action("UpdateCustomerSelection")", { selectedCustomerOids: selectedCustomerOids }, () => { scheduler.Refresh(); }); + showSpinner(); + $("#customer-input-container").load( + "@Url.Action("UpdateCustomerSelection")", + { selectedCustomerOids: selectedCustomerOids }, + () => { + scheduler.Refresh(); + hideSpinner(); + } + ); } diff --git a/BeWoPlanerMobil/Views/DevExpressScheduler/AptFltEmployeesPartial.cshtml b/BeWoPlanerMobil/Views/DevExpressScheduler/AptFltEmployeesPartial.cshtml index 994357cd0..8acfca795 100644 --- a/BeWoPlanerMobil/Views/DevExpressScheduler/AptFltEmployeesPartial.cshtml +++ b/BeWoPlanerMobil/Views/DevExpressScheduler/AptFltEmployeesPartial.cshtml @@ -54,10 +54,20 @@ const selectedEmployeeOids = $("#employee-input-container input:checked").map(function() { return $(this).attr("id").split("-")[1]; }).get(); const allEmployeesCount = $("#employee-input-container input[type=checkbox]").map(function () { return $(this).attr("id").split("-")[1]; }).get().length; const selectedEmployeesCount = selectedEmployeeOids.length; - console.log(selectedEmployeeOids); + $("#all-employees-checkbox").prop("checked", (allEmployeesCount === selectedEmployeesCount)); - $("#employee-input-container").load("@Url.Action("UpdateEmployeeSelection", "DevExpressScheduler")", {selectedEmployeeOids: selectedEmployeeOids }, () => { scheduler.Refresh(); }); + showSpinner(); + + $("#employee-input-container").load( + "@Url.Action("UpdateEmployeeSelection", "DevExpressScheduler")", + { + selectedEmployeeOids: selectedEmployeeOids + }, + () => { + scheduler.Refresh(); + hideSpinner(); + }); } diff --git a/BeWoPlanerMobil/Views/DevExpressScheduler/AptFltResourcesPartial.cshtml b/BeWoPlanerMobil/Views/DevExpressScheduler/AptFltResourcesPartial.cshtml index 2a7e96c41..4dce81421 100644 --- a/BeWoPlanerMobil/Views/DevExpressScheduler/AptFltResourcesPartial.cshtml +++ b/BeWoPlanerMobil/Views/DevExpressScheduler/AptFltResourcesPartial.cshtml @@ -1,5 +1,4 @@ -@using BeWoPlanerMobil.Util -@using BS.Shared.Extensions +@using BS.Shared.Extensions @model BeWoPlanerMobil.Models.DevExpressSchedulerModel diff --git a/BeWoPlanerMobil/Views/DevExpressScheduler/DevExpressScheduler.cshtml b/BeWoPlanerMobil/Views/DevExpressScheduler/DevExpressScheduler.cshtml index 6569b1a64..2d5b36566 100644 --- a/BeWoPlanerMobil/Views/DevExpressScheduler/DevExpressScheduler.cshtml +++ b/BeWoPlanerMobil/Views/DevExpressScheduler/DevExpressScheduler.cshtml @@ -1,140 +1,157 @@ -@using BeWoPlanerMobil.Util.Constants -@using BeWoPlanerMobil.Util.SchedulerUtils -@using BS.Shared.DataContracts.Compact -@model BeWoPlanerMobil.Models.DevExpressSchedulerModel +@model BeWoPlanerMobil.Models.DevExpressSchedulerModel @{ ViewBag.Title = "DevExpressScheduler"; } diff --git a/BeWoPlanerMobil/Views/Scheduler/OneDaySchedulerPartial.cshtml b/BeWoPlanerMobil/Views/Scheduler/OneDaySchedulerPartial.cshtml index 014309b5d..900d3c3c1 100644 --- a/BeWoPlanerMobil/Views/Scheduler/OneDaySchedulerPartial.cshtml +++ b/BeWoPlanerMobil/Views/Scheduler/OneDaySchedulerPartial.cshtml @@ -266,7 +266,7 @@
} - @if(Model.HasRightToEditAppointment(appointment.Identifier) && !appointment.IsTask && appointment.CanBeEdited) + @if(Model.HasRightToEditAppointment(appointment.Identifier) && false == appointment.IsTask && appointment.CanBeEdited) {
@if(appointment.Oid.HasValue) @@ -283,9 +283,9 @@ }
- +
+
+ - @if(Model.IsInEditingMode) + @if (Model.IsInEditingMode) + { + using (Html.BeginForm("ResetEditingMode", "Main", FormMethod.Post)) { - using(Html.BeginForm("ResetEditingMode", "Main", FormMethod.Post)) - { - - } + } - else if(Model.IsInTransferMode) + } + else if (Model.IsInTransferMode) + { + using (Html.BeginForm("ResetTransferMode", "Main", FormMethod.Post)) { - using(Html.BeginForm("ResetTransferMode", "Main", FormMethod.Post)) - { - - } + } - else - { - - } - - @Html.Partial("RestoreServiceRecordInputsPartial", Model) + } + else + { + + } + + @if (Model.HasRightToUseAiVoice) + { + + } + + + + @Html.Partial("RestoreServiceRecordInputsPartial", Model) +
+ + @* Waiting-Overlay für externen Aufruf *@ + }
diff --git a/BeWoPlanerMobil/Views/Shared/_Layout.cshtml b/BeWoPlanerMobil/Views/Shared/_Layout.cshtml index 5f4a80288..da3499b27 100644 --- a/BeWoPlanerMobil/Views/Shared/_Layout.cshtml +++ b/BeWoPlanerMobil/Views/Shared/_Layout.cshtml @@ -55,7 +55,7 @@ - + From ea552f03d2303af40fa66e386339300204a70b52 Mon Sep 17 00:00:00 2001 From: Christian Date: Mon, 30 Mar 2026 00:12:03 +0200 Subject: [PATCH 04/10] =?UTF-8?q?Neue=20Statistiken=20f=C3=BCr=20die=20Str?= =?UTF-8?q?aff=C3=A4lligenhilfe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AsaStatistikReport.Designer.cs | 430 +++++++++++ .../Straffaelligenhilfe/AsaStatistikReport.cs | 133 ++++ .../TgvStatistikReport.Designer.cs | 430 +++++++++++ .../Straffaelligenhilfe/TgvStatistikReport.cs | 146 ++++ .../VgaStatistikReport.Designer.cs | 718 ++++++++++++++++++ .../Straffaelligenhilfe/VgaStatistikReport.cs | 334 ++++++++ .../VgaStatistikReport.resx | 120 +++ .../Straffaelligenhilfe/AsaStatistic.cs | 46 ++ .../Straffaelligenhilfe/TgvStatistic.cs | 42 + 9 files changed, 2399 insertions(+) create mode 100644 Report/DefaultReports/Straffaelligenhilfe/AsaStatistikReport.Designer.cs create mode 100644 Report/DefaultReports/Straffaelligenhilfe/AsaStatistikReport.cs create mode 100644 Report/DefaultReports/Straffaelligenhilfe/TgvStatistikReport.Designer.cs create mode 100644 Report/DefaultReports/Straffaelligenhilfe/TgvStatistikReport.cs create mode 100644 Report/DefaultReports/Straffaelligenhilfe/VgaStatistikReport.Designer.cs create mode 100644 Report/DefaultReports/Straffaelligenhilfe/VgaStatistikReport.cs create mode 100644 Report/DefaultReports/Straffaelligenhilfe/VgaStatistikReport.resx create mode 100644 Service/Reporting/Straffaelligenhilfe/AsaStatistic.cs create mode 100644 Service/Reporting/Straffaelligenhilfe/TgvStatistic.cs diff --git a/Report/DefaultReports/Straffaelligenhilfe/AsaStatistikReport.Designer.cs b/Report/DefaultReports/Straffaelligenhilfe/AsaStatistikReport.Designer.cs new file mode 100644 index 000000000..038bf2a40 --- /dev/null +++ b/Report/DefaultReports/Straffaelligenhilfe/AsaStatistikReport.Designer.cs @@ -0,0 +1,430 @@ +namespace BeWo.Report.DefaultReports.Straffaelligenhilfe +{ + partial class AsaStatistikReport + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); + this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand(); + this.lblVersion = new DevExpress.XtraReports.UI.XRLabel(); + this.lblTitel = new DevExpress.XtraReports.UI.XRLabel(); + this.lblVermLabel = new DevExpress.XtraReports.UI.XRLabel(); + this.lblVermWert = new DevExpress.XtraReports.UI.XRLabel(); + this.lblStaLabel = new DevExpress.XtraReports.UI.XRLabel(); + this.lblStaWert = new DevExpress.XtraReports.UI.XRLabel(); + this.lblBerLabel = new DevExpress.XtraReports.UI.XRLabel(); + this.lblBerWert = new DevExpress.XtraReports.UI.XRLabel(); + this.PageHeader = new DevExpress.XtraReports.UI.PageHeaderBand(); + this.tblHeader = new DevExpress.XtraReports.UI.XRTable(); + this.tblHeaderRow = new DevExpress.XtraReports.UI.XRTableRow(); + this.cellHPos = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellHBeschr = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellHWert = new DevExpress.XtraReports.UI.XRTableCell(); + this.Detail = new DevExpress.XtraReports.UI.DetailBand(); + this.tblDetail = new DevExpress.XtraReports.UI.XRTable(); + this.tblDetailRow = new DevExpress.XtraReports.UI.XRTableRow(); + this.cellPos = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellBeschr = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellWert = new DevExpress.XtraReports.UI.XRTableCell(); + this.ruleHighlighted = new DevExpress.XtraReports.UI.FormattingRule(); + this.ruleSectionHeader = new DevExpress.XtraReports.UI.FormattingRule(); + this.PageFooter = new DevExpress.XtraReports.UI.PageFooterBand(); + this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo(); + this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand(); + this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand(); + this.paramVermittlungsstelle = new DevExpress.XtraReports.Parameters.Parameter(); + this.paramStaatsanwaltschaft = new DevExpress.XtraReports.Parameters.Parameter(); + this.paramBerichtszeitraum = new DevExpress.XtraReports.Parameters.Parameter(); + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.tblHeader)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.tblDetail)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this)).BeginInit(); + // + // bindingSource1 + // + this.bindingSource1.DataSource = typeof(BeWo.Report.DefaultReports.Straffaelligenhilfe.AsaStatistikReportRow); + // + // ReportHeader + // + this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.lblVersion, + this.lblTitel, + this.lblVermLabel, + this.lblVermWert, + this.lblStaLabel, + this.lblStaWert, + this.lblBerLabel, + this.lblBerWert}); + this.ReportHeader.HeightF = 84F; + this.ReportHeader.Name = "ReportHeader"; + // + // lblVersion + // + this.lblVersion.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblVersion.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.lblVersion.Name = "lblVersion"; + this.lblVersion.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblVersion.SizeF = new System.Drawing.SizeF(80F, 18F); + this.lblVersion.Text = "V 2014.1"; + // + // lblTitel + // + this.lblTitel.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold); + this.lblTitel.LocationFloat = new DevExpress.Utils.PointFloat(80F, 0F); + this.lblTitel.Name = "lblTitel"; + this.lblTitel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblTitel.SizeF = new System.Drawing.SizeF(989F, 18F); + this.lblTitel.StylePriority.UseFont = false; + this.lblTitel.StylePriority.UseTextAlignment = false; + this.lblTitel.Text = "Statistik der Aufsuchenden Sozialarbeit (ASA)"; + this.lblTitel.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + // + // lblVermLabel + // + this.lblVermLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblVermLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 20F); + this.lblVermLabel.Name = "lblVermLabel"; + this.lblVermLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblVermLabel.SizeF = new System.Drawing.SizeF(319F, 18F); + this.lblVermLabel.Text = "Vermittlungsstelle (Ort):"; + // + // lblVermWert + // + this.lblVermWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters.Vermittlungsstelle]")}); + this.lblVermWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblVermWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 20F); + this.lblVermWert.Name = "lblVermWert"; + this.lblVermWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblVermWert.SizeF = new System.Drawing.SizeF(300F, 18F); + // + // lblStaLabel + // + this.lblStaLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblStaLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 40F); + this.lblStaLabel.Name = "lblStaLabel"; + this.lblStaLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblStaLabel.SizeF = new System.Drawing.SizeF(319F, 18F); + this.lblStaLabel.Text = "Staatsanwaltschaft / Landgerichtsbezirk:"; + // + // lblStaWert + // + this.lblStaWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters.Staatsanwaltschaft]")}); + this.lblStaWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblStaWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 40F); + this.lblStaWert.Name = "lblStaWert"; + this.lblStaWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblStaWert.SizeF = new System.Drawing.SizeF(300F, 18F); + // + // lblBerLabel + // + this.lblBerLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblBerLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 60F); + this.lblBerLabel.Name = "lblBerLabel"; + this.lblBerLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblBerLabel.SizeF = new System.Drawing.SizeF(319F, 18F); + this.lblBerLabel.Text = "Berichtszeitraum:"; + // + // lblBerWert + // + this.lblBerWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "FormatString('{0:dd.MM.yyyy}', [Parameters.Berichtszeitraum])")}); + this.lblBerWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblBerWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 60F); + this.lblBerWert.Name = "lblBerWert"; + this.lblBerWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblBerWert.SizeF = new System.Drawing.SizeF(200F, 18F); + // + // PageHeader + // + this.PageHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.tblHeader}); + this.PageHeader.HeightF = 28F; + this.PageHeader.Name = "PageHeader"; + // + // tblHeader + // + this.tblHeader.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166))))); + this.tblHeader.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) + | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.tblHeader.BorderWidth = 0.5F; + this.tblHeader.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.tblHeader.Name = "tblHeader"; + this.tblHeader.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.tblHeaderRow}); + this.tblHeader.SizeF = new System.Drawing.SizeF(1069F, 28F); + // + // tblHeaderRow + // + this.tblHeaderRow.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.cellHPos, + this.cellHBeschr, + this.cellHWert}); + this.tblHeaderRow.Name = "tblHeaderRow"; + this.tblHeaderRow.Weight = 1.0D; + // + // cellHPos + // + this.cellHPos.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellHPos.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold); + this.cellHPos.Name = "cellHPos"; + this.cellHPos.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); + this.cellHPos.StylePriority.UseFont = false; + this.cellHPos.StylePriority.UseTextAlignment = false; + this.cellHPos.Text = "Pos."; + this.cellHPos.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.cellHPos.Weight = 0.20D; + // + // cellHBeschr + // + this.cellHBeschr.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellHBeschr.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold); + this.cellHBeschr.Name = "cellHBeschr"; + this.cellHBeschr.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); + this.cellHBeschr.StylePriority.UseFont = false; + this.cellHBeschr.StylePriority.UseTextAlignment = false; + this.cellHBeschr.Text = "1 Auftrag = 1 Person !!!"; + this.cellHBeschr.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.cellHBeschr.Weight = 1.40D; + // + // cellHWert + // + this.cellHWert.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellHWert.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold); + this.cellHWert.Name = "cellHWert"; + this.cellHWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); + this.cellHWert.StylePriority.UseFont = false; + this.cellHWert.StylePriority.UseTextAlignment = false; + this.cellHWert.Text = "zur Abwendung einer\nErsatzfreiheitsstrafe"; + this.cellHWert.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.cellHWert.Weight = 0.40D; + // + // Detail + // + this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.tblDetail}); + this.Detail.HeightF = 16F; + this.Detail.Name = "Detail"; + // + // tblDetail + // + this.tblDetail.AnchorVertical = ((DevExpress.XtraReports.UI.VerticalAnchorStyles)((DevExpress.XtraReports.UI.VerticalAnchorStyles.Top | DevExpress.XtraReports.UI.VerticalAnchorStyles.Bottom))); + this.tblDetail.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166))))); + this.tblDetail.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) + | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.tblDetail.BorderWidth = 0.5F; + this.tblDetail.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.tblDetail.Name = "tblDetail"; + this.tblDetail.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.tblDetailRow}); + this.tblDetail.SizeF = new System.Drawing.SizeF(1069F, 16F); + // + // tblDetailRow + // + this.tblDetailRow.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.cellPos, + this.cellBeschr, + this.cellWert}); + this.tblDetailRow.FormattingRules.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] { + this.ruleHighlighted, + this.ruleSectionHeader}); + this.tblDetailRow.Name = "tblDetailRow"; + this.tblDetailRow.Weight = 11.5D; + // + // cellPos + // + this.cellPos.CanGrow = false; + this.cellPos.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Position]")}); + this.cellPos.Name = "cellPos"; + this.cellPos.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.cellPos.StylePriority.UseTextAlignment = false; + this.cellPos.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.cellPos.Weight = 0.20D; + // + // cellBeschr + // + this.cellBeschr.CanGrow = false; + this.cellBeschr.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Beschreibung]")}); + this.cellBeschr.Name = "cellBeschr"; + this.cellBeschr.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.cellBeschr.StylePriority.UseTextAlignment = false; + this.cellBeschr.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.cellBeschr.Weight = 1.40D; + // + // cellWert + // + this.cellWert.CanGrow = false; + this.cellWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Wert]")}); + this.cellWert.Name = "cellWert"; + this.cellWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.cellWert.StylePriority.UseTextAlignment = false; + this.cellWert.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + this.cellWert.Weight = 0.40D; + // + // ruleHighlighted + // + this.ruleHighlighted.Condition = "[RowType] == 1"; + this.ruleHighlighted.Formatting.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(230)))), ((int)(((byte)(153))))); + this.ruleHighlighted.Name = "ruleHighlighted"; + // + // ruleSectionHeader + // + this.ruleSectionHeader.Condition = "[RowType] == 2"; + this.ruleSectionHeader.Formatting.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(189)))), ((int)(((byte)(215)))), ((int)(((byte)(238))))); + this.ruleSectionHeader.Formatting.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold); + this.ruleSectionHeader.Name = "ruleSectionHeader"; + // + // PageFooter + // + this.PageFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrPageInfo1}); + this.PageFooter.HeightF = 26F; + this.PageFooter.Name = "PageFooter"; + // + // xrPageInfo1 + // + this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(868.9998F, 10F); + this.xrPageInfo1.Name = "xrPageInfo1"; + this.xrPageInfo1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrPageInfo1.SizeF = new System.Drawing.SizeF(200F, 16F); + this.xrPageInfo1.StylePriority.UseTextAlignment = false; + this.xrPageInfo1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + // + // TopMargin + // + this.TopMargin.HeightF = 50F; + this.TopMargin.Name = "TopMargin"; + // + // BottomMargin + // + this.BottomMargin.HeightF = 50F; + this.BottomMargin.Name = "BottomMargin"; + // + // paramVermittlungsstelle + // + this.paramVermittlungsstelle.Description = "Vermittlungsstelle (Ort)"; + this.paramVermittlungsstelle.Name = "Vermittlungsstelle"; + // + // paramStaatsanwaltschaft + // + this.paramStaatsanwaltschaft.Description = "Staatsanwaltschaft / LG-Bezirk"; + this.paramStaatsanwaltschaft.Name = "Staatsanwaltschaft"; + this.paramStaatsanwaltschaft.ValueInfo = "GESAMT"; + // + // paramBerichtszeitraum + // + this.paramBerichtszeitraum.Description = "Berichtszeitraum (Stichtag)"; + this.paramBerichtszeitraum.Name = "Berichtszeitraum"; + this.paramBerichtszeitraum.Type = typeof(System.DateTime); + this.paramBerichtszeitraum.ValueInfo = "2026-03-31"; + // + // AsaStatistikReport + // + this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { + this.TopMargin, + this.ReportHeader, + this.PageHeader, + this.Detail, + this.PageFooter, + this.BottomMargin}); + this.DataSource = this.bindingSource1; + this.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] { + this.ruleHighlighted, + this.ruleSectionHeader}); + this.Landscape = true; + this.Margins = new DevExpress.Drawing.DXMargins(50F, 50F, 50F, 50F); + this.PageHeight = 827; + this.PageWidth = 1169; + this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4; + this.Parameters.AddRange(new DevExpress.XtraReports.Parameters.Parameter[] { + this.paramVermittlungsstelle, + this.paramStaatsanwaltschaft, + this.paramBerichtszeitraum}); + this.Version = "23.2"; + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.tblHeader)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.tblDetail)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this)).EndInit(); + } + + #endregion + + // ── Private Felder (alle Report-Controls) ────────────────────────────── + private System.Windows.Forms.BindingSource bindingSource1; + + private DevExpress.XtraReports.UI.TopMarginBand TopMargin; + private DevExpress.XtraReports.UI.BottomMarginBand BottomMargin; + private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader; + private DevExpress.XtraReports.UI.PageHeaderBand PageHeader; + private DevExpress.XtraReports.UI.DetailBand Detail; + private DevExpress.XtraReports.UI.PageFooterBand PageFooter; + + // Report-Header Labels + private DevExpress.XtraReports.UI.XRLabel lblVersion; + private DevExpress.XtraReports.UI.XRLabel lblTitel; + private DevExpress.XtraReports.UI.XRLabel lblVermLabel; + private DevExpress.XtraReports.UI.XRLabel lblVermWert; + private DevExpress.XtraReports.UI.XRLabel lblStaLabel; + private DevExpress.XtraReports.UI.XRLabel lblStaWert; + private DevExpress.XtraReports.UI.XRLabel lblBerLabel; + private DevExpress.XtraReports.UI.XRLabel lblBerWert; + + // Page-Header Tabelle + private DevExpress.XtraReports.UI.XRTable tblHeader; + private DevExpress.XtraReports.UI.XRTableRow tblHeaderRow; + private DevExpress.XtraReports.UI.XRTableCell cellHPos; + private DevExpress.XtraReports.UI.XRTableCell cellHBeschr; + private DevExpress.XtraReports.UI.XRTableCell cellHWert; + + // Detail-Tabelle + private DevExpress.XtraReports.UI.XRTable tblDetail; + private DevExpress.XtraReports.UI.XRTableRow tblDetailRow; + private DevExpress.XtraReports.UI.XRTableCell cellPos; + private DevExpress.XtraReports.UI.XRTableCell cellBeschr; + private DevExpress.XtraReports.UI.XRTableCell cellWert; + + // Seitenzahl + private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo1; + + // Bedingte Formatierung + private DevExpress.XtraReports.UI.FormattingRule ruleHighlighted; + private DevExpress.XtraReports.UI.FormattingRule ruleSectionHeader; + + // Parameter + private DevExpress.XtraReports.Parameters.Parameter paramVermittlungsstelle; + private DevExpress.XtraReports.Parameters.Parameter paramStaatsanwaltschaft; + private DevExpress.XtraReports.Parameters.Parameter paramBerichtszeitraum; + } +} diff --git a/Report/DefaultReports/Straffaelligenhilfe/AsaStatistikReport.cs b/Report/DefaultReports/Straffaelligenhilfe/AsaStatistikReport.cs new file mode 100644 index 000000000..305f37c9a --- /dev/null +++ b/Report/DefaultReports/Straffaelligenhilfe/AsaStatistikReport.cs @@ -0,0 +1,133 @@ +using System; +using System.Collections.Generic; +using BeWo.Service.Reporting.Straffaelligenhilfe; +using DevExpress.XtraReports.UI; + +namespace BeWo.Report.DefaultReports.Straffaelligenhilfe +{ + /// + /// XtraReport für die "Statistik der Aufsuchenden Sozialarbeit (ASA)" (V 2014.1). + /// + /// Verwendung: + /// var rows = AsaStatistikReport.CreateRows(asa); + /// var report = new AsaStatistikReport(); + /// report.Parameters["Vermittlungsstelle"].Value = "Musterstadt"; + /// report.Parameters["Staatsanwaltschaft"].Value = "GESAMT"; + /// report.Parameters["Berichtszeitraum"].Value = new DateTime(2025, 6, 30); + /// report.SetReportDataSource(rows); + /// report.ShowPreview(); + /// + public partial class AsaStatistikReport : XtraReport + { + public AsaStatistikReport() + { + InitializeComponent(); + } + + /// + /// Setzt die Datenquelle des Reports. + /// + public void SetReportDataSource(List rows) + { + this.bindingSource1.DataSource = rows; + } + + // ── Factory ───────────────────────────────────────────────────────────── + + /// + /// Konvertiert ein ausgefülltes AsaStatistic-Objekt in die Zeilenliste für den Report. + /// + public static List CreateRows(AsaStatistic asa) + { + AsaStatistikReportRow Row(string pos, string beschr, int val, + AsaReportRowType type = AsaReportRowType.Normal) => + new AsaStatistikReportRow + { + Position = pos, + Beschreibung = beschr, + Wert = val.ToString("N0"), + RowType = type + }; + + return new List + { + // ── Auftragsbestand ──────────────────────────────────────────── + Row("0.1", + "Anzahl der aus dem vorhergehenden Berichtszeitraum übernommenen offenen Aufträge", + asa.Anzahl01), + + Row("0.2", + "Anzahl der im aktuellen Berichtszeitraum erteilten Aufträge", + asa.Anzahl02, AsaReportRowType.Highlighted), + + Row("1.", + "Anzahl der insges. erteilten Aufträge (Summe Zeilen 0.1 + 0.2)", + asa.Anzahl1, AsaReportRowType.Highlighted), + + Row("2.", + "Anzahl aller erledigten Aufträge (incl. Abbrüche, ...)", + asa.Anzahl2), + + // ── Fallverlauf (Abschnittsüberschrift) ──────────────────────── + AsaStatistikReportRow.SectionHeader( + "3.", + "Fallverlauf (der erledigten Aufträge gem. Zeile 2)"), + + // ── 3.1. Methode ─────────────────────────────────────────────── + AsaStatistikReportRow.SectionHeader( + "3.1.", + "Methode (der erledigten Aufträge gem. Zeile 2)"), + + Row("3.1.1.", "Klient wurde aufgesucht", asa.Anzahl3_1_1), + Row("3.1.2.", "Klient wurde angetroffen", asa.Anzahl3_1_2), + Row("3.1.3.", "Klient wurde nicht angetroffen", asa.Anzahl3_1_3), + Row("3.1.4.", + "Klient wurde nicht aufgesucht, da Klient sich in VBS meldet (1. Anschreiben)", + asa.Anzahl3_1_4), + + // ── 3.2. Verlauf ─────────────────────────────────────────────── + AsaStatistikReportRow.SectionHeader( + "3.2.", + "Verlauf (der erledigten Aufträge gem. Zeile 2)"), + + Row("3.2.1.", "Übergang in Schwitzen statt Sitzen", asa.Anzahl3_2_1), + Row("3.2.2.", "Übergang in Treuhänderische Geldverwaltung", asa.Anzahl3_2_2), + Row("3.2.3.", "Kein Interesse / Abbruch / Scheitern", asa.Anzahl3_2_3), + }; + } + } + + /// + /// Zeilentyp für die bedingte Formatierung im ASA-Statistik Report. + /// + public enum AsaReportRowType + { + Normal = 0, + Highlighted = 1, // Orangefarbener Hintergrund (z. B. Zeilen 0.2, 1.) + SectionHeader = 2 // Blauer Hintergrund (Abschnittsüberschriften 3., 3.1., 3.2.) + } + + /// + /// Datenmodell für eine Zeile im ASA-Statistik Report. + /// + public class AsaStatistikReportRow + { + public string Position { get; set; } = ""; + public string Beschreibung { get; set; } = ""; + public string Wert { get; set; } = ""; + public AsaReportRowType RowType { get; set; } = AsaReportRowType.Normal; + + /// + /// Erstellt eine Abschnittsüberschrift (blauer Hintergrund). + /// + internal static AsaStatistikReportRow SectionHeader(string position, string beschreibung) + { + return new AsaStatistikReportRow + { + Position = position, + Beschreibung = beschreibung, + RowType = AsaReportRowType.SectionHeader + }; + } + } +} diff --git a/Report/DefaultReports/Straffaelligenhilfe/TgvStatistikReport.Designer.cs b/Report/DefaultReports/Straffaelligenhilfe/TgvStatistikReport.Designer.cs new file mode 100644 index 000000000..a4eff00b7 --- /dev/null +++ b/Report/DefaultReports/Straffaelligenhilfe/TgvStatistikReport.Designer.cs @@ -0,0 +1,430 @@ +namespace BeWo.Report.DefaultReports.Straffaelligenhilfe +{ + partial class TgvStatistikReport + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); + this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand(); + this.lblVersion = new DevExpress.XtraReports.UI.XRLabel(); + this.lblTitel = new DevExpress.XtraReports.UI.XRLabel(); + this.lblVermLabel = new DevExpress.XtraReports.UI.XRLabel(); + this.lblVermWert = new DevExpress.XtraReports.UI.XRLabel(); + this.lblStaLabel = new DevExpress.XtraReports.UI.XRLabel(); + this.lblStaWert = new DevExpress.XtraReports.UI.XRLabel(); + this.lblBerLabel = new DevExpress.XtraReports.UI.XRLabel(); + this.lblBerWert = new DevExpress.XtraReports.UI.XRLabel(); + this.PageHeader = new DevExpress.XtraReports.UI.PageHeaderBand(); + this.tblHeader = new DevExpress.XtraReports.UI.XRTable(); + this.tblHeaderRow = new DevExpress.XtraReports.UI.XRTableRow(); + this.cellHPos = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellHBeschr = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellHWert = new DevExpress.XtraReports.UI.XRTableCell(); + this.Detail = new DevExpress.XtraReports.UI.DetailBand(); + this.tblDetail = new DevExpress.XtraReports.UI.XRTable(); + this.tblDetailRow = new DevExpress.XtraReports.UI.XRTableRow(); + this.cellPos = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellBeschr = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellWert = new DevExpress.XtraReports.UI.XRTableCell(); + this.ruleHighlighted = new DevExpress.XtraReports.UI.FormattingRule(); + this.ruleSectionHeader = new DevExpress.XtraReports.UI.FormattingRule(); + this.PageFooter = new DevExpress.XtraReports.UI.PageFooterBand(); + this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo(); + this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand(); + this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand(); + this.paramVermittlungsstelle = new DevExpress.XtraReports.Parameters.Parameter(); + this.paramStaatsanwaltschaft = new DevExpress.XtraReports.Parameters.Parameter(); + this.paramBerichtszeitraum = new DevExpress.XtraReports.Parameters.Parameter(); + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.tblHeader)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.tblDetail)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this)).BeginInit(); + // + // bindingSource1 + // + this.bindingSource1.DataSource = typeof(BeWo.Report.DefaultReports.Straffaelligenhilfe.TgvStatistikReportRow); + // + // ReportHeader + // + this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.lblVersion, + this.lblTitel, + this.lblVermLabel, + this.lblVermWert, + this.lblStaLabel, + this.lblStaWert, + this.lblBerLabel, + this.lblBerWert}); + this.ReportHeader.HeightF = 84F; + this.ReportHeader.Name = "ReportHeader"; + // + // lblVersion + // + this.lblVersion.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblVersion.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.lblVersion.Name = "lblVersion"; + this.lblVersion.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblVersion.SizeF = new System.Drawing.SizeF(80F, 18F); + this.lblVersion.Text = "V 2014.1"; + // + // lblTitel + // + this.lblTitel.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold); + this.lblTitel.LocationFloat = new DevExpress.Utils.PointFloat(80F, 0F); + this.lblTitel.Name = "lblTitel"; + this.lblTitel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblTitel.SizeF = new System.Drawing.SizeF(989F, 18F); + this.lblTitel.StylePriority.UseFont = false; + this.lblTitel.StylePriority.UseTextAlignment = false; + this.lblTitel.Text = "Statistik der Treuhänderischen Geldverwaltung (TGV)"; + this.lblTitel.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + // + // lblVermLabel + // + this.lblVermLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblVermLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 20F); + this.lblVermLabel.Name = "lblVermLabel"; + this.lblVermLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblVermLabel.SizeF = new System.Drawing.SizeF(319F, 18F); + this.lblVermLabel.Text = "Vermittlungsstelle (Ort):"; + // + // lblVermWert + // + this.lblVermWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters.Vermittlungsstelle]")}); + this.lblVermWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblVermWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 20F); + this.lblVermWert.Name = "lblVermWert"; + this.lblVermWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblVermWert.SizeF = new System.Drawing.SizeF(300F, 18F); + // + // lblStaLabel + // + this.lblStaLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblStaLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 40F); + this.lblStaLabel.Name = "lblStaLabel"; + this.lblStaLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblStaLabel.SizeF = new System.Drawing.SizeF(319F, 18F); + this.lblStaLabel.Text = "Staatsanwaltschaft / Landgerichtsbezirk:"; + // + // lblStaWert + // + this.lblStaWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters.Staatsanwaltschaft]")}); + this.lblStaWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblStaWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 40F); + this.lblStaWert.Name = "lblStaWert"; + this.lblStaWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblStaWert.SizeF = new System.Drawing.SizeF(300F, 18F); + // + // lblBerLabel + // + this.lblBerLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblBerLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 60F); + this.lblBerLabel.Name = "lblBerLabel"; + this.lblBerLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblBerLabel.SizeF = new System.Drawing.SizeF(319F, 18F); + this.lblBerLabel.Text = "Berichtszeitraum:"; + // + // lblBerWert + // + this.lblBerWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "FormatString('{0:dd.MM.yyyy}', [Parameters.Berichtszeitraum])")}); + this.lblBerWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblBerWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 60F); + this.lblBerWert.Name = "lblBerWert"; + this.lblBerWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblBerWert.SizeF = new System.Drawing.SizeF(200F, 18F); + // + // PageHeader + // + this.PageHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.tblHeader}); + this.PageHeader.HeightF = 28F; + this.PageHeader.Name = "PageHeader"; + // + // tblHeader + // + this.tblHeader.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166))))); + this.tblHeader.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) + | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.tblHeader.BorderWidth = 0.5F; + this.tblHeader.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.tblHeader.Name = "tblHeader"; + this.tblHeader.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.tblHeaderRow}); + this.tblHeader.SizeF = new System.Drawing.SizeF(1069F, 28F); + // + // tblHeaderRow + // + this.tblHeaderRow.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.cellHPos, + this.cellHBeschr, + this.cellHWert}); + this.tblHeaderRow.Name = "tblHeaderRow"; + this.tblHeaderRow.Weight = 1.0D; + // + // cellHPos + // + this.cellHPos.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellHPos.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold); + this.cellHPos.Name = "cellHPos"; + this.cellHPos.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); + this.cellHPos.StylePriority.UseFont = false; + this.cellHPos.StylePriority.UseTextAlignment = false; + this.cellHPos.Text = "Pos."; + this.cellHPos.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.cellHPos.Weight = 0.20D; + // + // cellHBeschr + // + this.cellHBeschr.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellHBeschr.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold); + this.cellHBeschr.Name = "cellHBeschr"; + this.cellHBeschr.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); + this.cellHBeschr.StylePriority.UseFont = false; + this.cellHBeschr.StylePriority.UseTextAlignment = false; + this.cellHBeschr.Text = "1 Auftrag = 1 Person !!!"; + this.cellHBeschr.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.cellHBeschr.Weight = 1.40D; + // + // cellHWert + // + this.cellHWert.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellHWert.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold); + this.cellHWert.Name = "cellHWert"; + this.cellHWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); + this.cellHWert.StylePriority.UseFont = false; + this.cellHWert.StylePriority.UseTextAlignment = false; + this.cellHWert.Text = "zur Abwendung einer\nErsatzfreiheitsstrafe"; + this.cellHWert.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.cellHWert.Weight = 0.40D; + // + // Detail + // + this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.tblDetail}); + this.Detail.HeightF = 16F; + this.Detail.Name = "Detail"; + // + // tblDetail + // + this.tblDetail.AnchorVertical = ((DevExpress.XtraReports.UI.VerticalAnchorStyles)((DevExpress.XtraReports.UI.VerticalAnchorStyles.Top | DevExpress.XtraReports.UI.VerticalAnchorStyles.Bottom))); + this.tblDetail.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166))))); + this.tblDetail.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) + | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.tblDetail.BorderWidth = 0.5F; + this.tblDetail.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.tblDetail.Name = "tblDetail"; + this.tblDetail.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.tblDetailRow}); + this.tblDetail.SizeF = new System.Drawing.SizeF(1069F, 16F); + // + // tblDetailRow + // + this.tblDetailRow.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.cellPos, + this.cellBeschr, + this.cellWert}); + this.tblDetailRow.FormattingRules.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] { + this.ruleHighlighted, + this.ruleSectionHeader}); + this.tblDetailRow.Name = "tblDetailRow"; + this.tblDetailRow.Weight = 11.5D; + // + // cellPos + // + this.cellPos.CanGrow = false; + this.cellPos.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Position]")}); + this.cellPos.Name = "cellPos"; + this.cellPos.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.cellPos.StylePriority.UseTextAlignment = false; + this.cellPos.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.cellPos.Weight = 0.20D; + // + // cellBeschr + // + this.cellBeschr.CanGrow = false; + this.cellBeschr.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Beschreibung]")}); + this.cellBeschr.Name = "cellBeschr"; + this.cellBeschr.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.cellBeschr.StylePriority.UseTextAlignment = false; + this.cellBeschr.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.cellBeschr.Weight = 1.40D; + // + // cellWert + // + this.cellWert.CanGrow = false; + this.cellWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Wert]")}); + this.cellWert.Name = "cellWert"; + this.cellWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.cellWert.StylePriority.UseTextAlignment = false; + this.cellWert.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + this.cellWert.Weight = 0.40D; + // + // ruleHighlighted + // + this.ruleHighlighted.Condition = "[RowType] == 1"; + this.ruleHighlighted.Formatting.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(230)))), ((int)(((byte)(153))))); + this.ruleHighlighted.Name = "ruleHighlighted"; + // + // ruleSectionHeader + // + this.ruleSectionHeader.Condition = "[RowType] == 2"; + this.ruleSectionHeader.Formatting.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(189)))), ((int)(((byte)(215)))), ((int)(((byte)(238))))); + this.ruleSectionHeader.Formatting.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold); + this.ruleSectionHeader.Name = "ruleSectionHeader"; + // + // PageFooter + // + this.PageFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrPageInfo1}); + this.PageFooter.HeightF = 26F; + this.PageFooter.Name = "PageFooter"; + // + // xrPageInfo1 + // + this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(868.9998F, 10F); + this.xrPageInfo1.Name = "xrPageInfo1"; + this.xrPageInfo1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrPageInfo1.SizeF = new System.Drawing.SizeF(200F, 16F); + this.xrPageInfo1.StylePriority.UseTextAlignment = false; + this.xrPageInfo1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + // + // TopMargin + // + this.TopMargin.HeightF = 50F; + this.TopMargin.Name = "TopMargin"; + // + // BottomMargin + // + this.BottomMargin.HeightF = 50F; + this.BottomMargin.Name = "BottomMargin"; + // + // paramVermittlungsstelle + // + this.paramVermittlungsstelle.Description = "Vermittlungsstelle (Ort)"; + this.paramVermittlungsstelle.Name = "Vermittlungsstelle"; + // + // paramStaatsanwaltschaft + // + this.paramStaatsanwaltschaft.Description = "Staatsanwaltschaft / LG-Bezirk"; + this.paramStaatsanwaltschaft.Name = "Staatsanwaltschaft"; + this.paramStaatsanwaltschaft.ValueInfo = "GESAMT"; + // + // paramBerichtszeitraum + // + this.paramBerichtszeitraum.Description = "Berichtszeitraum (Stichtag)"; + this.paramBerichtszeitraum.Name = "Berichtszeitraum"; + this.paramBerichtszeitraum.Type = typeof(System.DateTime); + this.paramBerichtszeitraum.ValueInfo = "2026-03-31"; + // + // TgvStatistikReport + // + this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { + this.TopMargin, + this.ReportHeader, + this.PageHeader, + this.Detail, + this.PageFooter, + this.BottomMargin}); + this.DataSource = this.bindingSource1; + this.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] { + this.ruleHighlighted, + this.ruleSectionHeader}); + this.Landscape = true; + this.Margins = new DevExpress.Drawing.DXMargins(50F, 50F, 50F, 50F); + this.PageHeight = 827; + this.PageWidth = 1169; + this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4; + this.Parameters.AddRange(new DevExpress.XtraReports.Parameters.Parameter[] { + this.paramVermittlungsstelle, + this.paramStaatsanwaltschaft, + this.paramBerichtszeitraum}); + this.Version = "23.2"; + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.tblHeader)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.tblDetail)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this)).EndInit(); + } + + #endregion + + // ── Private Felder (alle Report-Controls) ────────────────────────────── + private System.Windows.Forms.BindingSource bindingSource1; + + private DevExpress.XtraReports.UI.TopMarginBand TopMargin; + private DevExpress.XtraReports.UI.BottomMarginBand BottomMargin; + private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader; + private DevExpress.XtraReports.UI.PageHeaderBand PageHeader; + private DevExpress.XtraReports.UI.DetailBand Detail; + private DevExpress.XtraReports.UI.PageFooterBand PageFooter; + + // Report-Header Labels + private DevExpress.XtraReports.UI.XRLabel lblVersion; + private DevExpress.XtraReports.UI.XRLabel lblTitel; + private DevExpress.XtraReports.UI.XRLabel lblVermLabel; + private DevExpress.XtraReports.UI.XRLabel lblVermWert; + private DevExpress.XtraReports.UI.XRLabel lblStaLabel; + private DevExpress.XtraReports.UI.XRLabel lblStaWert; + private DevExpress.XtraReports.UI.XRLabel lblBerLabel; + private DevExpress.XtraReports.UI.XRLabel lblBerWert; + + // Page-Header Tabelle + private DevExpress.XtraReports.UI.XRTable tblHeader; + private DevExpress.XtraReports.UI.XRTableRow tblHeaderRow; + private DevExpress.XtraReports.UI.XRTableCell cellHPos; + private DevExpress.XtraReports.UI.XRTableCell cellHBeschr; + private DevExpress.XtraReports.UI.XRTableCell cellHWert; + + // Detail-Tabelle + private DevExpress.XtraReports.UI.XRTable tblDetail; + private DevExpress.XtraReports.UI.XRTableRow tblDetailRow; + private DevExpress.XtraReports.UI.XRTableCell cellPos; + private DevExpress.XtraReports.UI.XRTableCell cellBeschr; + private DevExpress.XtraReports.UI.XRTableCell cellWert; + + // Seitenzahl + private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo1; + + // Bedingte Formatierung + private DevExpress.XtraReports.UI.FormattingRule ruleHighlighted; + private DevExpress.XtraReports.UI.FormattingRule ruleSectionHeader; + + // Parameter + private DevExpress.XtraReports.Parameters.Parameter paramVermittlungsstelle; + private DevExpress.XtraReports.Parameters.Parameter paramStaatsanwaltschaft; + private DevExpress.XtraReports.Parameters.Parameter paramBerichtszeitraum; + } +} diff --git a/Report/DefaultReports/Straffaelligenhilfe/TgvStatistikReport.cs b/Report/DefaultReports/Straffaelligenhilfe/TgvStatistikReport.cs new file mode 100644 index 000000000..d26041867 --- /dev/null +++ b/Report/DefaultReports/Straffaelligenhilfe/TgvStatistikReport.cs @@ -0,0 +1,146 @@ +using System; +using System.Collections.Generic; +using BeWo.Service.Reporting.Straffaelligenhilfe; +using DevExpress.XtraReports.UI; + +namespace BeWo.Report.DefaultReports.Straffaelligenhilfe +{ + /// + /// XtraReport für die "Statistik der Treuhänderischen Geldverwaltung (TGV)" (V 2014.1). + /// + /// Verwendung: + /// var rows = TgvStatistikReport.CreateRows(tgv); + /// var report = new TgvStatistikReport(); + /// report.Parameters["Vermittlungsstelle"].Value = "Musterstadt"; + /// report.Parameters["Staatsanwaltschaft"].Value = "GESAMT"; + /// report.Parameters["Berichtszeitraum"].Value = new DateTime(2025, 6, 30); + /// report.SetReportDataSource(rows); + /// report.ShowPreview(); + /// + public partial class TgvStatistikReport : XtraReport + { + public TgvStatistikReport() + { + InitializeComponent(); + } + + /// + /// Setzt die Datenquelle des Reports. + /// + public void SetReportDataSource(List rows) + { + this.bindingSource1.DataSource = rows; + } + + // ── Factory ───────────────────────────────────────────────────────────── + + /// + /// Konvertiert ein ausgefülltes TgvStatistic-Objekt in die Zeilenliste für den Report. + /// + public static List CreateRows(TgvStatistic tgv) + { + TgvStatistikReportRow Row(string pos, string beschr, string wert, + TgvReportRowType type = TgvReportRowType.Normal) => + new TgvStatistikReportRow + { + Position = pos, + Beschreibung = beschr, + Wert = wert, + RowType = type + }; + + TgvStatistikReportRow RowInt(string pos, string beschr, int val, + TgvReportRowType type = TgvReportRowType.Normal) => + Row(pos, beschr, val.ToString("N0"), type); + + return new List + { + // ── Auftragsbestand ──────────────────────────────────────────── + RowInt("0.1", + "Anzahl der aus dem vorhergehenden Berichtszeitraum übernommenen offenen Aufträge", + tgv.Anzahl01), + + RowInt("0.2", + "Anzahl der im aktuellen Berichtszeitraum erteilten Aufträge", + tgv.Anzahl02, TgvReportRowType.Highlighted), + + RowInt("1.", + "Anzahl der insges. erteilten Aufträge (Summe Zeilen 0.1 + 0.2)", + tgv.Anzahl1, TgvReportRowType.Highlighted), + + Row("2.", + "Höhe der Geldstrafe in € (gem. Zeile 0.2)", + tgv.Betrag2.ToString("N2"), TgvReportRowType.Highlighted), + + // ── Erledigte Aufträge ───────────────────────────────────────── + RowInt("3.", + "Anzahl aller erledigten Aufträge", + tgv.Anzahl3), + + RowInt("3.1.", + "davon Anzahl der gescheiterten Fälle", + tgv.Anzahl3_1), + + RowInt("3.2.", + "davon Anzahl der positiv erledigten Aufträge", + tgv.Anzahl3_2, TgvReportRowType.Highlighted), + + // ── Zahlungen und Arbeitsstunden (Abschnittsüberschrift) ──────── + TgvStatistikReportRow.SectionHeader( + "4.", + "Geleistete Zahlungen und Arbeitsstunden (im Quartal)"), + + Row("4.1.", + "Summe der nachgewiesenen (Raten) oder Einmalzahlungen in €", + tgv.Betrag4_1.ToString("N2")), + + RowInt("4.2.", + "Anzahl der geleisteten Arbeitsstunden (in TGV)", + tgv.Anzahl4_2), + + // ── Hafttage / Aufsuchen ─────────────────────────────────────── + Row("5.", + "Anzahl der vermiedenen Hafttage (nur durch TGV)", + tgv.Betrag5.ToString("N2"), TgvReportRowType.Highlighted), + + RowInt("6.", + "Klient wurde durch BGBW aufgesucht (gem. Zeile 0.2)", + tgv.Anzahl6), + }; + } + } + + /// + /// Zeilentyp für die bedingte Formatierung im TGV-Statistik Report. + /// + public enum TgvReportRowType + { + Normal = 0, + Highlighted = 1, // Orangefarbener Hintergrund (z. B. Zeilen 0.2, 1., 2., 3.2., 5.) + SectionHeader = 2 // Blauer Hintergrund (Abschnittsüberschrift 4.) + } + + /// + /// Datenmodell für eine Zeile im TGV-Statistik Report. + /// + public class TgvStatistikReportRow + { + public string Position { get; set; } = ""; + public string Beschreibung { get; set; } = ""; + public string Wert { get; set; } = ""; + public TgvReportRowType RowType { get; set; } = TgvReportRowType.Normal; + + /// + /// Erstellt eine Abschnittsüberschrift (blauer Hintergrund). + /// + internal static TgvStatistikReportRow SectionHeader(string position, string beschreibung) + { + return new TgvStatistikReportRow + { + Position = position, + Beschreibung = beschreibung, + RowType = TgvReportRowType.SectionHeader + }; + } + } +} diff --git a/Report/DefaultReports/Straffaelligenhilfe/VgaStatistikReport.Designer.cs b/Report/DefaultReports/Straffaelligenhilfe/VgaStatistikReport.Designer.cs new file mode 100644 index 000000000..938f65d09 --- /dev/null +++ b/Report/DefaultReports/Straffaelligenhilfe/VgaStatistikReport.Designer.cs @@ -0,0 +1,718 @@ +namespace BeWo.Report.DefaultReports.Straffaelligenhilfe +{ + partial class VgaStatistikReport + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); + this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand(); + this.lblVersion = new DevExpress.XtraReports.UI.XRLabel(); + this.lblTitel = new DevExpress.XtraReports.UI.XRLabel(); + this.lblVermLabel = new DevExpress.XtraReports.UI.XRLabel(); + this.lblVermWert = new DevExpress.XtraReports.UI.XRLabel(); + this.lblStaLabel = new DevExpress.XtraReports.UI.XRLabel(); + this.lblStaWert = new DevExpress.XtraReports.UI.XRLabel(); + this.lblBerLabel = new DevExpress.XtraReports.UI.XRLabel(); + this.lblBerWert = new DevExpress.XtraReports.UI.XRLabel(); + this.PageHeader = new DevExpress.XtraReports.UI.PageHeaderBand(); + this.tblHeader = new DevExpress.XtraReports.UI.XRTable(); + this.tblHeaderRow1 = new DevExpress.XtraReports.UI.XRTableRow(); + this.cellHPos = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellHBeschr = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellHInsgesamt = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellHEFS = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellH1Auflage153a = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellH1Auflage153aSteuerstraf = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellH1BewOhne = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellH1BewMit = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellHGnadenverfahren = new DevExpress.XtraReports.UI.XRTableCell(); + this.tblHeaderRow2 = new DevExpress.XtraReports.UI.XRTableRow(); + this.cellH2Pos = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellH2Beschr = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellH2Insgesamt = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellH2EFS = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellH2Auflage153a = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellH2Auflage153aSteuerstraf = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellH2BewOhne = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellH2BewMit = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellH2Gnadenverfahren = new DevExpress.XtraReports.UI.XRTableCell(); + this.Detail = new DevExpress.XtraReports.UI.DetailBand(); + this.tblDetail = new DevExpress.XtraReports.UI.XRTable(); + this.tblDetailRow = new DevExpress.XtraReports.UI.XRTableRow(); + this.cellPos = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellBeschr = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellInsgesamt = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellEFS = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellAuflage153a = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellAuflage153aSteuerstraf = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellBewOhne = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellBewMit = new DevExpress.XtraReports.UI.XRTableCell(); + this.cellGnadenverfahren = new DevExpress.XtraReports.UI.XRTableCell(); + this.ruleHighlighted = new DevExpress.XtraReports.UI.FormattingRule(); + this.ruleSectionHeader = new DevExpress.XtraReports.UI.FormattingRule(); + this.PageFooter = new DevExpress.XtraReports.UI.PageFooterBand(); + this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo(); + this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand(); + this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand(); + this.paramVermittlungsstelle = new DevExpress.XtraReports.Parameters.Parameter(); + this.paramStaatsanwaltschaft = new DevExpress.XtraReports.Parameters.Parameter(); + this.paramBerichtszeitraum = new DevExpress.XtraReports.Parameters.Parameter(); + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.tblHeader)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.tblDetail)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this)).BeginInit(); + // + // bindingSource1 + // + this.bindingSource1.DataSource = typeof(BeWo.Report.DefaultReports.Straffaelligenhilfe.VgaStatistikReportRow); + // + // ReportHeader + // + this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.lblVersion, + this.lblTitel, + this.lblVermLabel, + this.lblVermWert, + this.lblStaLabel, + this.lblStaWert, + this.lblBerLabel, + this.lblBerWert}); + this.ReportHeader.HeightF = 84F; + this.ReportHeader.Name = "ReportHeader"; + // + // lblVersion + // + this.lblVersion.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblVersion.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.lblVersion.Name = "lblVersion"; + this.lblVersion.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblVersion.SizeF = new System.Drawing.SizeF(80F, 18F); + this.lblVersion.Text = "V 2014.1"; + // + // lblTitel + // + this.lblTitel.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold); + this.lblTitel.LocationFloat = new DevExpress.Utils.PointFloat(80F, 0F); + this.lblTitel.Name = "lblTitel"; + this.lblTitel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblTitel.SizeF = new System.Drawing.SizeF(989F, 18F); + this.lblTitel.StylePriority.UseFont = false; + this.lblTitel.StylePriority.UseTextAlignment = false; + this.lblTitel.Text = "Statistik der Ableistung gemeinnütziger Arbeit"; + this.lblTitel.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + // + // lblVermLabel + // + this.lblVermLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblVermLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 20F); + this.lblVermLabel.Name = "lblVermLabel"; + this.lblVermLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblVermLabel.SizeF = new System.Drawing.SizeF(319F, 18F); + this.lblVermLabel.Text = "Vermittlungsstelle (Ort):"; + // + // lblVermWert + // + this.lblVermWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters.Vermittlungsstelle]")}); + this.lblVermWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblVermWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 20F); + this.lblVermWert.Name = "lblVermWert"; + this.lblVermWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblVermWert.SizeF = new System.Drawing.SizeF(300F, 18F); + // + // lblStaLabel + // + this.lblStaLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblStaLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 40F); + this.lblStaLabel.Name = "lblStaLabel"; + this.lblStaLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblStaLabel.SizeF = new System.Drawing.SizeF(319F, 18F); + this.lblStaLabel.Text = "Staatsanwaltschaft / Landgerichtsbezirk:"; + // + // lblStaWert + // + this.lblStaWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters.Staatsanwaltschaft]")}); + this.lblStaWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblStaWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 40F); + this.lblStaWert.Name = "lblStaWert"; + this.lblStaWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblStaWert.SizeF = new System.Drawing.SizeF(300F, 18F); + // + // lblBerLabel + // + this.lblBerLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblBerLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 60F); + this.lblBerLabel.Name = "lblBerLabel"; + this.lblBerLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblBerLabel.SizeF = new System.Drawing.SizeF(319F, 18F); + this.lblBerLabel.Text = "Berichtszeitraum:"; + // + // lblBerWert + // + this.lblBerWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "FormatString(\'{0:dd.MM.yyyy}\', [Parameters.Berichtszeitraum])")}); + this.lblBerWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.lblBerWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 60F); + this.lblBerWert.Name = "lblBerWert"; + this.lblBerWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblBerWert.SizeF = new System.Drawing.SizeF(200F, 18F); + // + // PageHeader + // + this.PageHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.tblHeader}); + this.PageHeader.HeightF = 56F; + this.PageHeader.Name = "PageHeader"; + // + // tblHeader + // + this.tblHeader.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166))))); + this.tblHeader.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) + | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.tblHeader.BorderWidth = 0.5F; + this.tblHeader.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.tblHeader.Name = "tblHeader"; + this.tblHeader.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.tblHeaderRow1, + this.tblHeaderRow2}); + this.tblHeader.SizeF = new System.Drawing.SizeF(1069F, 56F); + // + // tblHeaderRow1 + // + this.tblHeaderRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.cellHPos, + this.cellHBeschr, + this.cellHInsgesamt, + this.cellHEFS, + this.cellH1Auflage153a, + this.cellH1Auflage153aSteuerstraf, + this.cellH1BewOhne, + this.cellH1BewMit, + this.cellHGnadenverfahren}); + this.tblHeaderRow1.Name = "tblHeaderRow1"; + this.tblHeaderRow1.Weight = 0.92D; + // + // cellHPos + // + this.cellHPos.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellHPos.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold); + this.cellHPos.Name = "cellHPos"; + this.cellHPos.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); + this.cellHPos.RowSpan = 2; + this.cellHPos.StylePriority.UseFont = false; + this.cellHPos.StylePriority.UseTextAlignment = false; + this.cellHPos.Text = "Pos."; + this.cellHPos.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.cellHPos.Weight = 0.16666666666666666D; + // + // cellHBeschr + // + this.cellHBeschr.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellHBeschr.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold); + this.cellHBeschr.Name = "cellHBeschr"; + this.cellHBeschr.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); + this.cellHBeschr.RowSpan = 2; + this.cellHBeschr.StylePriority.UseFont = false; + this.cellHBeschr.StylePriority.UseTextAlignment = false; + this.cellHBeschr.Text = "1 Auftrag = 1 Person !!!"; + this.cellHBeschr.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.cellHBeschr.Weight = 1.0633333333333332D; + // + // cellHInsgesamt + // + this.cellHInsgesamt.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellHInsgesamt.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold); + this.cellHInsgesamt.Name = "cellHInsgesamt"; + this.cellHInsgesamt.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); + this.cellHInsgesamt.RowSpan = 2; + this.cellHInsgesamt.StylePriority.UseFont = false; + this.cellHInsgesamt.StylePriority.UseTextAlignment = false; + this.cellHInsgesamt.Text = "insgesamt"; + this.cellHInsgesamt.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.cellHInsgesamt.Weight = 0.33333333333333331D; + // + // cellHEFS + // + this.cellHEFS.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellHEFS.Font = new DevExpress.Drawing.DXFont("Arial", 7F); + this.cellHEFS.Name = "cellHEFS"; + this.cellHEFS.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); + this.cellHEFS.RowSpan = 2; + this.cellHEFS.StylePriority.UseFont = false; + this.cellHEFS.StylePriority.UseTextAlignment = false; + this.cellHEFS.Text = "zur Abwendung einer\nErsatzfreiheitsstrafe"; + this.cellHEFS.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.cellHEFS.Weight = 0.33333333333333331D; + // + // cellH1Auflage153a + // + this.cellH1Auflage153a.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellH1Auflage153a.Font = new DevExpress.Drawing.DXFont("Arial", 7F); + this.cellH1Auflage153a.Name = "cellH1Auflage153a"; + this.cellH1Auflage153a.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); + this.cellH1Auflage153a.StylePriority.UseFont = false; + this.cellH1Auflage153a.StylePriority.UseTextAlignment = false; + this.cellH1Auflage153a.Text = "als Auflage gem."; + this.cellH1Auflage153a.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.cellH1Auflage153a.Weight = 0.33333333333333331D; + // + // cellH1Auflage153aSteuerstraf + // + this.cellH1Auflage153aSteuerstraf.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellH1Auflage153aSteuerstraf.Font = new DevExpress.Drawing.DXFont("Arial", 7F); + this.cellH1Auflage153aSteuerstraf.Name = "cellH1Auflage153aSteuerstraf"; + this.cellH1Auflage153aSteuerstraf.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); + this.cellH1Auflage153aSteuerstraf.StylePriority.UseFont = false; + this.cellH1Auflage153aSteuerstraf.StylePriority.UseTextAlignment = false; + this.cellH1Auflage153aSteuerstraf.Text = "als Auflage gem."; + this.cellH1Auflage153aSteuerstraf.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.cellH1Auflage153aSteuerstraf.Weight = 0.33333333333333331D; + // + // cellH1BewOhne + // + this.cellH1BewOhne.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellH1BewOhne.Font = new DevExpress.Drawing.DXFont("Arial", 7F); + this.cellH1BewOhne.Name = "cellH1BewOhne"; + this.cellH1BewOhne.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); + this.cellH1BewOhne.StylePriority.UseFont = false; + this.cellH1BewOhne.StylePriority.UseTextAlignment = false; + this.cellH1BewOhne.Text = "als Bewährungs-\nauflage"; + this.cellH1BewOhne.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.cellH1BewOhne.Weight = 0.33333333333333331D; + // + // cellH1BewMit + // + this.cellH1BewMit.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellH1BewMit.Font = new DevExpress.Drawing.DXFont("Arial", 7F); + this.cellH1BewMit.Name = "cellH1BewMit"; + this.cellH1BewMit.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); + this.cellH1BewMit.StylePriority.UseFont = false; + this.cellH1BewMit.StylePriority.UseTextAlignment = false; + this.cellH1BewMit.Text = "als Bewährungs-\nauflage"; + this.cellH1BewMit.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.cellH1BewMit.Weight = 0.33333333333333331D; + // + // cellHGnadenverfahren + // + this.cellHGnadenverfahren.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellHGnadenverfahren.Font = new DevExpress.Drawing.DXFont("Arial", 7F); + this.cellHGnadenverfahren.Name = "cellHGnadenverfahren"; + this.cellHGnadenverfahren.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); + this.cellHGnadenverfahren.RowSpan = 2; + this.cellHGnadenverfahren.StylePriority.UseFont = false; + this.cellHGnadenverfahren.StylePriority.UseTextAlignment = false; + this.cellHGnadenverfahren.Text = "als Auflage im\nGnadenverfahren"; + this.cellHGnadenverfahren.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.cellHGnadenverfahren.Weight = 0.33333333333333331D; + // + // tblHeaderRow2 + // + this.tblHeaderRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.cellH2Pos, + this.cellH2Beschr, + this.cellH2Insgesamt, + this.cellH2EFS, + this.cellH2Auflage153a, + this.cellH2Auflage153aSteuerstraf, + this.cellH2BewOhne, + this.cellH2BewMit, + this.cellH2Gnadenverfahren}); + this.tblHeaderRow2.Name = "tblHeaderRow2"; + this.tblHeaderRow2.Weight = 0.92D; + // + // cellH2Pos + // + this.cellH2Pos.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellH2Pos.Name = "cellH2Pos"; + this.cellH2Pos.Weight = 0.16666666666666666D; + // + // cellH2Beschr + // + this.cellH2Beschr.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellH2Beschr.Name = "cellH2Beschr"; + this.cellH2Beschr.Weight = 1.0633333333333332D; + // + // cellH2Insgesamt + // + this.cellH2Insgesamt.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellH2Insgesamt.Name = "cellH2Insgesamt"; + this.cellH2Insgesamt.Weight = 0.33333333333333331D; + // + // cellH2EFS + // + this.cellH2EFS.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellH2EFS.Name = "cellH2EFS"; + this.cellH2EFS.Weight = 0.33333333333333331D; + // + // cellH2Auflage153a + // + this.cellH2Auflage153a.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellH2Auflage153a.Font = new DevExpress.Drawing.DXFont("Arial", 7F); + this.cellH2Auflage153a.Name = "cellH2Auflage153a"; + this.cellH2Auflage153a.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); + this.cellH2Auflage153a.StylePriority.UseFont = false; + this.cellH2Auflage153a.StylePriority.UseTextAlignment = false; + this.cellH2Auflage153a.Text = "§ 153a StPO"; + this.cellH2Auflage153a.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.cellH2Auflage153a.Weight = 0.33333333333333331D; + // + // cellH2Auflage153aSteuerstraf + // + this.cellH2Auflage153aSteuerstraf.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellH2Auflage153aSteuerstraf.Font = new DevExpress.Drawing.DXFont("Arial", 7F); + this.cellH2Auflage153aSteuerstraf.Name = "cellH2Auflage153aSteuerstraf"; + this.cellH2Auflage153aSteuerstraf.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); + this.cellH2Auflage153aSteuerstraf.StylePriority.UseFont = false; + this.cellH2Auflage153aSteuerstraf.StylePriority.UseTextAlignment = false; + this.cellH2Auflage153aSteuerstraf.Text = "§ 153a StPO im\nSteuerstrafverfahren"; + this.cellH2Auflage153aSteuerstraf.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.cellH2Auflage153aSteuerstraf.Weight = 0.33333333333333331D; + // + // cellH2BewOhne + // + this.cellH2BewOhne.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellH2BewOhne.Font = new DevExpress.Drawing.DXFont("Arial", 7F); + this.cellH2BewOhne.Name = "cellH2BewOhne"; + this.cellH2BewOhne.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); + this.cellH2BewOhne.StylePriority.UseFont = false; + this.cellH2BewOhne.StylePriority.UseTextAlignment = false; + this.cellH2BewOhne.Text = "ohne Bewährungs-\nhelfer"; + this.cellH2BewOhne.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.cellH2BewOhne.Weight = 0.33333333333333331D; + // + // cellH2BewMit + // + this.cellH2BewMit.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellH2BewMit.Font = new DevExpress.Drawing.DXFont("Arial", 7F); + this.cellH2BewMit.Name = "cellH2BewMit"; + this.cellH2BewMit.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); + this.cellH2BewMit.StylePriority.UseFont = false; + this.cellH2BewMit.StylePriority.UseTextAlignment = false; + this.cellH2BewMit.Text = "mit Bewährungs-\nhelfer"; + this.cellH2BewMit.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.cellH2BewMit.Weight = 0.33333333333333331D; + // + // cellH2Gnadenverfahren + // + this.cellH2Gnadenverfahren.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); + this.cellH2Gnadenverfahren.Name = "cellH2Gnadenverfahren"; + this.cellH2Gnadenverfahren.Weight = 0.33333333333333331D; + // + // Detail + // + this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.tblDetail}); + this.Detail.HeightF = 16F; + this.Detail.Name = "Detail"; + // + // tblDetail + // + this.tblDetail.AnchorVertical = ((DevExpress.XtraReports.UI.VerticalAnchorStyles)((DevExpress.XtraReports.UI.VerticalAnchorStyles.Top | DevExpress.XtraReports.UI.VerticalAnchorStyles.Bottom))); + this.tblDetail.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166))))); + this.tblDetail.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) + | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.tblDetail.BorderWidth = 0.5F; + this.tblDetail.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.tblDetail.Name = "tblDetail"; + this.tblDetail.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.tblDetailRow}); + this.tblDetail.SizeF = new System.Drawing.SizeF(1069F, 16F); + // + // tblDetailRow + // + this.tblDetailRow.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.cellPos, + this.cellBeschr, + this.cellInsgesamt, + this.cellEFS, + this.cellAuflage153a, + this.cellAuflage153aSteuerstraf, + this.cellBewOhne, + this.cellBewMit, + this.cellGnadenverfahren}); + this.tblDetailRow.Name = "tblDetailRow"; + this.tblDetailRow.Weight = 11.5D; + // + // cellPos + // + this.cellPos.CanGrow = false; + this.cellPos.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Position]")}); + this.cellPos.Name = "cellPos"; + this.cellPos.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.cellPos.StylePriority.UseTextAlignment = false; + this.cellPos.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.cellPos.Weight = 0.16666666666666666D; + // + // cellBeschr + // + this.cellBeschr.CanGrow = false; + this.cellBeschr.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Beschreibung]")}); + this.cellBeschr.Name = "cellBeschr"; + this.cellBeschr.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.cellBeschr.StylePriority.UseTextAlignment = false; + this.cellBeschr.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.cellBeschr.Weight = 1.0633333333333332D; + // + // cellInsgesamt + // + this.cellInsgesamt.CanGrow = false; + this.cellInsgesamt.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ColInsgesamt]")}); + this.cellInsgesamt.Name = "cellInsgesamt"; + this.cellInsgesamt.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.cellInsgesamt.StylePriority.UseTextAlignment = false; + this.cellInsgesamt.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + this.cellInsgesamt.Weight = 0.33333333333333331D; + // + // cellEFS + // + this.cellEFS.CanGrow = false; + this.cellEFS.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ColEFS]")}); + this.cellEFS.Name = "cellEFS"; + this.cellEFS.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.cellEFS.StylePriority.UseTextAlignment = false; + this.cellEFS.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + this.cellEFS.Weight = 0.33333333333333331D; + // + // cellAuflage153a + // + this.cellAuflage153a.CanGrow = false; + this.cellAuflage153a.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ColAuflage153a]")}); + this.cellAuflage153a.Name = "cellAuflage153a"; + this.cellAuflage153a.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.cellAuflage153a.StylePriority.UseTextAlignment = false; + this.cellAuflage153a.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + this.cellAuflage153a.Weight = 0.33333333333333331D; + // + // cellAuflage153aSteuerstraf + // + this.cellAuflage153aSteuerstraf.CanGrow = false; + this.cellAuflage153aSteuerstraf.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ColAuflage153aSteuerstraf]")}); + this.cellAuflage153aSteuerstraf.Name = "cellAuflage153aSteuerstraf"; + this.cellAuflage153aSteuerstraf.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.cellAuflage153aSteuerstraf.StylePriority.UseTextAlignment = false; + this.cellAuflage153aSteuerstraf.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + this.cellAuflage153aSteuerstraf.Weight = 0.33333333333333331D; + // + // cellBewOhne + // + this.cellBewOhne.CanGrow = false; + this.cellBewOhne.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ColBewOhne]")}); + this.cellBewOhne.Name = "cellBewOhne"; + this.cellBewOhne.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.cellBewOhne.StylePriority.UseTextAlignment = false; + this.cellBewOhne.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + this.cellBewOhne.Weight = 0.33333333333333331D; + // + // cellBewMit + // + this.cellBewMit.CanGrow = false; + this.cellBewMit.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ColBewMit]")}); + this.cellBewMit.Name = "cellBewMit"; + this.cellBewMit.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.cellBewMit.StylePriority.UseTextAlignment = false; + this.cellBewMit.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + this.cellBewMit.Weight = 0.33333333333333331D; + // + // cellGnadenverfahren + // + this.cellGnadenverfahren.CanGrow = false; + this.cellGnadenverfahren.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { + new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ColGnadenverfahren]")}); + this.cellGnadenverfahren.Name = "cellGnadenverfahren"; + this.cellGnadenverfahren.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.cellGnadenverfahren.StylePriority.UseTextAlignment = false; + this.cellGnadenverfahren.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + this.cellGnadenverfahren.Weight = 0.33333333333333331D; + // + // ruleHighlighted + // + this.ruleHighlighted.Condition = "[RowType] == 1"; + this.ruleHighlighted.Formatting.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(230)))), ((int)(((byte)(153))))); + this.ruleHighlighted.Name = "ruleHighlighted"; + // + // ruleSectionHeader + // + this.ruleSectionHeader.Condition = "[RowType] == 2"; + this.ruleSectionHeader.Formatting.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(189)))), ((int)(((byte)(215)))), ((int)(((byte)(238))))); + this.ruleSectionHeader.Formatting.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold); + this.ruleSectionHeader.Name = "ruleSectionHeader"; + // + // PageFooter + // + this.PageFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrPageInfo1}); + this.PageFooter.HeightF = 26F; + this.PageFooter.Name = "PageFooter"; + // + // xrPageInfo1 + // + this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(868.9998F, 10F); + this.xrPageInfo1.Name = "xrPageInfo1"; + this.xrPageInfo1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrPageInfo1.SizeF = new System.Drawing.SizeF(200F, 16F); + this.xrPageInfo1.StylePriority.UseTextAlignment = false; + this.xrPageInfo1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + // + // TopMargin + // + this.TopMargin.HeightF = 50F; + this.TopMargin.Name = "TopMargin"; + // + // BottomMargin + // + this.BottomMargin.HeightF = 50F; + this.BottomMargin.Name = "BottomMargin"; + // + // paramVermittlungsstelle + // + this.paramVermittlungsstelle.Description = "Vermittlungsstelle (Ort)"; + this.paramVermittlungsstelle.Name = "paramVermittlungsstelle"; + // + // paramStaatsanwaltschaft + // + this.paramStaatsanwaltschaft.Description = "Staatsanwaltschaft / LG-Bezirk"; + this.paramStaatsanwaltschaft.Name = "paramStaatsanwaltschaft"; + this.paramStaatsanwaltschaft.ValueInfo = "GESAMT"; + // + // paramBerichtszeitraum + // + this.paramBerichtszeitraum.Description = "Berichtszeitraum (Stichtag)"; + this.paramBerichtszeitraum.Name = "paramBerichtszeitraum"; + this.paramBerichtszeitraum.Type = typeof(System.DateTime); + this.paramBerichtszeitraum.ValueInfo = "2026-03-20"; + // + // VgaStatistikReport + // + this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { + this.TopMargin, + this.ReportHeader, + this.PageHeader, + this.Detail, + this.PageFooter, + this.BottomMargin}); + this.DataSource = this.bindingSource1; + this.Font = new DevExpress.Drawing.DXFont("Arial", 8F); + this.Landscape = true; + this.Margins = new DevExpress.Drawing.DXMargins(50F, 50F, 50F, 50F); + this.PageHeight = 827; + this.PageWidth = 1169; + this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4; + this.Parameters.AddRange(new DevExpress.XtraReports.Parameters.Parameter[] { + this.paramVermittlungsstelle, + this.paramStaatsanwaltschaft, + this.paramBerichtszeitraum}); + this.Version = "23.2"; + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.tblHeader)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.tblDetail)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this)).EndInit(); + + } + + #endregion + + // ── Private Felder (alle Report-Controls) ────────────────────────────── + private System.Windows.Forms.BindingSource bindingSource1; + + private DevExpress.XtraReports.UI.TopMarginBand TopMargin; + private DevExpress.XtraReports.UI.BottomMarginBand BottomMargin; + private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader; + private DevExpress.XtraReports.UI.PageHeaderBand PageHeader; + private DevExpress.XtraReports.UI.DetailBand Detail; + private DevExpress.XtraReports.UI.PageFooterBand PageFooter; + + // Report-Header Labels + private DevExpress.XtraReports.UI.XRLabel lblVersion; + private DevExpress.XtraReports.UI.XRLabel lblTitel; + private DevExpress.XtraReports.UI.XRLabel lblVermLabel; + private DevExpress.XtraReports.UI.XRLabel lblVermWert; + private DevExpress.XtraReports.UI.XRLabel lblStaLabel; + private DevExpress.XtraReports.UI.XRLabel lblStaWert; + private DevExpress.XtraReports.UI.XRLabel lblBerLabel; + private DevExpress.XtraReports.UI.XRLabel lblBerWert; + + // Page-Header Tabelle + private DevExpress.XtraReports.UI.XRTable tblHeader; + private DevExpress.XtraReports.UI.XRTableRow tblHeaderRow1; + private DevExpress.XtraReports.UI.XRTableCell cellHPos; + private DevExpress.XtraReports.UI.XRTableCell cellHBeschr; + private DevExpress.XtraReports.UI.XRTableCell cellHInsgesamt; + private DevExpress.XtraReports.UI.XRTableCell cellHEFS; + private DevExpress.XtraReports.UI.XRTableCell cellH1Auflage153a; + private DevExpress.XtraReports.UI.XRTableCell cellH1Auflage153aSteuerstraf; + private DevExpress.XtraReports.UI.XRTableCell cellH1BewOhne; + private DevExpress.XtraReports.UI.XRTableCell cellH1BewMit; + private DevExpress.XtraReports.UI.XRTableCell cellHGnadenverfahren; + private DevExpress.XtraReports.UI.XRTableRow tblHeaderRow2; + private DevExpress.XtraReports.UI.XRTableCell cellH2Pos; + private DevExpress.XtraReports.UI.XRTableCell cellH2Beschr; + private DevExpress.XtraReports.UI.XRTableCell cellH2Insgesamt; + private DevExpress.XtraReports.UI.XRTableCell cellH2EFS; + private DevExpress.XtraReports.UI.XRTableCell cellH2Auflage153a; + private DevExpress.XtraReports.UI.XRTableCell cellH2Auflage153aSteuerstraf; + private DevExpress.XtraReports.UI.XRTableCell cellH2BewOhne; + private DevExpress.XtraReports.UI.XRTableCell cellH2BewMit; + private DevExpress.XtraReports.UI.XRTableCell cellH2Gnadenverfahren; + + // Detail-Tabelle + private DevExpress.XtraReports.UI.XRTable tblDetail; + private DevExpress.XtraReports.UI.XRTableRow tblDetailRow; + private DevExpress.XtraReports.UI.XRTableCell cellPos; + private DevExpress.XtraReports.UI.XRTableCell cellBeschr; + private DevExpress.XtraReports.UI.XRTableCell cellInsgesamt; + private DevExpress.XtraReports.UI.XRTableCell cellEFS; + private DevExpress.XtraReports.UI.XRTableCell cellAuflage153a; + private DevExpress.XtraReports.UI.XRTableCell cellAuflage153aSteuerstraf; + private DevExpress.XtraReports.UI.XRTableCell cellBewOhne; + private DevExpress.XtraReports.UI.XRTableCell cellBewMit; + private DevExpress.XtraReports.UI.XRTableCell cellGnadenverfahren; + + // Seitenzahl + private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo1; + + // Bedingte Formatierung + private DevExpress.XtraReports.UI.FormattingRule ruleHighlighted; + private DevExpress.XtraReports.UI.FormattingRule ruleSectionHeader; + + // Parameter + private DevExpress.XtraReports.Parameters.Parameter paramVermittlungsstelle; + private DevExpress.XtraReports.Parameters.Parameter paramStaatsanwaltschaft; + private DevExpress.XtraReports.Parameters.Parameter paramBerichtszeitraum; + } +} diff --git a/Report/DefaultReports/Straffaelligenhilfe/VgaStatistikReport.cs b/Report/DefaultReports/Straffaelligenhilfe/VgaStatistikReport.cs new file mode 100644 index 000000000..83117477b --- /dev/null +++ b/Report/DefaultReports/Straffaelligenhilfe/VgaStatistikReport.cs @@ -0,0 +1,334 @@ +using System; +using System.Collections.Generic; +using BeWo.Service.Reporting.Straffaelligenhilfe; +using DevExpress.XtraReports.UI; + +namespace BeWo.Report.DefaultReports.Straffaelligenhilfe +{ + /// + /// XtraReport für die "Statistik der Ableistung gemeinnütziger Arbeit" (V 2014.1). + /// + /// Verwendung: + /// var rows = VgaStatistikReport.CreateRows(efs, a153, a153s, bewO, bewM, gnad); + /// var report = new VgaStatistikReport(); + /// report.Parameters["Vermittlungsstelle"].Value = "Musterstadt"; + /// report.Parameters["Staatsanwaltschaft"].Value = "GESAMT"; + /// report.Parameters["Berichtszeitraum"].Value = new DateTime(2025, 6, 30); + /// report.SetReportDataSource(rows); + /// report.ShowPreview(); + /// + public partial class VgaStatistikReport : XtraReport + { + public VgaStatistikReport() + { + InitializeComponent(); + } + + /// + /// Setzt die Datenquelle des Reports. + /// + public void SetReportDataSource(List rows) + { + this.bindingSource1.DataSource = rows; + } + + // ── Factory ───────────────────────────────────────────────────────────── + + /// + /// Konvertiert 6 ausgefüllte VgaStatistic-Objekte (je eine Kategorie) in die + /// Zeilenliste für den Report. Spalte C (insgesamt) wird als Summe berechnet. + /// + /// Parameterreihenfolge entspricht den Excel-Spalten D–I: + /// efs → Spalte D: Abwendung Ersatzfreiheitsstrafe + /// auflage153a → Spalte E: Auflage gem. § 153a StPO + /// auflage153aSteuerstraf → Spalte F: Auflage § 153a StPO Steuerstrafverfahren + /// bewOhne → Spalte G: Bewährungsauflage ohne Bewährungshelfer + /// bewMit → Spalte H: Bewährungsauflage mit Bewährungshelfer + /// gnadenverfahren → Spalte I: Auflage im Gnadenverfahren + /// + public static List CreateRows( + VgaStatistic efs, + VgaStatistic auflage153a, + VgaStatistic auflage153aSteuerstraf, + VgaStatistic bewOhne, + VgaStatistic bewMit, + VgaStatistic gnadenverfahren) + { + // Kurzform: Zähle eine Eigenschaft über alle 6 Kategorien + int Sum(Func f) => + f(efs) + f(auflage153a) + f(auflage153aSteuerstraf) + + f(bewOhne) + f(bewMit) + f(gnadenverfahren); + + // Normale Datenzeile + VgaStatistikReportRow Row(string pos, string beschr, + Func f, + VgaReportRowType type = VgaReportRowType.Normal) => + VgaStatistikReportRow.FromValues(pos, beschr, + f(efs), f(auflage153a), f(auflage153aSteuerstraf), + f(bewOhne), f(bewMit), f(gnadenverfahren), type); + + return new List + { + // ── Auftragsbestand ──────────────────────────────────────────── + Row("0.1", + "Anzahl der aus dem vorhergehenden Berichtszeitraum übernommenen offenen Aufträge", + s => s.Anzahl01), + + Row("0.2", + "Anzahl der im aktuellen Berichtszeitraum erteilten Aufträge", + s => s.Anzahl02, VgaReportRowType.Highlighted), + + Row("1.", + "Anzahl der insges. erteilten Aufträge (Summe Zeilen 0.1 + 0.2)", + s => s.Anzahl1, VgaReportRowType.Highlighted), + + Row("1.1.", + "darunter mehrfach erteilte Aufträge zur selben Person und zum selben Aktenzeichen (Fallzahl v. Zeile 1)", + s => s.Anzahl1_1, VgaReportRowType.Highlighted), + + Row("1.2.", + "darunter Amtshilfe für andere Bezirke in BW (Fallzahl v. Zeile 1)", + s => s.Anzahl1_2), + + Row("1.3.", + "darunter Amtshilfe für andere Bundesländer / Ausland (Fallzahl v. Zeile 1)", + s => s.Anzahl1_3), + + Row("1.4.", + "Aufträge für männliche Klienten (Fallzahl v. Zeile 1)", + s => s.Anzahl1_4), + + Row("1.5.", + "Aufträge für weibliche Klienten (Fallzahl v. Zeile 1)", + s => s.Anzahl1_5), + + // ── Arbeitsstunden ───────────────────────────────────────────── + Row("2.", + "Anzahl der (beauftragten) Arbeitsstunden (bezogen auf Zeile 1) in vollen Std.", + s => s.Anzahl2), + + // ── Erledigte Aufträge ───────────────────────────────────────── + Row("3.", + "Anzahl aller erledigten Aufträge (incl. Abbrüche, teilweise erledigter Aufträge, gescheiterte Fälle)", + s => s.Anzahl3), + + Row("3.1.", + "davon Anzahl der teilweise erledigten Aufträge (Fallzahl v. Zeile 3)", + s => s.Anzahl3_1), + + VgaStatistikReportRow.FromEfsOnly( + "3.1.1.", + "Anzahl der Aufträge = Personen, bei denen die Auflagen teilweise nur durch Arbeitsleistungen erledigt wurden (Fallzahl v. Spalte D; Zeile 3.1.)", + efs.Anzahl3_1_1.ToString("N0")), + + Row("3.2.", + "davon Anzahl der gescheiterten Fälle (negativer Fallstatus u. Abbrüche (Fallzahl v. Zeile 3))", + s => s.Anzahl3_2), + + Row("3.3.", + "davon Anzahl der vollständig erledigten Aufträge (Fallzahl v. Zeile 3)", + s => s.Anzahl3_3), + + VgaStatistikReportRow.FromEfsOnly( + "3.3.1.", + "Anzahl der Aufträge = Personen, bei denen die Auflagen nur durch Arbeitsleistungen erfüllt wurden (Fallzahl v. Spalte D; Zeile 3.3.)", + efs.Anzahl3_3_1.ToString("N0")), + + // ── Verlauf (Abschnittsüberschrift) ──────────────────────────── + VgaStatistikReportRow.SectionHeader( + "4.", + "Verlauf (der erledigten Aufträge gem. Zeile 3)", + "Mehrfachnennungen möglich !!"), + + Row("4.1.", + "darunter Vermittlungen in externe Einsatzstellen (Fallzahl von Zeile 3)", + s => s.Anzahl4_1), + + Row("4.2.", + "darunter Vermittlungen in verschiedene Einsatzstellen (Fallzahl von Zeile 3)", + s => s.Anzahl4_2), + + Row("4.3.", + "darunter Vermittlungen in eigene Arbeitsgruppen (Fallzahl von Zeile 3)", + s => s.Anzahl4_3), + + Row("4.4.", + "darunter durch Ratenzahlungsvereinbarung (Fallzahlen v. Zeile 3)", + s => s.Anzahl4_4), + + Row("4.5.", + "darunter sonstige Erledigung (Umzug, Änderung des Beschlusses) (Fallzahl v. Zeile 3)", + s => s.Anzahl4_5), + + Row("4.6.", + "darunter Mischformen (Fallzahlen von Zeile 3)", + s => s.Anzahl4_6), + + Row("4.7.", + "Übergang in Aufsuchende Sozialarbeit", + s => s.Anzahl4_7), + + Row("4.8.", + "Übergang in Treuhänderische Geldverwaltung", + s => s.Anzahl4_8), + + // ── Geleistete Stunden ───────────────────────────────────────── + Row("5.", + "Anzahl der geleisteten Arbeitsstunden bezogen auf Zeile 3 (volle Std.)", + s => s.Anzahl5), + + // ── Zahlungen / Hafttage / Fälle (nur Insgesamt = EFS) ───────── + VgaStatistikReportRow.FromEfsOnly( + "6.", + "Summe der nachgewiesenen Zahlungen in €", + (efs.Betrag6 + auflage153a.Betrag6 + auflage153aSteuerstraf.Betrag6 + + bewOhne.Betrag6 + bewMit.Betrag6 + gnadenverfahren.Betrag6).ToString("N2")), + + VgaStatistikReportRow.FromEfsOnly( + "7.", + "Anzahl der vermiedenen Hafttage (durch Arbeitsstd. und / oder Zahlungen)", + Sum(s => s.Anzahl7).ToString("N0")), + + VgaStatistikReportRow.FromEfsOnly( + "7.1.", + "Anzahl der vermiedenen Hafttage (nur durch Arbeitsstd.)", + Sum(s => s.Anzahl7_1).ToString("N0")), + + VgaStatistikReportRow.FromEfsOnly( + "8.", + "Anzahl der Aufträge = Personen, bei denen die Vollstreckung der Freiheitsstrafe vollständig oder teilweise durch gemeinnützige Arbeit abgewendet wurde", + Sum(s => s.Anzahl8).ToString("N0")), + + // ── Gründe für Abbrüche (Abschnittsüberschrift) ──────────────── + VgaStatistikReportRow.SectionHeader( + "9.", + "Gründe für Abbrüche / Scheitern", + "(Fallzahlen bezogen auf Zeile 3.2 - Mehrfachnennung möglich)"), + + Row("9.1.", "kein Kontakt", s => s.Anzahl9_1), + Row("9.2.", "nicht angetreten", s => s.Anzahl9_2), + Row("9.3.", "Abbruch der Tätigkeit", s => s.Anzahl9_3), + Row("9.4.", "längerfristig arbeitsunfähig", s => s.Anzahl9_4), + Row("9.5.", "Suchtproblematik", s => s.Anzahl9_5), + Row("9.6.", "psychische Probleme", s => s.Anzahl9_6), + Row("9.7.", "keine Motivation", s => s.Anzahl9_7), + Row("9.8.", "in Haft", s => s.Anzahl9_8), + Row("9.9.", "unbekannt", s => s.Anzahl9_9), + + // ── Offene Aufträge ──────────────────────────────────────────── + Row("10.", + "Anzahl der offenen Aufträge (= Zeile 1 minus Zeile 3)", + s => s.Anzahl10), + + // ── Dauer der Beratung (Abschnittsüberschrift) ───────────────── + VgaStatistikReportRow.SectionHeader( + "11.", + "Dauer der Beratung / Betreuung (der erl. Aufträge)", + "(Fallzahlen-Summen müssen identisch sein mit Zeile 3)"), + + Row("11.1.", "bis 3 Monate", s => s.Anzahl11_1), + Row("11.2.", "3 bis 6 Monate", s => s.Anzahl11_2), + Row("11.3.", "6 bis 12 Monate", s => s.Anzahl11_3), + Row("11.4.", "über 12 Monate", s => s.Anzahl11_4), + + // ── Vermittlung aus Haft ─────────────────────────────────────── + Row("12.", "Vermittlung aus Haft", s => s.Anzahl12), + }; + } + } + /// + /// Zeilentyp für die bedingte Formatierung im VGA-Statistik Report. + /// + public enum VgaReportRowType + { + Normal = 0, + Highlighted = 1, // Orangefarbener Hintergrund (z. B. Zeilen 0.2, 1., 1.1.) + SectionHeader = 2 // Blauer Hintergrund (Abschnittsüberschriften 4., 9., 11.) + } + + /// + /// Datenmodell für eine Zeile im VGA-Statistik Report. + /// Alle Werte werden als formatierte Strings übergeben, damit auch "x"-Einträge + /// für nicht anwendbare Felder dargestellt werden können. + /// + public class VgaStatistikReportRow + { + public string Position { get; set; } = ""; + public string Beschreibung { get; set; } = ""; + public string ColInsgesamt { get; set; } = ""; + public string ColEFS { get; set; } = ""; + public string ColAuflage153a { get; set; } = ""; + public string ColAuflage153aSteuerstraf { get; set; } = ""; + public string ColBewOhne { get; set; } = ""; + public string ColBewMit { get; set; } = ""; + public string ColGnadenverfahren { get; set; } = ""; + public VgaReportRowType RowType { get; set; } = VgaReportRowType.Normal; + + /// + /// Erstellt eine normale Datenzeile aus den Einzelwerten der 6 Kategorien. + /// Insgesamt wird als Summe berechnet. + /// + internal static VgaStatistikReportRow FromValues( + string position, string beschreibung, + int valEFS, int valA153, int valA153s, int valBewO, int valBewM, int valGnad, + VgaReportRowType rowType = VgaReportRowType.Normal) + { + int total = valEFS + valA153 + valA153s + valBewO + valBewM + valGnad; + return new VgaStatistikReportRow + { + Position = position, + Beschreibung = beschreibung, + ColInsgesamt = total.ToString("N0"), + ColEFS = valEFS.ToString("N0"), + ColAuflage153a = valA153.ToString("N0"), + ColAuflage153aSteuerstraf = valA153s.ToString("N0"), + ColBewOhne = valBewO.ToString("N0"), + ColBewMit = valBewM.ToString("N0"), + ColGnadenverfahren = valGnad.ToString("N0"), + RowType = rowType + }; + } + + /// + /// Erstellt eine Zeile, bei der nur Insgesamt (= EFS-Wert) relevant ist – + /// Spalten E–I werden als "x" (nicht anwendbar) dargestellt. + /// Verwendet für Positionen 3.1.1., 3.3.1., 6., 7., 7.1., 8. + /// + internal static VgaStatistikReportRow FromEfsOnly( + string position, string beschreibung, + string valTotal, + VgaReportRowType rowType = VgaReportRowType.Normal) + { + return new VgaStatistikReportRow + { + Position = position, + Beschreibung = beschreibung, + ColInsgesamt = valTotal, + ColEFS = valTotal, + ColAuflage153a = "x", + ColAuflage153aSteuerstraf = "x", + ColBewOhne = "x", + ColBewMit = "x", + ColGnadenverfahren = "x", + RowType = rowType + }; + } + + /// + /// Erstellt eine Abschnittsüberschrift (blauer Hintergrund). + /// ColInsgesamt nimmt den Hinweistext auf. + /// + internal static VgaStatistikReportRow SectionHeader( + string position, string beschreibung, string hinweis = "") + { + return new VgaStatistikReportRow + { + Position = position, + Beschreibung = beschreibung, + ColInsgesamt = hinweis, + RowType = VgaReportRowType.SectionHeader + }; + } + } +} + diff --git a/Report/DefaultReports/Straffaelligenhilfe/VgaStatistikReport.resx b/Report/DefaultReports/Straffaelligenhilfe/VgaStatistikReport.resx new file mode 100644 index 000000000..1af7de150 --- /dev/null +++ b/Report/DefaultReports/Straffaelligenhilfe/VgaStatistikReport.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Service/Reporting/Straffaelligenhilfe/AsaStatistic.cs b/Service/Reporting/Straffaelligenhilfe/AsaStatistic.cs new file mode 100644 index 000000000..8b59c703f --- /dev/null +++ b/Service/Reporting/Straffaelligenhilfe/AsaStatistic.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using BS.Shared; +using BS.Shared.Core; +using BS.Shared.DataContracts; +using BS.Shared.Services; +using BeWo.Data.Access; +using BeWo.Data.Entities; +using BeWo.Service.DCEntityMapper; +using BeWo.Service.Plugins; +using Castle.Components.DictionaryAdapter; +using NHibernate.Linq; + +namespace BeWo.Service.Reporting.Straffaelligenhilfe +{ + public class AsaStatistic : StatisticBase + { + public int Anzahl01 { get; set; } // Anzahl der aus dem vorhergehenden Berichtszeitraum übernommenen offenen Aufträge + public int Anzahl02 { get; set; } // Anzahl der im aktuellen Berichtszeitraum erteilten Aufträge + public int Anzahl1 { get; set; } // Anzahl der insges. erteilten Aufträge (Summe Zeilen 0.1 + 0.2) + public int Anzahl2 { get; set; } // Anzahl aller erledigten Aufträge (incl. Abbrüche, ...) + + // 3.1. Methode (der erledigten Aufträge gem. Zeile 2) + public int Anzahl3_1_1 { get; set; } // Klient wurde aufgesucht + public int Anzahl3_1_2 { get; set; } // Klient wurde angetroffen + public int Anzahl3_1_3 { get; set; } // Klient wurde nicht angetroffen + public int Anzahl3_1_4 { get; set; } // Klient wurde nicht aufgesucht, da Klient sich in VBS meldet (1. Anschreiben) + + // 3.2. Verlauf (der erledigten Aufträge gem. Zeile 2) + public int Anzahl3_2_1 { get; set; } // Übergang in Schwitzen statt Sitzen + public int Anzahl3_2_2 { get; set; } // Übergang in Treuhänderische Geldverwaltung + public int Anzahl3_2_3 { get; set; } // Kein Interesse / Abbruch / Scheitern + + public override void ProcessCustomer(Customer customer) + { + var asaList = GetVgaList(customer, VgaTypeEnum.Asa); + + foreach (var item in asaList) + { + // Zählen + } + } + } +} diff --git a/Service/Reporting/Straffaelligenhilfe/TgvStatistic.cs b/Service/Reporting/Straffaelligenhilfe/TgvStatistic.cs new file mode 100644 index 000000000..4505b5d3e --- /dev/null +++ b/Service/Reporting/Straffaelligenhilfe/TgvStatistic.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using BS.Shared; +using BS.Shared.Core; +using BS.Shared.DataContracts; +using BS.Shared.Services; +using BeWo.Data.Access; +using BeWo.Data.Entities; +using BeWo.Service.DCEntityMapper; +using BeWo.Service.Plugins; +using Castle.Components.DictionaryAdapter; +using NHibernate.Linq; + +namespace BeWo.Service.Reporting.Straffaelligenhilfe +{ + public class TgvStatistic : StatisticBase + { + public int Anzahl01 { get; set; } // Anzahl der aus dem vorhergehenden Berichtszeitraum übernommenen offenen Aufträge + public int Anzahl02 { get; set; } // Anzahl der im aktuellen Berichtszeitraum erteilten Aufträge + public int Anzahl1 { get; set; } // Anzahl der insges. erteilten Aufträge (Summe Zeilen 0.1 + 0.2) + public decimal Betrag2 { get; set; } // Höhe der Geldstrafe in € (gem. Zeile 0.2) + public int Anzahl3 { get; set; } // Anzahl aller erledigten Aufträge + public int Anzahl3_1 { get; set; } // davon Anzahl der gescheiterten Fälle + public int Anzahl3_2 { get; set; } // davon Anzahl der positiv erledigten Aufträge + public decimal Betrag4_1 { get; set; } // Summe der nachgewiesenen (Raten) oder Einmalzahlungen in € + public int Anzahl4_2 { get; set; } // Anzahl der geleisteten Arbeitsstunden (in TGV) + public decimal Betrag5 { get; set; } // Anzahl der vermiedenen Hafttage (nur durch TGV) + public int Anzahl6 { get; set; } // Klient wurde durch BGBW aufgesucht (gem. Zeile 0.2) + + public override void ProcessCustomer(Customer customer) + { + var tgvList = GetVgaList(customer, VgaTypeEnum.Tgv); + + foreach (var item in tgvList) + { + // Zählen + } + } + } +} From 8a381cc4a852d0097f2a2a5849a1a86e6ba8a822 Mon Sep 17 00:00:00 2001 From: Christian Date: Mon, 30 Mar 2026 00:13:04 +0200 Subject: [PATCH 05/10] =?UTF-8?q?Dateien=20f=C3=BCr=20AI=20Voice=20im=20Mo?= =?UTF-8?q?k=20und=20Straff=C3=A4lligenhilfe=20vergessen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Host/Host.csproj.user | 2 +- Report/Report.csproj | 19 +++++++++++++++--- Service/Service.csproj | 2 ++ .../OperationsServiceImp.cs | 2 +- Service/ai/TranscriptionService.cs | 20 ++++++++++++++----- 5 files changed, 35 insertions(+), 10 deletions(-) diff --git a/Host/Host.csproj.user b/Host/Host.csproj.user index 8fd09928c..754e7d06b 100644 --- a/Host/Host.csproj.user +++ b/Host/Host.csproj.user @@ -1,4 +1,4 @@ - + C:\Projects\Bewo\BeWo - Main\Host\Properties\PublishProfiles\FolderProfile.pubxml diff --git a/Report/Report.csproj b/Report/Report.csproj index cdd5d977a..cedc2c12b 100644 --- a/Report/Report.csproj +++ b/Report/Report.csproj @@ -289,11 +289,23 @@ ValidationMessagesReport.cs - + Component - + VgaStatistikReport.cs + + + Component + + + TgvStatistikReport.cs + + + Component + + + AsaStatistikReport.cs Component @@ -708,7 +720,7 @@ ValidationMessagesReport.cs Designer - + VgaStatistikReport.cs @@ -930,6 +942,7 @@ + diff --git a/Service/Service.csproj b/Service/Service.csproj index ef5be3571..154de074b 100644 --- a/Service/Service.csproj +++ b/Service/Service.csproj @@ -516,6 +516,8 @@ + + diff --git a/Service/ServiceImplementations/OperationsServiceImp.cs b/Service/ServiceImplementations/OperationsServiceImp.cs index 54bcacecb..dd188bdef 100644 --- a/Service/ServiceImplementations/OperationsServiceImp.cs +++ b/Service/ServiceImplementations/OperationsServiceImp.cs @@ -9065,7 +9065,7 @@ namespace BeWo.Service.ServiceImplementations { var s = PluginLoader.FindClass(); - var data = s.StartTranskription(PluginLoader.Tenant); + var data = s.InitTranskription(PluginLoader.Tenant, true); return s.MapAiVoiceDataDC(data); } diff --git a/Service/ai/TranscriptionService.cs b/Service/ai/TranscriptionService.cs index ee3fef976..276f70d93 100644 --- a/Service/ai/TranscriptionService.cs +++ b/Service/ai/TranscriptionService.cs @@ -17,7 +17,7 @@ namespace BeWo.Service.AI { public class TranscriptionService { - public AiVoiceData StartTranskription(String tenant, String sprache = "de") + public AiVoiceData InitTranskription(String tenant, bool sendOwnChatMessage, String sprache = "de") { AiVoiceData avd = null; @@ -26,9 +26,10 @@ namespace BeWo.Service.AI { #if DEBUG avd = new AiVoiceData(); + avd.Token = "Test"; avd.StatusMessage = "1"; - DAOFactory.GenericDAO.Update(avd); - + avd.ResultUrl = "https://example.com/"; + return avd; #endif @@ -37,9 +38,18 @@ namespace BeWo.Service.AI if (!String.IsNullOrEmpty(avd.Token)) { var url = String.Format("ownchat://voice/?token={0}", avd.Token); - var msg = String.Format("Bitte klicken Sie auf folgenden Link um die Aufnahme zu starten:\n\n{0}", url); - OwnChatHelper.SendOwnChatMessage(msg, UserRightHelper.GetLoggedInUser().Employee); + + if (sendOwnChatMessage) + { + var msg = String.Format("Bitte klicken Sie auf folgenden Link um die Aufnahme zu starten:\n\n{0}", url); + OwnChatHelper.SendOwnChatMessage(msg, UserRightHelper.GetLoggedInUser().Employee); + } + else + { + avd.ResultUrl = url; + } + } return avd; From 200b47207cf8b8673c9e0a53719e890ce49f4d77 Mon Sep 17 00:00:00 2001 From: Christian Date: Mon, 30 Mar 2026 00:13:46 +0200 Subject: [PATCH 06/10] Alle Klienten des Teams in Auswahllisten anzeigen --- .../CaritasverbandKelheim.csproj | 1 + .../Service/CustomCustomerService.cs | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 ReportImp/CaritasverbandKelheim/Service/CustomCustomerService.cs diff --git a/ReportImp/CaritasverbandKelheim/CaritasverbandKelheim.csproj b/ReportImp/CaritasverbandKelheim/CaritasverbandKelheim.csproj index 3d33d865c..bb0e1933e 100644 --- a/ReportImp/CaritasverbandKelheim/CaritasverbandKelheim.csproj +++ b/ReportImp/CaritasverbandKelheim/CaritasverbandKelheim.csproj @@ -117,6 +117,7 @@ ServiceInvoiceReport.cs + diff --git a/ReportImp/CaritasverbandKelheim/Service/CustomCustomerService.cs b/ReportImp/CaritasverbandKelheim/Service/CustomCustomerService.cs new file mode 100644 index 000000000..ccd1d079a --- /dev/null +++ b/ReportImp/CaritasverbandKelheim/Service/CustomCustomerService.cs @@ -0,0 +1,34 @@ +using System.Collections.Generic; +using BeWo.Data; +using BeWo.Data.Entities; +using BeWo.Data.Security; +using BeWo.Service.Plugins; +using BS.Shared; +using BS.Shared.DataContracts.Compact; + +namespace CaritasverbandKelheim.Service +{ + public class CustomCustomerService : CustomerService + { + public override List GetAllActiveCustomersCompact(bool fetchReferenceNumbers, long? currentEmployeeOid) + { + var customer = base.GetAllActiveCustomersCompact(fetchReferenceNumbers, currentEmployeeOid); + + if (UserRightHelper.LoggedInUserHasRight(UserRightType.Customer_ViewMyTeams)) + { + + foreach (var c in customer) + { + if (c.IsRelatedToTeam) + { + c.IsRelatedToEmployee = true; + } + } + } + + + return customer; + } + + } +} \ No newline at end of file From 156fa732becb577ed7e57f47d12257ac012dbcfe Mon Sep 17 00:00:00 2001 From: Christian Date: Mon, 30 Mar 2026 00:15:22 +0200 Subject: [PATCH 07/10] =?UTF-8?q?LH=20Frankfurt=20Oder=20neue=20Rechung=20?= =?UTF-8?q?f=C3=BCr=20aBA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...itslisteFruehUndSpaetbetreuung.Designer.cs | 6 +- ...nheitAusserschulischesBetreuungsangebot.cs | 110 +-- .../CustomerAnwesenheit.cs | 3 +- .../CustomReportCreator.cs | 31 +- ...lischesBetreuungsangebotInvoiceCreation.cs | 8 +- ...erschulischesBetreuungsangebot.Designer.cs | 626 +++++------------- ...hnungAusserschulischesBetreuungsangebot.cs | 222 ++++--- Service/Plugins/PluginLoader.cs | 6 +- 8 files changed, 366 insertions(+), 646 deletions(-) diff --git a/ReportImp/LebenshilfeFrankfurtOder/AnwesenheitslisteFruehUndSpaetbetreuung.Designer.cs b/ReportImp/LebenshilfeFrankfurtOder/AnwesenheitslisteFruehUndSpaetbetreuung.Designer.cs index c31932793..9cbf450ca 100644 --- a/ReportImp/LebenshilfeFrankfurtOder/AnwesenheitslisteFruehUndSpaetbetreuung.Designer.cs +++ b/ReportImp/LebenshilfeFrankfurtOder/AnwesenheitslisteFruehUndSpaetbetreuung.Designer.cs @@ -1188,6 +1188,10 @@ this.xrTableCell64.Text = "xrTableCell64"; this.xrTableCell64.Weight = 0.016054418850405955D; // + // bindingSource1 + // + this.bindingSource1.DataSource = typeof(LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot.AnwesenheitAusserschulischesBetreuungsangebot); + // // xrLabel8 // this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(741.0002F, 53.33333F); @@ -3101,7 +3105,7 @@ // fieldIstFFO // this.fieldIstFFO.DataMember = "CustomerAnwesenheiten"; - this.fieldIstFFO.Expression = "Iif([IstFFO], \'x\', \'\')"; + this.fieldIstFFO.Expression = "Iif([IstFFO_EGH] Or [IstFFO_JA], \'x\', \'\')"; this.fieldIstFFO.FieldType = DevExpress.XtraReports.UI.FieldType.String; this.fieldIstFFO.Name = "fieldIstFFO"; // diff --git a/ReportImp/LebenshilfeFrankfurtOder/AusserschulischesBetreuungsangebot/AnwesenheitAusserschulischesBetreuungsangebot.cs b/ReportImp/LebenshilfeFrankfurtOder/AusserschulischesBetreuungsangebot/AnwesenheitAusserschulischesBetreuungsangebot.cs index 1bda98095..4881317b8 100644 --- a/ReportImp/LebenshilfeFrankfurtOder/AusserschulischesBetreuungsangebot/AnwesenheitAusserschulischesBetreuungsangebot.cs +++ b/ReportImp/LebenshilfeFrankfurtOder/AusserschulischesBetreuungsangebot/AnwesenheitAusserschulischesBetreuungsangebot.cs @@ -242,6 +242,63 @@ namespace LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot SetzeStaffelpreise(); } + + private CustomerAnwesenheit CreateCustomerAnwesenheit(AdditionalServiceBookingRow row, DateTime monat) + { + var ca = new CustomerAnwesenheit(); + ca.Monat = monat; + ca.CustomerDC = row.CustomerDC; + + ca.IstSgb9 = FrankfurtOderHelper.IstSgbIX(ca.CustomerDC.DateOfBirth, monat.AddMonths(1).AddDays(-1)); + ca.IstSgb8 = !ca.IstSgb9; + + SetCostbearer2SupportConcept(ca); + + + if (ca.CostBearer2SupportConcept?.CostBearer.Organisation != null) + { + if (ca.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("Stadt Frankfurt (Oder)") && !ca.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("JA")) + { + if (ca.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("Stadt Frankfurt (Oder)") && !ca.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("JA")) + { + ca.IstFFO_JA = true; + } + else + { + ca.IstFFO_EGH = true; + } + + } + else + { + ca.IstAndererKT = true; + } + } + + SetzeAnwesenheiten(ca, row); + + return ca; + } + + private void SetCostbearer2SupportConcept(CustomerAnwesenheit ca) + { + var c = DAOFactory.GenericDAO.LoadByID(ca.CustomerDC.CustomerOid); + + foreach (var sc in c.SupportConcepts) + { + foreach (var c2s in sc.CostBearer2SupportConceptList) + { + foreach (var ap in c2s.ApprovalPeriodList) + { + if (ap.ServiceCategory != null && ap.ServiceCategory.Name.ToLower().Contains("außerschulisches betreuungsangebot")) + { + ca.CostBearer2SupportConcept = c2s; + ca.SupportConceptApprovalPeriod = ap; + } + } + } + } + } private void SetzeStaffelpreise() { DateTime dt = new DateTime(Monat.Year, Monat.Month, 1); @@ -455,7 +512,7 @@ namespace LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot preis.AnzahlTag4 += anzahl; } else if (dt.Day == 5) - { + { preis.AnzahlTag5 += anzahl; } else if (dt.Day == 6) @@ -564,37 +621,6 @@ namespace LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot } } - private CustomerAnwesenheit CreateCustomerAnwesenheit(AdditionalServiceBookingRow row, DateTime monat) - { - var ca = new CustomerAnwesenheit(); - ca.Monat = monat; - ca.CustomerDC = row.CustomerDC; - - ca.IstSgb9 = FrankfurtOderHelper.IstSgbIX(ca.CustomerDC.DateOfBirth, monat.AddMonths(1).AddDays(-1)); - ca.IstSgb8 = !ca.IstSgb9; - - SetCostbearer2SupportConcept(ca); - - - if (ca.CostBearer2SupportConcept?.CostBearer.Organisation != null) - { - if (ca.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("Stadt Frankfurt (Oder)") && !ca.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("JA")) - { - ca.IstFFO = true; - } - else - { - ca.IstAndererKT = true; - } - } - - SetzeAnwesenheiten(ca, row); - - return ca; - } - - - private void SetzeAnwesenheiten(CustomerAnwesenheit ca, AdditionalServiceBookingRow row) { ca.AttendanceOnDay1 = row.AttendanceOnDay1; @@ -631,25 +657,7 @@ namespace LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot } - private void SetCostbearer2SupportConcept(CustomerAnwesenheit ca) - { - var c = DAOFactory.GenericDAO.LoadByID(ca.CustomerDC.CustomerOid); - - foreach (var sc in c.SupportConcepts) - { - foreach (var c2s in sc.CostBearer2SupportConceptList) - { - foreach (var ap in c2s.ApprovalPeriodList) - { - if (ap.ServiceCategory != null && ap.ServiceCategory.Name.ToLower().Contains("außerschulisches betreuungsangebot")) - { - ca.CostBearer2SupportConcept = c2s; - ca.SupportConceptApprovalPeriod = ap; - } - } - } - } - } + } } diff --git a/ReportImp/LebenshilfeFrankfurtOder/AusserschulischesBetreuungsangebot/CustomerAnwesenheit.cs b/ReportImp/LebenshilfeFrankfurtOder/AusserschulischesBetreuungsangebot/CustomerAnwesenheit.cs index ea1ac86a6..b5ae81160 100644 --- a/ReportImp/LebenshilfeFrankfurtOder/AusserschulischesBetreuungsangebot/CustomerAnwesenheit.cs +++ b/ReportImp/LebenshilfeFrankfurtOder/AusserschulischesBetreuungsangebot/CustomerAnwesenheit.cs @@ -21,7 +21,8 @@ namespace LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot { public DateTime Monat { get; set; } public CompactCustomerDC CustomerDC { get; set; } - public bool IstFFO { get; set; } + public bool IstFFO_EGH { get; set; } + public bool IstFFO_JA { get; set; } public bool IstAndererKT { get; set; } public bool IstSgb8 { get; set; } public bool IstSgb9 { get; set; } diff --git a/ReportImp/LebenshilfeFrankfurtOder/CustomReportCreator.cs b/ReportImp/LebenshilfeFrankfurtOder/CustomReportCreator.cs index 48b46e6ed..acff9f5a8 100644 --- a/ReportImp/LebenshilfeFrankfurtOder/CustomReportCreator.cs +++ b/ReportImp/LebenshilfeFrankfurtOder/CustomReportCreator.cs @@ -427,7 +427,7 @@ namespace LebenshilfeFrankfurtOder roFerien = ro; } - return CreateAnwesenheitslisteFruehUndSpaetbetreuung(roFrueh, roSpaet, roFerien, true); + return CreateAnwesenheitslisteFruehUndSpaetbetreuung(roFrueh, roSpaet, roFerien, true, null); } if (report == null) @@ -440,7 +440,7 @@ namespace LebenshilfeFrankfurtOder return report as XtraReport; } - private XtraReport CreateAnwesenheitslisteFruehUndSpaetbetreuung(AdditionalServiceBookingRO roFrue, AdditionalServiceBookingRO roSpaet, AdditionalServiceBookingRO roFerien, bool addEinzelnachweise) + private XtraReport CreateAnwesenheitslisteFruehUndSpaetbetreuung(AdditionalServiceBookingRO roFrue, AdditionalServiceBookingRO roSpaet, AdditionalServiceBookingRO roFerien, bool addEinzelnachweise, List einzelnachweiseCustomerFilter) { var aab = new AnwesenheitAusserschulischesBetreuungsangebot(); aab.BerechneGesamtAnwesenheit(roFrue, roSpaet, roFerien); @@ -455,7 +455,7 @@ namespace LebenshilfeFrankfurtOder foreach (var row in aab.CustomerAnwesenheiten) { - if (row.IstSgb9) + if (einzelnachweiseCustomerFilter == null || einzelnachweiseCustomerFilter.Contains(String.Format("{0}, {1}", row.CustomerDC.LastName, row.CustomerDC.FirstName))) { var lnRO = LeistungsnachweisSGBIXRO.Create(aab, row); @@ -1181,12 +1181,27 @@ namespace LebenshilfeFrankfurtOder roFerien = AdditionalServiceBookingRO.Create(ferienRegion, monat); } bool addEinzelnachweise = true; - if (ro.RecipientOrganisation.Contains("Stadt Frankfurt (Oder)") && !ro.RecipientOrganisation.Contains("JA")) - { - addEinzelnachweise = false; + //if (ro.RecipientOrganisation.Contains("Stadt Frankfurt (Oder)") && !ro.RecipientOrganisation.Contains("JA")) + //{ + // addEinzelnachweise = false; + //} + var customerNames = new List(); + if (iDC.ServiceInvoicePeriods != null) + { + foreach (var sip in iDC.ServiceInvoicePeriods) + { + if (sip.InvoiceItems != null) + { + foreach (var item in sip.InvoiceItems) + { + customerNames.Add(item.ItemDescription); + } + } + } } + - var anhang = CreateAnwesenheitslisteFruehUndSpaetbetreuung(roFrueh, roSpaet, roFerien, addEinzelnachweise); + var anhang = CreateAnwesenheitslisteFruehUndSpaetbetreuung(roFrueh, roSpaet, roFerien, addEinzelnachweise, customerNames); if (anhang.Pages.Count == 0) { anhang.CreateDocument(); @@ -1305,7 +1320,7 @@ namespace LebenshilfeFrankfurtOder var fruehRegion = DAOFactory.GenericDAO.LoadByID(30); var spaetRegion = DAOFactory.GenericDAO.LoadByID(31); - var ferienRegion = DAOFactory.GenericDAO.LoadByID(31); + var ferienRegion = DAOFactory.GenericDAO.LoadByID(32); var roFrueh = AdditionalServiceBookingRO.Create(fruehRegion, monat); diff --git a/ReportImp/LebenshilfeFrankfurtOder/Invoicing/AusserschulischesBetreuungsangebotInvoiceCreation.cs b/ReportImp/LebenshilfeFrankfurtOder/Invoicing/AusserschulischesBetreuungsangebotInvoiceCreation.cs index e66cddf30..e1fb823f6 100644 --- a/ReportImp/LebenshilfeFrankfurtOder/Invoicing/AusserschulischesBetreuungsangebotInvoiceCreation.cs +++ b/ReportImp/LebenshilfeFrankfurtOder/Invoicing/AusserschulischesBetreuungsangebotInvoiceCreation.cs @@ -43,10 +43,10 @@ namespace LebenshilfeFrankfurtOder.Invoicing var invoiceList = new List(); var invoiceCounter = 0; - //LH Frankfurt Oder bekommt eine eigene Sammel Rechnung - //Alle anderen Rechnungen gehen ans entsprechende Jugendamt + //Stadt Frankfurt Oder Jugendamt bekommt eine eigene Sammel Rechnung + //Alle anderen Rechnungen gehen einzeln ans entsprechende Amt - var ffoAnwesenheiten = afs.CustomerAnwesenheiten.Where(a => a.IstFFO).ToList(); + var ffoAnwesenheiten = afs.CustomerAnwesenheiten.Where(a => a.IstFFO_JA).ToList(); if (ffoAnwesenheiten.Count > 0) { invoiceList.Add(CreateInvoice(invoiceCounter, invoicePeriod, afs, ffoAnwesenheiten)); @@ -57,7 +57,7 @@ namespace LebenshilfeFrankfurtOder.Invoicing foreach (var ca in afs.CustomerAnwesenheiten) { - if (!ca.IstFFO && ca.CostBearer2SupportConcept != null) + if (!ca.IstFFO_JA && ca.CostBearer2SupportConcept != null) { List abwList = null; if (!abwesenheitenNachKT.ContainsKey(ca.CostBearer2SupportConcept.CostBearer.Organisation.Name)) diff --git a/ReportImp/LebenshilfeFrankfurtOder/RechnungAusserschulischesBetreuungsangebot.Designer.cs b/ReportImp/LebenshilfeFrankfurtOder/RechnungAusserschulischesBetreuungsangebot.Designer.cs index b79f178cc..a1fef4e35 100644 --- a/ReportImp/LebenshilfeFrankfurtOder/RechnungAusserschulischesBetreuungsangebot.Designer.cs +++ b/ReportImp/LebenshilfeFrankfurtOder/RechnungAusserschulischesBetreuungsangebot.Designer.cs @@ -47,37 +47,6 @@ namespace LebenshilfeFrankfurtOder this.xrLabel27 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel26 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel25 = new DevExpress.XtraReports.UI.XRLabel(); - this.xrTable3 = new DevExpress.XtraReports.UI.XRTable(); - this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow(); - this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellAnzahl1 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellEinheit1 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellBetrag1 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellGesamt1 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableRow7 = new DevExpress.XtraReports.UI.XRTableRow(); - this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellAnzahl2 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellEinheit2 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellBetrag2 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellGesamt2 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableRow8 = new DevExpress.XtraReports.UI.XRTableRow(); - this.xrTableCell29 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellAnzahl3 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellEinheit3 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellBetrag3 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellGesamt3 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableRow9 = new DevExpress.XtraReports.UI.XRTableRow(); - this.xrTableCell33 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellAnzahl4 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellEinheit4 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellBetrag4 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellGesamt4 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableRowFerien = new DevExpress.XtraReports.UI.XRTableRow(); - this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellAnzahl5 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellEinheit5 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellBetrag5 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellGesamt5 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrLabel38 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel33 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel34 = new DevExpress.XtraReports.UI.XRLabel(); @@ -85,13 +54,8 @@ namespace LebenshilfeFrankfurtOder this.xrTable2 = new DevExpress.XtraReports.UI.XRTable(); this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow(); this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableRow17 = new DevExpress.XtraReports.UI.XRTableRow(); - this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell(); this.lblRechnung = new DevExpress.XtraReports.UI.XRLabel(); this.lblAdresse = new DevExpress.XtraReports.UI.XRLabel(); this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule(); @@ -126,13 +90,22 @@ namespace LebenshilfeFrankfurtOder this.xrLabel39 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel(); this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); + this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand(); + this.Detail2 = new DevExpress.XtraReports.UI.DetailBand(); + this.DetailReport2 = new DevExpress.XtraReports.UI.DetailReportBand(); + this.Detail3 = new DevExpress.XtraReports.UI.DetailBand(); + this.xrTable4 = new DevExpress.XtraReports.UI.XRTable(); + this.xrTableRow5 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell(); ((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.rtFooterAlt)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.rtFooterNeu)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this)).BeginInit(); // // Detail @@ -159,7 +132,6 @@ namespace LebenshilfeFrankfurtOder this.xrLabel27, this.xrLabel26, this.xrLabel25, - this.xrTable3, this.xrLabel38, this.xrLabel33, this.xrLabel34, @@ -167,7 +139,7 @@ namespace LebenshilfeFrankfurtOder this.xrTable2, this.lblRechnung, this.lblAdresse}); - this.ReportHeader.HeightF = 531.25F; + this.ReportHeader.HeightF = 441.25F; this.ReportHeader.Name = "ReportHeader"; this.ReportHeader.StylePriority.UseFont = false; // @@ -373,322 +345,6 @@ namespace LebenshilfeFrankfurtOder this.xrLabel25.Text = "501205613"; this.xrLabel25.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; // - // xrTable3 - // - this.xrTable3.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] { - new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))}); - this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0.000406901F, 431.25F); - this.xrTable3.Name = "xrTable3"; - this.xrTable3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { - this.xrTableRow2, - this.xrTableRow7, - this.xrTableRow8, - this.xrTableRow9, - this.xrTableRowFerien}); - this.xrTable3.SizeF = new System.Drawing.SizeF(696.5F, 100F); - this.xrTable3.StylePriority.UseBackColor = false; - this.xrTable3.StylePriority.UseBorderColor = false; - this.xrTable3.StylePriority.UseFont = false; - this.xrTable3.StylePriority.UsePadding = false; - // - // xrTableRow2 - // - this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { - this.xrTableCell2, - this.cellAnzahl1, - this.cellEinheit1, - this.cellBetrag1, - this.cellGesamt1}); - this.xrTableRow2.Name = "xrTableRow2"; - this.xrTableRow2.Weight = 0.10000000000000003D; - // - // xrTableCell2 - // - this.xrTableCell2.Borders = DevExpress.XtraPrinting.BorderSide.Left; - this.xrTableCell2.Multiline = true; - this.xrTableCell2.Name = "xrTableCell2"; - this.xrTableCell2.StylePriority.UseBorders = false; - this.xrTableCell2.StylePriority.UseFont = false; - this.xrTableCell2.StylePriority.UsePadding = false; - this.xrTableCell2.StylePriority.UseTextAlignment = false; - this.xrTableCell2.Text = "Staffelpreis 1"; - this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell2.Weight = 0.46153846153846145D; - // - // cellAnzahl1 - // - this.cellAnzahl1.Borders = DevExpress.XtraPrinting.BorderSide.None; - this.cellAnzahl1.Name = "cellAnzahl1"; - this.cellAnzahl1.StylePriority.UseBorders = false; - this.cellAnzahl1.StylePriority.UseTextAlignment = false; - this.cellAnzahl1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellAnzahl1.Weight = 0.099999999999999978D; - // - // cellEinheit1 - // - this.cellEinheit1.Borders = DevExpress.XtraPrinting.BorderSide.None; - this.cellEinheit1.CanShrink = true; - this.cellEinheit1.Name = "cellEinheit1"; - this.cellEinheit1.StylePriority.UseBorders = false; - this.cellEinheit1.StylePriority.UseFont = false; - this.cellEinheit1.StylePriority.UsePadding = false; - this.cellEinheit1.StylePriority.UseTextAlignment = false; - this.cellEinheit1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellEinheit1.Weight = 0.1538461538461538D; - // - // cellBetrag1 - // - this.cellBetrag1.Borders = DevExpress.XtraPrinting.BorderSide.None; - this.cellBetrag1.Name = "cellBetrag1"; - this.cellBetrag1.StylePriority.UseBorderColor = false; - this.cellBetrag1.StylePriority.UseBorders = false; - this.cellBetrag1.StylePriority.UseFont = false; - this.cellBetrag1.StylePriority.UsePadding = false; - this.cellBetrag1.StylePriority.UseTextAlignment = false; - this.cellBetrag1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellBetrag1.Weight = 0.14615384615384613D; - // - // cellGesamt1 - // - this.cellGesamt1.Borders = DevExpress.XtraPrinting.BorderSide.Right; - this.cellGesamt1.Name = "cellGesamt1"; - this.cellGesamt1.StylePriority.UseBorderColor = false; - this.cellGesamt1.StylePriority.UseBorders = false; - this.cellGesamt1.StylePriority.UseFont = false; - this.cellGesamt1.StylePriority.UsePadding = false; - this.cellGesamt1.StylePriority.UseTextAlignment = false; - this.cellGesamt1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.cellGesamt1.Weight = 0.20999999999999996D; - // - // xrTableRow7 - // - this.xrTableRow7.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { - this.xrTableCell9, - this.cellAnzahl2, - this.cellEinheit2, - this.cellBetrag2, - this.cellGesamt2}); - this.xrTableRow7.Name = "xrTableRow7"; - this.xrTableRow7.Weight = 0.10000000000000003D; - // - // xrTableCell9 - // - this.xrTableCell9.Borders = DevExpress.XtraPrinting.BorderSide.Left; - this.xrTableCell9.Name = "xrTableCell9"; - this.xrTableCell9.StylePriority.UseBorders = false; - this.xrTableCell9.StylePriority.UseTextAlignment = false; - this.xrTableCell9.Text = "Staffelpreis 2"; - this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell9.Weight = 0.46153846153846145D; - // - // cellAnzahl2 - // - this.cellAnzahl2.Borders = DevExpress.XtraPrinting.BorderSide.None; - this.cellAnzahl2.Name = "cellAnzahl2"; - this.cellAnzahl2.StylePriority.UseBorders = false; - this.cellAnzahl2.StylePriority.UseTextAlignment = false; - this.cellAnzahl2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellAnzahl2.Weight = 0.099999999999999978D; - // - // cellEinheit2 - // - this.cellEinheit2.Borders = DevExpress.XtraPrinting.BorderSide.None; - this.cellEinheit2.Name = "cellEinheit2"; - this.cellEinheit2.StylePriority.UseBorders = false; - this.cellEinheit2.StylePriority.UseTextAlignment = false; - this.cellEinheit2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellEinheit2.Weight = 0.1538461538461538D; - // - // cellBetrag2 - // - this.cellBetrag2.Borders = DevExpress.XtraPrinting.BorderSide.None; - this.cellBetrag2.Name = "cellBetrag2"; - this.cellBetrag2.StylePriority.UseBorders = false; - this.cellBetrag2.StylePriority.UseTextAlignment = false; - this.cellBetrag2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellBetrag2.Weight = 0.14615384615384613D; - // - // cellGesamt2 - // - this.cellGesamt2.Borders = DevExpress.XtraPrinting.BorderSide.Right; - this.cellGesamt2.Name = "cellGesamt2"; - this.cellGesamt2.StylePriority.UseBorders = false; - this.cellGesamt2.StylePriority.UseTextAlignment = false; - this.cellGesamt2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.cellGesamt2.Weight = 0.20999999999999996D; - // - // xrTableRow8 - // - this.xrTableRow8.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { - this.xrTableCell29, - this.cellAnzahl3, - this.cellEinheit3, - this.cellBetrag3, - this.cellGesamt3}); - this.xrTableRow8.Name = "xrTableRow8"; - this.xrTableRow8.Weight = 0.10000000000000003D; - // - // xrTableCell29 - // - this.xrTableCell29.Borders = DevExpress.XtraPrinting.BorderSide.Left; - this.xrTableCell29.Name = "xrTableCell29"; - this.xrTableCell29.StylePriority.UseBorders = false; - this.xrTableCell29.StylePriority.UseTextAlignment = false; - this.xrTableCell29.Text = "Staffelpreis 3"; - this.xrTableCell29.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell29.Weight = 0.46153846153846145D; - // - // cellAnzahl3 - // - this.cellAnzahl3.Borders = DevExpress.XtraPrinting.BorderSide.None; - this.cellAnzahl3.Name = "cellAnzahl3"; - this.cellAnzahl3.StylePriority.UseBorders = false; - this.cellAnzahl3.StylePriority.UseTextAlignment = false; - this.cellAnzahl3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellAnzahl3.Weight = 0.099999999999999978D; - // - // cellEinheit3 - // - this.cellEinheit3.Borders = DevExpress.XtraPrinting.BorderSide.None; - this.cellEinheit3.Name = "cellEinheit3"; - this.cellEinheit3.StylePriority.UseBorders = false; - this.cellEinheit3.StylePriority.UseTextAlignment = false; - this.cellEinheit3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellEinheit3.Weight = 0.1538461538461538D; - // - // cellBetrag3 - // - this.cellBetrag3.Borders = DevExpress.XtraPrinting.BorderSide.None; - this.cellBetrag3.Name = "cellBetrag3"; - this.cellBetrag3.StylePriority.UseBorders = false; - this.cellBetrag3.StylePriority.UseTextAlignment = false; - this.cellBetrag3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellBetrag3.Weight = 0.14615384615384613D; - // - // cellGesamt3 - // - this.cellGesamt3.Borders = DevExpress.XtraPrinting.BorderSide.Right; - this.cellGesamt3.Name = "cellGesamt3"; - this.cellGesamt3.StylePriority.UseBorders = false; - this.cellGesamt3.StylePriority.UseTextAlignment = false; - this.cellGesamt3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.cellGesamt3.Weight = 0.20999999999999996D; - // - // xrTableRow9 - // - this.xrTableRow9.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { - this.xrTableCell33, - this.cellAnzahl4, - this.cellEinheit4, - this.cellBetrag4, - this.cellGesamt4}); - this.xrTableRow9.Name = "xrTableRow9"; - this.xrTableRow9.Weight = 0.10000000000000003D; - // - // xrTableCell33 - // - this.xrTableCell33.Borders = DevExpress.XtraPrinting.BorderSide.Left; - this.xrTableCell33.Name = "xrTableCell33"; - this.xrTableCell33.StylePriority.UseBorders = false; - this.xrTableCell33.StylePriority.UseTextAlignment = false; - this.xrTableCell33.Text = "Staffelpreis 4"; - this.xrTableCell33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell33.Weight = 0.46153846153846145D; - // - // cellAnzahl4 - // - this.cellAnzahl4.Borders = DevExpress.XtraPrinting.BorderSide.None; - this.cellAnzahl4.Name = "cellAnzahl4"; - this.cellAnzahl4.StylePriority.UseBorders = false; - this.cellAnzahl4.StylePriority.UseTextAlignment = false; - this.cellAnzahl4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellAnzahl4.Weight = 0.099999999999999978D; - // - // cellEinheit4 - // - this.cellEinheit4.Borders = DevExpress.XtraPrinting.BorderSide.None; - this.cellEinheit4.Name = "cellEinheit4"; - this.cellEinheit4.StylePriority.UseBorders = false; - this.cellEinheit4.StylePriority.UseTextAlignment = false; - this.cellEinheit4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellEinheit4.Weight = 0.1538461538461538D; - // - // cellBetrag4 - // - this.cellBetrag4.Borders = DevExpress.XtraPrinting.BorderSide.None; - this.cellBetrag4.Name = "cellBetrag4"; - this.cellBetrag4.StylePriority.UseBorders = false; - this.cellBetrag4.StylePriority.UseTextAlignment = false; - this.cellBetrag4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellBetrag4.Weight = 0.14615384615384613D; - // - // cellGesamt4 - // - this.cellGesamt4.Borders = DevExpress.XtraPrinting.BorderSide.Right; - this.cellGesamt4.Name = "cellGesamt4"; - this.cellGesamt4.StylePriority.UseBorders = false; - this.cellGesamt4.StylePriority.UseTextAlignment = false; - this.cellGesamt4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.cellGesamt4.Weight = 0.20999999999999996D; - // - // xrTableRowFerien - // - this.xrTableRowFerien.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { - this.xrTableCell37, - this.cellAnzahl5, - this.cellEinheit5, - this.cellBetrag5, - this.cellGesamt5}); - this.xrTableRowFerien.Name = "xrTableRowFerien"; - this.xrTableRowFerien.Weight = 0.10000000000000003D; - // - // xrTableCell37 - // - this.xrTableCell37.Borders = DevExpress.XtraPrinting.BorderSide.Left; - this.xrTableCell37.Name = "xrTableCell37"; - this.xrTableCell37.StylePriority.UseBorders = false; - this.xrTableCell37.StylePriority.UseTextAlignment = false; - this.xrTableCell37.Text = "Staffelpreis 5"; - this.xrTableCell37.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell37.Weight = 0.46153846153846145D; - // - // cellAnzahl5 - // - this.cellAnzahl5.Borders = DevExpress.XtraPrinting.BorderSide.None; - this.cellAnzahl5.Name = "cellAnzahl5"; - this.cellAnzahl5.StylePriority.UseBorders = false; - this.cellAnzahl5.StylePriority.UseTextAlignment = false; - this.cellAnzahl5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellAnzahl5.Weight = 0.099999999999999978D; - // - // cellEinheit5 - // - this.cellEinheit5.Borders = DevExpress.XtraPrinting.BorderSide.None; - this.cellEinheit5.Name = "cellEinheit5"; - this.cellEinheit5.StylePriority.UseBorders = false; - this.cellEinheit5.StylePriority.UseTextAlignment = false; - this.cellEinheit5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellEinheit5.Weight = 0.1538461538461538D; - // - // cellBetrag5 - // - this.cellBetrag5.Borders = DevExpress.XtraPrinting.BorderSide.None; - this.cellBetrag5.Name = "cellBetrag5"; - this.cellBetrag5.StylePriority.UseBorders = false; - this.cellBetrag5.StylePriority.UseTextAlignment = false; - this.cellBetrag5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellBetrag5.Weight = 0.14615384615384613D; - // - // cellGesamt5 - // - this.cellGesamt5.Borders = DevExpress.XtraPrinting.BorderSide.Right; - this.cellGesamt5.Name = "cellGesamt5"; - this.cellGesamt5.StylePriority.UseBorders = false; - this.cellGesamt5.StylePriority.UseTextAlignment = false; - this.cellGesamt5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.cellGesamt5.Weight = 0.20999999999999996D; - // // xrLabel38 // this.xrLabel38.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] { @@ -745,9 +401,8 @@ namespace LebenshilfeFrankfurtOder this.xrTable2.Name = "xrTable2"; this.xrTable2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { - this.xrTableRow1, - this.xrTableRow17}); - this.xrTable2.SizeF = new System.Drawing.SizeF(696.5F, 40F); + this.xrTableRow1}); + this.xrTable2.SizeF = new System.Drawing.SizeF(696.5F, 50F); this.xrTable2.StylePriority.UseBackColor = false; this.xrTable2.StylePriority.UseBorderColor = false; this.xrTable2.StylePriority.UseFont = false; @@ -757,13 +412,10 @@ namespace LebenshilfeFrankfurtOder // this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { this.xrTableCell1, - this.xrTableCell3, this.xrTableCell7, - this.xrTableCell4, - this.xrTableCell6, this.xrTableCell5}); this.xrTableRow1.Name = "xrTableRow1"; - this.xrTableRow1.Weight = 0.10000000000000003D; + this.xrTableRow1.Weight = 0.25000000000000011D; // // xrTableCell1 // @@ -775,54 +427,20 @@ namespace LebenshilfeFrankfurtOder this.xrTableCell1.StylePriority.UseFont = false; this.xrTableCell1.StylePriority.UsePadding = false; this.xrTableCell1.StylePriority.UseTextAlignment = false; - this.xrTableCell1.Text = "Bezeichnung"; - this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell1.Weight = 0.26923076923076911D; - // - // xrTableCell3 - // - this.xrTableCell3.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Bottom))); - this.xrTableCell3.Name = "xrTableCell3"; - this.xrTableCell3.StylePriority.UseBorders = false; - this.xrTableCell3.StylePriority.UseTextAlignment = false; - this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.xrTableCell3.Weight = 0.1923076688326322D; + this.xrTableCell1.Text = "Name des Kindes"; + this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.xrTableCell1.Weight = 0.4615384615384614D; // // xrTableCell7 // this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell7.Multiline = true; this.xrTableCell7.Name = "xrTableCell7"; this.xrTableCell7.StylePriority.UseBorders = false; this.xrTableCell7.StylePriority.UseTextAlignment = false; - this.xrTableCell7.Text = "Anzahl"; - this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.xrTableCell7.Weight = 0.099999999999999978D; - // - // xrTableCell4 - // - this.xrTableCell4.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Bottom))); - this.xrTableCell4.CanShrink = true; - this.xrTableCell4.Name = "xrTableCell4"; - this.xrTableCell4.StylePriority.UseBorders = false; - this.xrTableCell4.StylePriority.UseFont = false; - this.xrTableCell4.StylePriority.UsePadding = false; - this.xrTableCell4.StylePriority.UseTextAlignment = false; - this.xrTableCell4.Text = "Einheit"; - this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.xrTableCell4.Weight = 0.15384615384615383D; - // - // xrTableCell6 - // - this.xrTableCell6.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Bottom))); - this.xrTableCell6.Name = "xrTableCell6"; - this.xrTableCell6.StylePriority.UseBorderColor = false; - this.xrTableCell6.StylePriority.UseBorders = false; - this.xrTableCell6.StylePriority.UseFont = false; - this.xrTableCell6.StylePriority.UsePadding = false; - this.xrTableCell6.StylePriority.UseTextAlignment = false; - this.xrTableCell6.Text = "Betrag"; - this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.xrTableCell6.Weight = 0.14615386962890622D; + this.xrTableCell7.Text = "Anzahl der\r\nanwesenden Tage"; + this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.xrTableCell7.Weight = 0.30769230769230765D; // // xrTableCell5 // @@ -834,28 +452,9 @@ namespace LebenshilfeFrankfurtOder this.xrTableCell5.StylePriority.UseFont = false; this.xrTableCell5.StylePriority.UsePadding = false; this.xrTableCell5.StylePriority.UseTextAlignment = false; - this.xrTableCell5.Text = "Gesamt"; + this.xrTableCell5.Text = "Betrag nach Staffelpreis anteilmäßig in €"; this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.xrTableCell5.Weight = 0.20999999999999996D; - // - // xrTableRow17 - // - this.xrTableRow17.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { - this.xrTableCell8}); - this.xrTableRow17.Name = "xrTableRow17"; - this.xrTableRow17.Weight = 0.10000000000000003D; - // - // xrTableCell8 - // - this.xrTableCell8.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) - | DevExpress.XtraPrinting.BorderSide.Right) - | DevExpress.XtraPrinting.BorderSide.Bottom))); - this.xrTableCell8.Name = "xrTableCell8"; - this.xrTableCell8.StylePriority.UseBorders = false; - this.xrTableCell8.StylePriority.UseTextAlignment = false; - this.xrTableCell8.Text = "Betreuungsleistung"; - this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell8.Weight = 1.0715384615384613D; + this.xrTableCell5.Weight = 0.30230769230769222D; // // lblRechnung // @@ -937,7 +536,6 @@ namespace LebenshilfeFrankfurtOder this.xrTable1}); this.GroupFooter1.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] { new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))}); - this.GroupFooter1.HeightF = 80F; this.GroupFooter1.Name = "GroupFooter1"; this.GroupFooter1.StylePriority.UseFont = false; // @@ -951,7 +549,7 @@ namespace LebenshilfeFrankfurtOder this.xrTableRow4, this.xrTableRow11, this.xrTableRow6}); - this.xrTable1.SizeF = new System.Drawing.SizeF(696.5F, 80F); + this.xrTable1.SizeF = new System.Drawing.SizeF(696.5F, 100F); this.xrTable1.StylePriority.UseBackColor = false; this.xrTable1.StylePriority.UseBorderColor = false; this.xrTable1.StylePriority.UseBorders = false; @@ -965,7 +563,7 @@ namespace LebenshilfeFrankfurtOder this.xrTableCell16, this.lblGesamt}); this.xrTableRow3.Name = "xrTableRow3"; - this.xrTableRow3.Weight = 0.10000000000000003D; + this.xrTableRow3.Weight = 0.12500000000000006D; // // xrTableCell11 // @@ -1002,7 +600,7 @@ namespace LebenshilfeFrankfurtOder this.xrTableCell16.StylePriority.UseTextAlignment = false; this.xrTableCell16.Text = "Rechnungsbetrag netto"; this.xrTableCell16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell16.Weight = 0.39999999999999991D; + this.xrTableCell16.Weight = 0.3076923076923076D; // // lblGesamt // @@ -1014,7 +612,7 @@ namespace LebenshilfeFrankfurtOder this.lblGesamt.StylePriority.UsePadding = false; this.lblGesamt.StylePriority.UseTextAlignment = false; this.lblGesamt.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.lblGesamt.Weight = 0.20999999999999996D; + this.lblGesamt.Weight = 0.30230769230769228D; // // xrTableRow4 // @@ -1024,7 +622,7 @@ namespace LebenshilfeFrankfurtOder this.xrTableCell18, this.xrTableCell19}); this.xrTableRow4.Name = "xrTableRow4"; - this.xrTableRow4.Weight = 0.10000000000000003D; + this.xrTableRow4.Weight = 0.12500000000000006D; // // xrTableCell13 // @@ -1045,12 +643,13 @@ namespace LebenshilfeFrankfurtOder // // xrTableCell18 // + this.xrTableCell18.Multiline = true; this.xrTableCell18.Name = "xrTableCell18"; this.xrTableCell18.StylePriority.UseBorders = false; this.xrTableCell18.StylePriority.UseTextAlignment = false; this.xrTableCell18.Text = "befreit von der Mehrwertsteuer"; this.xrTableCell18.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell18.Weight = 0.39999999999999991D; + this.xrTableCell18.Weight = 0.35259887695312492D; // // xrTableCell19 // @@ -1060,7 +659,7 @@ namespace LebenshilfeFrankfurtOder this.xrTableCell19.StylePriority.UseTextAlignment = false; this.xrTableCell19.Text = "0,00 €"; this.xrTableCell19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.xrTableCell19.Weight = 0.20999999999999996D; + this.xrTableCell19.Weight = 0.25740112304687496D; // // xrTableRow11 // @@ -1070,7 +669,7 @@ namespace LebenshilfeFrankfurtOder this.xrTableCell35, this.xrTableCell36}); this.xrTableRow11.Name = "xrTableRow11"; - this.xrTableRow11.Weight = 0.10000000000000003D; + this.xrTableRow11.Weight = 0.12500000000000006D; // // xrTableCell32 // @@ -1092,8 +691,9 @@ namespace LebenshilfeFrankfurtOder // this.xrTableCell35.Name = "xrTableCell35"; this.xrTableCell35.StylePriority.UseTextAlignment = false; + this.xrTableCell35.Text = "Elternbeiträge"; this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell35.Weight = 0.39999999999999991D; + this.xrTableCell35.Weight = 0.3076923076923076D; // // xrTableCell36 // @@ -1101,8 +701,9 @@ namespace LebenshilfeFrankfurtOder this.xrTableCell36.Name = "xrTableCell36"; this.xrTableCell36.StylePriority.UseBorders = false; this.xrTableCell36.StylePriority.UseTextAlignment = false; + this.xrTableCell36.Text = "0,00 €"; this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.xrTableCell36.Weight = 0.20999999999999996D; + this.xrTableCell36.Weight = 0.30230769230769228D; // // xrTableRow6 // @@ -1112,7 +713,7 @@ namespace LebenshilfeFrankfurtOder this.xrTableCell26, this.xrTableCell27}); this.xrTableRow6.Name = "xrTableRow6"; - this.xrTableRow6.Weight = 0.10000000000000003D; + this.xrTableRow6.Weight = 0.12500000000000003D; // // xrTableCell24 // @@ -1142,7 +743,7 @@ namespace LebenshilfeFrankfurtOder this.xrTableCell26.StylePriority.UseTextAlignment = false; this.xrTableCell26.Text = "Rechnungsbetrag brutto"; this.xrTableCell26.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell26.Weight = 0.39999999999999991D; + this.xrTableCell26.Weight = 0.3076923076923076D; // // xrTableCell27 // @@ -1157,7 +758,7 @@ namespace LebenshilfeFrankfurtOder this.xrTableCell27.StylePriority.UseFont = false; this.xrTableCell27.StylePriority.UseTextAlignment = false; this.xrTableCell27.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.xrTableCell27.Weight = 0.20999999999999996D; + this.xrTableCell27.Weight = 0.30230769230769228D; // // ReportFooter // @@ -1192,6 +793,105 @@ namespace LebenshilfeFrankfurtOder this.xrLabel2.StylePriority.UseFont = false; this.xrLabel2.Text = "Bitte überweisen Sie den Rechnungsbetrag unter Angabe der Kunden-Nr. und der Rech" + "nungs-Nr. auf das unten angegebene Konto."; + // + // bindingSource1 + // + this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO); + // + // DetailReport1 + // + this.DetailReport1.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { + this.Detail2, + this.DetailReport2}); + this.DetailReport1.DataMember = "ServiceInvoicePeriods"; + this.DetailReport1.DataSource = this.bindingSource1; + this.DetailReport1.Level = 0; + this.DetailReport1.Name = "DetailReport1"; + // + // Detail2 + // + this.Detail2.HeightF = 0F; + this.Detail2.Name = "Detail2"; + // + // DetailReport2 + // + this.DetailReport2.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { + this.Detail3}); + this.DetailReport2.DataMember = "ServiceInvoicePeriods.ServiceInvoiceItems"; + this.DetailReport2.DataSource = this.bindingSource1; + this.DetailReport2.Level = 0; + this.DetailReport2.Name = "DetailReport2"; + // + // Detail3 + // + this.Detail3.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.xrTable4}); + this.Detail3.HeightF = 25F; + this.Detail3.Name = "Detail3"; + // + // xrTable4 + // + this.xrTable4.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] { + new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))}); + this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0.000406901F, 0F); + this.xrTable4.Name = "xrTable4"; + this.xrTable4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.xrTableRow5}); + this.xrTable4.SizeF = new System.Drawing.SizeF(696.5F, 25F); + this.xrTable4.StylePriority.UseBackColor = false; + this.xrTable4.StylePriority.UseBorderColor = false; + this.xrTable4.StylePriority.UseFont = false; + this.xrTable4.StylePriority.UsePadding = false; + // + // xrTableRow5 + // + this.xrTableRow5.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell10, + this.xrTableCell12, + this.xrTableCell21}); + this.xrTableRow5.Name = "xrTableRow5"; + this.xrTableRow5.Weight = 0.12500000000000006D; + // + // xrTableCell10 + // + this.xrTableCell10.Borders = DevExpress.XtraPrinting.BorderSide.Left; + this.xrTableCell10.Multiline = true; + this.xrTableCell10.Name = "xrTableCell10"; + this.xrTableCell10.StylePriority.UseBorders = false; + this.xrTableCell10.StylePriority.UseFont = false; + this.xrTableCell10.StylePriority.UsePadding = false; + this.xrTableCell10.StylePriority.UseTextAlignment = false; + this.xrTableCell10.Text = "[CustomerLastname], [CustomerFirstname]"; + this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.xrTableCell10.Weight = 0.46153846153846145D; + // + // xrTableCell12 + // + this.xrTableCell12.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.UnitCount")}); + this.xrTableCell12.Name = "xrTableCell12"; + this.xrTableCell12.StylePriority.UseBorders = false; + this.xrTableCell12.StylePriority.UseTextAlignment = false; + this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.xrTableCell12.TextFormatString = "{0:0}"; + this.xrTableCell12.Weight = 0.3076923076923076D; + // + // xrTableCell21 + // + this.xrTableCell21.Borders = DevExpress.XtraPrinting.BorderSide.Right; + this.xrTableCell21.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.NetAmount")}); + this.xrTableCell21.Name = "xrTableCell21"; + this.xrTableCell21.StylePriority.UseBorderColor = false; + this.xrTableCell21.StylePriority.UseBorders = false; + this.xrTableCell21.StylePriority.UseFont = false; + this.xrTableCell21.StylePriority.UsePadding = false; + this.xrTableCell21.StylePriority.UseTextAlignment = false; + this.xrTableCell21.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + this.xrTableCell21.TextFormatString = "{0:c}"; + this.xrTableCell21.Weight = 0.30230769230769228D; // // RechnungAusserschulischesBetreuungsangebot // @@ -1201,7 +901,8 @@ namespace LebenshilfeFrankfurtOder this.topMarginBand1, this.bottomMarginBand1, this.GroupFooter1, - this.ReportFooter}); + this.ReportFooter, + this.DetailReport1}); this.ComponentStorage.AddRange(new System.ComponentModel.IComponent[] { this.bindingSource1}); this.DataSource = this.bindingSource1; @@ -1221,12 +922,12 @@ namespace LebenshilfeFrankfurtOder xrWatermark1.PageRange = "1"; this.Watermarks.Add(xrWatermark1); ((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.rtFooterAlt)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.rtFooterNeu)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this)).EndInit(); } @@ -1244,9 +945,7 @@ namespace LebenshilfeFrankfurtOder private DevExpress.XtraReports.UI.XRTable xrTable2; private DevExpress.XtraReports.UI.XRTableRow xrTableRow1; private DevExpress.XtraReports.UI.XRTableCell xrTableCell1; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell4; private DevExpress.XtraReports.UI.XRTableCell xrTableCell5; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell6; private DevExpress.XtraReports.UI.XRLabel xrLabel33; private DevExpress.XtraReports.UI.XRLabel xrLabel34; private DevExpress.XtraReports.UI.XRLabel lblTitel; @@ -1270,41 +969,7 @@ namespace LebenshilfeFrankfurtOder private DevExpress.XtraReports.UI.XRLabel xrLabel2; private DevExpress.XtraReports.UI.XRLine xrLine1; private DevExpress.XtraReports.UI.XRLabel xrLabel38; - private DevExpress.XtraReports.UI.XRTable xrTable3; - private DevExpress.XtraReports.UI.XRTableRow xrTableRow2; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell2; - private DevExpress.XtraReports.UI.XRTableCell cellEinheit1; - private DevExpress.XtraReports.UI.XRTableCell cellBetrag1; - private DevExpress.XtraReports.UI.XRTableCell cellGesamt1; - private DevExpress.XtraReports.UI.XRTableRow xrTableRow7; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell9; - private DevExpress.XtraReports.UI.XRTableCell cellEinheit2; - private DevExpress.XtraReports.UI.XRTableCell cellBetrag2; - private DevExpress.XtraReports.UI.XRTableCell cellGesamt2; - private DevExpress.XtraReports.UI.XRTableRow xrTableRow8; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell29; - private DevExpress.XtraReports.UI.XRTableCell cellEinheit3; - private DevExpress.XtraReports.UI.XRTableCell cellBetrag3; - private DevExpress.XtraReports.UI.XRTableCell cellGesamt3; - private DevExpress.XtraReports.UI.XRTableRow xrTableRow9; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell33; - private DevExpress.XtraReports.UI.XRTableCell cellEinheit4; - private DevExpress.XtraReports.UI.XRTableCell cellBetrag4; - private DevExpress.XtraReports.UI.XRTableCell cellGesamt4; - private DevExpress.XtraReports.UI.XRTableRow xrTableRowFerien; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell37; - private DevExpress.XtraReports.UI.XRTableCell cellEinheit5; - private DevExpress.XtraReports.UI.XRTableCell cellBetrag5; - private DevExpress.XtraReports.UI.XRTableCell cellGesamt5; - private DevExpress.XtraReports.UI.XRTableCell cellAnzahl1; - private DevExpress.XtraReports.UI.XRTableCell cellAnzahl2; - private DevExpress.XtraReports.UI.XRTableCell cellAnzahl3; - private DevExpress.XtraReports.UI.XRTableCell cellAnzahl4; - private DevExpress.XtraReports.UI.XRTableCell cellAnzahl5; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell3; private DevExpress.XtraReports.UI.XRTableCell xrTableCell7; - private DevExpress.XtraReports.UI.XRTableRow xrTableRow17; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell8; private DevExpress.XtraReports.UI.XRTableRow xrTableRow11; private DevExpress.XtraReports.UI.XRTableCell xrTableCell32; private DevExpress.XtraReports.UI.XRTableCell xrTableCell34; @@ -1327,5 +992,14 @@ namespace LebenshilfeFrankfurtOder private DevExpress.XtraReports.UI.XRLabel xrLabel3; private DevExpress.XtraReports.UI.XRRichText rtFooterAlt; private DevExpress.XtraReports.UI.XRRichText rtFooterNeu; + private DevExpress.XtraReports.UI.DetailReportBand DetailReport1; + private DevExpress.XtraReports.UI.DetailBand Detail2; + private DevExpress.XtraReports.UI.DetailReportBand DetailReport2; + private DevExpress.XtraReports.UI.DetailBand Detail3; + private DevExpress.XtraReports.UI.XRTable xrTable4; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow5; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell10; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell12; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell21; } } diff --git a/ReportImp/LebenshilfeFrankfurtOder/RechnungAusserschulischesBetreuungsangebot.cs b/ReportImp/LebenshilfeFrankfurtOder/RechnungAusserschulischesBetreuungsangebot.cs index 9a05b7312..ef7c3cd62 100644 --- a/ReportImp/LebenshilfeFrankfurtOder/RechnungAusserschulischesBetreuungsangebot.cs +++ b/ReportImp/LebenshilfeFrankfurtOder/RechnungAusserschulischesBetreuungsangebot.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Text; using BeWo.Data.Access; using BeWo.Data.Entities; @@ -76,11 +77,11 @@ namespace LebenshilfeFrankfurtOder String defaultEinheit = "Tage"; - decimal anzahl1 = 0; - decimal anzahl2 = 0; - decimal anzahl3 = 0; - decimal anzahl4 = 0; - decimal anzahl5 = 0; + //decimal anzahl1 = 0; + //decimal anzahl2 = 0; + //decimal anzahl3 = 0; + //decimal anzahl4 = 0; + //decimal anzahl5 = 0; bool istFerienbetreuung = pRO.InvoiceBase.InvoiceId == "RechnungABAFerien"; @@ -92,137 +93,154 @@ namespace LebenshilfeFrankfurtOder { lblTitel.Text = "Außerschulisches Betreuungsangebot Früh-/Spätbetreuung"; } - decimal betrag1 = FrankfurtOderHelper.GetStaffelPreis(1, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0; - decimal betrag2 = FrankfurtOderHelper.GetStaffelPreis(2, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0; - decimal betrag3 = FrankfurtOderHelper.GetStaffelPreis(3, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0; - decimal betrag4 = FrankfurtOderHelper.GetStaffelPreis(4, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0; - decimal betrag5 = FrankfurtOderHelper.GetStaffelPreis(5, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0; + //decimal betrag1 = FrankfurtOderHelper.GetStaffelPreis(1, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0; + //decimal betrag2 = FrankfurtOderHelper.GetStaffelPreis(2, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0; + //decimal betrag3 = FrankfurtOderHelper.GetStaffelPreis(3, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0; + //decimal betrag4 = FrankfurtOderHelper.GetStaffelPreis(4, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0; + //decimal betrag5 = FrankfurtOderHelper.GetStaffelPreis(5, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0; - decimal gesamt1 = 0; - decimal gesamt2 = 0; - decimal gesamt3 = 0; - decimal gesamt4 = 0; - decimal gesamt5 = 0; + //decimal gesamt1 = 0; + //decimal gesamt2 = 0; + //decimal gesamt3 = 0; + //decimal gesamt4 = 0; + //decimal gesamt5 = 0; - - var dict = new Dictionary(); + + //var dict = new Dictionary(); + decimal gesamtSumme = 0; + if (pRO.ServiceInvoicePeriods != null) { foreach (var sip in pRO.ServiceInvoicePeriods) { - if (!String.IsNullOrEmpty(sip.Notice)) + Dictionary klient2Item = new Dictionary(); + + if (!String.IsNullOrEmpty(sip.Notice)) { klientenNamen = sip.Notice; } foreach (var ii in sip.ServiceInvoiceItems) { - String key = String.Format("{0:dd.MM.yyyy}_{1}", ii.AccountingPeriodStart.Value.Date, ii.UnitDescription); + String key = String.Format("{0}, {1}", ii.CustomerLastname, ii.CustomerFirstname); - if (ii.UnitDescription.StartsWith("Staffelpreis 1")) - { - if (!dict.ContainsKey(key)) - { - anzahl1++; - } - //anzahl1 += ii.UnitCount ?? 0; - //betrag1 += ii.AmountPerUnit ?? betrag1; - gesamt1 += ii.NetAmount ?? 0; - - } - else if (ii.UnitDescription.StartsWith("Staffelpreis 2")) + if (!klient2Item.ContainsKey(key)) { - if (!dict.ContainsKey(key)) - { - anzahl2++; - } - //anzahl2 += ii.UnitCount ?? 0; - //betrag2 += ii.AmountPerUnit ?? betrag2; - gesamt2 += ii.NetAmount ?? 0; - - } - else if (ii.UnitDescription.StartsWith("Staffelpreis 3")) - { - if (!dict.ContainsKey(key)) - { - anzahl3++; - } - //anzahl3 += ii.UnitCount ?? 0; - //betrag3 += ii.AmountPerUnit ?? betrag3; - gesamt3 += ii.NetAmount ?? 0; - - } - else if (ii.UnitDescription.StartsWith("Staffelpreis 4")) - { - if (!dict.ContainsKey(key)) - { - anzahl4++; - } - //anzahl4 += ii.UnitCount ?? 0; - //betrag4 += ii.AmountPerUnit ?? betrag4; - gesamt4 += ii.NetAmount ?? 0; - + var newii = new ServiceInvoiceItemRO(); + newii.CustomerFirstname = ii.CustomerFirstname; + newii.CustomerLastname = ii.CustomerLastname; + newii.UnitCount = 0; + newii.NetAmount = 0; + klient2Item.Add(key, newii); } - else if (ii.UnitDescription.StartsWith("Staffelpreis 5")) - { - if (!dict.ContainsKey(key)) - { - anzahl5++; - } - //anzahl5 += ii.UnitCount ?? 0; - //betrag5 += ii.AmountPerUnit ?? betrag5; - gesamt5 += ii.NetAmount ?? 0; - } - if (!dict.ContainsKey(key)) - { - dict.Add(key, true); - } - + + + klient2Item[key].UnitCount += ii.UnitCount ?? 0; + klient2Item[key].NetAmount += ii.NetAmount ?? 0; + gesamtSumme += ii.NetAmount ?? 0; + // if (ii.UnitDescription.StartsWith("Staffelpreis 1")) + //{ + // if (!dict.ContainsKey(key)) + // { + // anzahl1++; + // } + // //anzahl1 += ii.UnitCount ?? 0; + // //betrag1 += ii.AmountPerUnit ?? betrag1; + // gesamt1 += ii.NetAmount ?? 0; + + //} + // else if (ii.UnitDescription.StartsWith("Staffelpreis 2")) + // { + // if (!dict.ContainsKey(key)) + // { + // anzahl2++; + // } + // //anzahl2 += ii.UnitCount ?? 0; + // //betrag2 += ii.AmountPerUnit ?? betrag2; + // gesamt2 += ii.NetAmount ?? 0; + + //} + //else if (ii.UnitDescription.StartsWith("Staffelpreis 3")) + // { + // if (!dict.ContainsKey(key)) + // { + // anzahl3++; + // } + // //anzahl3 += ii.UnitCount ?? 0; + // //betrag3 += ii.AmountPerUnit ?? betrag3; + // gesamt3 += ii.NetAmount ?? 0; + + //} + //else if (ii.UnitDescription.StartsWith("Staffelpreis 4")) + // { + // if (!dict.ContainsKey(key)) + // { + // anzahl4++; + // } + // //anzahl4 += ii.UnitCount ?? 0; + // //betrag4 += ii.AmountPerUnit ?? betrag4; + // gesamt4 += ii.NetAmount ?? 0; + + // } + // else if (ii.UnitDescription.StartsWith("Staffelpreis 5")) + // { + // if (!dict.ContainsKey(key)) + // { + // anzahl5++; + // } + // //anzahl5 += ii.UnitCount ?? 0; + // //betrag5 += ii.AmountPerUnit ?? betrag5; + // gesamt5 += ii.NetAmount ?? 0; + // } + + } - + sip.ServiceInvoiceItems.Clear(); + sip.ServiceInvoiceItems.AddRange(klient2Item.Values.OrderBy(i => i.CustomerLastname)); } + } //lblKlienten.Text = String.Format("Hort: {0}", klientenNamen); pRO.OrganisationDebitorNumber = GetKundennummer(pRO); - cellAnzahl1.Text = String.Format("{0:0}", anzahl1); - cellAnzahl2.Text = String.Format("{0:0}", anzahl2); - cellAnzahl3.Text = String.Format("{0:0}", anzahl3); - cellAnzahl4.Text = String.Format("{0:0}", anzahl4); - cellAnzahl5.Text = String.Format("{0:0}", anzahl5); + //cellAnzahl1.Text = String.Format("{0:0}", anzahl1); + //cellAnzahl2.Text = String.Format("{0:0}", anzahl2); + //cellAnzahl3.Text = String.Format("{0:0}", anzahl3); + //cellAnzahl4.Text = String.Format("{0:0}", anzahl4); + //cellAnzahl5.Text = String.Format("{0:0}", anzahl5); - cellEinheit1.Text = String.Format("{0}", defaultEinheit); - cellEinheit2.Text = String.Format("{0}", defaultEinheit); - cellEinheit3.Text = String.Format("{0}", defaultEinheit); - cellEinheit4.Text = String.Format("{0}", defaultEinheit); - cellEinheit5.Text = String.Format("{0}", defaultEinheit); + //cellEinheit1.Text = String.Format("{0}", defaultEinheit); + //cellEinheit2.Text = String.Format("{0}", defaultEinheit); + //cellEinheit3.Text = String.Format("{0}", defaultEinheit); + //cellEinheit4.Text = String.Format("{0}", defaultEinheit); + //cellEinheit5.Text = String.Format("{0}", defaultEinheit); - cellBetrag1.Text = String.Format("{0:#,##0.00}", betrag1); - cellBetrag2.Text = String.Format("{0:#,##0.00}", betrag2); - cellBetrag3.Text = String.Format("{0:#,##0.00}", betrag3); - cellBetrag4.Text = String.Format("{0:#,##0.00}", betrag4); - cellBetrag5.Text = String.Format("{0:#,##0.00}", betrag5); + //cellBetrag1.Text = String.Format("{0:#,##0.00}", betrag1); + //cellBetrag2.Text = String.Format("{0:#,##0.00}", betrag2); + //cellBetrag3.Text = String.Format("{0:#,##0.00}", betrag3); + //cellBetrag4.Text = String.Format("{0:#,##0.00}", betrag4); + //cellBetrag5.Text = String.Format("{0:#,##0.00}", betrag5); - cellGesamt1.Text = String.Format("{0:c}", gesamt1); - cellGesamt2.Text = String.Format("{0:c}", gesamt2); - cellGesamt3.Text = String.Format("{0:c}", gesamt3); - cellGesamt4.Text = String.Format("{0:c}", gesamt4); - cellGesamt5.Text = String.Format("{0:c}", gesamt5); + //cellGesamt1.Text = String.Format("{0:c}", gesamt1); + //cellGesamt2.Text = String.Format("{0:c}", gesamt2); + //cellGesamt3.Text = String.Format("{0:c}", gesamt3); + //cellGesamt4.Text = String.Format("{0:c}", gesamt4); + //cellGesamt5.Text = String.Format("{0:c}", gesamt5); //cellEigenanteil.Text = String.Format("{0:c}", eigenanteil); - lblGesamt.Text = String.Format("{0:c}", gesamt1 + gesamt2 + gesamt3 + gesamt4 + gesamt5); + lblGesamt.Text = String.Format("{0:c}", gesamtSumme); // gesamt1 + gesamt2 + gesamt3 + gesamt4 + gesamt5); - if (istFerienbetreuung) - { - xrTableRowFerien.Visible = false; - } + //if (istFerienbetreuung) + //{ + // xrTableRowFerien.Visible = false; + //} SetRechnungsText(pRO); SetFooter(pRO); diff --git a/Service/Plugins/PluginLoader.cs b/Service/Plugins/PluginLoader.cs index fe0b42704..a0a271d26 100644 --- a/Service/Plugins/PluginLoader.cs +++ b/Service/Plugins/PluginLoader.cs @@ -85,7 +85,7 @@ namespace BeWo.Service.Plugins //t = "4867997795"; // ADiK Kleve //t = "3184859776"; // Sergej Becker //t = "7752610643"; // BWK Gbr - //t = "3785623125"; // Betreuwo + t = "3785623125"; // Betreuwo //t = "7130228334"; // LH Borken //t = "4209820830"; // VKM Hamm //t = "5700328131"; // Betreutes Wohnen St. Ludgerus Essen-Werden @@ -170,7 +170,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. (FFS) @@ -226,7 +226,7 @@ namespace BeWo.Service.Plugins //t = "7817461089"; // FAB e.V. (Familienarbeit und Beratung e.V.) //t = "5207911843"; // Pro Balance //t = "8619663355"; // HSH Cologne - //t = "1652658918"; // LH Frankfurt Oder + t = "1652658918"; // LH Frankfurt Oder //t = "7696927868"; // Kuhring Betreuung //t = "6251348980"; // BeWo Gün //t = "6782533512"; // LH Dorsten From 3e1ba963b221c61d7165590628c2335d0c5d724b Mon Sep 17 00:00:00 2001 From: Christian Date: Mon, 30 Mar 2026 00:21:57 +0200 Subject: [PATCH 08/10] =?UTF-8?q?Frau=20HIldmann=20Vertretungsmodul:=20Vor?= =?UTF-8?q?name=20in=20Mail=20zugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ReportImp/SHKServiceSBD/Service/CustomVertretungsManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ReportImp/SHKServiceSBD/Service/CustomVertretungsManager.cs b/ReportImp/SHKServiceSBD/Service/CustomVertretungsManager.cs index fdf12bd83..a5af51a0c 100644 --- a/ReportImp/SHKServiceSBD/Service/CustomVertretungsManager.cs +++ b/ReportImp/SHKServiceSBD/Service/CustomVertretungsManager.cs @@ -355,7 +355,7 @@ Bei Rückfragen erreichen Sie uns an jedem Unterrichtstag von 6:30 Uhr bis 10:00 vertretungsItem.MailSchule.Subject = "Vertretungsinformation"; if (vertretung != null) { - String vertreterName = vertretung.Person.LastName; + String vertreterName = String.Format("{0} {1}", vertretung.Person.FirstName, vertretung.Person.LastName).Trim(); if (vertretung.Person.Sex.HasValue && vertretung.Person.Sex.Value == Sex.Male) { vertreterName = "Herr " + vertreterName; From 9ddd0d05eb60cfe14ca077de800edc0331a3e350 Mon Sep 17 00:00:00 2001 From: Christian Date: Mon, 30 Mar 2026 00:22:34 +0200 Subject: [PATCH 09/10] =?UTF-8?q?Archivierte=20und=20Mitarbeiter=20d=C3=BC?= =?UTF-8?q?rfen=20sich=20nicht=20mehr=20anmelden?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Service/ServiceImplementations/UserServiceImp.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Service/ServiceImplementations/UserServiceImp.cs b/Service/ServiceImplementations/UserServiceImp.cs index 92e50c72c..6b238406d 100644 --- a/Service/ServiceImplementations/UserServiceImp.cs +++ b/Service/ServiceImplementations/UserServiceImp.cs @@ -498,10 +498,10 @@ namespace BeWo.Service.ServiceImplementations result = valid ? UserValidationResult.UserValid : UserValidationResult.UserUnknown; if (result.Value == UserValidationResult.UserValid) { - //if (lUser.Employee.IsActive == ActivationTypeId.Archived) - //{ - //result = UserValidationResult.EmployeeDeleted; - //} + if (lUser.Employee.IsActive != ActivationTypeId.Active) + { + result = UserValidationResult.EmployeeDeleted; + } var settings = AppSettings.CreateSettings(); #if DEBUG From 9c8de2c8f16be1756fd6f50b75b7ceed69bf6963 Mon Sep 17 00:00:00 2001 From: Christian Date: Mon, 30 Mar 2026 00:22:58 +0200 Subject: [PATCH 10/10] =?UTF-8?q?Statistik=20f=C3=BCr=20Straff=C3=A4lligen?= =?UTF-8?q?hilfe=20in=20anderen=20Ordner=20umgezogen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../VgaStatistikReport.Designer.cs | 718 ------------------ Report/DefaultReports/VgaStatistikReport.cs | 334 -------- Report/DefaultReports/VgaStatistikReport.resx | 120 --- 3 files changed, 1172 deletions(-) delete mode 100644 Report/DefaultReports/VgaStatistikReport.Designer.cs delete mode 100644 Report/DefaultReports/VgaStatistikReport.cs delete mode 100644 Report/DefaultReports/VgaStatistikReport.resx diff --git a/Report/DefaultReports/VgaStatistikReport.Designer.cs b/Report/DefaultReports/VgaStatistikReport.Designer.cs deleted file mode 100644 index b81bdaa4a..000000000 --- a/Report/DefaultReports/VgaStatistikReport.Designer.cs +++ /dev/null @@ -1,718 +0,0 @@ -namespace BeWo.Report.DefaultReports -{ - partial class VgaStatistikReport - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); - this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand(); - this.lblVersion = new DevExpress.XtraReports.UI.XRLabel(); - this.lblTitel = new DevExpress.XtraReports.UI.XRLabel(); - this.lblVermLabel = new DevExpress.XtraReports.UI.XRLabel(); - this.lblVermWert = new DevExpress.XtraReports.UI.XRLabel(); - this.lblStaLabel = new DevExpress.XtraReports.UI.XRLabel(); - this.lblStaWert = new DevExpress.XtraReports.UI.XRLabel(); - this.lblBerLabel = new DevExpress.XtraReports.UI.XRLabel(); - this.lblBerWert = new DevExpress.XtraReports.UI.XRLabel(); - this.PageHeader = new DevExpress.XtraReports.UI.PageHeaderBand(); - this.tblHeader = new DevExpress.XtraReports.UI.XRTable(); - this.tblHeaderRow1 = new DevExpress.XtraReports.UI.XRTableRow(); - this.cellHPos = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellHBeschr = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellHInsgesamt = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellHEFS = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellH1Auflage153a = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellH1Auflage153aSteuerstraf = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellH1BewOhne = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellH1BewMit = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellHGnadenverfahren = new DevExpress.XtraReports.UI.XRTableCell(); - this.tblHeaderRow2 = new DevExpress.XtraReports.UI.XRTableRow(); - this.cellH2Pos = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellH2Beschr = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellH2Insgesamt = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellH2EFS = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellH2Auflage153a = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellH2Auflage153aSteuerstraf = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellH2BewOhne = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellH2BewMit = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellH2Gnadenverfahren = new DevExpress.XtraReports.UI.XRTableCell(); - this.Detail = new DevExpress.XtraReports.UI.DetailBand(); - this.tblDetail = new DevExpress.XtraReports.UI.XRTable(); - this.tblDetailRow = new DevExpress.XtraReports.UI.XRTableRow(); - this.cellPos = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellBeschr = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellInsgesamt = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellEFS = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellAuflage153a = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellAuflage153aSteuerstraf = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellBewOhne = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellBewMit = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellGnadenverfahren = new DevExpress.XtraReports.UI.XRTableCell(); - this.ruleHighlighted = new DevExpress.XtraReports.UI.FormattingRule(); - this.ruleSectionHeader = new DevExpress.XtraReports.UI.FormattingRule(); - this.PageFooter = new DevExpress.XtraReports.UI.PageFooterBand(); - this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo(); - this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand(); - this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand(); - this.paramVermittlungsstelle = new DevExpress.XtraReports.Parameters.Parameter(); - this.paramStaatsanwaltschaft = new DevExpress.XtraReports.Parameters.Parameter(); - this.paramBerichtszeitraum = new DevExpress.XtraReports.Parameters.Parameter(); - ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.tblHeader)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.tblDetail)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this)).BeginInit(); - // - // bindingSource1 - // - this.bindingSource1.DataSource = typeof(BeWo.Report.DefaultReports.VgaStatistikReportRow); - // - // ReportHeader - // - this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { - this.lblVersion, - this.lblTitel, - this.lblVermLabel, - this.lblVermWert, - this.lblStaLabel, - this.lblStaWert, - this.lblBerLabel, - this.lblBerWert}); - this.ReportHeader.HeightF = 84F; - this.ReportHeader.Name = "ReportHeader"; - // - // lblVersion - // - this.lblVersion.Font = new DevExpress.Drawing.DXFont("Arial", 8F); - this.lblVersion.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); - this.lblVersion.Name = "lblVersion"; - this.lblVersion.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.lblVersion.SizeF = new System.Drawing.SizeF(80F, 18F); - this.lblVersion.Text = "V 2014.1"; - // - // lblTitel - // - this.lblTitel.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold); - this.lblTitel.LocationFloat = new DevExpress.Utils.PointFloat(80F, 0F); - this.lblTitel.Name = "lblTitel"; - this.lblTitel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.lblTitel.SizeF = new System.Drawing.SizeF(989F, 18F); - this.lblTitel.StylePriority.UseFont = false; - this.lblTitel.StylePriority.UseTextAlignment = false; - this.lblTitel.Text = "Statistik der Ableistung gemeinnütziger Arbeit"; - this.lblTitel.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - // - // lblVermLabel - // - this.lblVermLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F); - this.lblVermLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 20F); - this.lblVermLabel.Name = "lblVermLabel"; - this.lblVermLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.lblVermLabel.SizeF = new System.Drawing.SizeF(319F, 18F); - this.lblVermLabel.Text = "Vermittlungsstelle (Ort):"; - // - // lblVermWert - // - this.lblVermWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { - new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters.Vermittlungsstelle]")}); - this.lblVermWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F); - this.lblVermWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 20F); - this.lblVermWert.Name = "lblVermWert"; - this.lblVermWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.lblVermWert.SizeF = new System.Drawing.SizeF(300F, 18F); - // - // lblStaLabel - // - this.lblStaLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F); - this.lblStaLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 40F); - this.lblStaLabel.Name = "lblStaLabel"; - this.lblStaLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.lblStaLabel.SizeF = new System.Drawing.SizeF(319F, 18F); - this.lblStaLabel.Text = "Staatsanwaltschaft / Landgerichtsbezirk:"; - // - // lblStaWert - // - this.lblStaWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { - new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters.Staatsanwaltschaft]")}); - this.lblStaWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F); - this.lblStaWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 40F); - this.lblStaWert.Name = "lblStaWert"; - this.lblStaWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.lblStaWert.SizeF = new System.Drawing.SizeF(300F, 18F); - // - // lblBerLabel - // - this.lblBerLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F); - this.lblBerLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 60F); - this.lblBerLabel.Name = "lblBerLabel"; - this.lblBerLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.lblBerLabel.SizeF = new System.Drawing.SizeF(319F, 18F); - this.lblBerLabel.Text = "Berichtszeitraum:"; - // - // lblBerWert - // - this.lblBerWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { - new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "FormatString(\'{0:dd.MM.yyyy}\', [Parameters.Berichtszeitraum])")}); - this.lblBerWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F); - this.lblBerWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 60F); - this.lblBerWert.Name = "lblBerWert"; - this.lblBerWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.lblBerWert.SizeF = new System.Drawing.SizeF(200F, 18F); - // - // PageHeader - // - this.PageHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { - this.tblHeader}); - this.PageHeader.HeightF = 56F; - this.PageHeader.Name = "PageHeader"; - // - // tblHeader - // - this.tblHeader.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166))))); - this.tblHeader.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) - | DevExpress.XtraPrinting.BorderSide.Right) - | DevExpress.XtraPrinting.BorderSide.Bottom))); - this.tblHeader.BorderWidth = 0.5F; - this.tblHeader.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); - this.tblHeader.Name = "tblHeader"; - this.tblHeader.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { - this.tblHeaderRow1, - this.tblHeaderRow2}); - this.tblHeader.SizeF = new System.Drawing.SizeF(1069F, 56F); - // - // tblHeaderRow1 - // - this.tblHeaderRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { - this.cellHPos, - this.cellHBeschr, - this.cellHInsgesamt, - this.cellHEFS, - this.cellH1Auflage153a, - this.cellH1Auflage153aSteuerstraf, - this.cellH1BewOhne, - this.cellH1BewMit, - this.cellHGnadenverfahren}); - this.tblHeaderRow1.Name = "tblHeaderRow1"; - this.tblHeaderRow1.Weight = 0.92D; - // - // cellHPos - // - this.cellHPos.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); - this.cellHPos.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold); - this.cellHPos.Name = "cellHPos"; - this.cellHPos.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); - this.cellHPos.RowSpan = 2; - this.cellHPos.StylePriority.UseFont = false; - this.cellHPos.StylePriority.UseTextAlignment = false; - this.cellHPos.Text = "Pos."; - this.cellHPos.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellHPos.Weight = 0.16666666666666666D; - // - // cellHBeschr - // - this.cellHBeschr.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); - this.cellHBeschr.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold); - this.cellHBeschr.Name = "cellHBeschr"; - this.cellHBeschr.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); - this.cellHBeschr.RowSpan = 2; - this.cellHBeschr.StylePriority.UseFont = false; - this.cellHBeschr.StylePriority.UseTextAlignment = false; - this.cellHBeschr.Text = "1 Auftrag = 1 Person !!!"; - this.cellHBeschr.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellHBeschr.Weight = 1.0633333333333332D; - // - // cellHInsgesamt - // - this.cellHInsgesamt.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); - this.cellHInsgesamt.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold); - this.cellHInsgesamt.Name = "cellHInsgesamt"; - this.cellHInsgesamt.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); - this.cellHInsgesamt.RowSpan = 2; - this.cellHInsgesamt.StylePriority.UseFont = false; - this.cellHInsgesamt.StylePriority.UseTextAlignment = false; - this.cellHInsgesamt.Text = "insgesamt"; - this.cellHInsgesamt.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellHInsgesamt.Weight = 0.33333333333333331D; - // - // cellHEFS - // - this.cellHEFS.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); - this.cellHEFS.Font = new DevExpress.Drawing.DXFont("Arial", 7F); - this.cellHEFS.Name = "cellHEFS"; - this.cellHEFS.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); - this.cellHEFS.RowSpan = 2; - this.cellHEFS.StylePriority.UseFont = false; - this.cellHEFS.StylePriority.UseTextAlignment = false; - this.cellHEFS.Text = "zur Abwendung einer\nErsatzfreiheitsstrafe"; - this.cellHEFS.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellHEFS.Weight = 0.33333333333333331D; - // - // cellH1Auflage153a - // - this.cellH1Auflage153a.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); - this.cellH1Auflage153a.Font = new DevExpress.Drawing.DXFont("Arial", 7F); - this.cellH1Auflage153a.Name = "cellH1Auflage153a"; - this.cellH1Auflage153a.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); - this.cellH1Auflage153a.StylePriority.UseFont = false; - this.cellH1Auflage153a.StylePriority.UseTextAlignment = false; - this.cellH1Auflage153a.Text = "als Auflage gem."; - this.cellH1Auflage153a.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellH1Auflage153a.Weight = 0.33333333333333331D; - // - // cellH1Auflage153aSteuerstraf - // - this.cellH1Auflage153aSteuerstraf.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); - this.cellH1Auflage153aSteuerstraf.Font = new DevExpress.Drawing.DXFont("Arial", 7F); - this.cellH1Auflage153aSteuerstraf.Name = "cellH1Auflage153aSteuerstraf"; - this.cellH1Auflage153aSteuerstraf.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); - this.cellH1Auflage153aSteuerstraf.StylePriority.UseFont = false; - this.cellH1Auflage153aSteuerstraf.StylePriority.UseTextAlignment = false; - this.cellH1Auflage153aSteuerstraf.Text = "als Auflage gem."; - this.cellH1Auflage153aSteuerstraf.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellH1Auflage153aSteuerstraf.Weight = 0.33333333333333331D; - // - // cellH1BewOhne - // - this.cellH1BewOhne.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); - this.cellH1BewOhne.Font = new DevExpress.Drawing.DXFont("Arial", 7F); - this.cellH1BewOhne.Name = "cellH1BewOhne"; - this.cellH1BewOhne.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); - this.cellH1BewOhne.StylePriority.UseFont = false; - this.cellH1BewOhne.StylePriority.UseTextAlignment = false; - this.cellH1BewOhne.Text = "als Bewährungs-\nauflage"; - this.cellH1BewOhne.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellH1BewOhne.Weight = 0.33333333333333331D; - // - // cellH1BewMit - // - this.cellH1BewMit.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); - this.cellH1BewMit.Font = new DevExpress.Drawing.DXFont("Arial", 7F); - this.cellH1BewMit.Name = "cellH1BewMit"; - this.cellH1BewMit.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); - this.cellH1BewMit.StylePriority.UseFont = false; - this.cellH1BewMit.StylePriority.UseTextAlignment = false; - this.cellH1BewMit.Text = "als Bewährungs-\nauflage"; - this.cellH1BewMit.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellH1BewMit.Weight = 0.33333333333333331D; - // - // cellHGnadenverfahren - // - this.cellHGnadenverfahren.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); - this.cellHGnadenverfahren.Font = new DevExpress.Drawing.DXFont("Arial", 7F); - this.cellHGnadenverfahren.Name = "cellHGnadenverfahren"; - this.cellHGnadenverfahren.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); - this.cellHGnadenverfahren.RowSpan = 2; - this.cellHGnadenverfahren.StylePriority.UseFont = false; - this.cellHGnadenverfahren.StylePriority.UseTextAlignment = false; - this.cellHGnadenverfahren.Text = "als Auflage im\nGnadenverfahren"; - this.cellHGnadenverfahren.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellHGnadenverfahren.Weight = 0.33333333333333331D; - // - // tblHeaderRow2 - // - this.tblHeaderRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { - this.cellH2Pos, - this.cellH2Beschr, - this.cellH2Insgesamt, - this.cellH2EFS, - this.cellH2Auflage153a, - this.cellH2Auflage153aSteuerstraf, - this.cellH2BewOhne, - this.cellH2BewMit, - this.cellH2Gnadenverfahren}); - this.tblHeaderRow2.Name = "tblHeaderRow2"; - this.tblHeaderRow2.Weight = 0.92D; - // - // cellH2Pos - // - this.cellH2Pos.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); - this.cellH2Pos.Name = "cellH2Pos"; - this.cellH2Pos.Weight = 0.16666666666666666D; - // - // cellH2Beschr - // - this.cellH2Beschr.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); - this.cellH2Beschr.Name = "cellH2Beschr"; - this.cellH2Beschr.Weight = 1.0633333333333332D; - // - // cellH2Insgesamt - // - this.cellH2Insgesamt.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); - this.cellH2Insgesamt.Name = "cellH2Insgesamt"; - this.cellH2Insgesamt.Weight = 0.33333333333333331D; - // - // cellH2EFS - // - this.cellH2EFS.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); - this.cellH2EFS.Name = "cellH2EFS"; - this.cellH2EFS.Weight = 0.33333333333333331D; - // - // cellH2Auflage153a - // - this.cellH2Auflage153a.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); - this.cellH2Auflage153a.Font = new DevExpress.Drawing.DXFont("Arial", 7F); - this.cellH2Auflage153a.Name = "cellH2Auflage153a"; - this.cellH2Auflage153a.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); - this.cellH2Auflage153a.StylePriority.UseFont = false; - this.cellH2Auflage153a.StylePriority.UseTextAlignment = false; - this.cellH2Auflage153a.Text = "§ 153a StPO"; - this.cellH2Auflage153a.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellH2Auflage153a.Weight = 0.33333333333333331D; - // - // cellH2Auflage153aSteuerstraf - // - this.cellH2Auflage153aSteuerstraf.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); - this.cellH2Auflage153aSteuerstraf.Font = new DevExpress.Drawing.DXFont("Arial", 7F); - this.cellH2Auflage153aSteuerstraf.Name = "cellH2Auflage153aSteuerstraf"; - this.cellH2Auflage153aSteuerstraf.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); - this.cellH2Auflage153aSteuerstraf.StylePriority.UseFont = false; - this.cellH2Auflage153aSteuerstraf.StylePriority.UseTextAlignment = false; - this.cellH2Auflage153aSteuerstraf.Text = "§ 153a StPO im\nSteuerstrafverfahren"; - this.cellH2Auflage153aSteuerstraf.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellH2Auflage153aSteuerstraf.Weight = 0.33333333333333331D; - // - // cellH2BewOhne - // - this.cellH2BewOhne.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); - this.cellH2BewOhne.Font = new DevExpress.Drawing.DXFont("Arial", 7F); - this.cellH2BewOhne.Name = "cellH2BewOhne"; - this.cellH2BewOhne.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); - this.cellH2BewOhne.StylePriority.UseFont = false; - this.cellH2BewOhne.StylePriority.UseTextAlignment = false; - this.cellH2BewOhne.Text = "ohne Bewährungs-\nhelfer"; - this.cellH2BewOhne.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellH2BewOhne.Weight = 0.33333333333333331D; - // - // cellH2BewMit - // - this.cellH2BewMit.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); - this.cellH2BewMit.Font = new DevExpress.Drawing.DXFont("Arial", 7F); - this.cellH2BewMit.Name = "cellH2BewMit"; - this.cellH2BewMit.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F); - this.cellH2BewMit.StylePriority.UseFont = false; - this.cellH2BewMit.StylePriority.UseTextAlignment = false; - this.cellH2BewMit.Text = "mit Bewährungs-\nhelfer"; - this.cellH2BewMit.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.cellH2BewMit.Weight = 0.33333333333333331D; - // - // cellH2Gnadenverfahren - // - this.cellH2Gnadenverfahren.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217))))); - this.cellH2Gnadenverfahren.Name = "cellH2Gnadenverfahren"; - this.cellH2Gnadenverfahren.Weight = 0.33333333333333331D; - // - // Detail - // - this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { - this.tblDetail}); - this.Detail.HeightF = 16F; - this.Detail.Name = "Detail"; - // - // tblDetail - // - this.tblDetail.AnchorVertical = ((DevExpress.XtraReports.UI.VerticalAnchorStyles)((DevExpress.XtraReports.UI.VerticalAnchorStyles.Top | DevExpress.XtraReports.UI.VerticalAnchorStyles.Bottom))); - this.tblDetail.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166))))); - this.tblDetail.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) - | DevExpress.XtraPrinting.BorderSide.Right) - | DevExpress.XtraPrinting.BorderSide.Bottom))); - this.tblDetail.BorderWidth = 0.5F; - this.tblDetail.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); - this.tblDetail.Name = "tblDetail"; - this.tblDetail.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { - this.tblDetailRow}); - this.tblDetail.SizeF = new System.Drawing.SizeF(1069F, 16F); - // - // tblDetailRow - // - this.tblDetailRow.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { - this.cellPos, - this.cellBeschr, - this.cellInsgesamt, - this.cellEFS, - this.cellAuflage153a, - this.cellAuflage153aSteuerstraf, - this.cellBewOhne, - this.cellBewMit, - this.cellGnadenverfahren}); - this.tblDetailRow.Name = "tblDetailRow"; - this.tblDetailRow.Weight = 11.5D; - // - // cellPos - // - this.cellPos.CanGrow = false; - this.cellPos.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { - new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Position]")}); - this.cellPos.Name = "cellPos"; - this.cellPos.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.cellPos.StylePriority.UseTextAlignment = false; - this.cellPos.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.cellPos.Weight = 0.16666666666666666D; - // - // cellBeschr - // - this.cellBeschr.CanGrow = false; - this.cellBeschr.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { - new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Beschreibung]")}); - this.cellBeschr.Name = "cellBeschr"; - this.cellBeschr.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.cellBeschr.StylePriority.UseTextAlignment = false; - this.cellBeschr.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.cellBeschr.Weight = 1.0633333333333332D; - // - // cellInsgesamt - // - this.cellInsgesamt.CanGrow = false; - this.cellInsgesamt.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { - new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ColInsgesamt]")}); - this.cellInsgesamt.Name = "cellInsgesamt"; - this.cellInsgesamt.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.cellInsgesamt.StylePriority.UseTextAlignment = false; - this.cellInsgesamt.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.cellInsgesamt.Weight = 0.33333333333333331D; - // - // cellEFS - // - this.cellEFS.CanGrow = false; - this.cellEFS.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { - new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ColEFS]")}); - this.cellEFS.Name = "cellEFS"; - this.cellEFS.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.cellEFS.StylePriority.UseTextAlignment = false; - this.cellEFS.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.cellEFS.Weight = 0.33333333333333331D; - // - // cellAuflage153a - // - this.cellAuflage153a.CanGrow = false; - this.cellAuflage153a.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { - new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ColAuflage153a]")}); - this.cellAuflage153a.Name = "cellAuflage153a"; - this.cellAuflage153a.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.cellAuflage153a.StylePriority.UseTextAlignment = false; - this.cellAuflage153a.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.cellAuflage153a.Weight = 0.33333333333333331D; - // - // cellAuflage153aSteuerstraf - // - this.cellAuflage153aSteuerstraf.CanGrow = false; - this.cellAuflage153aSteuerstraf.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { - new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ColAuflage153aSteuerstraf]")}); - this.cellAuflage153aSteuerstraf.Name = "cellAuflage153aSteuerstraf"; - this.cellAuflage153aSteuerstraf.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.cellAuflage153aSteuerstraf.StylePriority.UseTextAlignment = false; - this.cellAuflage153aSteuerstraf.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.cellAuflage153aSteuerstraf.Weight = 0.33333333333333331D; - // - // cellBewOhne - // - this.cellBewOhne.CanGrow = false; - this.cellBewOhne.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { - new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ColBewOhne]")}); - this.cellBewOhne.Name = "cellBewOhne"; - this.cellBewOhne.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.cellBewOhne.StylePriority.UseTextAlignment = false; - this.cellBewOhne.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.cellBewOhne.Weight = 0.33333333333333331D; - // - // cellBewMit - // - this.cellBewMit.CanGrow = false; - this.cellBewMit.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { - new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ColBewMit]")}); - this.cellBewMit.Name = "cellBewMit"; - this.cellBewMit.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.cellBewMit.StylePriority.UseTextAlignment = false; - this.cellBewMit.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.cellBewMit.Weight = 0.33333333333333331D; - // - // cellGnadenverfahren - // - this.cellGnadenverfahren.CanGrow = false; - this.cellGnadenverfahren.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { - new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ColGnadenverfahren]")}); - this.cellGnadenverfahren.Name = "cellGnadenverfahren"; - this.cellGnadenverfahren.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.cellGnadenverfahren.StylePriority.UseTextAlignment = false; - this.cellGnadenverfahren.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.cellGnadenverfahren.Weight = 0.33333333333333331D; - // - // ruleHighlighted - // - this.ruleHighlighted.Condition = "[RowType] == 1"; - this.ruleHighlighted.Formatting.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(230)))), ((int)(((byte)(153))))); - this.ruleHighlighted.Name = "ruleHighlighted"; - // - // ruleSectionHeader - // - this.ruleSectionHeader.Condition = "[RowType] == 2"; - this.ruleSectionHeader.Formatting.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(189)))), ((int)(((byte)(215)))), ((int)(((byte)(238))))); - this.ruleSectionHeader.Formatting.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold); - this.ruleSectionHeader.Name = "ruleSectionHeader"; - // - // PageFooter - // - this.PageFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { - this.xrPageInfo1}); - this.PageFooter.HeightF = 26F; - this.PageFooter.Name = "PageFooter"; - // - // xrPageInfo1 - // - this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(868.9998F, 10F); - this.xrPageInfo1.Name = "xrPageInfo1"; - this.xrPageInfo1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.xrPageInfo1.SizeF = new System.Drawing.SizeF(200F, 16F); - this.xrPageInfo1.StylePriority.UseTextAlignment = false; - this.xrPageInfo1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - // - // TopMargin - // - this.TopMargin.HeightF = 50F; - this.TopMargin.Name = "TopMargin"; - // - // BottomMargin - // - this.BottomMargin.HeightF = 50F; - this.BottomMargin.Name = "BottomMargin"; - // - // paramVermittlungsstelle - // - this.paramVermittlungsstelle.Description = "Vermittlungsstelle (Ort)"; - this.paramVermittlungsstelle.Name = "paramVermittlungsstelle"; - // - // paramStaatsanwaltschaft - // - this.paramStaatsanwaltschaft.Description = "Staatsanwaltschaft / LG-Bezirk"; - this.paramStaatsanwaltschaft.Name = "paramStaatsanwaltschaft"; - this.paramStaatsanwaltschaft.ValueInfo = "GESAMT"; - // - // paramBerichtszeitraum - // - this.paramBerichtszeitraum.Description = "Berichtszeitraum (Stichtag)"; - this.paramBerichtszeitraum.Name = "paramBerichtszeitraum"; - this.paramBerichtszeitraum.Type = typeof(System.DateTime); - this.paramBerichtszeitraum.ValueInfo = "2026-03-20"; - // - // VgaStatistikReport - // - this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { - this.TopMargin, - this.ReportHeader, - this.PageHeader, - this.Detail, - this.PageFooter, - this.BottomMargin}); - this.DataSource = this.bindingSource1; - this.Font = new DevExpress.Drawing.DXFont("Arial", 8F); - this.Landscape = true; - this.Margins = new DevExpress.Drawing.DXMargins(50F, 50F, 50F, 50F); - this.PageHeight = 827; - this.PageWidth = 1169; - this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4; - this.Parameters.AddRange(new DevExpress.XtraReports.Parameters.Parameter[] { - this.paramVermittlungsstelle, - this.paramStaatsanwaltschaft, - this.paramBerichtszeitraum}); - this.Version = "23.2"; - ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.tblHeader)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.tblDetail)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this)).EndInit(); - - } - - #endregion - - // ── Private Felder (alle Report-Controls) ────────────────────────────── - private System.Windows.Forms.BindingSource bindingSource1; - - private DevExpress.XtraReports.UI.TopMarginBand TopMargin; - private DevExpress.XtraReports.UI.BottomMarginBand BottomMargin; - private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader; - private DevExpress.XtraReports.UI.PageHeaderBand PageHeader; - private DevExpress.XtraReports.UI.DetailBand Detail; - private DevExpress.XtraReports.UI.PageFooterBand PageFooter; - - // Report-Header Labels - private DevExpress.XtraReports.UI.XRLabel lblVersion; - private DevExpress.XtraReports.UI.XRLabel lblTitel; - private DevExpress.XtraReports.UI.XRLabel lblVermLabel; - private DevExpress.XtraReports.UI.XRLabel lblVermWert; - private DevExpress.XtraReports.UI.XRLabel lblStaLabel; - private DevExpress.XtraReports.UI.XRLabel lblStaWert; - private DevExpress.XtraReports.UI.XRLabel lblBerLabel; - private DevExpress.XtraReports.UI.XRLabel lblBerWert; - - // Page-Header Tabelle - private DevExpress.XtraReports.UI.XRTable tblHeader; - private DevExpress.XtraReports.UI.XRTableRow tblHeaderRow1; - private DevExpress.XtraReports.UI.XRTableCell cellHPos; - private DevExpress.XtraReports.UI.XRTableCell cellHBeschr; - private DevExpress.XtraReports.UI.XRTableCell cellHInsgesamt; - private DevExpress.XtraReports.UI.XRTableCell cellHEFS; - private DevExpress.XtraReports.UI.XRTableCell cellH1Auflage153a; - private DevExpress.XtraReports.UI.XRTableCell cellH1Auflage153aSteuerstraf; - private DevExpress.XtraReports.UI.XRTableCell cellH1BewOhne; - private DevExpress.XtraReports.UI.XRTableCell cellH1BewMit; - private DevExpress.XtraReports.UI.XRTableCell cellHGnadenverfahren; - private DevExpress.XtraReports.UI.XRTableRow tblHeaderRow2; - private DevExpress.XtraReports.UI.XRTableCell cellH2Pos; - private DevExpress.XtraReports.UI.XRTableCell cellH2Beschr; - private DevExpress.XtraReports.UI.XRTableCell cellH2Insgesamt; - private DevExpress.XtraReports.UI.XRTableCell cellH2EFS; - private DevExpress.XtraReports.UI.XRTableCell cellH2Auflage153a; - private DevExpress.XtraReports.UI.XRTableCell cellH2Auflage153aSteuerstraf; - private DevExpress.XtraReports.UI.XRTableCell cellH2BewOhne; - private DevExpress.XtraReports.UI.XRTableCell cellH2BewMit; - private DevExpress.XtraReports.UI.XRTableCell cellH2Gnadenverfahren; - - // Detail-Tabelle - private DevExpress.XtraReports.UI.XRTable tblDetail; - private DevExpress.XtraReports.UI.XRTableRow tblDetailRow; - private DevExpress.XtraReports.UI.XRTableCell cellPos; - private DevExpress.XtraReports.UI.XRTableCell cellBeschr; - private DevExpress.XtraReports.UI.XRTableCell cellInsgesamt; - private DevExpress.XtraReports.UI.XRTableCell cellEFS; - private DevExpress.XtraReports.UI.XRTableCell cellAuflage153a; - private DevExpress.XtraReports.UI.XRTableCell cellAuflage153aSteuerstraf; - private DevExpress.XtraReports.UI.XRTableCell cellBewOhne; - private DevExpress.XtraReports.UI.XRTableCell cellBewMit; - private DevExpress.XtraReports.UI.XRTableCell cellGnadenverfahren; - - // Seitenzahl - private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo1; - - // Bedingte Formatierung - private DevExpress.XtraReports.UI.FormattingRule ruleHighlighted; - private DevExpress.XtraReports.UI.FormattingRule ruleSectionHeader; - - // Parameter - private DevExpress.XtraReports.Parameters.Parameter paramVermittlungsstelle; - private DevExpress.XtraReports.Parameters.Parameter paramStaatsanwaltschaft; - private DevExpress.XtraReports.Parameters.Parameter paramBerichtszeitraum; - } -} diff --git a/Report/DefaultReports/VgaStatistikReport.cs b/Report/DefaultReports/VgaStatistikReport.cs deleted file mode 100644 index 78268f20e..000000000 --- a/Report/DefaultReports/VgaStatistikReport.cs +++ /dev/null @@ -1,334 +0,0 @@ -using System; -using System.Collections.Generic; -using BeWo.Service.Reporting.Straffaelligenhilfe; -using DevExpress.XtraReports.UI; - -namespace BeWo.Report.DefaultReports -{ - /// - /// XtraReport für die "Statistik der Ableistung gemeinnütziger Arbeit" (V 2014.1). - /// - /// Verwendung: - /// var rows = VgaStatistikReport.CreateRows(efs, a153, a153s, bewO, bewM, gnad); - /// var report = new VgaStatistikReport(); - /// report.Parameters["Vermittlungsstelle"].Value = "Musterstadt"; - /// report.Parameters["Staatsanwaltschaft"].Value = "GESAMT"; - /// report.Parameters["Berichtszeitraum"].Value = new DateTime(2025, 6, 30); - /// report.SetReportDataSource(rows); - /// report.ShowPreview(); - /// - public partial class VgaStatistikReport : XtraReport - { - public VgaStatistikReport() - { - InitializeComponent(); - } - - /// - /// Setzt die Datenquelle des Reports. - /// - public void SetReportDataSource(List rows) - { - this.bindingSource1.DataSource = rows; - } - - // ── Factory ───────────────────────────────────────────────────────────── - - /// - /// Konvertiert 6 ausgefüllte VgaStatistic-Objekte (je eine Kategorie) in die - /// Zeilenliste für den Report. Spalte C (insgesamt) wird als Summe berechnet. - /// - /// Parameterreihenfolge entspricht den Excel-Spalten D–I: - /// efs → Spalte D: Abwendung Ersatzfreiheitsstrafe - /// auflage153a → Spalte E: Auflage gem. § 153a StPO - /// auflage153aSteuerstraf → Spalte F: Auflage § 153a StPO Steuerstrafverfahren - /// bewOhne → Spalte G: Bewährungsauflage ohne Bewährungshelfer - /// bewMit → Spalte H: Bewährungsauflage mit Bewährungshelfer - /// gnadenverfahren → Spalte I: Auflage im Gnadenverfahren - /// - public static List CreateRows( - VgaStatistic efs, - VgaStatistic auflage153a, - VgaStatistic auflage153aSteuerstraf, - VgaStatistic bewOhne, - VgaStatistic bewMit, - VgaStatistic gnadenverfahren) - { - // Kurzform: Zähle eine Eigenschaft über alle 6 Kategorien - int Sum(Func f) => - f(efs) + f(auflage153a) + f(auflage153aSteuerstraf) + - f(bewOhne) + f(bewMit) + f(gnadenverfahren); - - // Normale Datenzeile - VgaStatistikReportRow Row(string pos, string beschr, - Func f, - VgaReportRowType type = VgaReportRowType.Normal) => - VgaStatistikReportRow.FromValues(pos, beschr, - f(efs), f(auflage153a), f(auflage153aSteuerstraf), - f(bewOhne), f(bewMit), f(gnadenverfahren), type); - - return new List - { - // ── Auftragsbestand ──────────────────────────────────────────── - Row("0.1", - "Anzahl der aus dem vorhergehenden Berichtszeitraum übernommenen offenen Aufträge", - s => s.Anzahl01), - - Row("0.2", - "Anzahl der im aktuellen Berichtszeitraum erteilten Aufträge", - s => s.Anzahl02, VgaReportRowType.Highlighted), - - Row("1.", - "Anzahl der insges. erteilten Aufträge (Summe Zeilen 0.1 + 0.2)", - s => s.Anzahl1, VgaReportRowType.Highlighted), - - Row("1.1.", - "darunter mehrfach erteilte Aufträge zur selben Person und zum selben Aktenzeichen (Fallzahl v. Zeile 1)", - s => s.Anzahl1_1, VgaReportRowType.Highlighted), - - Row("1.2.", - "darunter Amtshilfe für andere Bezirke in BW (Fallzahl v. Zeile 1)", - s => s.Anzahl1_2), - - Row("1.3.", - "darunter Amtshilfe für andere Bundesländer / Ausland (Fallzahl v. Zeile 1)", - s => s.Anzahl1_3), - - Row("1.4.", - "Aufträge für männliche Klienten (Fallzahl v. Zeile 1)", - s => s.Anzahl1_4), - - Row("1.5.", - "Aufträge für weibliche Klienten (Fallzahl v. Zeile 1)", - s => s.Anzahl1_5), - - // ── Arbeitsstunden ───────────────────────────────────────────── - Row("2.", - "Anzahl der (beauftragten) Arbeitsstunden (bezogen auf Zeile 1) in vollen Std.", - s => s.Anzahl2), - - // ── Erledigte Aufträge ───────────────────────────────────────── - Row("3.", - "Anzahl aller erledigten Aufträge (incl. Abbrüche, teilweise erledigter Aufträge, gescheiterte Fälle)", - s => s.Anzahl3), - - Row("3.1.", - "davon Anzahl der teilweise erledigten Aufträge (Fallzahl v. Zeile 3)", - s => s.Anzahl3_1), - - VgaStatistikReportRow.FromEfsOnly( - "3.1.1.", - "Anzahl der Aufträge = Personen, bei denen die Auflagen teilweise nur durch Arbeitsleistungen erledigt wurden (Fallzahl v. Spalte D; Zeile 3.1.)", - efs.Anzahl3_1_1.ToString("N0")), - - Row("3.2.", - "davon Anzahl der gescheiterten Fälle (negativer Fallstatus u. Abbrüche (Fallzahl v. Zeile 3))", - s => s.Anzahl3_2), - - Row("3.3.", - "davon Anzahl der vollständig erledigten Aufträge (Fallzahl v. Zeile 3)", - s => s.Anzahl3_3), - - VgaStatistikReportRow.FromEfsOnly( - "3.3.1.", - "Anzahl der Aufträge = Personen, bei denen die Auflagen nur durch Arbeitsleistungen erfüllt wurden (Fallzahl v. Spalte D; Zeile 3.3.)", - efs.Anzahl3_3_1.ToString("N0")), - - // ── Verlauf (Abschnittsüberschrift) ──────────────────────────── - VgaStatistikReportRow.SectionHeader( - "4.", - "Verlauf (der erledigten Aufträge gem. Zeile 3)", - "Mehrfachnennungen möglich !!"), - - Row("4.1.", - "darunter Vermittlungen in externe Einsatzstellen (Fallzahl von Zeile 3)", - s => s.Anzahl4_1), - - Row("4.2.", - "darunter Vermittlungen in verschiedene Einsatzstellen (Fallzahl von Zeile 3)", - s => s.Anzahl4_2), - - Row("4.3.", - "darunter Vermittlungen in eigene Arbeitsgruppen (Fallzahl von Zeile 3)", - s => s.Anzahl4_3), - - Row("4.4.", - "darunter durch Ratenzahlungsvereinbarung (Fallzahlen v. Zeile 3)", - s => s.Anzahl4_4), - - Row("4.5.", - "darunter sonstige Erledigung (Umzug, Änderung des Beschlusses) (Fallzahl v. Zeile 3)", - s => s.Anzahl4_5), - - Row("4.6.", - "darunter Mischformen (Fallzahlen von Zeile 3)", - s => s.Anzahl4_6), - - Row("4.7.", - "Übergang in Aufsuchende Sozialarbeit", - s => s.Anzahl4_7), - - Row("4.8.", - "Übergang in Treuhänderische Geldverwaltung", - s => s.Anzahl4_8), - - // ── Geleistete Stunden ───────────────────────────────────────── - Row("5.", - "Anzahl der geleisteten Arbeitsstunden bezogen auf Zeile 3 (volle Std.)", - s => s.Anzahl5), - - // ── Zahlungen / Hafttage / Fälle (nur Insgesamt = EFS) ───────── - VgaStatistikReportRow.FromEfsOnly( - "6.", - "Summe der nachgewiesenen Zahlungen in €", - (efs.Betrag6 + auflage153a.Betrag6 + auflage153aSteuerstraf.Betrag6 + - bewOhne.Betrag6 + bewMit.Betrag6 + gnadenverfahren.Betrag6).ToString("N2")), - - VgaStatistikReportRow.FromEfsOnly( - "7.", - "Anzahl der vermiedenen Hafttage (durch Arbeitsstd. und / oder Zahlungen)", - Sum(s => s.Anzahl7).ToString("N0")), - - VgaStatistikReportRow.FromEfsOnly( - "7.1.", - "Anzahl der vermiedenen Hafttage (nur durch Arbeitsstd.)", - Sum(s => s.Anzahl7_1).ToString("N0")), - - VgaStatistikReportRow.FromEfsOnly( - "8.", - "Anzahl der Aufträge = Personen, bei denen die Vollstreckung der Freiheitsstrafe vollständig oder teilweise durch gemeinnützige Arbeit abgewendet wurde", - Sum(s => s.Anzahl8).ToString("N0")), - - // ── Gründe für Abbrüche (Abschnittsüberschrift) ──────────────── - VgaStatistikReportRow.SectionHeader( - "9.", - "Gründe für Abbrüche / Scheitern", - "(Fallzahlen bezogen auf Zeile 3.2 - Mehrfachnennung möglich)"), - - Row("9.1.", "kein Kontakt", s => s.Anzahl9_1), - Row("9.2.", "nicht angetreten", s => s.Anzahl9_2), - Row("9.3.", "Abbruch der Tätigkeit", s => s.Anzahl9_3), - Row("9.4.", "längerfristig arbeitsunfähig", s => s.Anzahl9_4), - Row("9.5.", "Suchtproblematik", s => s.Anzahl9_5), - Row("9.6.", "psychische Probleme", s => s.Anzahl9_6), - Row("9.7.", "keine Motivation", s => s.Anzahl9_7), - Row("9.8.", "in Haft", s => s.Anzahl9_8), - Row("9.9.", "unbekannt", s => s.Anzahl9_9), - - // ── Offene Aufträge ──────────────────────────────────────────── - Row("10.", - "Anzahl der offenen Aufträge (= Zeile 1 minus Zeile 3)", - s => s.Anzahl10), - - // ── Dauer der Beratung (Abschnittsüberschrift) ───────────────── - VgaStatistikReportRow.SectionHeader( - "11.", - "Dauer der Beratung / Betreuung (der erl. Aufträge)", - "(Fallzahlen-Summen müssen identisch sein mit Zeile 3)"), - - Row("11.1.", "bis 3 Monate", s => s.Anzahl11_1), - Row("11.2.", "3 bis 6 Monate", s => s.Anzahl11_2), - Row("11.3.", "6 bis 12 Monate", s => s.Anzahl11_3), - Row("11.4.", "über 12 Monate", s => s.Anzahl11_4), - - // ── Vermittlung aus Haft ─────────────────────────────────────── - Row("12.", "Vermittlung aus Haft", s => s.Anzahl12), - }; - } - } - /// - /// Zeilentyp für die bedingte Formatierung im VGA-Statistik Report. - /// - public enum VgaReportRowType - { - Normal = 0, - Highlighted = 1, // Orangefarbener Hintergrund (z. B. Zeilen 0.2, 1., 1.1.) - SectionHeader = 2 // Blauer Hintergrund (Abschnittsüberschriften 4., 9., 11.) - } - - /// - /// Datenmodell für eine Zeile im VGA-Statistik Report. - /// Alle Werte werden als formatierte Strings übergeben, damit auch "x"-Einträge - /// für nicht anwendbare Felder dargestellt werden können. - /// - public class VgaStatistikReportRow - { - public string Position { get; set; } = ""; - public string Beschreibung { get; set; } = ""; - public string ColInsgesamt { get; set; } = ""; - public string ColEFS { get; set; } = ""; - public string ColAuflage153a { get; set; } = ""; - public string ColAuflage153aSteuerstraf { get; set; } = ""; - public string ColBewOhne { get; set; } = ""; - public string ColBewMit { get; set; } = ""; - public string ColGnadenverfahren { get; set; } = ""; - public VgaReportRowType RowType { get; set; } = VgaReportRowType.Normal; - - /// - /// Erstellt eine normale Datenzeile aus den Einzelwerten der 6 Kategorien. - /// Insgesamt wird als Summe berechnet. - /// - internal static VgaStatistikReportRow FromValues( - string position, string beschreibung, - int valEFS, int valA153, int valA153s, int valBewO, int valBewM, int valGnad, - VgaReportRowType rowType = VgaReportRowType.Normal) - { - int total = valEFS + valA153 + valA153s + valBewO + valBewM + valGnad; - return new VgaStatistikReportRow - { - Position = position, - Beschreibung = beschreibung, - ColInsgesamt = total.ToString("N0"), - ColEFS = valEFS.ToString("N0"), - ColAuflage153a = valA153.ToString("N0"), - ColAuflage153aSteuerstraf = valA153s.ToString("N0"), - ColBewOhne = valBewO.ToString("N0"), - ColBewMit = valBewM.ToString("N0"), - ColGnadenverfahren = valGnad.ToString("N0"), - RowType = rowType - }; - } - - /// - /// Erstellt eine Zeile, bei der nur Insgesamt (= EFS-Wert) relevant ist – - /// Spalten E–I werden als "x" (nicht anwendbar) dargestellt. - /// Verwendet für Positionen 3.1.1., 3.3.1., 6., 7., 7.1., 8. - /// - internal static VgaStatistikReportRow FromEfsOnly( - string position, string beschreibung, - string valTotal, - VgaReportRowType rowType = VgaReportRowType.Normal) - { - return new VgaStatistikReportRow - { - Position = position, - Beschreibung = beschreibung, - ColInsgesamt = valTotal, - ColEFS = valTotal, - ColAuflage153a = "x", - ColAuflage153aSteuerstraf = "x", - ColBewOhne = "x", - ColBewMit = "x", - ColGnadenverfahren = "x", - RowType = rowType - }; - } - - /// - /// Erstellt eine Abschnittsüberschrift (blauer Hintergrund). - /// ColInsgesamt nimmt den Hinweistext auf. - /// - internal static VgaStatistikReportRow SectionHeader( - string position, string beschreibung, string hinweis = "") - { - return new VgaStatistikReportRow - { - Position = position, - Beschreibung = beschreibung, - ColInsgesamt = hinweis, - RowType = VgaReportRowType.SectionHeader - }; - } - } -} - diff --git a/Report/DefaultReports/VgaStatistikReport.resx b/Report/DefaultReports/VgaStatistikReport.resx deleted file mode 100644 index 1af7de150..000000000 --- a/Report/DefaultReports/VgaStatistikReport.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file