Version 3.18: Erweiterungen an Ergänzenden Diensten, Differenz Spitzabrechnung, Erweiterungen Vertretungsmanagement

This commit is contained in:
Christian
2023-12-20 00:51:44 +01:00
parent 850f46e6b2
commit 2e9299aeef
53 changed files with 3762 additions and 1961 deletions

View File

@@ -49,8 +49,8 @@ namespace BeWo
public static LoginControl LoginControl;
public static MainControl MainControl;
public static string ShortVersion = "3.17";
public static string Version = "Version 3.17";
public static string ShortVersion = "3.18";
public static string Version = "Version 3.18";
public static int RenderTier = 0;

View File

@@ -17,7 +17,7 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="Ressources\Icons\bewoplaner_logo_big.png" Height="45" Margin="7,7,0,0"/>
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="Ressources\Icons\bewoplaner_logo_small.png" Height="45" Margin="7,7,0,0"/>
<Grid Grid.Row="1" Margin="0,10,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />

View File

@@ -344,6 +344,7 @@ namespace BeWo.Core.Service
public static CompactSupportConceptDC HoleHilfeplanAusListe(List<CompactSupportConceptDC> scList, CompactCustomerDC customerCompact, DateTime firstTime, DateTime lastTime)
{
CompactSupportConceptDC result = null;
foreach (var sc in scList)
{
if (sc.Customer.Oid == customerCompact.Oid)
@@ -353,10 +354,14 @@ namespace BeWo.Core.Service
{
return sc;
}
if (result == null || sc.EndDate.HasValue && sc.EndDate > result.EndDate)
{
result = sc;
}
}
}
return null;
return result;
}
}
}

View File

@@ -17,7 +17,7 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="Ressources\Icons\bewoplaner_logo_big.png" Height="45" Margin="7,7,0,0"/>
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="Ressources\Icons\bewoplaner_logo_small.png" Height="45" Margin="7,7,0,0"/>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />

View File

@@ -1188,7 +1188,8 @@ namespace BeWo
var cancelButton = new Button {Content = "Schließen"};
cancelButton.Margin = new Thickness(5);
cancelButton.Width = 100;
cancelButton.HorizontalAlignment = HorizontalAlignment.Right;
var mailLabel = new Label
{
Content = "Support-Mail schreiben",

View File

@@ -1136,13 +1136,6 @@ namespace BeWo.SchulbegleitenderDienst
e.Customizations.Add(btn);
}
}
}
private void DeleteAbsenceTime_OnClick(object sender, RoutedEventArgs e)

View File

@@ -148,7 +148,7 @@
<dxg:GridColumn FieldName="Geschlecht" ReadOnly="True" Header="Geschlecht" />
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AllowPerPixelScrolling="True" BestFitMode="AllRows" AllowBestFit="True" ShowTotalSummary="False" ShowGroupPanel="False" RowDoubleClick="TableView_OnRowDoubleClick" />
<dxg:TableView AllowPerPixelScrolling="True" BestFitMode="AllRows" AllowBestFit="True" ShowTotalSummary="False" ShowGroupPanel="False" RowDoubleClick="TableView_OnRowDoubleClick" ShowGridMenu="TableView_OnShowGridMenu"/>
</dxg:GridControl.View>
</dxg:GridControl>
<StackPanel Grid.Row="4" Grid.Column="0" Margin="3" >

View File

@@ -15,6 +15,9 @@ using BS.Shared.DataContracts.Compact;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Grid;
using BS.Shared.DataContracts;
using BS.Shared.Translation;
using DevExpress.Xpf.Bars;
using BeWo.Core;
namespace BeWo.SchulbegleitenderDienst
{
@@ -793,6 +796,38 @@ namespace BeWo.SchulbegleitenderDienst
CloseSearchView(item);
}
private void TableView_OnShowGridMenu(object sender, GridMenuEventArgs e)
{
AddContextMenu(e);
}
private void AddContextMenu(GridMenuEventArgs e)
{
var item = e.Source.DataControl.SelectedItem;
var btn = new BarButtonItem { Content = Translator.Translate("Steckbrief anzeigen") };
btn.ItemClick += ShowCharacteristics;
btn.Tag = item;
e.Customizations.Add(btn);
}
private void ShowCharacteristics(object sender, RoutedEventArgs e)
{
var url = $"{BeWoApp.SiteOfOrigin}/ReportView.aspx";
var btn = sender as BarButtonItem;
var sd = btn.Tag as SearchViewDaten;
url += $"?type={ReportTypes.SBDEmployeeReport}&employeeOid={sd.EmployeeDC.EmployeeOid}";
BeWoUtils.NavigateToReportUri(url, "Steckbrief");
}
private void CloseSearchView(SearchViewDaten item)
{
var vertreter = item.EmployeeDC.CompactEmployee;

View File

@@ -1709,6 +1709,7 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Sex))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.PersonType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ControlType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.AbsenceReasonVisibilityType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SubstitutionNeed))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.AppointmentDayOfWeek))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SystemEntryID))]
@@ -1859,17 +1860,19 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.ValueListEntryDC, System.Collections.Generic.List<BS.Shared.DataContracts.ResourceDC>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<System.DateTime, System.Collections.Generic.List<BS.Shared.Core.DateTimeSpan>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<string, System.Collections.Generic.List<string>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SignatureType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ServiceRecordValidationResult))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.HomeViewPanelType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Auszahlungsintervall))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Zahlungstyp))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.VertretungsStatus))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SchulbegleitenderZugehoerigkeitsTyp))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.MessageType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.StatementType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.ServiceRecordValidationResult>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.UiElementType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.SignatureType, System.Collections.Generic.List<long>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<System.Collections.Generic.Dictionary<int, long>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<int, long>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<int, bool>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<int, BS.Shared.DataContracts.DienstInfoDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<string, string>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.UserRightType, bool>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<System.DateTime, BS.Shared.DataContracts.Compact.CompactCustomerDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.Compact.CompactCustomerDC, System.Collections.Generic.List<BS.Shared.DataContracts.AccountingTransactionDC>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<string, BS.Shared.DataContracts.Compact.CompactTokenDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.Compact.CompactCustomerDC, bool>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<long, bool>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.ServiceRecordDC, System.Collections.Generic.List<BS.Shared.ServiceRecordValidationResult>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ConfirmationReceiptSignatureDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ConfirmationReceiptSignatureDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.VorlagentabelleDC>))]
@@ -1897,6 +1900,7 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.DienstplanerMonthlySummaryDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.RatingTypeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceRecordValidationResultDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SbdConfigDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SignatureDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.BudgetDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.PreisDC>))]
@@ -1915,6 +1919,8 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ReportTemplateDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ReportTemplateDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ReportTypes))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.TextModuleDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.TextModuleDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.BargeldkassenDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.BargeldkassenDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.BargeldtransaktionDC>))]
@@ -1935,7 +1941,9 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AccountingTransactionDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.TextbausteinDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.TextbausteinDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SbdConfigDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Settlement2DC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceItemDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.InvoiceItemDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.InvoiceDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.MandatorDC))]
@@ -1959,18 +1967,15 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AdditionalServiceGroupOfPeopleDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AdditionalServiceBookingDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AdditionalServiceBookingDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AdditionalServiceNoticeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AdditionalServiceNoticeDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordValidationResultDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.LicenseInfoDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GroupDurationDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.BeWoMobilBrowserInfoDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.UiElementDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.UiElementDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.TextModuleDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.TextModuleDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Settlement2DC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Settlement2DC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceItemDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.InvoiceItemDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.CustomerInfoDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.SupportConcetInfoDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SupportConcetInfoDC))]
@@ -1985,19 +1990,18 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FLSAnalysisDataDetailDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordFLSOverviewDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceRecordFLSOverviewDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.SignatureType, System.Collections.Generic.List<long>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<System.Collections.Generic.Dictionary<int, long>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<int, long>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<int, bool>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<int, BS.Shared.DataContracts.DienstInfoDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<string, string>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<System.DateTime, BS.Shared.DataContracts.Compact.CompactCustomerDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.Compact.CompactCustomerDC, System.Collections.Generic.List<BS.Shared.DataContracts.AccountingTransactionDC>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<string, BS.Shared.DataContracts.Compact.CompactTokenDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.UserRightType, bool>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.Compact.CompactCustomerDC, bool>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<long, bool>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.ServiceRecordDC, System.Collections.Generic.List<BS.Shared.ServiceRecordValidationResult>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SignatureType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ServiceRecordValidationResult))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.HomeViewPanelType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Auszahlungsintervall))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Zahlungstyp))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.VertretungsStatus))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SchulbegleitenderZugehoerigkeitsTyp))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.MessageType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.StatementType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SignatureStateType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.ServiceRecordValidationResult>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.UiElementType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactTokenDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Reports.AuslastungAnalysisRootDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Reports.AuslastungAnalysisEmployeeDC>))]
@@ -5254,6 +5258,25 @@ namespace BeWo.ServiceProxy
public interface IOperationsService
{
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetServiceRecordsByIds", ReplyAction="http://tempuri.org/IOperationsService/GetServiceRecordsByIdsResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetServiceRecordsByIdsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetServiceRecordsByIds(System.Collections.Generic.List<long> serviceRecordOids);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetUrlaubskontoByEmployee", ReplyAction="http://tempuri.org/IOperationsService/GetUrlaubskontoByEmployeeResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetUrlaubskontoByEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.UrlaubskontoDC GetUrlaubskontoByEmployee(long empOid, int year);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetOwnChatSettingsUrl", ReplyAction="http://tempuri.org/IOperationsService/GetOwnChatSettingsUrlResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetOwnChatSettingsUrlBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
string GetOwnChatSettingsUrl();
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/HasConfirmationReceiptSignaturesByEmployeeA" +
"ndServiceRecords", ReplyAction="http://tempuri.org/IOperationsService/HasConfirmationReceiptSignaturesByEmployeeA" +
"ndServiceRecordsResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/HasConfirmationReceiptSignaturesByEmployeeA" +
"ndServiceRecordsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
bool HasConfirmationReceiptSignaturesByEmployeeAndServiceRecords(long employeeOid, System.Collections.Generic.List<long> serviceRecordOids);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/HasConfirmationReceiptSignatureByDateAndCus" +
"tomer", ReplyAction="http://tempuri.org/IOperationsService/HasConfirmationReceiptSignatureByDateAndCus" +
"tomerResponse")]
@@ -5535,6 +5558,25 @@ namespace BeWo.ServiceProxy
"iceRecordBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
bool CheckForConfirmationReceiptSignatureForServiceRecord(long serviceRecordOid, BS.Shared.SignatureType signatureType);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetMessageFromServerForDeletingAppointments" +
"", ReplyAction="http://tempuri.org/IOperationsService/GetMessageFromServerForDeletingAppointments" +
"Response")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetMessageFromServerForDeletingAppointments" +
"BeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
string GetMessageFromServerForDeletingAppointments(bool pHasRightToSeeAllEmployeeAppointments, long pEmployeeOid, System.DateTime pIntervalEnd, System.Collections.Generic.List<long> pSelectedEmployees, System.Collections.Generic.List<long> pSelectedCustomers, System.Collections.Generic.List<long> pSelectedResources, bool pEmployeesOnly, bool pCustomersOnly, bool pResourcesOnly, bool pPrivateAppointmentsOnly, bool pOnlyMyAppointments, System.Collections.Generic.Dictionary<BS.Shared.UserRightType, bool> pUserRights);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeleteAppointmentsInInterval", ReplyAction="http://tempuri.org/IOperationsService/DeleteAppointmentsInIntervalResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeleteAppointmentsInIntervalBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void DeleteAppointmentsInInterval(bool pHasRightToSeeAllEmployeeAppointments, long pEmployeeOid, System.DateTime pIntervalEnd, System.Collections.Generic.List<long> pSelectedEmployees, System.Collections.Generic.List<long> pSelectedCustomers, System.Collections.Generic.List<long> pSelectedResources, bool pEmployeesOnly, bool pCustomersOnly, bool pResourcesOnly, bool pPrivateAppointmentsOnly, bool pOnlyMyAppointments, System.Collections.Generic.Dictionary<BS.Shared.UserRightType, bool> pUserRights);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetSbdConfig", ReplyAction="http://tempuri.org/IOperationsService/GetSbdConfigResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetSbdConfigBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.SbdConfigDC GetSbdConfig();
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/SaveSbdConfig", ReplyAction="http://tempuri.org/IOperationsService/SaveSbdConfigResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/SaveSbdConfigBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void SaveSbdConfig(BS.Shared.DataContracts.SbdConfigDC config);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetSignature", ReplyAction="http://tempuri.org/IOperationsService/GetSignatureResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetSignatureBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.SignatureDC GetSignature(long pSignatureOid);
@@ -5796,24 +5838,23 @@ namespace BeWo.ServiceProxy
"ltFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void DeleteCertainDienstEintragOutOfTable(long dienstEintragOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetServiceRecordsByIds", ReplyAction="http://tempuri.org/IOperationsService/GetServiceRecordsByIdsResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetServiceRecordsByIdsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetServiceRecordsByIds(System.Collections.Generic.List<long> serviceRecordOids);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeleteTextModules", ReplyAction="http://tempuri.org/IOperationsService/DeleteTextModulesResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeleteTextModulesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void DeleteTextModules(System.Collections.Generic.Dictionary<long, long> pOid2Version);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetUrlaubskontoByEmployee", ReplyAction="http://tempuri.org/IOperationsService/GetUrlaubskontoByEmployeeResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetUrlaubskontoByEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.UrlaubskontoDC GetUrlaubskontoByEmployee(long empOid, int year);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetTextModulesByServiceCategory", ReplyAction="http://tempuri.org/IOperationsService/GetTextModulesByServiceCategoryResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetTextModulesByServiceCategoryBeWoFaultFau" +
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.TextModuleDC> GetTextModulesByServiceCategory(long pServiceCategoryOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetOwnChatSettingsUrl", ReplyAction="http://tempuri.org/IOperationsService/GetOwnChatSettingsUrlResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetOwnChatSettingsUrlBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
string GetOwnChatSettingsUrl();
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/FindServiceRecordsInSpan", ReplyAction="http://tempuri.org/IOperationsService/FindServiceRecordsInSpanResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/FindServiceRecordsInSpanBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> FindServiceRecordsInSpan(long pCostBearer2SupportConceptOid, BS.Shared.Core.DateTimeSpan period);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/HasConfirmationReceiptSignaturesByEmployeeA" +
"ndServiceRecords", ReplyAction="http://tempuri.org/IOperationsService/HasConfirmationReceiptSignaturesByEmployeeA" +
"ndServiceRecordsResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/HasConfirmationReceiptSignaturesByEmployeeA" +
"ndServiceRecordsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
bool HasConfirmationReceiptSignaturesByEmployeeAndServiceRecords(long employeeOid, System.Collections.Generic.List<long> serviceRecordOids);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetEmployeesServiceRecordsInSpan", ReplyAction="http://tempuri.org/IOperationsService/GetEmployeesServiceRecordsInSpanResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetEmployeesServiceRecordsInSpanBeWoFaultFa" +
"ult", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetEmployeesServiceRecordsInSpan(long pEmployeeOid, BS.Shared.Core.DateTimeSpan limitinDateTimeSpan);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertSignature", ReplyAction="http://tempuri.org/IOperationsService/InsertSignatureResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertSignatureBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
@@ -6078,24 +6119,9 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/AnonymizeEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void AnonymizeEmployee(long pEmployeeOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetMessageFromServerForDeletingAppointments" +
"", ReplyAction="http://tempuri.org/IOperationsService/GetMessageFromServerForDeletingAppointments" +
"Response")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetMessageFromServerForDeletingAppointments" +
"BeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
string GetMessageFromServerForDeletingAppointments(bool pHasRightToSeeAllEmployeeAppointments, long pEmployeeOid, System.DateTime pIntervalEnd, System.Collections.Generic.List<long> pSelectedEmployees, System.Collections.Generic.List<long> pSelectedCustomers, System.Collections.Generic.List<long> pSelectedResources, bool pEmployeesOnly, bool pCustomersOnly, bool pResourcesOnly, bool pPrivateAppointmentsOnly, bool pOnlyMyAppointments, System.Collections.Generic.Dictionary<BS.Shared.UserRightType, bool> pUserRights);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeleteAppointmentsInInterval", ReplyAction="http://tempuri.org/IOperationsService/DeleteAppointmentsInIntervalResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeleteAppointmentsInIntervalBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void DeleteAppointmentsInInterval(bool pHasRightToSeeAllEmployeeAppointments, long pEmployeeOid, System.DateTime pIntervalEnd, System.Collections.Generic.List<long> pSelectedEmployees, System.Collections.Generic.List<long> pSelectedCustomers, System.Collections.Generic.List<long> pSelectedResources, bool pEmployeesOnly, bool pCustomersOnly, bool pResourcesOnly, bool pPrivateAppointmentsOnly, bool pOnlyMyAppointments, System.Collections.Generic.Dictionary<BS.Shared.UserRightType, bool> pUserRights);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetSbdConfig", ReplyAction="http://tempuri.org/IOperationsService/GetSbdConfigResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetSbdConfigBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.SbdConfigDC GetSbdConfig();
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/SaveSbdConfig", ReplyAction="http://tempuri.org/IOperationsService/SaveSbdConfigResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/SaveSbdConfigBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void SaveSbdConfig(BS.Shared.DataContracts.SbdConfigDC config);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/PrepareSettlementReport", ReplyAction="http://tempuri.org/IOperationsService/PrepareSettlementReportResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/PrepareSettlementReportBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
string PrepareSettlementReport(BS.Shared.DataContracts.Settlement2DC pSettlementDC);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateAccountingTransactions", ReplyAction="http://tempuri.org/IOperationsService/UpdateAccountingTransactionsResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateAccountingTransactionsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
@@ -6213,6 +6239,16 @@ namespace BeWo.ServiceProxy
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.AdditionalServiceBookingDC> GetAllAdditionalServiceBookings(System.Nullable<long> regionOid, System.DateTime start, System.DateTime end);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetAdditionalServiceNoticeList", ReplyAction="http://tempuri.org/IOperationsService/GetAdditionalServiceNoticeListResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetAdditionalServiceNoticeListBeWoFaultFaul" +
"t", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.AdditionalServiceNoticeDC> GetAdditionalServiceNoticeList(System.Nullable<long> regionOid, System.DateTime start, System.DateTime end);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateAdditionalServiceNoticeList", ReplyAction="http://tempuri.org/IOperationsService/UpdateAdditionalServiceNoticeListResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateAdditionalServiceNoticeListBeWoFaultF" +
"ault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.AdditionalServiceNoticeDC> UpdateAdditionalServiceNoticeList(System.Collections.Generic.List<BS.Shared.DataContracts.AdditionalServiceNoticeDC> additionalServiceNoticeList);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertNewAdditionalServiceBookings", ReplyAction="http://tempuri.org/IOperationsService/InsertNewAdditionalServiceBookingsResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertNewAdditionalServiceBookingsBeWoFault" +
"Fault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
@@ -6228,6 +6264,11 @@ namespace BeWo.ServiceProxy
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void DeleteAdditionalServiceBookings(System.Collections.Generic.Dictionary<long, long> pOid2Version);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/RemoveAdditionalServiceCustomer", ReplyAction="http://tempuri.org/IOperationsService/RemoveAdditionalServiceCustomerResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/RemoveAdditionalServiceCustomerBeWoFaultFau" +
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void RemoveAdditionalServiceCustomer(System.Collections.Generic.List<long> customerOids, System.Nullable<long> regionOid, System.DateTime monat);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertNewAdditionalServiceRegion", ReplyAction="http://tempuri.org/IOperationsService/InsertNewAdditionalServiceRegionResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertNewAdditionalServiceRegionBeWoFaultFa" +
"ult", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
@@ -6382,24 +6423,6 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateTextModulesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void UpdateTextModules(System.Collections.Generic.List<BS.Shared.DataContracts.TextModuleDC> pTextbausteine);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeleteTextModules", ReplyAction="http://tempuri.org/IOperationsService/DeleteTextModulesResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeleteTextModulesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void DeleteTextModules(System.Collections.Generic.Dictionary<long, long> pOid2Version);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetTextModulesByServiceCategory", ReplyAction="http://tempuri.org/IOperationsService/GetTextModulesByServiceCategoryResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetTextModulesByServiceCategoryBeWoFaultFau" +
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.TextModuleDC> GetTextModulesByServiceCategory(long pServiceCategoryOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/FindServiceRecordsInSpan", ReplyAction="http://tempuri.org/IOperationsService/FindServiceRecordsInSpanResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/FindServiceRecordsInSpanBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> FindServiceRecordsInSpan(long pCostBearer2SupportConceptOid, BS.Shared.Core.DateTimeSpan period);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetEmployeesServiceRecordsInSpan", ReplyAction="http://tempuri.org/IOperationsService/GetEmployeesServiceRecordsInSpanResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetEmployeesServiceRecordsInSpanBeWoFaultFa" +
"ult", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetEmployeesServiceRecordsInSpan(long pEmployeeOid, BS.Shared.Core.DateTimeSpan limitinDateTimeSpan);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeactivateInvoices", ReplyAction="http://tempuri.org/IOperationsService/DeactivateInvoicesResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeactivateInvoicesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void DeactivateInvoices(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceDC> invoices);
@@ -6471,6 +6494,11 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GenerateInitialSettlementDCBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.Settlement2DC GenerateInitialSettlementDC(long pCostBearer2SupportConceptOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GenerateDifferenzSettlementDC", ReplyAction="http://tempuri.org/IOperationsService/GenerateDifferenzSettlementDCResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GenerateDifferenzSettlementDCBeWoFaultFault" +
"", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.Settlement2DC GenerateDifferenzSettlementDC(long pCostBearer2SupportConceptOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GenerateInitialSettlementDCForPeriod", ReplyAction="http://tempuri.org/IOperationsService/GenerateInitialSettlementDCForPeriodRespons" +
"e")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GenerateInitialSettlementDCForPeriodBeWoFau" +
@@ -6677,10 +6705,6 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/PrepareAuslastungReport", ReplyAction="http://tempuri.org/IOperationsService/PrepareAuslastungReportResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/PrepareAuslastungReportBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
string PrepareAuslastungReport(BS.Shared.DataContracts.Reports.AuslastungAnalysisRootDC pReport, string id);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/PrepareSettlementReport", ReplyAction="http://tempuri.org/IOperationsService/PrepareSettlementReportResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/PrepareSettlementReportBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
string PrepareSettlementReport(BS.Shared.DataContracts.Settlement2DC pSettlementDC);
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -6717,6 +6741,26 @@ namespace BeWo.ServiceProxy
{
}
public System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetServiceRecordsByIds(System.Collections.Generic.List<long> serviceRecordOids)
{
return base.Channel.GetServiceRecordsByIds(serviceRecordOids);
}
public BS.Shared.DataContracts.UrlaubskontoDC GetUrlaubskontoByEmployee(long empOid, int year)
{
return base.Channel.GetUrlaubskontoByEmployee(empOid, year);
}
public string GetOwnChatSettingsUrl()
{
return base.Channel.GetOwnChatSettingsUrl();
}
public bool HasConfirmationReceiptSignaturesByEmployeeAndServiceRecords(long employeeOid, System.Collections.Generic.List<long> serviceRecordOids)
{
return base.Channel.HasConfirmationReceiptSignaturesByEmployeeAndServiceRecords(employeeOid, serviceRecordOids);
}
public bool HasConfirmationReceiptSignatureByDateAndCustomer(long customerOid, BS.Shared.Core.DateTimeSpan timeSpan, BS.Shared.SignatureType signatureType)
{
return base.Channel.HasConfirmationReceiptSignatureByDateAndCustomer(customerOid, timeSpan, signatureType);
@@ -6997,6 +7041,26 @@ namespace BeWo.ServiceProxy
return base.Channel.CheckForConfirmationReceiptSignatureForServiceRecord(serviceRecordOid, signatureType);
}
public string GetMessageFromServerForDeletingAppointments(bool pHasRightToSeeAllEmployeeAppointments, long pEmployeeOid, System.DateTime pIntervalEnd, System.Collections.Generic.List<long> pSelectedEmployees, System.Collections.Generic.List<long> pSelectedCustomers, System.Collections.Generic.List<long> pSelectedResources, bool pEmployeesOnly, bool pCustomersOnly, bool pResourcesOnly, bool pPrivateAppointmentsOnly, bool pOnlyMyAppointments, System.Collections.Generic.Dictionary<BS.Shared.UserRightType, bool> pUserRights)
{
return base.Channel.GetMessageFromServerForDeletingAppointments(pHasRightToSeeAllEmployeeAppointments, pEmployeeOid, pIntervalEnd, pSelectedEmployees, pSelectedCustomers, pSelectedResources, pEmployeesOnly, pCustomersOnly, pResourcesOnly, pPrivateAppointmentsOnly, pOnlyMyAppointments, pUserRights);
}
public void DeleteAppointmentsInInterval(bool pHasRightToSeeAllEmployeeAppointments, long pEmployeeOid, System.DateTime pIntervalEnd, System.Collections.Generic.List<long> pSelectedEmployees, System.Collections.Generic.List<long> pSelectedCustomers, System.Collections.Generic.List<long> pSelectedResources, bool pEmployeesOnly, bool pCustomersOnly, bool pResourcesOnly, bool pPrivateAppointmentsOnly, bool pOnlyMyAppointments, System.Collections.Generic.Dictionary<BS.Shared.UserRightType, bool> pUserRights)
{
base.Channel.DeleteAppointmentsInInterval(pHasRightToSeeAllEmployeeAppointments, pEmployeeOid, pIntervalEnd, pSelectedEmployees, pSelectedCustomers, pSelectedResources, pEmployeesOnly, pCustomersOnly, pResourcesOnly, pPrivateAppointmentsOnly, pOnlyMyAppointments, pUserRights);
}
public BS.Shared.DataContracts.SbdConfigDC GetSbdConfig()
{
return base.Channel.GetSbdConfig();
}
public void SaveSbdConfig(BS.Shared.DataContracts.SbdConfigDC config)
{
base.Channel.SaveSbdConfig(config);
}
public BS.Shared.DataContracts.SignatureDC GetSignature(long pSignatureOid)
{
return base.Channel.GetSignature(pSignatureOid);
@@ -7297,24 +7361,24 @@ namespace BeWo.ServiceProxy
base.Channel.DeleteCertainDienstEintragOutOfTable(dienstEintragOid);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetServiceRecordsByIds(System.Collections.Generic.List<long> serviceRecordOids)
public void DeleteTextModules(System.Collections.Generic.Dictionary<long, long> pOid2Version)
{
return base.Channel.GetServiceRecordsByIds(serviceRecordOids);
base.Channel.DeleteTextModules(pOid2Version);
}
public BS.Shared.DataContracts.UrlaubskontoDC GetUrlaubskontoByEmployee(long empOid, int year)
public System.Collections.Generic.List<BS.Shared.DataContracts.TextModuleDC> GetTextModulesByServiceCategory(long pServiceCategoryOid)
{
return base.Channel.GetUrlaubskontoByEmployee(empOid, year);
return base.Channel.GetTextModulesByServiceCategory(pServiceCategoryOid);
}
public string GetOwnChatSettingsUrl()
public System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> FindServiceRecordsInSpan(long pCostBearer2SupportConceptOid, BS.Shared.Core.DateTimeSpan period)
{
return base.Channel.GetOwnChatSettingsUrl();
return base.Channel.FindServiceRecordsInSpan(pCostBearer2SupportConceptOid, period);
}
public bool HasConfirmationReceiptSignaturesByEmployeeAndServiceRecords(long employeeOid, System.Collections.Generic.List<long> serviceRecordOids)
public System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetEmployeesServiceRecordsInSpan(long pEmployeeOid, BS.Shared.Core.DateTimeSpan limitinDateTimeSpan)
{
return base.Channel.HasConfirmationReceiptSignaturesByEmployeeAndServiceRecords(employeeOid, serviceRecordOids);
return base.Channel.GetEmployeesServiceRecordsInSpan(pEmployeeOid, limitinDateTimeSpan);
}
public BS.Shared.DataContracts.SignatureDC InsertSignature(BS.Shared.DataContracts.SignatureDC sig)
@@ -7617,24 +7681,9 @@ namespace BeWo.ServiceProxy
base.Channel.AnonymizeEmployee(pEmployeeOid);
}
public string GetMessageFromServerForDeletingAppointments(bool pHasRightToSeeAllEmployeeAppointments, long pEmployeeOid, System.DateTime pIntervalEnd, System.Collections.Generic.List<long> pSelectedEmployees, System.Collections.Generic.List<long> pSelectedCustomers, System.Collections.Generic.List<long> pSelectedResources, bool pEmployeesOnly, bool pCustomersOnly, bool pResourcesOnly, bool pPrivateAppointmentsOnly, bool pOnlyMyAppointments, System.Collections.Generic.Dictionary<BS.Shared.UserRightType, bool> pUserRights)
public string PrepareSettlementReport(BS.Shared.DataContracts.Settlement2DC pSettlementDC)
{
return base.Channel.GetMessageFromServerForDeletingAppointments(pHasRightToSeeAllEmployeeAppointments, pEmployeeOid, pIntervalEnd, pSelectedEmployees, pSelectedCustomers, pSelectedResources, pEmployeesOnly, pCustomersOnly, pResourcesOnly, pPrivateAppointmentsOnly, pOnlyMyAppointments, pUserRights);
}
public void DeleteAppointmentsInInterval(bool pHasRightToSeeAllEmployeeAppointments, long pEmployeeOid, System.DateTime pIntervalEnd, System.Collections.Generic.List<long> pSelectedEmployees, System.Collections.Generic.List<long> pSelectedCustomers, System.Collections.Generic.List<long> pSelectedResources, bool pEmployeesOnly, bool pCustomersOnly, bool pResourcesOnly, bool pPrivateAppointmentsOnly, bool pOnlyMyAppointments, System.Collections.Generic.Dictionary<BS.Shared.UserRightType, bool> pUserRights)
{
base.Channel.DeleteAppointmentsInInterval(pHasRightToSeeAllEmployeeAppointments, pEmployeeOid, pIntervalEnd, pSelectedEmployees, pSelectedCustomers, pSelectedResources, pEmployeesOnly, pCustomersOnly, pResourcesOnly, pPrivateAppointmentsOnly, pOnlyMyAppointments, pUserRights);
}
public BS.Shared.DataContracts.SbdConfigDC GetSbdConfig()
{
return base.Channel.GetSbdConfig();
}
public void SaveSbdConfig(BS.Shared.DataContracts.SbdConfigDC config)
{
base.Channel.SaveSbdConfig(config);
return base.Channel.PrepareSettlementReport(pSettlementDC);
}
public void UpdateAccountingTransactions(System.Collections.Generic.List<BS.Shared.DataContracts.AccountingTransactionDC> pAccountingTransactions)
@@ -7752,6 +7801,16 @@ namespace BeWo.ServiceProxy
return base.Channel.GetAllAdditionalServiceBookings(regionOid, start, end);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.AdditionalServiceNoticeDC> GetAdditionalServiceNoticeList(System.Nullable<long> regionOid, System.DateTime start, System.DateTime end)
{
return base.Channel.GetAdditionalServiceNoticeList(regionOid, start, end);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.AdditionalServiceNoticeDC> UpdateAdditionalServiceNoticeList(System.Collections.Generic.List<BS.Shared.DataContracts.AdditionalServiceNoticeDC> additionalServiceNoticeList)
{
return base.Channel.UpdateAdditionalServiceNoticeList(additionalServiceNoticeList);
}
public System.Collections.Generic.List<long> InsertNewAdditionalServiceBookings(System.Collections.Generic.List<BS.Shared.DataContracts.AdditionalServiceBookingDC> pAdditionalServiceBookings)
{
return base.Channel.InsertNewAdditionalServiceBookings(pAdditionalServiceBookings);
@@ -7767,6 +7826,11 @@ namespace BeWo.ServiceProxy
base.Channel.DeleteAdditionalServiceBookings(pOid2Version);
}
public void RemoveAdditionalServiceCustomer(System.Collections.Generic.List<long> customerOids, System.Nullable<long> regionOid, System.DateTime monat)
{
base.Channel.RemoveAdditionalServiceCustomer(customerOids, regionOid, monat);
}
public long InsertNewAdditionalServiceRegion(BS.Shared.DataContracts.AdditionalServiceRegionDC pAdditionalServiceRegionDC)
{
return base.Channel.InsertNewAdditionalServiceRegion(pAdditionalServiceRegionDC);
@@ -7937,26 +8001,6 @@ namespace BeWo.ServiceProxy
base.Channel.UpdateTextModules(pTextbausteine);
}
public void DeleteTextModules(System.Collections.Generic.Dictionary<long, long> pOid2Version)
{
base.Channel.DeleteTextModules(pOid2Version);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.TextModuleDC> GetTextModulesByServiceCategory(long pServiceCategoryOid)
{
return base.Channel.GetTextModulesByServiceCategory(pServiceCategoryOid);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> FindServiceRecordsInSpan(long pCostBearer2SupportConceptOid, BS.Shared.Core.DateTimeSpan period)
{
return base.Channel.FindServiceRecordsInSpan(pCostBearer2SupportConceptOid, period);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetEmployeesServiceRecordsInSpan(long pEmployeeOid, BS.Shared.Core.DateTimeSpan limitinDateTimeSpan)
{
return base.Channel.GetEmployeesServiceRecordsInSpan(pEmployeeOid, limitinDateTimeSpan);
}
public void DeactivateInvoices(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceDC> invoices)
{
base.Channel.DeactivateInvoices(invoices);
@@ -8042,6 +8086,11 @@ namespace BeWo.ServiceProxy
return base.Channel.GenerateInitialSettlementDC(pCostBearer2SupportConceptOid);
}
public BS.Shared.DataContracts.Settlement2DC GenerateDifferenzSettlementDC(long pCostBearer2SupportConceptOid)
{
return base.Channel.GenerateDifferenzSettlementDC(pCostBearer2SupportConceptOid);
}
public BS.Shared.DataContracts.Settlement2DC GenerateInitialSettlementDCForPeriod(long pCostBearer2SupportConceptOid, System.Nullable<System.DateTime> periodStart, System.Nullable<System.DateTime> periodEnd)
{
return base.Channel.GenerateInitialSettlementDCForPeriod(pCostBearer2SupportConceptOid, periodStart, periodEnd);
@@ -8271,11 +8320,6 @@ namespace BeWo.ServiceProxy
{
return base.Channel.PrepareAuslastungReport(pReport, id);
}
public string PrepareSettlementReport(BS.Shared.DataContracts.Settlement2DC pSettlementDC)
{
return base.Channel.PrepareSettlementReport(pSettlementDC);
}
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]

View File

@@ -1,5 +1,6 @@
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Navigation;
using BS.Shared;
@@ -13,6 +14,9 @@ using BeWo.ViewModel.ListViewModel;
using BS.Shared.Core;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.Shared.Translation;
using System.Windows.Media;
using System;
namespace BeWo.View.Detail.Accounting
{
@@ -128,28 +132,126 @@ namespace BeWo.View.Detail.Accounting
}
private void button_addCostBearer_Click(object sender, RoutedEventArgs e)
{
if (ViewModel.VMList.Count > 0)
{
FrageNachRechnungsart();
}
else
{
ErstelleNeueSpitzabrechnung();
}
}
private void ErstelleNeueSpitzabrechnung()
{
ServiceFacade.DoOperationsServiceAsync(
s => s.GenerateInitialSettlementDC(this._SelectedSupportConcept.CostBearerRelOids[0]),
s => s.GenerateInitialSettlementDC(this._SelectedSupportConcept.CostBearerRelOids[0]),
dc =>
{
dc.SupportConceptOid = this._SelectedSupportConcept.SupportConceptOid;
this.Dispatch(
delegate
{
var vm = new SettlementVM(dc);
if (ShowOldEditView(vm))
{
this._EditView.ViewModel = new SettlementVM(dc);
this.MainControl.ShowControlAsModalPopup(this._EditView);
}
else
{
this._EditView2.ViewModel = new SettlementVM(dc);
this.MainControl.ShowControlAsModalPopup(this._EditView2);
}
});
});
{
dc.SupportConceptOid = this._SelectedSupportConcept.SupportConceptOid;
this.Dispatch(
delegate
{
var vm = new SettlementVM(dc);
if (ShowOldEditView(vm))
{
this._EditView.ViewModel = new SettlementVM(dc);
this.MainControl.ShowControlAsModalPopup(this._EditView);
}
else
{
this._EditView2.ViewModel = new SettlementVM(dc);
this.MainControl.ShowControlAsModalPopup(this._EditView2);
}
});
});
}
private void ErstelleDifferenzrechnung()
{
ServiceFacade.DoOperationsServiceAsync(
s => s.GenerateDifferenzSettlementDC(this._SelectedSupportConcept.CostBearerRelOids[0]),
dc =>
{
dc.SupportConceptOid = this._SelectedSupportConcept.SupportConceptOid;
this.Dispatch(
delegate
{
var vm = new SettlementVM(dc);
this._EditView2.ViewModel = new SettlementVM(dc);
this.MainControl.ShowControlAsModalPopup(this._EditView2);
});
});
}
private void FrageNachRechnungsart()
{
//return 0 = Cancel, 1 = Neue Rechnung, 2 = DiffRechnung
var cancelButton = new Button { Content = " Abbrechen " };
cancelButton.Margin = new Thickness(5);
var btnNeueRechnung = new Button { Content = Translator.Translate(" Neue Rechnung erstellen ") };
btnNeueRechnung.Margin = new Thickness(5);
var btnDiffRechnung = new Button { Content = Translator.Translate(" Differenzrechnung erstellen ") };
btnDiffRechnung.Margin = new Thickness(5);
var textBlock = new TextBlock
{
Foreground = Brushes.Black,
Margin = new Thickness(10, 20, 10, 20),
Text = Translator.Translate("Es wurde bereits eine Spitzabrechnung für den ausgewählten Hilfeplan erstellt.\n" +
"Möchten Sie eine neue Rechnung oder eine Differenzrechnung zur letzten\nSpitzabrechnung erstellen?")
};
textBlock.FontSize = 12;
BeWoWindow bewoWindow = BeWoWpfUtils.CreateBeWoPopupWindow(100, 800, true);
cancelButton.Click += delegate { bewoWindow.Close(); };
btnNeueRechnung.Click += delegate
{
bewoWindow.Close();
ErstelleNeueSpitzabrechnung();
};
btnDiffRechnung.Click += delegate
{
bewoWindow.Close();
ErstelleDifferenzrechnung();
};
var centeredStackPanel = new StackPanel { Orientation = Orientation.Vertical, VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Center };
var buttonStackPanel = new StackPanel { Orientation = Orientation.Horizontal };
buttonStackPanel.HorizontalAlignment = HorizontalAlignment.Right;
buttonStackPanel.Children.Add(btnNeueRechnung);
buttonStackPanel.Children.Add(btnDiffRechnung);
buttonStackPanel.Children.Add(cancelButton);
centeredStackPanel.Children.Add(textBlock);
centeredStackPanel.Children.Add(buttonStackPanel);
var grid = new Grid
{
Background = (LinearGradientBrush)FindResource("ObjectEditBackgroundBrush")
};
grid.Children.Add(centeredStackPanel);
bewoWindow.GroupBoxContent = grid;
bewoWindow.rootGroupBox.Header = "Spitzabrechnung erstellen";
bewoWindow.Owner = BeWoApp.CurrentBeWo.MainWindow;
bewoWindow.Show();
}
private bool ShowOldEditView(SettlementVM vm)

View File

@@ -672,7 +672,7 @@
</dxg:GridControl.Resources>
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Customer.LastNameFirstName" Header="{markup:Translate Klient}" AllowEditing="False" />
<dxg:GridColumn FieldName="t0" Header="1." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t0" Header="1." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t1" Header="2." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t2" Header="3." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn FieldName="t3" Header="4." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
@@ -703,10 +703,17 @@
<dxg:GridColumn x:Name="T28" FieldName="t28" Header="29." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn x:Name="T29" FieldName="t29" Header="30." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn x:Name="T30" FieldName="t30" Header="31." Width="27" CellStyle="{StaticResource CustomCellStyle}" EditSettings="{dxe:CheckSettings}" />
<dxg:GridColumn x:Name="ColumnNotice" Header="Bemerkungen" FieldName="Notice.Notice" Width="300">
<dxg:GridColumn.EditSettings>
<dxe:MemoEditSettings TextWrapping="Wrap" AcceptsReturn="True" MemoTextWrapping="Wrap" MemoAcceptsReturn="True" ShowIcon="False" ShowTooltipForTrimmedText="True" >
</dxe:MemoEditSettings>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView CellValueChanging="GridViewBase_OnCellValueChanging" ShowGroupPanel="False" ShowGroupedColumns="False" ShowTotalSummary="False" NavigationStyle="Cell"
ShownEditor="pg_ShownEditor" HiddenEditor="GridViewBase_OnHiddenEditor" PreviewMouseDoubleClick="gridView1_DoubleClick" Tag="{Binding SelectedBookings}" />
<dxg:TableView CellValueChanging="GridViewBase_OnCellValueChanging" ShowGroupPanel="False" ShowGroupedColumns="False" ShowTotalSummary="False" NavigationStyle="Cell" ShowingEditor="TableView_ShowingEditor"
ShownEditor="pg_ShownEditor" HiddenEditor="GridViewBase_OnHiddenEditor" PreviewMouseDoubleClick="gridView1_DoubleClick" Tag="{Binding SelectedBookings}" ShowGridMenu="TableView_ShowGridMenu" />
</dxg:GridControl.View>
</dxg:GridControl>
</Grid>

View File

@@ -29,6 +29,7 @@ using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.Shared.Translation;
using DevExpress.Xpf.Bars;
using DevExpress.Xpf.Docking;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Grid;
@@ -161,6 +162,9 @@ namespace BeWo.View.Detail
public List<AdditionalServiceRegionDC> AdditionalServiceRegions { get; set; }
public AdditionalServiceBookingListVM AdditionalServiceBookings { get; set; }
public List<AdditionalServiceNoticeDC> AdditionalServiceNoticeList { get; set; }
public int GridColumnCount { get; set; }
public int[] Years { get; set; }
@@ -291,8 +295,25 @@ namespace BeWo.View.Detail
//{
// int test = 0;
//}
//Notice raussuchen
var region = Angebotscombobox.SelectedItem as AdditionalServiceRegionDC;
AdditionalServiceNoticeDC notice = null;
if (region != null && customer != null)
{
notice = AdditionalServiceNoticeList.Where(n => n.RegionOid == region.AdditionalServiceRegionOid && n.CustomerOid == customer.CustomerOid).FirstOrDefault();
}
if (notice == null)
{
notice = new AdditionalServiceNoticeDC();
notice.Monat = new DateTime(booking.StartDate.Value.Year, booking.StartDate.Value.Month, 1);
notice.RegionOid = region?.AdditionalServiceRegionOid;
notice.CustomerOid = customer?.Oid;
}
TeilnehmerListe.Add(new Teilnehmer(customer, anwesenheiten, bookingRel));
TeilnehmerListe.Add(new Teilnehmer(customer, anwesenheiten, bookingRel, notice));
var klienten = new Dictionary<long, bool>();
foreach (var test2 in TeilnehmerListe)
@@ -348,6 +369,12 @@ namespace BeWo.View.Detail
private void pg_ShownEditor(object sender, EditorEventArgs e)
{
//if (!CheckEditRight())
//{
// e.Handled = true;
// return;
//}
if (!(e.Editor is CheckEdit))
return;
@@ -358,7 +385,20 @@ namespace BeWo.View.Detail
(e.Editor as CheckEdit).Checked += checked_changed;
}
private void GridViewBase_OnHiddenEditor(object sender, EditorEventArgs e)
private bool CheckEditRight(bool showMessage)
{
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.AdditionalService_Edit))
{
if (showMessage)
{
MessageBox.Show("Sie besitzen leider nicht das benötigte Recht \"Ergänzenden Dienste bearbeiten\".", "Speichern", MessageBoxButton.OK, MessageBoxImage.Exclamation);
}
return false;
}
return true;
}
private void GridViewBase_OnHiddenEditor(object sender, EditorEventArgs e)
{
if (!(e.Editor is CheckEdit))
return;
@@ -368,6 +408,9 @@ namespace BeWo.View.Detail
}
private readonly List<AdditionalServiceBookingDC> _BookingsToUpdate = new List<AdditionalServiceBookingDC>();
private readonly List<AdditionalServiceNoticeDC> _NoticesToUpdate = new List<AdditionalServiceNoticeDC>();
private readonly List<CompactCustomerDC> _Customer2Delete = new List<CompactCustomerDC>();
private void checked_changed(object sender, RoutedEventArgs e)
{
var s = sender as CheckEdit;
@@ -433,7 +476,18 @@ namespace BeWo.View.Detail
ServiceFacade.DoOperationsServiceSync(
o => o.InsertNewAdditionalServiceBookings(new List<AdditionalServiceBookingDC>(newShortAddAD)));
}
if (updateGrid)
if (_NoticesToUpdate.Count > 0)
{
ServiceFacade.DoOperationsServiceSync(o => o.UpdateAdditionalServiceNoticeList(_NoticesToUpdate));
}
if (_Customer2Delete.Count > 0)
{
var start = new DateTime(SelectedYear, (int)SelectedMonth, 1);
var bereich = Angebotscombobox.SelectedItem as AdditionalServiceRegionDC;
ServiceFacade.DoOperationsServiceSync(o => o.RemoveAdditionalServiceCustomer(_Customer2Delete.Select(c => c.CustomerOid).ToList(), bereich?.AdditionalServiceRegionOid, start));
}
if (updateGrid)
UpdateTeilnahmeGrid();
SaveBtn.IsEnabled = false;
}
@@ -447,7 +501,7 @@ namespace BeWo.View.Detail
public override bool IsDirty
{
get { return ViewModel != null && ViewModel.AddedCount != 0; }
get { return (ViewModel != null && ViewModel.AddedCount != 0) || IsGridDirty(); }
}
public override string Title
@@ -543,8 +597,28 @@ namespace BeWo.View.Detail
SrListBox.SelectedItem = vm;
}
//SRV2
protected override void Save()
internal override bool DoSaveCheck()
{
if (this.IsDirty)
{
MessageBoxResult lResult = this.ShowSaveQuestion();
if (lResult == MessageBoxResult.Cancel)
{
this.Focus();
return false;
}
if (lResult == MessageBoxResult.Yes)
{
this.SaveData();
SaveGridChanges(false);
}
}
return true;
}
//SRV2
protected override void Save()
{
var lToDos = new List<Action<IOperationsService>>();
@@ -601,8 +675,11 @@ namespace BeWo.View.Detail
newShortAddAD.Clear();
if (_BookingsToUpdate != null)
_BookingsToUpdate.Clear();
var start = new DateTime(SelectedYear, (int)SelectedMonth, 1);
if (_NoticesToUpdate != null)
_NoticesToUpdate.Clear();
if (_Customer2Delete != null)
_Customer2Delete.Clear();
var start = new DateTime(SelectedYear, (int)SelectedMonth, 1);
var end = start.AddMonths(1);
AdditionalServiceBookings.VMList.Clear();
@@ -620,7 +697,11 @@ namespace BeWo.View.Detail
}
AdditionalServiceBookings.NewVM.AdditionalServiceRegion = (AdditionalServiceRegionDC)Angebotscombobox.SelectedItem;
}
AdditionalServiceNoticeList = ServiceFacade.DoOperationsServiceSync(t => t.GetAdditionalServiceNoticeList(regionOid, start, end));
}
private void ClosePopupView()
{
@@ -786,92 +867,104 @@ namespace BeWo.View.Detail
private void GridViewBase_OnCellValueChanging(object sender, CellValueChangedEventArgs e)
{
//if (BeWoApp.LoggedOnUser.HasRight(UserRightType.AssessmentSheet_Edit))
//{
// MessageBox.Show("Sie besitzen leider nicht das benötigte Recht \"Ergänzenden Dienste bearbeiten\".", "Speichern", MessageBoxButton.OK, MessageBoxImage.Exclamation);
// e.Value = e.OldValue;
// e.Handled = true;
// return;
//}
// Das Datum ist der eindeutige Identifikator
var tableView = (TableView)sender;
var spalten = (List<Teilnehmer>) tableView.Grid.ItemsSource;
var alleTeilnehmer = spalten.Select(s => s.Customer);
var ausgewaehlterTeilnehmer = (Teilnehmer)e.Row;
var ausgewaehlterTeilnehmer = (Teilnehmer) e.Row;
var ausgewaehlterTag = Convert.ToInt32(e.Column.Header.ToString().Split('.')[0]);
var ausgewaehltesDatum = new DateTime(SelectedYear, (int)_SelectedMonth, ausgewaehlterTag);
var existiert = ausgewaehlterTeilnehmer.BookingRelation.Any(br => br.Value.Datum.Equals(ausgewaehltesDatum));
if (existiert) return;
if (_SelectedBookings.Any(vm => vm.Date.Equals(ausgewaehltesDatum)))
{
var btu = _SelectedBookings.First(vm => vm.Date.Equals(ausgewaehltesDatum));
if (btu.CustomerOidDict.ContainsKey(ausgewaehlterTeilnehmer.Customer.CustomerOid))
btu.CustomerOidDict.Remove(ausgewaehlterTeilnehmer.Customer.CustomerOid);
btu.CustomerOidDict.Add(ausgewaehlterTeilnehmer.Customer.CustomerOid, Convert.ToBoolean(e.Value));
_BookingsToUpdate.Add(btu.CommitToDataContract());
SaveBtn.IsEnabled = true;
return;
}
if (newShortAddAD.Any(ad => ad.Date.Equals(ausgewaehltesDatum)))
{
newShortAddAD.First(ad => ad.Date.Equals(ausgewaehltesDatum)).CustomerOidDict[ausgewaehlterTeilnehmer.Customer.CustomerOid] = Convert.ToBoolean(e.Value);
return;
}
var mitarbeiter = MultiEmployeeControlAddServ.SelectedEmployees.Select(emp => emp.EmployeeOid).ToList();
var temp = alleTeilnehmer.ToList();
//Dictionary<long, bool> klienten = new Dictionary<long, bool>();
//foreach (var customer in alleTeilnehmer)
//{
// if (!klienten.ContainsKey(customer.CustomerOid))
// {
// klienten.Add(customer.CustomerOid, customer.Equals(ausgewaehlterTeilnehmer.Customer) && Convert.ToBoolean(e.Value));
// }
// else
// {
// //Fehler
// //int test = 0;
// }
//}
var klienten = new Dictionary<long, bool>();
foreach (var teilnehmer in alleTeilnehmer)
if (e.Column.FieldName.Contains("Notice"))
{
if (teilnehmer.CustomerOid == 0)
if (e.Value == null)
{
int test = 0;
ausgewaehlterTeilnehmer.Notice.Notice = "";
}
if (!klienten.ContainsKey(teilnehmer.CustomerOid))
else
{
klienten.Add(teilnehmer.CustomerOid, teilnehmer.Equals(ausgewaehlterTeilnehmer.Customer) && Convert.ToBoolean(e.Value));
ausgewaehlterTeilnehmer.Notice.Notice = e.Value.ToString();
}
_NoticesToUpdate.Add(ausgewaehlterTeilnehmer.Notice);
}
//var klienten = alleTeilnehmer.ToDictionary(teilnehmer => teilnehmer.CustomerOid, teilnehmer => (teilnehmer.Equals(ausgewaehlterTeilnehmer.Customer) && Convert.ToBoolean(e.Value)));
var bereich = (AdditionalServiceRegionDC) Angebotscombobox.SelectedItem;
var neueBuchung = new AdditionalServiceBookingDC
{
AdditionalServiceRegion = bereich,
CustomerOidDict = klienten,
EmployeeOidList = mitarbeiter,
Date = ausgewaehltesDatum,
StartDate = ausgewaehltesDatum,
EndDate = ausgewaehltesDatum.AddHours(23).AddMinutes(59).AddSeconds(59)
};
else
{
if(neueBuchung.EndDate.HasValue && neueBuchung.StartDate.HasValue)
{
var roundedDuration = Convert.ToDecimal((neueBuchung.EndDate.Value - neueBuchung.StartDate.Value).GetTotalMinutes());
neueBuchung.RoundedDuration = roundedDuration;
}
var tableView = (TableView)sender;
var spalten = (List<Teilnehmer>)tableView.Grid.ItemsSource;
var alleTeilnehmer = spalten.Select(s => s.Customer);
newShortAddAD.Add(neueBuchung);
var ausgewaehlterTag = Convert.ToInt32(e.Column.Header.ToString().Split('.')[0]);
var ausgewaehltesDatum = new DateTime(SelectedYear, (int)_SelectedMonth, ausgewaehlterTag);
var existiert = ausgewaehlterTeilnehmer.BookingRelation.Any(br => br.Value.Datum.Equals(ausgewaehltesDatum));
if (existiert) return;
if (_SelectedBookings.Any(vm => vm.Date.Equals(ausgewaehltesDatum)))
{
var btu = _SelectedBookings.First(vm => vm.Date.Equals(ausgewaehltesDatum));
if (btu.CustomerOidDict.ContainsKey(ausgewaehlterTeilnehmer.Customer.CustomerOid))
btu.CustomerOidDict.Remove(ausgewaehlterTeilnehmer.Customer.CustomerOid);
btu.CustomerOidDict.Add(ausgewaehlterTeilnehmer.Customer.CustomerOid, Convert.ToBoolean(e.Value));
_BookingsToUpdate.Add(btu.CommitToDataContract());
SaveBtn.IsEnabled = true;
return;
}
if (newShortAddAD.Any(ad => ad.Date.Equals(ausgewaehltesDatum)))
{
newShortAddAD.First(ad => ad.Date.Equals(ausgewaehltesDatum)).CustomerOidDict[ausgewaehlterTeilnehmer.Customer.CustomerOid] = Convert.ToBoolean(e.Value);
return;
}
var mitarbeiter = MultiEmployeeControlAddServ.SelectedEmployees.Select(emp => emp.EmployeeOid).ToList();
var temp = alleTeilnehmer.ToList();
//Dictionary<long, bool> klienten = new Dictionary<long, bool>();
//foreach (var customer in alleTeilnehmer)
//{
// if (!klienten.ContainsKey(customer.CustomerOid))
// {
// klienten.Add(customer.CustomerOid, customer.Equals(ausgewaehlterTeilnehmer.Customer) && Convert.ToBoolean(e.Value));
// }
// else
// {
// //Fehler
// //int test = 0;
// }
//}
var klienten = new Dictionary<long, bool>();
foreach (var teilnehmer in alleTeilnehmer)
{
if (teilnehmer.CustomerOid == 0)
{
int test = 0;
}
if (!klienten.ContainsKey(teilnehmer.CustomerOid))
{
klienten.Add(teilnehmer.CustomerOid, teilnehmer.Equals(ausgewaehlterTeilnehmer.Customer) && Convert.ToBoolean(e.Value));
}
}
//var klienten = alleTeilnehmer.ToDictionary(teilnehmer => teilnehmer.CustomerOid, teilnehmer => (teilnehmer.Equals(ausgewaehlterTeilnehmer.Customer) && Convert.ToBoolean(e.Value)));
var bereich = (AdditionalServiceRegionDC)Angebotscombobox.SelectedItem;
var neueBuchung = new AdditionalServiceBookingDC
{
AdditionalServiceRegion = bereich,
CustomerOidDict = klienten,
EmployeeOidList = mitarbeiter,
Date = ausgewaehltesDatum,
StartDate = ausgewaehltesDatum,
EndDate = ausgewaehltesDatum.AddHours(23).AddMinutes(59).AddSeconds(59)
};
if (neueBuchung.EndDate.HasValue && neueBuchung.StartDate.HasValue)
{
var roundedDuration = Convert.ToDecimal((neueBuchung.EndDate.Value - neueBuchung.StartDate.Value).GetTotalMinutes());
neueBuchung.RoundedDuration = roundedDuration;
}
newShortAddAD.Add(neueBuchung);
}
SaveBtn.IsEnabled = true;
}
@@ -1051,12 +1144,11 @@ namespace BeWo.View.Detail
private void button_ADadd_Click(object sender, RoutedEventArgs e)
{
if (BeWoApp.LoggedOnUser.HasRight(UserRightType.AssessmentSheet_Edit))
if (!CheckEditRight(true))
{
MessageBox.Show("Sie besitzen leider nicht das benötigte Recht \"Ergänzenden Dienste bearbeiten\".", "Speichern", MessageBoxButton.OK, MessageBoxImage.Exclamation);
return;
}
if (AdditionalServiceBookings.NewVM == null ||
AdditionalServiceBookings.NewVM.CustomerOidDict == null)
return;
@@ -1188,7 +1280,7 @@ namespace BeWo.View.Detail
private bool IsGridDirty()
{
return _BookingsToUpdate.Count > 0 || newShortAddAD.Any();
return _BookingsToUpdate.Count > 0 || newShortAddAD.Any() || _NoticesToUpdate.Count > 0 || _Customer2Delete.Count > 0;
}
private void button_add_Click(object sender, RoutedEventArgs e)
@@ -1461,6 +1553,63 @@ namespace BeWo.View.Detail
{
BeWoUtils.NavigateToReportUri(((Hyperlink)sender).NavigateUri.ToString(), "Druckvorschau");
}
private void TableView_ShowingEditor(object sender, ShowingEditorEventArgs e)
{
if (!CheckEditRight(true))
{
e.Cancel = true;
e.Handled = true;
}
}
private void TableView_ShowGridMenu(object sender, GridMenuEventArgs e)
{
AddContextMenu(e);
}
private void AddContextMenu(GridMenuEventArgs e)
{
var item = e.Source.DataControl.SelectedItem as Teilnehmer;
if (item != null)
{
e.Customizations.Add(new DevExpress.Xpf.Bars.BarItemSeparator());
var btn = new BarButtonItem { Content = "Zeile löschen", Tag = item };
btn.ItemClick += DeleteRow_OnClick;
e.Customizations.Add(btn);
}
//if (tvm != null)
//{
// if (tvm.Absencetime != null)
// {
// e.Customizations.Add(new DevExpress.Xpf.Bars.BarItemSeparator());
// var btn = new BarButtonItem { Content = "Abwesenheit löschen", Tag = tvm };
// btn.ItemClick += DeleteRow_OnClick;
// e.Customizations.Add(btn);
// }
//}
}
private void DeleteRow_OnClick(object sender, RoutedEventArgs e)
{
var barButtonItem = (BarButtonItem)sender;
var item = barButtonItem.Tag as Teilnehmer;
if (item != null && MessageBox.Show(String.Format("Möchten Sie '{0}' wirklich aus der Liste entfernen?", item.Customer), "Löschen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
{
_Customer2Delete.Add(item.Customer);
var teilnehmer = (List<Teilnehmer>)TeilnahmeGrid.ItemsSource;
teilnehmer.Remove(item);
TeilnahmeGrid.RefreshData();
SaveBtn.IsEnabled = true;
}
}
}
public class Teilnehmer
@@ -1509,9 +1658,12 @@ namespace BeWo.View.Detail
public bool ContainsOneRelationOnly { get; set; }
public Teilnehmer(CompactCustomerDC customer, IList<bool> teilnahmen, Dictionary<long, BookingRelationDictionaryValue> bookingRelation, bool containsOneRelationOnly = false)
public AdditionalServiceNoticeDC Notice { get; set; }
public Teilnehmer(CompactCustomerDC customer, IList<bool> teilnahmen, Dictionary<long, BookingRelationDictionaryValue> bookingRelation, AdditionalServiceNoticeDC notice, bool containsOneRelationOnly = false)
{
Customer = customer;
Notice = notice;
ContainsOneRelationOnly = containsOneRelationOnly;

View File

@@ -72,6 +72,7 @@
<dxg:GridColumn FieldName="Betrag" Header="Stunden" Width="150" EditSettings="{dxe:TextSettings DisplayFormat=f2, Mask=f2, MaskType=Numeric}" />
<dxg:GridColumn x:Name="gridcolumn_auszahlungsart" FieldName="Auszahlungsart" Header="Art der Auszahlung" Width="150" />
<dxg:GridColumn FieldName="Notice" Header="Erläuterung" Width="550" />
<dxg:GridColumn FieldName="InsUser" Header="Angelegt von" Width="200" />
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="true" ShowGroupPanel="False" ShowGroupedColumns="false" ShowTotalSummary="False" NavigationStyle="Cell" />

View File

@@ -20,7 +20,7 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="..\Ressources\Icons\bewoplaner_logo_big.png" Height="45" Margin="7,7,0,0"/>
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="..\Ressources\Icons\bewoplaner_logo_small.png" Height="45" Margin="7,7,0,0"/>
<Grid Grid.Row="1" Margin="0,10,0,0" x:Name="rootGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />

View File

@@ -20,7 +20,7 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="..\Ressources\Icons\bewoplaner_logo_big.png" Height="45" Margin="7,7,0,0"/>
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="..\Ressources\Icons\bewoplaner_logo_small.png" Height="45" Margin="7,7,0,0"/>
<Grid Grid.Row="1" Margin="0,10,0,0" x:Name="rootGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />

View File

@@ -684,7 +684,7 @@ namespace BeWo.ViewModel.ListViewModel
foreach (ServiceRecordVM vm in VMList)
{
if (vm.GroupOid != null)
if (vm.GroupOid != null && vm.Customer != null)
{
string key = String.Format("{0}_{1}", vm.GroupOid.Value, vm.Customer.Oid.Value);
if (!groupVMs.ContainsKey(key))
@@ -701,7 +701,7 @@ namespace BeWo.ViewModel.ListViewModel
contained = true;
break;
}
if (dc.GroupOid != null)
if (dc.GroupOid != null && dc.Customer != null)
{
contained = true;

View File

@@ -86,6 +86,11 @@ namespace BeWo.ViewModel
}
}
public String InsUser
{
get { return DataContract.InsUser; }
}
protected override void InitByDataContract(OvertimeDC pDataContract)
{
if (IsNew) return;

View File

@@ -5114,7 +5114,7 @@
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>True</UseIIS>
<UseIIS>False</UseIIS>
<AutoAssignPort>False</AutoAssignPort>
<DevelopmentServerPort>8808</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>

View File

@@ -1238,6 +1238,19 @@ namespace BeWo.Data.Access
return criteria.List<AdditionalServiceBooking>();
}
public IEnumerable<AdditionalServiceNotice> GetAdditionalServiceNoticeList(long? regionOid, DateTime start, DateTime end)
{
var c = CreateCriteriaIsActive<AdditionalServiceNotice>()
.Add(Restrictions.Between("Monat", start, end));
if (regionOid.HasValue)
{
c.Add(Restrictions.Eq("RegionOid", regionOid));
}
return c.List<AdditionalServiceNotice>();
}
public IEnumerable<AdditionalServiceBooking> GetAdditionalServiceBookingsForCustomer(long customerOid, DateTime start, DateTime end)
{
return CreateCriteriaIsActive<AdditionalServiceBooking>()

View File

@@ -280,6 +280,7 @@
<Compile Include="Entities\Textbaustein.cs" />
<Compile Include="Entities\Timesheet2Mail.cs" />
<Compile Include="Entities\Token.cs" />
<Compile Include="Entities\AdditionalServiceNotice.cs" />
<Compile Include="Entities\ValidationMessage.cs" />
<Compile Include="Entities\VertretungsListe.cs" />
<Compile Include="Entities\Vertretung.cs" />
@@ -679,6 +680,7 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="ICD10\icd10gm2012syst_claml_20110923.xml" />
<EmbeddedResource Include="Mappings\AdditionalServiceNotice.hbm.xml" />
<EmbeddedResource Include="Mappings\ValidationMessage.hbm.xml" />
<EmbeddedResource Include="Mappings\Preis.hbm.xml" />
<EmbeddedResource Include="Mappings\Dokumentvorlage.hbm.xml" />

View File

@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using BS.Shared;
namespace BeWo.Data.Entities
{
public class AdditionalServiceNotice : BeWoEntityBase
{
public AdditionalServiceNotice()
{
this._Tid = TableID.AdditionalServiceNotice;
}
public virtual long? RegionOid { get; set; }
public virtual long? CustomerOid { get; set; }
public virtual DateTime Monat { get; set; }
}
}

View File

@@ -103,6 +103,7 @@ namespace BeWo.Data.Entities
}
}
}
public virtual string ServiceCategory
{
get => _ServiceCategory;

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="BeWo.Data.Entities.AdditionalServiceNotice, BeWo.Data" table="AdditionalServiceNotice">
<id name="Oid" column="Oid" type="Int64" unsaved-value="null">
<generator class="identity" />
</id>
<version type="Int64" column="Version" name="Version" />
<property column="Tid" type="BS.Shared.TableID, BS.Shared" name="_Tid" access="field" />
<property column="Notice" type="String" name="Notice" length="1024" />
<property column="InsTs" type="DateTime" name="InsTs" />
<property column="InsUser" type="String" name="InsUser" length="256" />
<property column="UpdTs" type="DateTime" name="UpdTs" />
<property column="UdpUser" type="String" name="UdpUser" length="256" />
<property column="IsActive" type="BS.Shared.ActivationTypeId, BS.Shared" name="IsActive" />
<property column="SystemEntryID" type="BS.Shared.SystemEntryID, BS.Shared" name="SystemEntryID" />
<property column="RegionOid" type="Int64" name="RegionOid" />
<property column="CustomerOid" type="Int64" name="CustomerOid" />
<property column="Monat" type="DateTime" name="Monat" />
</class>
</hibernate-mapping>

View File

@@ -0,0 +1,17 @@
CREATE TABLE `AdditionalServiceNotice` (
`Oid` bigint NOT NULL AUTO_INCREMENT,
`Tid` int NOT NULL,
`Notice` mediumtext,
`InsTs` datetime DEFAULT NULL,
`InsUser` varchar(256) DEFAULT NULL,
`Version` bigint DEFAULT NULL,
`UpdTs` varchar(256) DEFAULT NULL,
`UdpUser` varchar(256) DEFAULT NULL,
`IsActive` tinyint DEFAULT NULL,
`SystemEntryID` int DEFAULT NULL,
`RegionOid` bigint DEFAULT NULL,
`CustomerOid` bigint DEFAULT NULL,
`Monat` datetime DEFAULT NULL,
PRIMARY KEY (`Oid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

View File

@@ -961,8 +961,8 @@ ALTER TABLE `Employee2Customer` ADD COLUMN `EndDate` datetime NULL;
ALTER TABLE `Mandator` ADD COLUMN `LastModules` MEDIUMTEXT NULL;
ALTER TABLE `validationmessage`
ADD COLUMN `ServiceCategory` VARCHAR(512) NULL DEFAULT NULL AFTER `SupportConceptOid`,
ADD COLUMN `ServiceDescription` VARCHAR(512) NULL DEFAULT NULL AFTER `ServiceCategory`;
ADD COLUMN `ServiceCategory` VARCHAR(512) NULL DEFAULT NULL,
ADD COLUMN `ServiceDescription` VARCHAR(512) NULL DEFAULT NULL;
ALTER TABLE `AbsenceReason` ADD COLUMN `Sichtbarkeit` int NULL;
@@ -975,4 +975,22 @@ ALTER TABLE servicerecordhistory ADD COLUMN `CustomerConfirmationReceiptSignatur
ALTER TABLE servicerecordhistory ADD COLUMN `EmployeeConfirmationReceiptSignatureStateType` int DEFAULT 0;
ALTER TABLE servicerecordhistory ADD COLUMN `ServiceRecordSignatureStateType` int DEFAULT 0;
ALTER TABLE servicerecordhistory ADD COLUMN `CustomerConfirmationReceiptSignatureOid` BIGINT(18) DEFAULT NULL, ADD COLUMN `EmployeeConfirmationReceiptSignatureOid` BIGINT(18) DEFAULT NULL;
ALTER TABLE servicerecordhistory ADD COLUMN `CustomerConfirmationReceiptSignatureOid` BIGINT(18) DEFAULT NULL, ADD COLUMN `EmployeeConfirmationReceiptSignatureOid` BIGINT(18) DEFAULT NULL;
CREATE TABLE `AdditionalServiceNotice` (
`Oid` bigint NOT NULL AUTO_INCREMENT,
`Tid` int NOT NULL,
`Notice` mediumtext,
`InsTs` datetime DEFAULT NULL,
`InsUser` varchar(256) DEFAULT NULL,
`Version` bigint DEFAULT NULL,
`UpdTs` varchar(256) DEFAULT NULL,
`UdpUser` varchar(256) DEFAULT NULL,
`IsActive` tinyint DEFAULT NULL,
`SystemEntryID` int DEFAULT NULL,
`RegionOid` bigint DEFAULT NULL,
`CustomerOid` bigint DEFAULT NULL,
`Monat` datetime DEFAULT NULL,
PRIMARY KEY (`Oid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

View File

@@ -364,7 +364,7 @@ namespace BeWo.Report.ReportObjects
return true;
}
private MitarbeiterauslastungRO.SupportConceptDetail GetOrCreateSupportConceptDetail(Employee emp, Customer customer, SupportConceptApprovalPeriod scap, CostBearer2SupportConcept cb2sc, DateTime start, DateTime ende, AuslastungBerechnungHelper anteil, bool ausHauptbetreuung)
protected virtual MitarbeiterauslastungRO.SupportConceptDetail GetOrCreateSupportConceptDetail(Employee emp, Customer customer, SupportConceptApprovalPeriod scap, CostBearer2SupportConcept cb2sc, DateTime start, DateTime ende, AuslastungBerechnungHelper anteil, bool ausHauptbetreuung)
{
bool inTimeRange = true;
var realEnd = scap.EndDate;

File diff suppressed because it is too large Load Diff

View File

@@ -217,7 +217,6 @@ namespace AkggMid
public override decimal BerechneStundenDurchAbwesenheiten(AbsenceTimeDays ath, DateTime start, DateTime ende, Contract c, MitarbeiterstundenkontoRO.EmployeeDetail ed)
{
if (ath.StundenGesamt.HasValue)
{
return ath.StundenGesamt.Value;
@@ -234,5 +233,10 @@ namespace AkggMid
}
return true;
}
}
protected override bool StundenDurchAbwesenheitenDuerfenNegativSein()
{
return true;
}
}
}

View File

@@ -1,7 +1,11 @@
using BeWo.Data.Access;
using AkggMid.Service;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report.ReportObjects;
using BeWo.Service.DCEntityMapper;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using System;
using System.Collections.Generic;
using System.Globalization;
@@ -62,63 +66,67 @@ namespace AkggMid
{
Dictionary<int, ServicesOverviewRO.ServiceDetail> day2Detail = new Dictionary<int, ServicesOverviewRO.ServiceDetail>();
var abrAbwTagDict = GetAbrechenbareAbwesenheiten(pRO);
var result = new List<ServicesOverviewRO.ServiceDetail>();
foreach (var sr in pRO.Services)
{
//result.Add(sr);
if (!day2Detail.ContainsKey(sr.StartDate.Day))
if (!abrAbwTagDict.ContainsKey(sr.StartDate.Date))
{
sr.StartDateString = String.Format("{0:dddd dd.MM.}", sr.StartDate);
day2Detail.Add(sr.StartDate.Day, sr);
result.Add(sr);
}
else
{
var dsr = day2Detail[sr.StartDate.Day];
dsr.Minutes += sr.Minutes;
if (!String.IsNullOrWhiteSpace(sr.Notice))
if (!day2Detail.ContainsKey(sr.StartDate.Day))
{
if (!String.IsNullOrWhiteSpace(dsr.Notice))
{
dsr.Notice += ", " + sr.Notice;
}
else
{
dsr.Notice = sr.Notice;
}
sr.StartDateString = String.Format("{0:dddd dd.MM.}", sr.StartDate);
day2Detail.Add(sr.StartDate.Day, sr);
result.Add(sr);
}
if (!String.IsNullOrWhiteSpace(sr.Notice3))
else
{
if (!String.IsNullOrWhiteSpace(dsr.Notice3))
var dsr = day2Detail[sr.StartDate.Day];
dsr.Minutes += sr.Minutes;
if (!String.IsNullOrWhiteSpace(sr.Notice))
{
dsr.Notice3 += ", " + sr.Notice3;
}
else
{
dsr.Notice3 = sr.Notice3;
if (!String.IsNullOrWhiteSpace(dsr.Notice))
{
dsr.Notice += ", " + sr.Notice;
}
else
{
dsr.Notice = sr.Notice;
}
}
}
if (!String.IsNullOrWhiteSpace(sr.Notice4))
{
if (!String.IsNullOrWhiteSpace(dsr.Notice4))
if (!String.IsNullOrWhiteSpace(sr.Notice3))
{
dsr.Notice4 += ", " + sr.Notice4;
}
else
{
dsr.Notice4 = sr.Notice4;
}
if (!String.IsNullOrWhiteSpace(dsr.Notice3))
{
dsr.Notice3 += ", " + sr.Notice3;
}
else
{
dsr.Notice3 = sr.Notice3;
}
}
if (!String.IsNullOrWhiteSpace(sr.Notice4))
{
if (!String.IsNullOrWhiteSpace(dsr.Notice4))
{
dsr.Notice4 += ", " + sr.Notice4;
}
else
{
dsr.Notice4 = sr.Notice4;
}
}
}
}
}
var abrAbwTagDict = GetAbrechenbareAbwesenheiten(pRO);
double wochensumme = 0;
for (int i = 1; i <= pRO.EndDate.Day; i++)
@@ -134,8 +142,11 @@ namespace AkggMid
if (abrAbwTagDict.ContainsKey(newSr.StartDate))
{
newSr.Minutes = BerechneMinutenProTag(BerechneStundenProWoche(pRO, newSr.StartDate));
newSr.Notice = "Abwesenheit (erstattet)";
var info = abrAbwTagDict[newSr.StartDate];
newSr.Minutes = (double)info.MinutenLautStundenplan;
//newSr.Minutes = BerechneMinutenProTag(BerechneStundenProWoche(pRO, newSr.StartDate));
newSr.Notice = info.AbwesenheitsNotiz;
newSr.Notice5 = "x";
}
}
else
@@ -174,14 +185,14 @@ namespace AkggMid
double stdGesamt = 0;
foreach (var record in result)
{
if (record.StartDate.DayOfWeek != DayOfWeek.Saturday && record.StartDate.DayOfWeek != DayOfWeek.Sunday && IstAbwesend(record.StartDate))
{
record.Notice5 = "x";
}
else
{
record.Notice5 = "";
}
//if (record.StartDate.DayOfWeek != DayOfWeek.Saturday && record.StartDate.DayOfWeek != DayOfWeek.Sunday && IstAbwesend(record.StartDate))
//{
// record.Notice5 = "x";
//}
//else
//{
// record.Notice5 = "";
//}
if (record.IstFerien) // Wochensumme
{
stdGesamt += Math.Round(record.Minutes / 60, 2, MidpointRounding.AwayFromZero); //Anpassung, das Wochensumme nicht mehr gerundet auf 15 min
@@ -383,14 +394,22 @@ where scap2e.EmployeeOid = {0} and scap.Start <= '{1:yyyy-MM-dd}' and scap.EndDa
}
public Dictionary<DateTime, bool> GetAbrechenbareAbwesenheiten(ServicesOverviewRO ro)
public Dictionary<DateTime, AbwesenheitsInfo> GetAbrechenbareAbwesenheiten(ServicesOverviewRO ro)
{
//Herr Kloss meint, der erste Tag einer Abwesenheit darf ein fünftel der Wochenstundenzahl abgerechnet werden,
//aber nur bis 5 mal im Zeitraum 01.01.2023 bis 21.07.2023 // PLUS zusätzlich ein 6. Tag ABER nur im Juli 2023, nicht träglich
//und bis 10 mal im Schuljahr ab 2023/2024
DateTime startSchuljahr = DateTime.MinValue;
DateTime endeSchuljahr = DateTime.MinValue;
//und bis 6 mal im Schuljahr ab 2023/2024
// Abwesensheiten <24h_a dürfen immer abgerechnet werden, da das Bescheidsagen weniger als 24h vor Betreuung geschah
// Abwesensheiten <24h_n.a dürfen bis 6 mal im Jahr abgerechnet werden, da das Bescheidsagen weniger als 24h vor Betreuung geschah
// Abwesensheiten >24h dürfen beim Jugendamt nicht abgerechnet werden, das rechtzeitig > 24 h Bescheid gesagt wurde
// Abwesensheiten >24h dürfen nur beim Sozialamt abgerechnet werden aber nur bis 6 mal im Schuljahr
// Abwesenheit S_oA soll ignoriert werden
// Abwesenheit "S_Abwesenheit nicht abrechenbar" soll nur als x angezeigt werden
bool istJugendamt = !String.IsNullOrEmpty(ro.Costbearer) && ro.Costbearer.StartsWith("SEK -Jugend und Familie-");
Dictionary<string, bool> serviceRecordDates = new Dictionary<string, bool>();
@@ -404,69 +423,155 @@ where scap2e.EmployeeOid = {0} and scap.Start <= '{1:yyyy-MM-dd}' and scap.EndDa
}
}
}
DateTime dt;
if (DateTime.TryParse(servicesOverviewRO.ApprovedStartDate, out dt))
DateTime startSchuljahr = DateTime.MinValue;
DateTime endeSchuljahr = DateTime.MinValue;
//Berechne Schuljahrstart
var vs = new CustomVacationService();
var ferien = vs.GetFerien(vs.Bundesland);
FerienDC sommerFerienVorjahr = null;
FerienDC sommerFerienAktuellesJahr = null;
FerienDC sommerFerienNaechstesJahr = null;
foreach (var f in ferien)
{
startSchuljahr = dt;
if (f.Name.Contains(String.Format("Sommerferien {0}", ro.StartDate.Year - 1)))
{
sommerFerienVorjahr = f;
}
else if (f.Name.Contains(String.Format("Sommerferien {0}", ro.StartDate.Year)))
{
sommerFerienAktuellesJahr = f;
}
else if (f.Name.Contains(String.Format("Sommerferien {0}", ro.StartDate.Year + 1)))
{
sommerFerienNaechstesJahr = f;
}
}
if (DateTime.TryParse(servicesOverviewRO.ApprovedEndDate, out dt))
if (sommerFerienAktuellesJahr != null)
{
endeSchuljahr = dt;
if (ro.StartDate <= sommerFerienAktuellesJahr.Ende)
{
endeSchuljahr = sommerFerienAktuellesJahr.Start.AddDays(-1);
if (sommerFerienVorjahr != null)
{
startSchuljahr = sommerFerienVorjahr.Ende.AddDays(1);
}
}
else
{
startSchuljahr = sommerFerienAktuellesJahr.Ende.AddDays(1);
if (sommerFerienNaechstesJahr != null)
{
endeSchuljahr = sommerFerienNaechstesJahr.Start.AddDays(-1);
}
}
}
int maxAnzahl = 6;
//Sonderregelung
//if (endeSchuljahr <= new DateTime(2023, 7, 21))
//{
// startSchuljahr = new DateTime(2023, 1, 1);
// endeSchuljahr = new DateTime(2023, 7, 21);
// maxAnzahl = 5;
//}
int maxAnzahl = 10;
if (startSchuljahr < new DateTime(2023, 7, 21))
{
startSchuljahr = new DateTime(2023, 1, 1);
endeSchuljahr = new DateTime(2023, 7, 21);
maxAnzahl = 5;
}
int gesamtAnzahl = 0;
Dictionary<DateTime, bool> abrechenbareTage = new Dictionary<DateTime, bool>();
var abrechenbareTage = new Dictionary<DateTime, AbwesenheitsInfo>();
var c = DAOFactory.GenericDAO.LoadByID<Customer>(servicesOverviewRO.CustomerOid);
foreach (AbsenceTime at in c.AbsenceTimes.OrderBy(a => a.Start))
{
if (at.Start >= startSchuljahr && at.Start <= endeSchuljahr && (at.End == null || at.End >= startSchuljahr))
if (at.AbsenceReason.Description.Contains("<24h") || at.AbsenceReason.Description.Contains(">24h") || at.AbsenceReason.Description.StartsWith("S_Abwesenheit nicht abrechenbar") || at.AbsenceReason.Description.StartsWith("S_JA"))
{
DateTime dtIterator = at.Start.Value;
DateTime end = endeSchuljahr;
if (at.End.HasValue)
if (at.Start >= startSchuljahr && at.Start <= endeSchuljahr && (at.End == null || at.End >= startSchuljahr))
{
end = at.End.Value;
}
var maxAnzahlIntern = maxAnzahl;
// PLUS zusätzlich ein 6. Tag ABER nur im Juli 2023, nicht nachträglich
while (dtIterator <= end && (gesamtAnzahl < maxAnzahl
|| (end > new DateTime(2023, 06, 30) && end <= new DateTime(2023, 07, 21) && gesamtAnzahl < maxAnzahl + 1)))
{
if (dtIterator.DayOfWeek != DayOfWeek.Saturday && dtIterator.DayOfWeek != DayOfWeek.Sunday && !serviceRecordDates.ContainsKey(String.Format("{0:dd.MM.yyyy}", dtIterator)))
if (at.AbsenceReason.Description.Contains("<24h_SA"))
{
bool istAbrechenbar = true;
if (tandemBetreuungHelper != null)
maxAnzahlIntern = Int32.MaxValue; // Dürfen immer abgerechnet werden
}
else if ((at.AbsenceReason.Description.Contains(">24h") && istJugendamt) || at.AbsenceReason.Description.StartsWith("S_Abwesenheit nicht abrechenbar"))
{
maxAnzahlIntern = 0; // Darf beim Jugendamt nie abgerechnet werden
}
DateTime dtIterator = at.Start.Value;
DateTime end = endeSchuljahr;
if (at.End.HasValue)
{
end = at.End.Value;
}
// PLUS zusätzlich ein 6. Tag ABER nur im Juli 2023, nicht nachträglich
//while (dtIterator <= end && (gesamtAnzahl < maxAnzahlIntern
// || (end > new DateTime(2023, 06, 30) && end <= new DateTime(2023, 07, 21) && gesamtAnzahl < maxAnzahlIntern + 1)))
while (dtIterator <= end)
{
//if (dtIterator.DayOfWeek != DayOfWeek.Saturday && dtIterator.DayOfWeek != DayOfWeek.Sunday && !serviceRecordDates.ContainsKey(String.Format("{0:dd.MM.yyyy}", dtIterator)))
if (dtIterator.DayOfWeek != DayOfWeek.Saturday && dtIterator.DayOfWeek != DayOfWeek.Sunday && !vs.IstFeiertag(dtIterator))
{
istAbrechenbar = false;
if (tandemBetreuungHelper.IstAbwesend(dtIterator))
bool istAbrechenbar = true;
if (tandemBetreuungHelper != null)
{
istAbrechenbar = true;
istAbrechenbar = false;
if (tandemBetreuungHelper.IstAbwesend(dtIterator))
{
istAbrechenbar = true;
}
}
if (istAbrechenbar)
{
decimal stunden = BerechneStundenplanZeit(c, dtIterator);
if (stunden > 0)
{
var info = new AbwesenheitsInfo();
info.AbsenceTime = MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewDC(at);
info.AbwesenheitsNotiz = "Abwesenheit nicht abrechenbar";
if (gesamtAnzahl < maxAnzahlIntern)
{
info.MinutenLautStundenplan = stunden * 60;
if (maxAnzahlIntern < Int32.MaxValue)
{
gesamtAnzahl++;
info.NummerAbrechenbarerTag = gesamtAnzahl;
info.AbwesenheitsNotiz = String.Format("Tag {0:0}/{1:0} (Abwesenheit gem. §6 LV)", info.NummerAbrechenbarerTag, maxAnzahl);
}
}
if (at.AbsenceReason.Description.Contains("<24h_SA"))
{
info.AbwesenheitsNotiz = "Abwesenheit gem. §8 Ziff3 LV";
}
abrechenbareTage.Add(dtIterator, info);
}
}
}
if (istAbrechenbar)
{
abrechenbareTage.Add(dtIterator, true);
gesamtAnzahl++;
}
dtIterator = dtIterator.AddDays(1);
}
dtIterator = dtIterator.AddDays(1);
}
}
}
}
@@ -506,6 +611,81 @@ where scap2e.EmployeeOid = {0} and scap.Start <= '{1:yyyy-MM-dd}' and scap.EndDa
return abrechenbareTage;
}
private decimal BerechneStundenplanZeit(Customer kind, DateTime tag)
{
decimal stunden = 0;
if (kind.Arbeitszeiten != null)
{
foreach (var az in kind.Arbeitszeiten)
{
if ((!az.GueltigVon.HasValue || az.GueltigVon.Value <= tag) &&
(!az.GueltigBis.HasValue || az.GueltigBis.Value >= tag))
{
stunden = GetArbeitszeitStundenFuerTag(az, tag);
}
}
}
return stunden;
}
protected decimal GetArbeitszeitStundenFuerTag(Arbeitszeit az, DateTime tag)
{
var day = tag.DayOfWeek;
decimal stunden = 0;
foreach (var ae in az.ArbeitszeitEintraege)
{
if (SindAmGleichenWochentag(day, ae.Tag))
{
String dateStr1 = String.Format("{0:dd.MM.yyyy} {1}", tag, ae.UhrzeitVon);
String dateStr2 = String.Format("{0:dd.MM.yyyy} {1}", tag, ae.UhrzeitBis);
DateTime date1;
DateTime date2;
if (DateTime.TryParse(dateStr1, out date1) && DateTime.TryParse(dateStr2, out date2))
{
stunden += (decimal)date2.Subtract(date1).TotalHours;
}
}
}
return stunden;
}
private bool SindAmGleichenWochentag(DayOfWeek day, AppointmentDayOfWeek aeTag)
{
if (day == DayOfWeek.Monday && aeTag == AppointmentDayOfWeek.Montag)
{
return true;
}
if (day == DayOfWeek.Tuesday && aeTag == AppointmentDayOfWeek.Dienstag)
{
return true;
}
if (day == DayOfWeek.Wednesday && aeTag == AppointmentDayOfWeek.Mittwoch)
{
return true;
}
if (day == DayOfWeek.Thursday && aeTag == AppointmentDayOfWeek.Donnerstag)
{
return true;
}
if (day == DayOfWeek.Friday && aeTag == AppointmentDayOfWeek.Freitag)
{
return true;
}
if (day == DayOfWeek.Saturday && aeTag == AppointmentDayOfWeek.Samstag)
{
return true;
}
return false;
}
public double BerechneMinutenProTag(double flsPerWeek)
{
var minutenProTag = flsPerWeek * 60 / 5;
@@ -533,4 +713,14 @@ where scap2e.EmployeeOid = {0} and scap.Start <= '{1:yyyy-MM-dd}' and scap.EndDa
return minutenGerundet;
}
}
public class AbwesenheitsInfo
{
public AbsenceTimeDC AbsenceTime { get; set; }
public decimal MinutenLautStundenplan { get; set; }
public String AbwesenheitsNotiz { get; set; }
public int NummerAbrechenbarerTag { get; set; }
}
}

View File

@@ -0,0 +1,71 @@
using System;
using System.Collections.Generic;
using System.Text;
using BeWo.Report;
using BeWo.Data.Entities;
using BeWo.Data.Access;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BeWo.Service.ServiceImplementations;
using BS.Shared.Core;
using BS.Shared;
using BS.Shared.Extensions;
using BS.Shared.Services;
using BeWo.Report.ReportObjects;
namespace DiakonieKKKleve
{
public class CustomAuslastungBerechnung : AuslastungBerechnung
{
protected override MitarbeiterauslastungRO.SupportConceptDetail GetOrCreateSupportConceptDetail(Employee emp, Customer customer, SupportConceptApprovalPeriod scap, CostBearer2SupportConcept cb2sc, DateTime start, DateTime ende, AuslastungBerechnungHelper anteil, bool ausHauptbetreuung)
{
if (customer.Person.LastName == "Fischer")
{
int test = 0;
}
bool isSozioMainAttendant = false;
bool isHauptbetreuung = false;
foreach (Employee2Customer e2c in emp.Employee2CustomerList)
{
if (e2c.Customer.Oid == customer.Oid && e2c.ValueList.Count > 0)
{
var v = e2c.ValueList[0];
if (v.Entry.Value.Contains("Soziotherapeut"))
{
isSozioMainAttendant = true;
}
else if (v.Entry.Value.Contains("Hauptbetreuung"))
{
isHauptbetreuung = true;
}
}
}
if (scap.ServiceCategory != null && scap.ServiceCategory.Name.ToLower().Contains("therapie") && !isSozioMainAttendant)
{
return null;
}
if (scap.ServiceCategory == null || !scap.ServiceCategory.Name.ToLower().Contains("therapie") && isSozioMainAttendant)
{
return null;
}
return base.GetOrCreateSupportConceptDetail(emp, customer, scap, cb2sc, start, ende, anteil, ausHauptbetreuung);
}
public override void CalculateSoll(MitarbeiterauslastungRO.SupportConceptDetail scDC, DateTime date)
{
base.CalculateSoll(scDC, date);
if (scDC.Customer != null)
{
var c = DAOFactory.GenericDAO.LoadByID<Customer>(scDC.Customer.Oid.Value);
}
}
}
}

View File

@@ -63,6 +63,7 @@
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Compile Include="AuslastungBerechnung.cs" />
<Compile Include="Calculations\GroupDurationCalculator.cs" />
<Compile Include="DiakonieKKKleveMitarbeiterstundenkontoBerechnung.cs" />
<Compile Include="Finanzauswertung.cs">
@@ -144,6 +145,12 @@
<DependentUpon>FinanzauswertungVP.cs</DependentUpon>
</Compile>
<Compile Include="CustomMitarbeiterstundenkontoBerechnungMonate.cs" />
<Compile Include="Mitarbeiterauslastung.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Mitarbeiterauslastung.designer.cs">
<DependentUpon>Mitarbeiterauslastung.cs</DependentUpon>
</Compile>
<Compile Include="MitarbeiterstundenkontoJahr.cs">
<SubType>Component</SubType>
</Compile>
@@ -275,6 +282,9 @@
<EmbeddedResource Include="FinanzauswertungVP.resx">
<DependentUpon>FinanzauswertungVP.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Mitarbeiterauslastung.resx">
<DependentUpon>Mitarbeiterauslastung.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="MitarbeiterstundenkontoJahr.resx">
<DependentUpon>MitarbeiterstundenkontoJahr.cs</DependentUpon>
<SubType>Designer</SubType>

View File

@@ -0,0 +1,28 @@
using System;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared.Core;
namespace DiakonieKKKleve
{
[IDSpecificClass(Identifier = "Mitarbeiterauslastung")]
public partial class Mitarbeiterauslastung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<MitarbeiterauslastungRO>
{
public Mitarbeiterauslastung()
{
InitializeComponent();
}
public void SetReportDataSource(MitarbeiterauslastungRO pRO)
{
AuslastungBerechnung b = new CustomAuslastungBerechnung();
b.CreateReport(pRO);
this.bindingSource1.DataSource = pRO;
}
}
}

View File

@@ -0,0 +1,546 @@
using BeWo.Report.ReportObjects;
namespace DiakonieKKKleve
{
partial class Mitarbeiterauslastung
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.xrTableDetail = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRowDetail = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell28 = new DevExpress.XtraReports.UI.XRTableCell();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail2 = new DevExpress.XtraReports.UI.DetailBand();
this.GroupHeader2 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrTableHeader = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRowHeader = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell38 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellSollGesamt = new DevExpress.XtraReports.UI.XRTableCell();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.lblMonat = new DevExpress.XtraReports.UI.XRLabel();
this.pageFooterBand1 = new DevExpress.XtraReports.UI.PageFooterBand();
this.xrPageInfo2 = new DevExpress.XtraReports.UI.XRPageInfo();
this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo();
this.Title = new DevExpress.XtraReports.UI.XRControlStyle();
this.FieldCaption = new DevExpress.XtraReports.UI.XRControlStyle();
this.PageInfo = new DevExpress.XtraReports.UI.XRControlStyle();
this.DataField = new DevExpress.XtraReports.UI.XRControlStyle();
this.fieldFLS = new DevExpress.XtraReports.UI.CalculatedField();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.fieldTotalSC = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldTotalEmp = new DevExpress.XtraReports.UI.CalculatedField();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
//
this.Detail.Expanded = false;
this.Detail.HeightF = 0F;
this.Detail.Name = "Detail";
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// Detail1
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel2,
this.xrLabel1});
this.Detail1.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Detail1.HeightF = 50F;
this.Detail1.KeepTogether = true;
this.Detail1.KeepTogetherWithDetailReports = true;
this.Detail1.Name = "Detail1";
this.Detail1.StylePriority.UseFont = false;
//
// xrLabel2
//
this.xrLabel2.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 25F);
this.xrLabel2.Multiline = true;
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.SizeF = new System.Drawing.SizeF(676.9999F, 25F);
this.xrLabel2.StyleName = "Title";
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.Text = "Wochenstunden: [WeeklyTotalHoursByContract!0.00], FLS/Woche: [FLSTotalHoursByCont" +
"ract!0.00]";
//
// xrLabel1
//
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.FullName")});
this.xrLabel1.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel1.Multiline = true;
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.SizeF = new System.Drawing.SizeF(676.9999F, 25F);
this.xrLabel1.StyleName = "Title";
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.Text = "xrLabel1";
//
// xrTableDetail
//
this.xrTableDetail.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableDetail.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableDetail.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTableDetail.Name = "xrTableDetail";
this.xrTableDetail.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableDetail.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRowDetail});
this.xrTableDetail.SizeF = new System.Drawing.SizeF(640F, 25F);
this.xrTableDetail.StylePriority.UseBorders = false;
this.xrTableDetail.StylePriority.UseFont = false;
this.xrTableDetail.StylePriority.UsePadding = false;
this.xrTableDetail.StylePriority.UseTextAlignment = false;
this.xrTableDetail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrTableRowDetail
//
this.xrTableRowDetail.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell3,
this.xrTableCell19,
this.xrTableCell2,
this.xrTableCell28});
this.xrTableRowDetail.Name = "xrTableRowDetail";
this.xrTableRowDetail.Weight = 1D;
//
// xrTableCell3
//
this.xrTableCell3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.SupportConceptDetailList.CustomerFullName")});
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrTableCell3.StylePriority.UseFont = false;
this.xrTableCell3.StylePriority.UsePadding = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.Text = "xrTableCell3";
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell3.Weight = 0.18034265103697025D;
//
// xrTableCell19
//
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.SupportConceptDetailList.TimeRangeString", "{0:0.00}")});
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.Text = "xrTableCell19";
this.xrTableCell19.Weight = 0.15329125338142471D;
//
// xrTableCell2
//
this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.SupportConceptDetailList.OrganisationName")});
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Text = "xrTableCell2";
this.xrTableCell2.Weight = 0.15329125338142469D;
//
// xrTableCell28
//
this.xrTableCell28.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.SupportConceptDetailList.ApprovedHoursPerWeek", "{0:0.00}")});
this.xrTableCell28.Name = "xrTableCell28";
this.xrTableCell28.Text = "xrTableCell28";
this.xrTableCell28.Weight = 0.090171325518485085D;
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail1,
this.DetailReport1});
this.DetailReport.DataMember = "EmployeeDetailList";
this.DetailReport.DataSource = this.bindingSource1;
this.DetailReport.Level = 0;
this.DetailReport.Name = "DetailReport";
//
// DetailReport1
//
this.DetailReport1.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail2,
this.GroupHeader2,
this.GroupFooter1});
this.DetailReport1.DataMember = "EmployeeDetailList.SupportConceptDetailList";
this.DetailReport1.DataSource = this.bindingSource1;
this.DetailReport1.Level = 0;
this.DetailReport1.Name = "DetailReport1";
//
// Detail2
//
this.Detail2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTableDetail});
this.Detail2.HeightF = 25F;
this.Detail2.Name = "Detail2";
//
// GroupHeader2
//
this.GroupHeader2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTableHeader});
this.GroupHeader2.HeightF = 40F;
this.GroupHeader2.Name = "GroupHeader2";
this.GroupHeader2.RepeatEveryPage = true;
//
// xrTableHeader
//
this.xrTableHeader.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableHeader.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold);
this.xrTableHeader.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTableHeader.Name = "xrTableHeader";
this.xrTableHeader.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableHeader.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRowHeader});
this.xrTableHeader.SizeF = new System.Drawing.SizeF(640F, 40F);
this.xrTableHeader.StylePriority.UseBorders = false;
this.xrTableHeader.StylePriority.UseFont = false;
this.xrTableHeader.StylePriority.UsePadding = false;
this.xrTableHeader.StylePriority.UseTextAlignment = false;
this.xrTableHeader.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrTableRowHeader
//
this.xrTableRowHeader.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell5,
this.xrTableCell4,
this.xrTableCell1,
this.xrTableCell9});
this.xrTableRowHeader.Name = "xrTableRowHeader";
this.xrTableRowHeader.Weight = 1.5999999999999996D;
//
// xrTableCell5
//
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrTableCell5.StylePriority.UsePadding = false;
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.Text = "Klient/in";
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell5.Weight = 0.18034264782021736D;
//
// xrTableCell4
//
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Text = "Zeitraum";
this.xrTableCell4.Weight = 0.15329125478030675D;
//
// xrTableCell1
//
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Text = "Kostenträger";
this.xrTableCell1.Weight = 0.15329125478030678D;
//
// xrTableCell9
//
this.xrTableCell9.Multiline = true;
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Text = "Bewilligt/Woche";
this.xrTableCell9.Weight = 0.090171325937473845D;
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable1});
this.GroupFooter1.HeightF = 60F;
this.GroupFooter1.Level = 1;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrTable1
//
this.xrTable1.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1});
this.xrTable1.SizeF = new System.Drawing.SizeF(639.9999F, 25F);
this.xrTable1.StylePriority.UseBorders = false;
this.xrTable1.StylePriority.UseFont = false;
this.xrTable1.StylePriority.UsePadding = false;
this.xrTable1.StylePriority.UseTextAlignment = false;
this.xrTable1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell35,
this.xrTableCell38,
this.xrTableCell6,
this.cellSollGesamt});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 1D;
//
// xrTableCell35
//
this.xrTableCell35.Name = "xrTableCell35";
this.xrTableCell35.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
this.xrTableCell35.StylePriority.UseFont = false;
this.xrTableCell35.StylePriority.UsePadding = false;
this.xrTableCell35.StylePriority.UseTextAlignment = false;
this.xrTableCell35.Text = "Gesamt";
this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell35.Weight = 0.18034254096455143D;
//
// xrTableCell38
//
this.xrTableCell38.Name = "xrTableCell38";
this.xrTableCell38.Weight = 0.15329111579090118D;
//
// xrTableCell6
//
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.Weight = 0.15329140580312939D;
//
// cellSollGesamt
//
this.cellSollGesamt.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.ApprovedHoursPerWeek", "{0:0.00}")});
this.cellSollGesamt.Name = "cellSollGesamt";
this.cellSollGesamt.Text = "cellSollGesamt";
this.cellSollGesamt.Weight = 0.090171342851318267D;
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.lblMonat});
this.ReportHeader.HeightF = 60F;
this.ReportHeader.Name = "ReportHeader";
//
// lblMonat
//
this.lblMonat.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ReportStartDate", "Auslastung {0:MMMM yy}")});
this.lblMonat.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.lblMonat.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.lblMonat.Multiline = true;
this.lblMonat.Name = "lblMonat";
this.lblMonat.SizeF = new System.Drawing.SizeF(676.9999F, 25F);
this.lblMonat.StyleName = "Title";
this.lblMonat.StylePriority.UseFont = false;
this.lblMonat.Text = "lblMonat";
//
// pageFooterBand1
//
this.pageFooterBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPageInfo2,
this.xrPageInfo1});
this.pageFooterBand1.HeightF = 48F;
this.pageFooterBand1.Name = "pageFooterBand1";
//
// xrPageInfo2
//
this.xrPageInfo2.Font = new System.Drawing.Font("Arial", 8F);
this.xrPageInfo2.Format = "Seite {0} von {1}";
this.xrPageInfo2.LocationFloat = new DevExpress.Utils.PointFloat(342.4169F, 25F);
this.xrPageInfo2.Name = "xrPageInfo2";
this.xrPageInfo2.SizeF = new System.Drawing.SizeF(297.5831F, 23F);
this.xrPageInfo2.StyleName = "PageInfo";
this.xrPageInfo2.StylePriority.UseFont = false;
this.xrPageInfo2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
//
// xrPageInfo1
//
this.xrPageInfo1.Font = new System.Drawing.Font("Arial", 8F);
this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 25F);
this.xrPageInfo1.Name = "xrPageInfo1";
this.xrPageInfo1.PageInfo = DevExpress.XtraPrinting.PageInfo.DateTime;
this.xrPageInfo1.SizeF = new System.Drawing.SizeF(287F, 23F);
this.xrPageInfo1.StyleName = "PageInfo";
this.xrPageInfo1.StylePriority.UseFont = false;
//
// Title
//
this.Title.BackColor = System.Drawing.Color.White;
this.Title.BorderColor = System.Drawing.SystemColors.ControlText;
this.Title.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.Title.BorderWidth = 1;
this.Title.Font = new System.Drawing.Font("Times New Roman", 24F);
this.Title.ForeColor = System.Drawing.Color.Black;
this.Title.Name = "Title";
//
// FieldCaption
//
this.FieldCaption.BackColor = System.Drawing.Color.White;
this.FieldCaption.BorderColor = System.Drawing.SystemColors.ControlText;
this.FieldCaption.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.FieldCaption.BorderWidth = 1;
this.FieldCaption.Font = new System.Drawing.Font("Times New Roman", 10F, System.Drawing.FontStyle.Bold);
this.FieldCaption.ForeColor = System.Drawing.Color.Black;
this.FieldCaption.Name = "FieldCaption";
//
// PageInfo
//
this.PageInfo.BackColor = System.Drawing.Color.White;
this.PageInfo.BorderColor = System.Drawing.SystemColors.ControlText;
this.PageInfo.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.PageInfo.BorderWidth = 1;
this.PageInfo.Font = new System.Drawing.Font("Times New Roman", 8F);
this.PageInfo.ForeColor = System.Drawing.Color.Black;
this.PageInfo.Name = "PageInfo";
//
// DataField
//
this.DataField.BackColor = System.Drawing.Color.White;
this.DataField.BorderColor = System.Drawing.SystemColors.ControlText;
this.DataField.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.DataField.BorderWidth = 1;
this.DataField.Font = new System.Drawing.Font("Times New Roman", 8F);
this.DataField.ForeColor = System.Drawing.SystemColors.ControlText;
this.DataField.Name = "DataField";
//
// fieldFLS
//
this.fieldFLS.DataMember = "FLSReportGroups";
this.fieldFLS.Expression = "[TotalFLM] / 60";
this.fieldFLS.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldFLS.Name = "fieldFLS";
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 50F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 30F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// fieldTotalSC
//
this.fieldTotalSC.DataMember = "EmployeeDetailList.SupportConceptDetailList";
this.fieldTotalSC.Expression = "[DirectIst]+[MittelbarIst]";
this.fieldTotalSC.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldTotalSC.Name = "fieldTotalSC";
//
// fieldTotalEmp
//
this.fieldTotalEmp.DataMember = "EmployeeDetailList";
this.fieldTotalEmp.Expression = "[DirectIst]+[MittelbarIst]";
this.fieldTotalEmp.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldTotalEmp.Name = "fieldTotalEmp";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterauslastungRO);
//
// Mitarbeiterauslastung
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.DetailReport,
this.ReportHeader,
this.pageFooterBand1,
this.topMarginBand1,
this.bottomMarginBand1});
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.fieldFLS,
this.fieldTotalSC,
this.fieldTotalEmp});
this.DataSource = this.bindingSource1;
this.Margins = new System.Drawing.Printing.Margins(100, 30, 50, 30);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.StyleSheet.AddRange(new DevExpress.XtraReports.UI.XRControlStyle[] {
this.Title,
this.FieldCaption,
this.PageInfo,
this.DataField});
this.Version = "13.1";
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
#endregion
private DevExpress.XtraReports.UI.DetailBand Detail;
private System.Windows.Forms.BindingSource bindingSource1;
private DevExpress.XtraReports.UI.DetailBand Detail1;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
private DevExpress.XtraReports.UI.XRLabel lblMonat;
private DevExpress.XtraReports.UI.PageFooterBand pageFooterBand1;
private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo2;
private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo1;
private DevExpress.XtraReports.UI.XRControlStyle Title;
private DevExpress.XtraReports.UI.XRControlStyle FieldCaption;
private DevExpress.XtraReports.UI.XRControlStyle PageInfo;
private DevExpress.XtraReports.UI.XRControlStyle DataField;
private DevExpress.XtraReports.UI.XRTable xrTableHeader;
private DevExpress.XtraReports.UI.XRTableRow xrTableRowHeader;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTable xrTableDetail;
private DevExpress.XtraReports.UI.XRTableRow xrTableRowDetail;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.CalculatedField fieldFLS;
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell19;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell28;
private DevExpress.XtraReports.UI.XRTable xrTable1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell35;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell38;
private DevExpress.XtraReports.UI.XRTableCell cellSollGesamt;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport1;
private DevExpress.XtraReports.UI.DetailBand Detail2;
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader2;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.CalculatedField fieldTotalSC;
private DevExpress.XtraReports.UI.CalculatedField fieldTotalEmp;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
}
}

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -76,6 +76,19 @@ namespace Fortis
public override XtraReport CreateServiceOverviewSingleCustomerReport(long customerOid, int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
{
var customer = DAOFactory.GenericDAO.LoadByID<Customer>(customerOid);
if (customer.Person.LastName.ToLower().Contains("test") || customer.Person.FirstName.ToLower().Contains("test"))
{
DateTime startDate = new DateTime(year, month, 1);
if (startDay == 1 && endDay == DateTime.DaysInMonth(year, month))
{
int months = 3;
var endDate = startDate.AddMonths(months);
endDay = (int)endDate.Subtract(startDate).TotalDays;
}
}
var ro = ServicesOverviewRO.Create(customerOid, month, year, false, orgaOid, empOid, startDay, endDay, serviceCategoryOid);
return CreateServicesOverviewReportForRo(ro, serviceCategoryOid);

View File

@@ -91,6 +91,7 @@ namespace Fortis
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell49 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
@@ -123,11 +124,14 @@ namespace Fortis
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
this.Dauer = new DevExpress.XtraReports.UI.CalculatedField();
this.True = new DevExpress.XtraReports.UI.FormattingRule();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
@@ -715,7 +719,7 @@ namespace Fortis
this.xrTableCell38.StylePriority.UseBorders = false;
this.xrTableCell38.StylePriority.UseFont = false;
this.xrTableCell38.StylePriority.UseTextAlignment = false;
this.xrTableCell38.Text = "KL";
this.xrTableCell38.Text = "LiA";
this.xrTableCell38.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell38.Weight = 0.12290502352575627D;
//
@@ -843,6 +847,10 @@ namespace Fortis
this.xrTableCell49.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell49.Weight = 0.13966474814693633D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
//
// formattingRuleStartDate
//
this.formattingRuleStartDate.Condition = "[StartDate2] < [StartDate]";
@@ -853,11 +861,15 @@ namespace Fortis
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel8,
this.xrLabel7,
this.xrLabel6,
this.xrLabel5,
this.xrLabel3,
this.xrLabel2,
this.xrLabel1,
this.xrLabel4});
this.ReportHeader.HeightF = 74.33334F;
this.ReportHeader.HeightF = 157.6667F;
this.ReportHeader.Name = "ReportHeader";
//
// xrLabel3
@@ -1235,9 +1247,82 @@ namespace Fortis
//
this.True.Name = "True";
//
// bindingSource1
// xrLabel5
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
this.xrLabel5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(217)))), ((int)(((byte)(102)))));
this.xrLabel5.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel5.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(484.5138F, 0F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(405.7206F, 61.00006F);
this.xrLabel5.StylePriority.UseBackColor = false;
this.xrLabel5.StylePriority.UseBorders = false;
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.StylePriority.UsePadding = false;
this.xrLabel5.StylePriority.UseTextAlignment = false;
this.xrLabel5.Text = "Personenbezogene Leistungen im Einzelkontakt oder als gemeinschaftliche Inanspruc" +
"hnahmenach §7 Abs. 5 Nr. 1 LV: Direkte Leistung";
this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrLabel6
//
this.xrLabel6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(230)))), ((int)(((byte)(153)))));
this.xrLabel6.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel6.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(484.5138F, 61.00006F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(31.55F, 20F);
this.xrLabel6.StylePriority.UseBackColor = false;
this.xrLabel6.StylePriority.UseBorders = false;
this.xrLabel6.StylePriority.UseFont = false;
this.xrLabel6.StylePriority.UsePadding = false;
this.xrLabel6.StylePriority.UseTextAlignment = false;
this.xrLabel6.Text = "H";
this.xrLabel6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// xrLabel7
//
this.xrLabel7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(242)))), ((int)(((byte)(204)))));
this.xrLabel7.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel7.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(516.0637F, 61.00006F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(280.004F, 20F);
this.xrLabel7.StylePriority.UseBackColor = false;
this.xrLabel7.StylePriority.UseBorders = false;
this.xrLabel7.StylePriority.UseFont = false;
this.xrLabel7.StylePriority.UsePadding = false;
this.xrLabel7.StylePriority.UseTextAlignment = false;
this.xrLabel7.Text = "Hausbesuch";
this.xrLabel7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel8
//
this.xrLabel8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(242)))), ((int)(((byte)(204)))));
this.xrLabel8.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel8.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(516.0637F, 81.00006F);
this.xrLabel8.Name = "xrLabel8";
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrLabel8.SizeF = new System.Drawing.SizeF(355.8374F, 20.00001F);
this.xrLabel8.StylePriority.UseBackColor = false;
this.xrLabel8.StylePriority.UseBorders = false;
this.xrLabel8.StylePriority.UseFont = false;
this.xrLabel8.StylePriority.UsePadding = false;
this.xrLabel8.StylePriority.UseTextAlignment = false;
this.xrLabel8.Text = "Kontakt mit Leistungsberechtigten in der Dienststelle";
this.xrLabel8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// Quittierungsbeleg
//
@@ -1267,8 +1352,8 @@ namespace Fortis
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
@@ -1358,5 +1443,9 @@ namespace Fortis
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
}
}

View File

@@ -22,7 +22,7 @@ namespace Fortis
{
if (pRO.Services != null)
{
Dictionary<int, FortisServiceRecord> tag2Details = new Dictionary<int, FortisServiceRecord>();
Dictionary<String, FortisServiceRecord> tag2Details = new Dictionary<String, FortisServiceRecord>();
foreach (var sr in pRO.Services)
{
@@ -32,14 +32,14 @@ namespace Fortis
}
FortisServiceRecord fsr = null;
if (!tag2Details.ContainsKey(sr.StartDate.Day))
if (!tag2Details.ContainsKey(String.Format("{0:yyyyMMdd}", sr.StartDate)))
{
fsr = new FortisServiceRecord();
tag2Details.Add(sr.StartDate.Day, fsr);
tag2Details.Add(String.Format("{0:yyyyMMdd}", sr.StartDate), fsr);
}
else
{
fsr = tag2Details[sr.StartDate.Day];
fsr = tag2Details[String.Format("{0:yyyyMMdd}", sr.StartDate)];
}
if (sr.ServiceDescription.Contains("Wohnraum"))
@@ -92,15 +92,16 @@ namespace Fortis
List<ServicesOverviewRO.ServiceDetail> newServices = new List<ServicesOverviewRO.ServiceDetail>();
for (int i = pRO.StartDate.Day; i <= pRO.EndDate.Day; i++)
DateTime dt = pRO.StartDate;
while (dt <= pRO.EndDate)
{
if (tag2Details.ContainsKey(i))
String key = String.Format("{0:yyyyMMdd}", dt);
if (tag2Details.ContainsKey(key))
{
var fsr = tag2Details[i];
var fsr = tag2Details[key];
var sr = new ServicesOverviewRO.ServiceDetail();
sr.StartDate = new DateTime(pRO.StartDate.Year, pRO.StartDate.Month, i);
sr.StartDate = dt;
//H Hausbesuch = Notice
//B Begleitung im Sozialraum = Notice2
@@ -159,6 +160,8 @@ namespace Fortis
newServices.Add(sr);
}
dt = dt.AddDays(1);
}
pRO.Services = newServices;

View File

@@ -861,7 +861,7 @@ namespace Fortis
this.xrLabel2,
this.xrLabel1,
this.xrLabel4});
this.ReportHeader.HeightF = 74.33334F;
this.ReportHeader.HeightF = 186F;
this.ReportHeader.Name = "ReportHeader";
//
// xrLabel3

View File

@@ -561,7 +561,7 @@ namespace LebenshilfeFrankfurtOder
var invoices3 = CreateAbrechnungHortbetreuung(start, start.AddMonths(1).AddTicks(-1), customerOid, serviceCategoryOid);
invoices.AddRange(invoices3);
}
if (cat != null && cat.Name.Contains("EFH Pool"))
if (cat != null && cat.Name.Contains("Pool"))
{
var invoices4 = CreateAbrechnungSbdPool(start, start.AddMonths(1).AddTicks(-1), customerOid, serviceCategoryOid);
invoices.AddRange(invoices4);
@@ -1291,7 +1291,7 @@ namespace LebenshilfeFrankfurtOder
{
var invoicePeriod = new DateTimeSpan(start, end);
IList<CompactSupportConceptDC> supportConcepts = GetSupportConcepts(start, end, "Familienentlastender Dienst", "efh pool", customerOid);
IList<CompactSupportConceptDC> supportConcepts = GetSupportConcepts(start, end, "Familienentlastender Dienst", "pool", customerOid);
var supportConcepts2ServiceRecords = new Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>>();

View File

@@ -308,7 +308,7 @@ namespace LebenshilfeFrankfurtOder.Invoicing
{
String name = scap.ServiceCategory.Name.ToLower().Trim();
if (name.Contains("efh pool"))
if (name.Contains("pool"))
{
tsc.SupportConceptApprovalPeriod = scap;
//leistungstyp = name;

View File

@@ -0,0 +1,46 @@
using BeWo.Data.Entities;
using BS.Shared.DataContracts;
namespace BeWo.Service.DCEntityMapper
{
public class AdditionalServiceNoticeDC_AdditionalServiceNotice : AbstractIDCEntityMapper<AdditionalServiceNotice, AdditionalServiceNoticeDC>
{
public override AdditionalServiceNoticeDC MergeWithDC(AdditionalServiceNotice pEntity, AdditionalServiceNoticeDC pDataContract)
{
pDataContract.Oid = pEntity.Oid;
pDataContract.Version = pEntity.Version;
pDataContract.RegionOid = pEntity.RegionOid;
pDataContract.CustomerOid = pEntity.CustomerOid;
pDataContract.Monat = pEntity.Monat;
pDataContract.Notice = pEntity.Notice;
pDataContract.InsUser = pEntity.InsUser;
return pDataContract;
}
public override AdditionalServiceNotice MergeWithEntity(AdditionalServiceNoticeDC pDataContract, AdditionalServiceNotice pEntity)
{
this.ConcurrencyCheck(pDataContract.Version, pEntity);
pEntity.Oid = pDataContract.Oid;
pEntity.RegionOid = pDataContract.RegionOid;
pEntity.CustomerOid = pDataContract.CustomerOid;
pEntity.Monat = pDataContract.Monat;
pEntity.Notice = pDataContract.Notice;
return pEntity;
}
protected override bool AreDCAndEntityEqual(AdditionalServiceNoticeDC pDC, AdditionalServiceNotice pEntity)
{
if (pDC.Oid == null)
{
return false;
}
return pDC.Oid == pEntity.Oid;
}
}
}

View File

@@ -204,6 +204,8 @@ namespace BeWo.Service.DCEntityMapper
private static AdditionalServiceBookingDC_AdditionalServiceBooking _AdditionalServiceBookingDC_AdditionalServiceBooking;
private static AdditionalServiceNoticeDC_AdditionalServiceNotice _AdditionalServiceNoticeDC_AdditionalServiceNotice;
private static SupportPinDC_SupportPin _SupportPinDC_SupportPin;
private static OvertimeDC_Overtime _OvertimeDC_Overtime;
@@ -382,6 +384,10 @@ namespace BeWo.Service.DCEntityMapper
(_AdditionalServiceGroupOfPeopleCD_AdditionalServiceGroupOfPeople =
new AdditionalServiceGroupOfPeopleCD_AdditionalServiceGroupOfPeople());
public static AdditionalServiceNoticeDC_AdditionalServiceNotice AdditionalServiceNoticeDC_AdditionalServiceNotice =>
_AdditionalServiceNoticeDC_AdditionalServiceNotice ??
(_AdditionalServiceNoticeDC_AdditionalServiceNotice = new AdditionalServiceNoticeDC_AdditionalServiceNotice());
public static ContractDC_Contract ContractDC_Contract =>
_ContractDC_Contract ?? (_ContractDC_Contract = new ContractDC_Contract());

View File

@@ -19,6 +19,7 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.Notice = pEntity.Notice;
pDataContract.OvertimeOid = pEntity.Oid;
pDataContract.OvertimeVersion = pEntity.Version;
pDataContract.InsUser = pEntity.InsUser;
return pDataContract;
}

View File

@@ -353,5 +353,17 @@ namespace BeWo.Service.Plugins
copyItem.ServiceRecord = existingItem.ServiceRecord;
}
}
public virtual Settlement2DC ErstelleDifferenzSpitzabrechnung(Settlement2DC neueRechnung, Settlement2DC letzteRechnung)
{
var diff = neueRechnung.Claim - letzteRechnung.Claim;
var ii = new InvoiceItemDC();
neueRechnung.Claim = diff;
neueRechnung.InvoiceItems = new List<InvoiceItemDC>();
neueRechnung.InvoiceItems.Add(ii);
return neueRechnung;
}
}
}

View File

@@ -70,7 +70,7 @@ namespace BeWo.Service.Plugins
//t = "5351926758"; // Viva a Vida
//t = "2215396183"; // Diakonie Remscheid Lennep
//t = "5157599087"; // SHG Schwerte
//t = "4526293996"; // Fortis
t = "4526293996"; // Fortis
//t = "3647969417"; // Caritas Bottrop
//t = "3057313346"; // SSB Mainz
//t = "6246287823"; // BeWo Alsdorf
@@ -147,7 +147,7 @@ namespace BeWo.Service.Plugins
//t = "9975231461"; // Selwo
//t = "8181286349"; // BeWo am Rhein
//t = "4595275645"; // Eigenständig
t = "7912635399"; // Prof. Dr. Eggers Stiftung
//t = "7912635399"; // Prof. Dr. Eggers Stiftung
//t = "3549726254"; // Socia
//t = "1992495802"; // Monvita
//t = "7381352241"; // Ressource e.V.
@@ -232,7 +232,7 @@ namespace BeWo.Service.Plugins
//t = "2141858509"; // INKOMM GmbH
//t = "8975059766"; // Quer-Fällt-Ein
//t = "8928179244"; // ASB Ruhr e.V. Regionalverband
t = "4423043131"; // Die Perspektive e.V.
//t = "4423043131"; // Die Perspektive e.V.
//t = "5263375280"; // LH Wolfsburg
//t = "4900722829"; // Evangelische Kirchengemeinde Bottrop
//t = "9853685258"; // Input

View File

@@ -223,6 +223,7 @@
<Compile Include="DCEntityMapper\ConfirmationReceiptSignatureDC_ConfirmationReceiptSignature.cs" />
<Compile Include="DCEntityMapper\DienstvertretungDC_Dienstvertretung.cs" />
<Compile Include="DCEntityMapper\DokumentvorlageDC_Dokumentvorlage.cs" />
<Compile Include="DCEntityMapper\AdditionalServiceNoticeDC_AdditionalServiceNotice.cs" />
<Compile Include="DCEntityMapper\GeschenkterUrlaubstagDC_GeschenkterUrlaubstag.cs" />
<Compile Include="DCEntityMapper\PreisDC_Preis.cs" />
<Compile Include="DCEntityMapper\QuittierungsbelegsstatusDC_Quittierungsbelegsstatus.cs" />

View File

@@ -82,6 +82,10 @@ namespace BeWo.Service.ServiceContracts
[OperationContract]
Settlement2DC GenerateInitialSettlementDC(long pCostBearer2SupportConceptOid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
Settlement2DC GenerateDifferenzSettlementDC(long pCostBearer2SupportConceptOid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
Settlement2DC GenerateInitialSettlementDCForPeriod(long pCostBearer2SupportConceptOid, DateTime? periodStart, DateTime? periodEnd);
@@ -373,6 +377,14 @@ namespace BeWo.Service.ServiceContracts
[OperationContract]
List<AdditionalServiceBookingDC> GetAllAdditionalServiceBookings(long? regionOid, DateTime start, DateTime end);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<AdditionalServiceNoticeDC> GetAdditionalServiceNoticeList(long? regionOid, DateTime start, DateTime end);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<AdditionalServiceNoticeDC> UpdateAdditionalServiceNoticeList(List<AdditionalServiceNoticeDC> additionalServiceNoticeList);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<long> InsertNewAdditionalServiceBookings(List<AdditionalServiceBookingDC> pAdditionalServiceBookings);
@@ -385,6 +397,10 @@ namespace BeWo.Service.ServiceContracts
[OperationContract]
void DeleteAdditionalServiceBookings(Dictionary<long, long> pOid2Version);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void RemoveAdditionalServiceCustomer(List<long> customerOids, long? regionOid, DateTime monat);
[FaultContract(typeof (BeWoFault))]
[OperationContract]
long InsertNewAdditionalServiceRegion(AdditionalServiceRegionDC pAdditionalServiceRegionDC);

View File

@@ -415,6 +415,33 @@ namespace BeWo.Service.ServiceImplementations
.ToList();
}
public Settlement2DC GenerateDifferenzSettlementDC(long pCostBearer2SupportConceptOid)
{
try
{
var newInvoice = GenerateInitialSettlementDC(pCostBearer2SupportConceptOid);
var existingInvoices = DAOFactory.SearchDAO.GetSettlementInvoiceByCostBearer2SupportConceptOid(pCostBearer2SupportConceptOid);
if (existingInvoices.Count == 0) //Sollte eigentlich nicht sein
{
return newInvoice;
}
var juengsteRechnung = existingInvoices.OrderByDescending(i => i.InvoiceBase.AccountingPeriodEnd).First();
var acs = PluginLoader.FindClass<AccountingService>();
return acs.ErstelleDifferenzSpitzabrechnung(newInvoice, MapperFactory.SettlementDC_SettlementInvoice.MapToNewDC(juengsteRechnung));
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public List<AccountingTransactionDC> GetAccountingTransactions(DateTimeSpan pSpan, long? pSupportConceptOid, long? pSupportConceptCostBearerRelOid)
{
try
@@ -1721,6 +1748,45 @@ namespace BeWo.Service.ServiceImplementations
}
}
public void RemoveAdditionalServiceCustomer(List<long> customerOids, long? regionOid, DateTime monat)
{
try
{
foreach (var oid in customerOids)
{
var bookings = DAOFactory.SearchDAO.GetAdditionalServiceBookingsForCustomer(oid, monat, monat.AddMonths(1).AddDays(-1));
foreach (var item in bookings)
{
if (item.AdditionalServiceRegion.Oid == regionOid)
{
var entries2Delete = new List<Customer2AddServiceBooking>();
foreach (var c2a in item.Customer2AddServiceBookings)
{
if (c2a.CustomerOid == oid)
{
entries2Delete.Add(c2a);
}
}
item.Customer2AddServiceBookings.RemoveRange(entries2Delete);
DAOFactory.GenericDAO.Update(item);
}
}
}
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public void UpdateAdditionalServiceGroupOfPeopleRelations(List<AdditionalServiceGroupOfPeopleRelationDC> pAdditionalServiceGroupOfPeopleRelations)
{
try
@@ -1739,8 +1805,27 @@ namespace BeWo.Service.ServiceImplementations
{
try
{
List<AdditionalServiceBooking> lOriginals = DAOFactory.GenericDAO.LoadByIDs<AdditionalServiceBooking>(pAdditionalServiceBookings.Select(dc => dc.AdditionalServiceBookingOid.Value));
MapperFactory.AdditionalServiceBookingDC_AdditionalServiceBooking.MergeWithEntitys(pAdditionalServiceBookings, lOriginals);
//Bugfix: die AdditionalServiceBookingList enthält manchmal mehrere Objekte mit gleicher OID
//var distinctDcs = pAdditionalServiceBookings.Distinct().ToList();
var distinctDcs = new List<AdditionalServiceBookingDC>();
var dict = new Dictionary<long, bool>();
foreach (var item in pAdditionalServiceBookings)
{
if (!item.AdditionalServiceBookingOid.HasValue)
{
distinctDcs.Add(item);
}
else if (!dict.ContainsKey(item.AdditionalServiceBookingOid.Value))
{
distinctDcs.Add(item);
dict.Add(item.AdditionalServiceBookingOid.Value, true);
}
}
List<AdditionalServiceBooking> lOriginals = DAOFactory.GenericDAO.LoadByIDs<AdditionalServiceBooking>(distinctDcs.Select(dc => dc.AdditionalServiceBookingOid.Value));
MapperFactory.AdditionalServiceBookingDC_AdditionalServiceBooking.MergeWithEntitys(distinctDcs, lOriginals);
DAOFactory.GenericDAO.Update(lOriginals);
var entries2Update = new List<AssessmentSheetEntry>();
@@ -2503,6 +2588,49 @@ namespace BeWo.Service.ServiceImplementations
}
}
public List<AdditionalServiceNoticeDC> GetAdditionalServiceNoticeList(long? regionOid, DateTime start, DateTime end)
{
try
{
var result =
MapperFactory.AdditionalServiceNoticeDC_AdditionalServiceNotice.MapToNewDCs(
DAOFactory.SearchDAO.GetAdditionalServiceNoticeList(regionOid, start, end)).ToList();
return result;
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public List<AdditionalServiceNoticeDC> UpdateAdditionalServiceNoticeList(List<AdditionalServiceNoticeDC> additionalServiceNoticeList)
{
try
{
var newDcs = additionalServiceNoticeList.Where(dc => !dc.Oid.HasValue);
var newEntities = MapperFactory.AdditionalServiceNoticeDC_AdditionalServiceNotice.MapToNewEntities(newDcs);
DAOFactory.GenericDAO.Insert(newEntities);
var existingNotices = additionalServiceNoticeList.Where(dc => dc.Oid.HasValue).ToList();
List<AdditionalServiceNotice> originals = DAOFactory.GenericDAO.LoadByIDs<AdditionalServiceNotice>(existingNotices.Select(dc => dc.Oid.Value));
MapperFactory.AdditionalServiceNoticeDC_AdditionalServiceNotice.MergeWithEntitys(existingNotices, originals);
DAOFactory.GenericDAO.Update(originals);
var result = MapperFactory.AdditionalServiceNoticeDC_AdditionalServiceNotice.MapToNewDCs(originals);
result.AddRange(MapperFactory.AdditionalServiceNoticeDC_AdditionalServiceNotice.MapToNewDCs(newEntities));
return result;
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public Dictionary<ServiceRecordDC, List<ServiceRecordValidationResult>> ValidateGroupServiceRecordEntry(ServiceRecordDC pServiceRecord, List<ServiceRecordDC> groupServiceRecords, List<CompactEmployeeDC> employees, DateTime? date, int maxDaysEditServiceRecordsAllowed, decimal flsTotalRounded, out Dictionary<long, string> overlappingRecords, out Dictionary<long, string> overlappingEmployees)
{
var validator = PluginLoader.FindClass<ServiceRecordValidator>();
@@ -4943,7 +5071,7 @@ namespace BeWo.Service.ServiceImplementations
// multiPartContent.Add(new StringContent(chatcode + ""), "chatcode");
// multiPartContent.Add(new StringContent(login + ""), "login");
// multiPartContent.Add(new StringContent(password + ""), "password");
// multiPartContent.Add(new StringContent("https://support.bewoplaner.de/bewoplaner_logo_big.png"), "custom_logo_url");
// multiPartContent.Add(new StringContent("https://support.bewoplaner.de/bewoplaner_logo_small.png"), "custom_logo_url");
// httpRequest = new HttpRequestMessage();
// httpRequest.Method = HttpMethod.Post;
@@ -4974,7 +5102,7 @@ namespace BeWo.Service.ServiceImplementations
//dic.Add("chatcode", "Hier ChatCode");
//dic.Add("login", "hier benutzername");
//dic.Add("password", "hier passwort");
//dic.Add("custom_logo_url", "https://support.bewoplaner.de/bewoplaner_logo_big.png");
//dic.Add("custom_logo_url", "https://support.bewoplaner.de/bewoplaner_logo_small.png");
//string postdaten = "";
//foreach (var key in dic.Keys)

View File

@@ -167,7 +167,8 @@ namespace BS.Shared
ContractHistory = 160,
ErrorMessage = 161,
AddressRoute = 162,
ValidationMessage = 163
ValidationMessage = 163,
AdditionalServiceNotice = 164
}
public enum SystemEntryID

View File

@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
namespace BS.Shared.DataContracts
{
[DataContract]
public class AdditionalServiceNoticeDC : IDataContract
{
[DataMember]
public long? Oid { get; set; }
[DataMember]
public long? Version { get; set; }
[DataMember]
public long? RegionOid { get; set; }
[DataMember]
public long? CustomerOid { get; set; }
[DataMember]
public DateTime Monat { get; set; }
[DataMember]
public string Notice { get; set; }
[DataMember]
public string InsUser { get; set; }
}
}

View File

@@ -69,7 +69,7 @@ namespace BS.Shared.DataContracts
public virtual decimal? GetHoursInBE(decimal? hours)
{
decimal? crv = this.CostRateValue;
if (!crv.HasValue)
if (!crv.HasValue || crv.Value == 0)
crv = 60;
return (hours * 60m) / crv.Value;
@@ -86,7 +86,7 @@ namespace BS.Shared.DataContracts
public virtual decimal? GetMinutesInBE(decimal? minutes)
{
decimal? crv = this.CostRateValue;
if (!crv.HasValue)
if (!crv.HasValue || crv.Value == 0)
crv = 60;
return minutes / crv.Value;
@@ -95,7 +95,7 @@ namespace BS.Shared.DataContracts
public virtual decimal GetMinutesInBE(decimal minutes)
{
decimal? crv = this.CostRateValue;
if (!crv.HasValue)
if (!crv.HasValue || crv.Value == 0)
crv = 60;
return minutes / crv.Value;
}

View File

@@ -26,5 +26,8 @@ namespace BS.Shared.DataContracts
[DataMember]
public decimal Betrag { get; set; }
[DataMember]
public String InsUser { get; set; }
}
}

View File

@@ -171,6 +171,7 @@
<Compile Include="DataContracts\DienstZeileDC.cs" />
<Compile Include="DataContracts\DocumentTreeItemDC.cs" />
<Compile Include="DataContracts\DokumentvorlageDC.cs" />
<Compile Include="DataContracts\AdditionalServiceNoticeDC.cs" />
<Compile Include="DataContracts\GeschenkterUrlaubstagDC.cs" />
<Compile Include="DataContracts\GoalRatingDC.cs" />
<Compile Include="DataContracts\PlatzhalterDC.cs" />