cb: Reports, bugfixing etc.

This commit is contained in:
Christian
2020-11-25 11:40:05 +01:00
parent 5a73dfa487
commit 64ab1519d8
69 changed files with 6319 additions and 4413 deletions

View File

@@ -411,6 +411,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LebenshilfeFrankfurtOder",
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BeWoImFlow", "ReportImp\BeWoImFlow\BeWoImFlow.csproj", "{1D106ED2-9E3C-4F22-8083-188BC11D4A5B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NahDran", "ReportImp\NahDran\NahDran.csproj", "{57B95F8E-BF79-4106-AE98-C9B14CE949BA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ApiBerlin", "ReportImp\ApiBerlin\ApiBerlin.csproj", "{B4E9D5AF-7B46-47F8-B918-052D341A378B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -3082,6 +3086,38 @@ Global
{1D106ED2-9E3C-4F22-8083-188BC11D4A5B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{1D106ED2-9E3C-4F22-8083-188BC11D4A5B}.Release|x86.ActiveCfg = Release|Any CPU
{1D106ED2-9E3C-4F22-8083-188BC11D4A5B}.Release|x86.Build.0 = Release|Any CPU
{57B95F8E-BF79-4106-AE98-C9B14CE949BA}.Debug|.NET.ActiveCfg = Debug|Any CPU
{57B95F8E-BF79-4106-AE98-C9B14CE949BA}.Debug|.NET.Build.0 = Debug|Any CPU
{57B95F8E-BF79-4106-AE98-C9B14CE949BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{57B95F8E-BF79-4106-AE98-C9B14CE949BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{57B95F8E-BF79-4106-AE98-C9B14CE949BA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{57B95F8E-BF79-4106-AE98-C9B14CE949BA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{57B95F8E-BF79-4106-AE98-C9B14CE949BA}.Debug|x86.ActiveCfg = Debug|Any CPU
{57B95F8E-BF79-4106-AE98-C9B14CE949BA}.Debug|x86.Build.0 = Debug|Any CPU
{57B95F8E-BF79-4106-AE98-C9B14CE949BA}.Release|.NET.ActiveCfg = Release|Any CPU
{57B95F8E-BF79-4106-AE98-C9B14CE949BA}.Release|.NET.Build.0 = Release|Any CPU
{57B95F8E-BF79-4106-AE98-C9B14CE949BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{57B95F8E-BF79-4106-AE98-C9B14CE949BA}.Release|Any CPU.Build.0 = Release|Any CPU
{57B95F8E-BF79-4106-AE98-C9B14CE949BA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{57B95F8E-BF79-4106-AE98-C9B14CE949BA}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{57B95F8E-BF79-4106-AE98-C9B14CE949BA}.Release|x86.ActiveCfg = Release|Any CPU
{57B95F8E-BF79-4106-AE98-C9B14CE949BA}.Release|x86.Build.0 = Release|Any CPU
{B4E9D5AF-7B46-47F8-B918-052D341A378B}.Debug|.NET.ActiveCfg = Debug|Any CPU
{B4E9D5AF-7B46-47F8-B918-052D341A378B}.Debug|.NET.Build.0 = Debug|Any CPU
{B4E9D5AF-7B46-47F8-B918-052D341A378B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B4E9D5AF-7B46-47F8-B918-052D341A378B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B4E9D5AF-7B46-47F8-B918-052D341A378B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{B4E9D5AF-7B46-47F8-B918-052D341A378B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{B4E9D5AF-7B46-47F8-B918-052D341A378B}.Debug|x86.ActiveCfg = Debug|Any CPU
{B4E9D5AF-7B46-47F8-B918-052D341A378B}.Debug|x86.Build.0 = Debug|Any CPU
{B4E9D5AF-7B46-47F8-B918-052D341A378B}.Release|.NET.ActiveCfg = Release|Any CPU
{B4E9D5AF-7B46-47F8-B918-052D341A378B}.Release|.NET.Build.0 = Release|Any CPU
{B4E9D5AF-7B46-47F8-B918-052D341A378B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B4E9D5AF-7B46-47F8-B918-052D341A378B}.Release|Any CPU.Build.0 = Release|Any CPU
{B4E9D5AF-7B46-47F8-B918-052D341A378B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{B4E9D5AF-7B46-47F8-B918-052D341A378B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{B4E9D5AF-7B46-47F8-B918-052D341A378B}.Release|x86.ActiveCfg = Release|Any CPU
{B4E9D5AF-7B46-47F8-B918-052D341A378B}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -3283,6 +3319,8 @@ Global
{FE709CF1-6579-4A69-8E43-5C3BF7BD96D7} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{B9CBB680-9D7A-47C9-8FE5-C9D1DFDB6F99} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{1D106ED2-9E3C-4F22-8083-188BC11D4A5B} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{57B95F8E-BF79-4106-AE98-C9B14CE949BA} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{B4E9D5AF-7B46-47F8-B918-052D341A378B} = {D8A691C5-146D-4613-86CC-438F02FE9106}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}

View File

@@ -536,7 +536,7 @@ namespace BeWo
#if DEBUG
url = String.Format("http://localhost:3777/Host");
//return new Uri("https://app4.bewoplaner.de/servicesbd");
//return new Uri("https://app4.bewoplaner.de/service");
//url = String.Format("app1.bewoplaner.de/service");
#endif

View File

@@ -260,7 +260,9 @@ namespace BeWo
ServicePointManager.ServerCertificateValidationCallback = PinPublicKey;
}
private static String PUB_KEY = "3082010A02820101009CD30CF05AE52E47B7725D3783B3686330EAD735261925E1BDBE35F170922FB7B84B4105ABA99E350858ECB12AC468870BA3E375E4E6F3A76271BA7981601FD7919A9FF3D0786771C8690E9591CFFEE699E9603C48CC7ECA4D7712249D471B5AEBB9EC1E37001C9CAC7BA705EACE4AEBBD41E53698B9CBFD6D3C9668DF232A42900C867467C87FA59AB8526114133F65E98287CBDBFA0E56F68689F3853F9786AFB0DC1AEF6B0D95167DC42BA065B299043675806BAC4AF31B9049782FA2964F2A20252904C674C0D031CD8F31389516BAA833B843F1B11FC3307FA27931133D2D36F8E3FCF2336AB93931C5AFC48D0D1D641633AAFA8429B6D40BC0D87DC3930203010001";
private static String PUB_KEY_X3 = "3082010A02820101009CD30CF05AE52E47B7725D3783B3686330EAD735261925E1BDBE35F170922FB7B84B4105ABA99E350858ECB12AC468870BA3E375E4E6F3A76271BA7981601FD7919A9FF3D0786771C8690E9591CFFEE699E9603C48CC7ECA4D7712249D471B5AEBB9EC1E37001C9CAC7BA705EACE4AEBBD41E53698B9CBFD6D3C9668DF232A42900C867467C87FA59AB8526114133F65E98287CBDBFA0E56F68689F3853F9786AFB0DC1AEF6B0D95167DC42BA065B299043675806BAC4AF31B9049782FA2964F2A20252904C674C0D031CD8F31389516BAA833B843F1B11FC3307FA27931133D2D36F8E3FCF2336AB93931C5AFC48D0D1D641633AAFA8429B6D40BC0D87DC3930203010001";
private static String PUB_KEY_R3 = "3082010A0282010100BB021528CCF6A094D30F12EC8D5592C3F882F199A67A4288A75D26AAB52BB9C54CB1AF8E6BF975C8A3D70F4794145535578C9EA8A23919F5823C42A94E6EF53BC32EDB8DC0B05CF35938E7EDCF69F05A0B1BBEC094242587FA3771B313E71CACE19BEFDBE43B45524596A9C153CE34C852EEB5AEED8FDE6070E2A554ABB66D0E97A540346B2BD3BC66EB66347CFA6B8B8F572999F830175DBA726FFB81C5ADD286583D17C7E709BBF12BF786DCC1DA715DD446E3CCAD25C188BC60677566B3F118F7A25CE653FF3A88B647A5FF1318EA9809773F9D53F9CF01E5F5A6701714AF63A4FF99B3939DDC53A706FE48851DA169AE2575BB13CC5203F5ED51A18BDB150203010001";
@@ -269,21 +271,20 @@ namespace BeWo
{
try
{
if (null == certificate || chain == null)
if (certificate == null || chain == null)
return false;
;
bool chainContainsPk = false;
foreach (var element in chain.ChainElements)
{
String pk = element.Certificate.GetPublicKeyString();
if (pk == PUB_KEY)
if (pk == PUB_KEY_X3 || pk == PUB_KEY_R3)
{
chainContainsPk = true;
}
}
//bool subjectAccepted = Regex.IsMatch(certificate.Subject, @"app[\d]*.bewoplaner.de");
bool subjectAccepted = certificate.Subject.Trim().ToLower().EndsWith(".bewoplaner.de") ||
certificate.Subject.Trim().ToLower().EndsWith(".ownchat.de");
return chainContainsPk && subjectAccepted;

View File

@@ -192,7 +192,7 @@ namespace BeWo.Scheduler.View
private void InitRights()
{
var darfKlientenAnsehen = BeWoUtils.HasRight(UserRightType.CustomerView_View);
var darfKlientenAnsehen = BeWoUtils.HasRight(UserRightType.CustomerView_View) || BeWoUtils.HasRight(UserRightType.Customer_ViewMyTeams) || BeWoUtils.HasRight(UserRightType.Customer_ViewMyCustomers);
var darfKliententermineAnlegen = BeWoUtils.HasRight(UserRightType.KalenderKliententermineAnlegen);
var darfKliententermineAendern = BeWoUtils.HasRight(UserRightType.KalenderKliententermineAendern);
@@ -202,9 +202,6 @@ namespace BeWo.Scheduler.View
var darfRessourcentermineAnlegen = BeWoUtils.HasRight(UserRightType.KalenderRessourcentermineAnlegen);
var darfRessourcentermineAendern = BeWoUtils.HasRight(UserRightType.KalenderRessourcentermineAendern);
var darfAllesAnsehen = BeWoUtils.HasRight(UserRightType.ViewAll);
var darfAllesAendern = BeWoUtils.HasRight(UserRightType.EditAll);
var darfAllesLoeschen = BeWoUtils.HasRight(UserRightType.DeleteAll);
if(IsNew && !darfKliententermineAnlegen)
{

View File

@@ -108,7 +108,11 @@
<dxe:TextEditSettings MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" MaskShowPlaceHolders="True" MaskUseAsDisplayFormat="True" ValidateOnEnterKeyPressed="True" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Reason" Header="Kategorie" AllowBestFit="True" />
<dxg:GridColumn FieldName="Reason" Header="Kategorie" AllowBestFit="True">
<dxg:GridColumn.EditSettings>
<dxe:ComboBoxEditSettings x:Name="AbsenceReasonComboBox"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Notice" Header="Erläuterung" AllowBestFit="True" />
</dxg:GridControl.Columns>
<dxg:GridControl.View>

View File

@@ -9,7 +9,18 @@ namespace BeWo.View.Detail
{
public partial class AbsenceTimesView
{
public static readonly DependencyProperty AbsenceTimesDependency = DependencyProperty.Register("AbsenceTimes", typeof(AbsenceTimeListVM), typeof(AbsenceTimesView), new PropertyMetadata(null));
public static readonly DependencyProperty AbsenceTimesDependency = DependencyProperty.Register("AbsenceTimes", typeof(AbsenceTimeListVM), typeof(AbsenceTimesView), new UIPropertyMetadata(AbsenceTimesChanged));
private static void AbsenceTimesChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var view = d as AbsenceTimesView;
var list = e.NewValue as AbsenceTimeListVM;
if (view != null && list != null)
{
view.AbsenceReasonComboBox.ItemsSource = list.PossibleReasons;
}
}
public ButtonClickCommand AddAbsenceTimesCommand { get; set; }
public ButtonClickCommand RemoveAbsenceTimeCommand { get; set; }
@@ -25,7 +36,7 @@ namespace BeWo.View.Detail
InitializeComponent();
DataContext = this;
AddAbsenceTimesCommand = new ButtonClickCommand(AddAbsenceTimes);
RemoveAbsenceTimeCommand = new ButtonClickCommand(RemoveAbsenceTime);
}

View File

@@ -119,8 +119,8 @@ namespace BeWo.View.Detail.Report
//checkHilepläne.IsChecked = true;
//checkIst.IsChecked = true;
//checkKilometer.IsChecked = true;
checkKlienten.IsChecked = true;
checkMitarbeiter.IsChecked = true;
checkKlienten.IsChecked = false;
checkMitarbeiter.IsChecked = false;
//checkRecords.IsChecked = true;
//checkSoll.IsChecked = true;
@@ -176,13 +176,14 @@ namespace BeWo.View.Detail.Report
private void GridControl_CustomCellDisplayText(object sender, PivotCellDisplayTextEventArgs e)
{
if (e.DataField.Name == nameof(FlexibleArbeitszeitStdSoll))
{
if (e.RowField != null && (e.RowField.Name == nameof(FlexibleLeistungskategorie) || e.RowField.Name == nameof(FlexibleLeistung)))
{
//e.DisplayText = "";
}
}
//if (e.data)
//if (e.DataField.Name == nameof(FlexibleArbeitszeitStdSoll))
//{
// if (e.RowField != null && (e.RowField.Name == nameof(FlexibleLeistungskategorie) || e.RowField.Name == nameof(FlexibleLeistung)))
// {
// //e.DisplayText = "";
// }
//}
if (e.Value != null && decimal.TryParse(e.Value.ToString(), out decimal d) && d == 0)
e.DisplayText = "";
@@ -706,11 +707,11 @@ namespace BeWo.View.Detail.Report
{
ServiceRecordOid = entryDC.ServiceRecordOid,
CustomerOid = entryDC.CustomerOid,
CustomerString = entryDC.CustomerString ?? "<Nicht angegeben>",
CustomerString = entryDC.CustomerString ?? Translator.Translate(" Ohne Klient/in"),
EmployeeOid = entryDC.EmployeeOid,
EmployeeString = entryDC.EmployeeString ?? "<Nicht angegeben>",
EmployeeString = entryDC.EmployeeString ?? Translator.Translate(" Ohne Mitarbeiter/in"),
SupportConceptOid = entryDC.SupportConceptOid,
SupportConceptString = entryDC.SupportConceptString ?? "<Nicht angegeben>",
SupportConceptString = entryDC.SupportConceptString ?? Translator.Translate(" Ohne Hilfeplan"),
IstArbeitszeitMinuten = entryDC.IstArbeitszeitMinuten,
IstBetreuungszeitMinuten = entryDC.IstBetreuungszeitMinuten,
StartDatum = entryDC.StartDatum,

View File

@@ -125,7 +125,7 @@
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Content="Startdatum" x:Name="startDatum1" />
<Label Grid.Column="0" Grid.Row="0" Content="Datum" x:Name="startDatum1" />
<dxe:DateEdit Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3"
x:Name="datepicker_newDate1"
EditValue="{val:ValidationBinding Mode=TwoWay, Path=Date}"
@@ -230,7 +230,7 @@
<!--########################################## Grid Bereich für Jahr / Monat #####################-->
<Grid Grid.Column="0" Grid.Row="5" Grid.ColumnSpan="2" x:Name="GridMitJahrMonat" Visibility="Collapsed">
<!--<Grid Grid.Column="0" Grid.Row="5" Grid.ColumnSpan="2" x:Name="GridMitJahrMonat" Visibility="Collapsed">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Label1" />
<ColumnDefinition Width="88" />
@@ -267,7 +267,7 @@
Height="23" Margin="3,0,3,3"/>
</Grid>
</Grid>-->
<!--##########################################################################################-->
@@ -857,7 +857,7 @@
</dxb:BarManager>
<Border Grid.Row="1" Background="White" x:Name="TabBorder">
<TabControl >
<TabControl x:Name="TabControlDoku">
<TabItem Header="Notice1" IsSelected="True" x:Name="TabItem1_Notice">
<Grid>

View File

@@ -218,6 +218,12 @@ namespace BeWo.View.Detail
{
GridOben.IsEnabled = false;
TextboxNotice.IsEnabled = false;
TextboxNotice2.IsEnabled = false;
TextboxNotice3.IsEnabled = false;
TextboxNotice4.IsEnabled = false;
TextboxNotice5.IsEnabled = false;
btnSave.Visibility = Visibility.Hidden;
}
@@ -284,20 +290,20 @@ namespace BeWo.View.Detail
{
var settings = BeWoApp.AppSettings;
if (scv == ServiceRecordFormate.ZeiterfassungMitMonatJahr)
{
GridMitJahrMonat.Visibility = Visibility.Visible;
GridOhneEnddatum.Visibility = Visibility.Collapsed;
GridMitEnddatum.Visibility = Visibility.Collapsed;
//if (scv == ServiceRecordFormate.ZeiterfassungMitMonatJahr)
//{
// //GridMitJahrMonat.Visibility = Visibility.Visible;
// GridOhneEnddatum.Visibility = Visibility.Collapsed;
// GridMitEnddatum.Visibility = Visibility.Collapsed;
numerictb_distance.SetValue(WidthProperty, (double) 93);
numerictb_distance.SetValue(HorizontalAlignmentProperty, HorizontalAlignment.Right);
lblDistance.SetValue(Grid.ColumnProperty, 0);
lblDistance.SetValue(Grid.ColumnSpanProperty, 2);
// numerictb_distance.SetValue(WidthProperty, (double) 93);
// numerictb_distance.SetValue(HorizontalAlignmentProperty, HorizontalAlignment.Right);
// lblDistance.SetValue(Grid.ColumnProperty, 0);
// lblDistance.SetValue(Grid.ColumnSpanProperty, 2);
}
else
{
//}
//else
//{
if (settings.IsZeiterfassungInStdMin || zsd == ZeiterfassungsDauer.Stunden)
{
MinSTDOhneEnd.Visibility = Visibility.Visible;
@@ -322,15 +328,15 @@ namespace BeWo.View.Detail
{
GridMitEnddatum.Visibility = Visibility.Visible;
GridOhneEnddatum.Visibility = Visibility.Collapsed;
GridMitJahrMonat.Visibility = Visibility.Collapsed;
//GridMitJahrMonat.Visibility = Visibility.Collapsed;
}
else
{
GridOhneEnddatum.Visibility = Visibility.Visible;
GridMitEnddatum.Visibility = Visibility.Collapsed;
GridMitJahrMonat.Visibility = Visibility.Collapsed;
//GridMitJahrMonat.Visibility = Visibility.Collapsed;
}
}
//}
}

View File

@@ -119,7 +119,7 @@
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Content="Startdatum" x:Name="startDatum1" />
<Label Grid.Column="0" Grid.Row="0" Content="Datum" x:Name="startDatum1" />
<dxe:DateEdit Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3"
x:Name="datepicker_newDate1"
EditValue="{val:ValidationBinding Mode=TwoWay, Path=Date}"
@@ -206,7 +206,7 @@
</Grid>
<Grid Grid.Column="0" Grid.Row="5" Grid.ColumnSpan="2" x:Name="GridMitJahrMonat" Visibility="Collapsed">
<!--<Grid Grid.Column="0" Grid.Row="5" Grid.ColumnSpan="2" x:Name="GridMitJahrMonat" Visibility="Collapsed">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Label1" />
<ColumnDefinition Width="88" />
@@ -241,7 +241,7 @@
Grid.Column="3" Grid.Row="2"
Height="23" Margin="3,0,3,3"/>
</Grid>
</Grid>-->
<Grid Grid.Column="0" Grid.Row="6" ColumnSpan="2" x:Name="DauerGrid" Visibility="Visible">
<Grid.ColumnDefinitions>

View File

@@ -862,20 +862,20 @@ namespace BeWo.View.Detail
private void ConfigureServiceRecordFormats(ServiceRecordFormate? scv, ZeiterfassungsDauer zsd)
{
var Settings = BeWoApp.AppSettings;
var settings = BeWoApp.AppSettings;
if (scv == ServiceRecordFormate.ZeiterfassungMitEndDatum/*Settings.IsEndDateVisible*/)
{
GridMitEnddatum.Visibility = Visibility.Visible;
GridOhneEnddatum.Visibility = Visibility.Collapsed;
GridMitJahrMonat.Visibility = Visibility.Collapsed;
//GridMitJahrMonat.Visibility = Visibility.Collapsed;
numerictb_distance.SetValue(WidthProperty, (double)49);
numerictb_distance.SetValue(HorizontalAlignmentProperty, HorizontalAlignment.Right);
// ein Bereich für istSTDMin gestzt abfrage | auch wenn setting nicht gesetzt sobald anzeigen falls Duration in Stunden gesetzt.
if (Settings.IsZeiterfassungInStdMin || zsd == ZeiterfassungsDauer.Stunden)
if (settings.IsZeiterfassungInStdMin || zsd == ZeiterfassungsDauer.Stunden)
{
MinSTDMitEnd.Visibility = Visibility.Visible;
MinStdDauerlbl.SetValue(Grid.ColumnProperty, 0);
@@ -893,27 +893,27 @@ namespace BeWo.View.Detail
}
}
}
else if (scv == ServiceRecordFormate.ZeiterfassungMitMonatJahr /*Settings.IsOnlyYearMonthVisible*/)
{
GridMitJahrMonat.Visibility = Visibility.Visible;
GridOhneEnddatum.Visibility = Visibility.Collapsed;
GridMitEnddatum.Visibility = Visibility.Collapsed;
//else if (scv == ServiceRecordFormate.ZeiterfassungMitMonatJahr /*Settings.IsOnlyYearMonthVisible*/)
//{
// GridMitJahrMonat.Visibility = Visibility.Visible;
// GridOhneEnddatum.Visibility = Visibility.Collapsed;
// GridMitEnddatum.Visibility = Visibility.Collapsed;
numerictb_distance.SetValue(WidthProperty, (double) 64);
numerictb_distance.SetValue(HorizontalAlignmentProperty, HorizontalAlignment.Right);
lblDistance.SetValue(Grid.ColumnProperty, 0);
lblDistance.SetValue(Grid.ColumnSpanProperty, 2);
// numerictb_distance.SetValue(WidthProperty, (double) 64);
// numerictb_distance.SetValue(HorizontalAlignmentProperty, HorizontalAlignment.Right);
// lblDistance.SetValue(Grid.ColumnProperty, 0);
// lblDistance.SetValue(Grid.ColumnSpanProperty, 2);
}
//}
else
{
GridOhneEnddatum.Visibility = Visibility.Visible;
GridMitEnddatum.Visibility = Visibility.Collapsed;
GridMitJahrMonat.Visibility = Visibility.Collapsed;
//GridMitJahrMonat.Visibility = Visibility.Collapsed;
// ist STDMin gestzt abfrage
if (Settings.IsZeiterfassungInStdMin || zsd == ZeiterfassungsDauer.Stunden)
if (settings.IsZeiterfassungInStdMin || zsd == ZeiterfassungsDauer.Stunden)
{
MinSTDOhneEnd.Visibility = Visibility.Visible;
MinStdDauerLabel.SetValue(Grid.ColumnProperty, 0);

View File

@@ -710,7 +710,7 @@
EditValue="{Binding Mode=TwoWay, Path=PrototypeVM.StartTimeEditString, UpdateSourceTrigger=PropertyChanged}"
x:Name="startTime2"
Height="23"
Margin="3,0,3,3"/>
Margin="3,0,3,3" LostFocus="TimeTextBox_OnLostFocus"/>
<Label Grid.Column="0" Grid.Row="1" Content="Enddatum" x:Name="EndDateLabel2"/>
<dxe:DateEdit Grid.Column="1" Grid.Row="1" AllowNullInput="False"
@@ -752,7 +752,7 @@
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Content="Startdatum" x:Name="startDatum1" />
<Label Grid.Column="0" Grid.Row="0" Content="Datum" x:Name="startDatum1" />
<dxe:DateEdit Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3"
x:Name="datepicker_newDate1" AllowNullInput="False"
EditValue="{val:ValidationBinding Mode=TwoWay, Path=PrototypeVM.Date}"
@@ -792,7 +792,7 @@
</Grid>
<Grid Grid.Column="0" Grid.Row="6" Grid.ColumnSpan="2" x:Name="GridMitJahrMonat" Visibility="Collapsed">
<!--<Grid Grid.Column="0" Grid.Row="6" Grid.ColumnSpan="2" x:Name="GridMitJahrMonat" Visibility="Collapsed">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Label1" />
<ColumnDefinition Width="100" />
@@ -819,7 +819,7 @@
EditValue="{Binding Path=PrototypeVM.DurationMonthYearGes, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Grid.Column="1" Grid.Row="2"
Height="23" Margin="3,0,3,3"/>
</Grid>
</Grid>-->
<Grid Grid.Column="0" Grid.Row="9" ColumnSpan="2" x:Name="DauerGrid" Visibility="Visible">

View File

@@ -347,28 +347,29 @@ namespace BeWo.View.Detail
private void ConfigureEndDate()
{
var Settings = BeWoApp.AppSettings;
var settings = BeWoApp.AppSettings;
if (Settings.IsOnlyYearMonthVisible)
{
GridMitJahrMonat.Visibility = Visibility.Visible;
GridMitEnddatum.Visibility = Visibility.Collapsed;
GridOhneEnddatum.Visibility = Visibility.Collapsed;
//if (settings.IsOnlyYearMonthVisible)
//{
// GridMitJahrMonat.Visibility = Visibility.Visible;
// GridMitEnddatum.Visibility = Visibility.Collapsed;
// GridOhneEnddatum.Visibility = Visibility.Collapsed;
EndDatumHeader.Visible = false;
// EndDatumHeader.Visible = false;
numerictb_distance.SetValue(WidthProperty, (double) 105);
numerictb_distance.SetValue(HorizontalAlignmentProperty, HorizontalAlignment.Right);
lblDistance.SetValue(HorizontalAlignmentProperty, HorizontalAlignment.Left);
}
else if (Settings.IsEndDateVisible)
// numerictb_distance.SetValue(WidthProperty, (double) 105);
// numerictb_distance.SetValue(HorizontalAlignmentProperty, HorizontalAlignment.Right);
// lblDistance.SetValue(HorizontalAlignmentProperty, HorizontalAlignment.Left);
//}
//else if (Settings.IsEndDateVisible)
if (settings.IsEndDateVisible)
{
GridMitEnddatum.Visibility = Visibility.Visible;
GridMitJahrMonat.Visibility = Visibility.Collapsed;
//GridMitJahrMonat.Visibility = Visibility.Collapsed;
GridOhneEnddatum.Visibility = Visibility.Collapsed;
if (Settings.IsZeiterfassungInStdMin)
if (settings.IsZeiterfassungInStdMin)
{
MinSTDMitEnd.Visibility = Visibility.Visible;
MinStdDauerlbl.SetValue(Grid.ColumnProperty, 0);
@@ -395,18 +396,18 @@ namespace BeWo.View.Detail
else
{
GridMitEnddatum.Visibility = Visibility.Collapsed;
GridMitJahrMonat.Visibility = Visibility.Collapsed;
//GridMitJahrMonat.Visibility = Visibility.Collapsed;
GridOhneEnddatum.Visibility = Visibility.Visible;
//Collapse Zeit art und ändere namen von Dauer aufs originale zurück.
RoundedDHeader.Header = "Minuten";
DutationInSTDHeader.Visible = false;
if (Settings.LetzteZeiterfassungsDauer == ZeiterfassungsDauer.Stunden)
if (settings.LetzteZeiterfassungsDauer == ZeiterfassungsDauer.Stunden)
{
RoundedDHeader.Header = "Stunden";
}
if (Settings.IsZeiterfassungInStdMin)
if (settings.IsZeiterfassungInStdMin)
{
@@ -4680,5 +4681,16 @@ namespace BeWo.View.Detail
}
}
}
private void TimeTextBox_OnLostFocus(object sender, RoutedEventArgs e)
{
var te = sender as TextEdit;
if (te != null)
{
var text = te.DisplayText;
}
}
}
}

View File

@@ -102,7 +102,7 @@ namespace BeWo.View.Master
tabitem_stundenzettelOverview.Visibility = Visibility.Collapsed;
}
if (BeWoApp.AppSettings.ShowPivotGrid)
if (BeWoApp.AppSettings.ShowPivotGrid && BeWoApp.LoggedOnUser.HasRight(UserRightType.PivotTabelleAnsehen))
{
tabitem_flexibleReport.Visibility = Visibility.Visible;
}
@@ -110,6 +110,7 @@ namespace BeWo.View.Master
{
tabitem_flexibleReport.Visibility = Visibility.Collapsed;
}
if (BeWoApp.AppSettings.ShowDienstplanung)
{
tabitem_dienstPlaner.Visibility = Visibility.Visible;

View File

@@ -120,7 +120,14 @@ namespace BeWo.ViewModel
public string StartTime
{
get => _Start?.ToString("HH:mm");
get
{
if (_Start != null && _Start.Value.Hour == 0 && _Start.Value.Minute == 0)
{
return "";
}
return _Start?.ToString("HH:mm");
}
set
{
@@ -129,22 +136,29 @@ namespace BeWo.ViewModel
Start = newTime;
}
}
}
}
public string EndTime
{
get => _End?.ToString("HH:mm");
public string EndTime
{
get
{
if (_End != null && _End.Value.Hour == 0 && _End.Value.Minute == 0)
{
return "";
}
return _End?.ToString("HH:mm");
}
set
set
{
if (_End.HasValue && DateTime.TryParse($"{_End.Value.ToLongDateString()} {value}", out var newTime))
{
End = newTime;
}
}
}
}
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public DateTime? KrankheitsMeldung
{
get => _KrankheitsMeldung;

View File

@@ -89,7 +89,10 @@ namespace BeWo.ViewModel
{
if (!IsMedicationRight(r) || BeWoApp.AppSettings.IsMedicationAllowed)
{
possibleRights.Add(r);
if (!IsPivotGridRight(r) || BeWoApp.AppSettings.ShowPivotGrid)
{
possibleRights.Add(r);
}
}
}
}
@@ -106,6 +109,13 @@ namespace BeWo.ViewModel
}
}
private static bool IsPivotGridRight(UserRightType userRightType)
{
if (userRightType == UserRightType.PivotTabelleAnsehen)
return true;
return false;
}
private static bool IsMedicationRight(UserRightType userRightType)
{
if (userRightType == UserRightType.Customer_ViewMedication)

View File

@@ -6,7 +6,7 @@
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BeWoBasicEndpoint" closeTimeout="00:05:00" openTimeout="00:05:00" receiveTimeout="00:10:00" sendTimeout="00:05:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true" messageEncoding="Text">
<binding name="BeWoBasicEndpoint" closeTimeout="00:05:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true" messageEncoding="Text">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None" />
<!-- mode="Transport" für echten Server und "None" sonst-->
@@ -16,7 +16,7 @@
<security mode="None" />
<!-- mode="Transport" für echten Server -->
</binding>
<binding name="QueryServiceEndpoint" closeTimeout="00:05:00" openTimeout="00:05:00" receiveTimeout="00:10:00" sendTimeout="00:05:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true" messageEncoding="Text">
<binding name="QueryServiceEndpoint" closeTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true" messageEncoding="Text">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" realm="" />

View File

@@ -1259,7 +1259,8 @@ namespace BeWo.Data.Access
var c = CreateCriteria<SchedulerAppointment>()
.Add(Restrictions.And(Restrictions.Eq(BeWoEntityBase.PropertyName_IsActive, ActivationTypeId.Active), Restrictions.Eq(SchedulerAppointment.PropertyName_Originator + ".Oid", employeeOid)))
.Add(Restrictions.Eq(BeWoEntityBase.PropertyName_IsActive, ActivationTypeId.Active))
.CreateCriteria(SchedulerAppointment.PropertyName_EmployeeList)
.Add(Restrictions.Or(Restrictions.Ge(SchedulerAppointment.PropertyName_EndDate, DateTime.Now.AddDays(-7)), Restrictions.IsNull(SchedulerAppointment.PropertyName_EndDate)))
.CreateCriteria(SchedulerAppointment.PropertyName_EmployeeList)
.Add(Restrictions.And(Restrictions.And(Restrictions.Eq(Employee2SchedulerAppointment.PropertyName_IsPChanged, true), Restrictions.Not(Restrictions.Eq(Employee2SchedulerAppointment.PropertyName_Employee + ".Oid", employeeOid))), Restrictions.Not(Restrictions.Eq(Employee2SchedulerAppointment.PropertyName_ParticipationAnswer, ParticipationAnswer.Offen))))
.Add(Restrictions.Not(Restrictions.Eq(Employee2SchedulerAppointment.PropertyName_ParticipationAnswer, ParticipationAnswer.Verstrichen)))
.Add(Restrictions.IsNull(Employee2SchedulerAppointment.PropertyName_IsPC_CheckedTs));
@@ -2984,11 +2985,16 @@ namespace BeWo.Data.Access
return result;
}
public IList<SchedulerAppointment> LoadTaskAppointmentsForEmployee(long pEmployee)
public IList<SchedulerAppointment> LoadTaskAppointmentsForEmployee(long pEmployee, bool hideCompletedTasks)
{
var c = CreateCriteriaIsActive<SchedulerAppointment>()
.Add(Restrictions.Eq(nameof(SchedulerAppointment.IsTask), true));
if (hideCompletedTasks)
{
c.Add(Restrictions.IsNull(nameof(SchedulerAppointment.CompletedDate)));
}
var employeeListRelationCriteria = DetachedCriteria.For<Employee2SchedulerAppointment>()
.Add(Restrictions.In(Employee2SchedulerAppointment.PropertyName_Employee + ".Oid", new List<long> { pEmployee }))
.SetProjection(Projections.Property(Employee2SchedulerAppointment.PropertyName_SchedulerAppointment));

View File

@@ -3,7 +3,7 @@
<PropertyGroup>
<NameOfLastUsedPublishProfile>BeWo2.0</NameOfLastUsedPublishProfile>
<UseIISExpress>true</UseIISExpress>
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
<Use64BitIISExpress />
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />

View File

@@ -17,7 +17,7 @@
<property name="connection.connection_string">
Server=localhost;Password=root;User ID=root; Initial Catalog=lhfrankfurtoder
Server=localhost;Password=root;User ID=root; Initial Catalog=bewodemo
</property>
<property name="dialect">

View File

@@ -763,7 +763,7 @@ namespace BeWo.Report
}
else if (ansicht == 2)
{
var reportjahr = FindReportImp<MitarbeiterstundenkontoMonateRO>("MitarbeiterarbeitszeitkontoJahr");
var reportjahr = FindReportImp<MitarbeiterstundenkontoMonateRO>("MitarbeiterstundenkontoJahr");
var jahrStart = new DateTime(startDate.Year, 1, 1);
var ds = new MitarbeiterstundenkontoMonateRO(employeeOid, teamOids, jahrStart, endDate, null);

View File

@@ -29,262 +29,263 @@ namespace BeWo.Report.DefaultReports
/// </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.xrTableDetail = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRowDetail = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.GroupHeader1 = 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.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel1 = 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();
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
//
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.components = new System.ComponentModel.Container();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTableDetail = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRowDetail = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.GroupHeader1 = 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.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel1 = 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();
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
//
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.xrTableDetail});
this.Detail1.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Detail1.HeightF = 25F;
this.Detail1.Name = "Detail1";
this.Detail1.StylePriority.UseFont = false;
//
// xrTableDetail
//
this.xrTableDetail.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
this.Detail1.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Detail1.HeightF = 25F;
this.Detail1.Name = "Detail1";
this.Detail1.StylePriority.UseFont = false;
//
// xrTableDetail
//
this.xrTableDetail.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableDetail.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTableDetail.Name = "xrTableDetail";
this.xrTableDetail.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableDetail.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableDetail.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTableDetail.Name = "xrTableDetail";
this.xrTableDetail.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableDetail.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRowDetail});
this.xrTableDetail.SizeF = new System.Drawing.SizeF(1018F, 25F);
this.xrTableDetail.StylePriority.UseBorders = false;
this.xrTableDetail.StylePriority.UsePadding = false;
//
// xrTableRowDetail
//
this.xrTableRowDetail.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableDetail.SizeF = new System.Drawing.SizeF(1018F, 25F);
this.xrTableDetail.StylePriority.UseBorders = false;
this.xrTableDetail.StylePriority.UsePadding = false;
//
// xrTableRowDetail
//
this.xrTableRowDetail.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell3});
this.xrTableRowDetail.Name = "xrTableRowDetail";
this.xrTableRowDetail.Weight = 1D;
//
// xrTableCell3
//
this.xrTableCell3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
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, "Rows.Field1")});
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.StylePriority.UseFont = false;
this.xrTableCell3.Text = "xrTableCell3";
this.xrTableCell3.Weight = 1D;
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.xrTableCell3.Multiline = true;
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.StylePriority.UseFont = false;
this.xrTableCell3.Text = "xrTableCell3";
this.xrTableCell3.Weight = 1D;
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail1,
this.GroupHeader1});
this.DetailReport.DataMember = "Rows";
this.DetailReport.DataSource = this.bindingSource1;
this.DetailReport.Level = 0;
this.DetailReport.Name = "DetailReport";
//
// GroupHeader1
//
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.DetailReport.DataMember = "Rows";
this.DetailReport.DataSource = this.bindingSource1;
this.DetailReport.Level = 0;
this.DetailReport.Name = "DetailReport";
//
// GroupHeader1
//
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTableHeader});
this.GroupHeader1.HeightF = 25F;
this.GroupHeader1.Name = "GroupHeader1";
this.GroupHeader1.RepeatEveryPage = true;
//
// xrTableHeader
//
this.xrTableHeader.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
this.GroupHeader1.HeightF = 25F;
this.GroupHeader1.Name = "GroupHeader1";
this.GroupHeader1.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", 10F, System.Drawing.FontStyle.Bold);
this.xrTableHeader.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTableHeader.Name = "xrTableHeader";
this.xrTableHeader.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableHeader.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableHeader.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrTableHeader.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTableHeader.Name = "xrTableHeader";
this.xrTableHeader.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
this.xrTableHeader.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRowHeader});
this.xrTableHeader.SizeF = new System.Drawing.SizeF(1018F, 25F);
this.xrTableHeader.StylePriority.UseBorders = false;
this.xrTableHeader.StylePriority.UseFont = false;
this.xrTableHeader.StylePriority.UsePadding = false;
//
// xrTableRowHeader
//
this.xrTableRowHeader.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableHeader.SizeF = new System.Drawing.SizeF(1018F, 25F);
this.xrTableHeader.StylePriority.UseBorders = false;
this.xrTableHeader.StylePriority.UseFont = false;
this.xrTableHeader.StylePriority.UsePadding = false;
//
// xrTableRowHeader
//
this.xrTableRowHeader.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell5});
this.xrTableRowHeader.Name = "xrTableRowHeader";
this.xrTableRowHeader.Weight = 1D;
//
// xrTableCell5
//
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.Weight = 1D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.QueryRO);
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTableRowHeader.Name = "xrTableRowHeader";
this.xrTableRowHeader.Weight = 1D;
//
// xrTableCell5
//
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.Weight = 1D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.QueryRO);
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel1});
this.ReportHeader.HeightF = 35F;
this.ReportHeader.Name = "ReportHeader";
//
// xrLabel1
//
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
this.ReportHeader.HeightF = 35F;
this.ReportHeader.Name = "ReportHeader";
//
// xrLabel1
//
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Name")});
this.xrLabel1.Font = new System.Drawing.Font("Arial", 14F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel1.Multiline = true;
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.SizeF = new System.Drawing.SizeF(1018F, 25F);
this.xrLabel1.StyleName = "Title";
this.xrLabel1.StylePriority.UseFont = false;
//
// pageFooterBand1
//
this.pageFooterBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel1.Font = new System.Drawing.Font("Arial", 14F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel1.Multiline = true;
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.SizeF = new System.Drawing.SizeF(1018F, 25F);
this.xrLabel1.StyleName = "Title";
this.xrLabel1.StylePriority.UseFont = false;
//
// 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(924.0834F, 25F);
this.xrPageInfo2.Name = "xrPageInfo2";
this.xrPageInfo2.SizeF = new System.Drawing.SizeF(93.91663F, 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(924.0834F, 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 = 50F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// Bericht
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
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(924.0834F, 25F);
this.xrPageInfo2.Name = "xrPageInfo2";
this.xrPageInfo2.SizeF = new System.Drawing.SizeF(93.91663F, 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(924.0834F, 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 = 1F;
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 = 1F;
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 = 1F;
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 = 1F;
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 = 50F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// Bericht
//
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.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.fieldFLS});
this.DataSource = this.bindingSource1;
this.Landscape = true;
this.Margins = new System.Drawing.Printing.Margins(75, 75, 50, 50);
this.PageHeight = 827;
this.PageWidth = 1169;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.StyleSheet.AddRange(new DevExpress.XtraReports.UI.XRControlStyle[] {
this.DataSource = this.bindingSource1;
this.Landscape = true;
this.Margins = new System.Drawing.Printing.Margins(75, 75, 50, 50);
this.PageHeight = 827;
this.PageWidth = 1169;
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.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}

View File

@@ -35,7 +35,7 @@ namespace BeWo.Report.DefaultReports
XRTableCell rowCell = new XRTableCell();
rowCell.WidthF = xrTableHeader.WidthF / ro.DataTable.Columns.Count;
rowCell.Multiline = true;
if (type == typeof(DateTime))
rowCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Rows.Field" + index, "{0:dd/MM/yyyy}")});

View File

@@ -181,6 +181,13 @@ namespace BeWo.Report.ReportObjects
// private CostBearer2SupportConceptData CostBearer2SupportConceptData { get; set; }
public static List<ServicesOverviewRO> CreateAlt(int pMonth, int pYear, long orgaOid, long empOid, int startDay,
int endDay, long? serviceCategoryOid = null, bool disableEmptySupportConcepts = true)
{
return Create(pMonth, pYear, orgaOid, empOid, startDay, endDay, false, serviceCategoryOid,
disableEmptySupportConcepts);
}
public static List<ServicesOverviewRO> Create(int pMonth, int pYear, long orgaOid, long empOid, int startDay,
int endDay, long? serviceCategoryOid = null, bool disableEmptySupportConcepts = true, bool checkQbStatus = false)
{
@@ -309,6 +316,12 @@ namespace BeWo.Report.ReportObjects
return rights;
}
public static ServicesOverviewRO CreateAlt(long pCustomerOid, int pMonth, int pYear, bool disableEmptySupportConcepts, long orgaOid, long empOid, int start, int end, long? serviceCategoryOid = null)
{
return Create(pCustomerOid, pMonth, pYear, disableEmptySupportConcepts, orgaOid, empOid, start, end, false,
serviceCategoryOid);
}
public static ServicesOverviewRO Create(long pCustomerOid, int pMonth, int pYear, bool disableEmptySupportConcepts, long orgaOid, long empOid, int start, int end, long? serviceCategoryOid = null, bool checkQbStatus = false)
{
return Create(pCustomerOid, pMonth, pYear, disableEmptySupportConcepts, orgaOid, empOid, start, end, false, serviceCategoryOid, checkQbStatus);

View File

@@ -11,7 +11,6 @@ namespace ApiBerlin
{
public override decimal GetArbeitstageImBereich(DateTime von, DateTime bis, Employee emp)
{
Contract c = emp.GetValidContractForDate(von);
if (c == null) // Kein Vertrag vom 1. gefunden, gucken, ob es einen gibt, der mitten im Monat beginnt.
@@ -39,9 +38,105 @@ namespace ApiBerlin
}
}
return base.GetArbeitstageImBereich(von, bis, emp);
}
public decimal GetEchteArbeitstageImBereich(DateTime von, DateTime bis, Contract c)
{
decimal days = 0;
if (c != null)
{
DateTime start = von;
DateTime end = bis;
if (c.EntryDate.HasValue && c.EntryDate.Value > start)
{
start = c.EntryDate.Value;
}
if (c.ContractEndDate.HasValue && c.ContractEndDate.Value.AddDays(1) < end)
{
end = c.ContractEndDate.Value.AddDays(1);
}
while (start < end)
{
if (start.DayOfWeek != DayOfWeek.Sunday)
{
days++;
}
start = start.AddDays(1);
}
}
return days;
}
public override decimal BerechneStundenDurchAbwesenheiten(AbsenceTimeDays ath, DateTime start, DateTime ende, Contract c, MitarbeiterstundenkontoRO.EmployeeDetail ed)
{
if (BerechneAlteAbwesenheitsStunden(start))
{
return base.BerechneStundenDurchAbwesenheiten(ath, start, ende, c, ed);
}
decimal stunden = 0;
decimal? stundenMax = null;
if (c != null)
{
if (ath.TageGesamt.HasValue)
{
var et = GetEchteArbeitstageImBereich(start, ende, c);
if (et == ath.TageGesamt)
{
stundenMax = ed.StundenSollMax;
}
decimal sollStundenProWoche = BerechneSollProWoche(c, ed);
if (sollStundenProWoche > 0)
{
if (ed.ArbeitstageProWoche == 5)
{
stunden = ath.TageGesamt.Value * (sollStundenProWoche / 5);
}
else if (ath.TageProWocheDict != null && ed.ArbeitstageProWoche > 0)
{
foreach (var week in ath.TageProWocheDict.Keys)
{
var tage = ath.TageProWocheDict[week];
if (tage > 0)
{
if (tage > ed.ArbeitstageProWoche)
{
tage = ed.ArbeitstageProWoche;
}
stunden += tage * (sollStundenProWoche / ed.ArbeitstageProWoche);
}
}
}
}
}
}
if (stundenMax.HasValue && stundenMax.Value > 0)
{
return stundenMax.Value;
}
return stunden;
}
public override AbsenceTimeDays GetAbsenceTimeDays(IList<AbsenceTime> absenceTimes, DateTime start, DateTime end)
{
var atd = new AbsenceTimeDays();

View File

@@ -78,6 +78,7 @@ namespace ApiBerlin
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell48 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell51 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.lblMonat = new DevExpress.XtraReports.UI.XRLabel();
this.pageFooterBand1 = new DevExpress.XtraReports.UI.PageFooterBand();
@@ -90,7 +91,6 @@ namespace ApiBerlin
this.fieldFLS = new DevExpress.XtraReports.UI.CalculatedField();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
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();
@@ -513,6 +513,10 @@ namespace ApiBerlin
this.xrTableCell51.Name = "xrTableCell51";
this.xrTableCell51.Weight = 0.063119927862939573D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO);
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -523,7 +527,7 @@ namespace ApiBerlin
// lblMonat
//
this.lblMonat.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ReportStartDate", "Stundenkonto {0:MMMM yy}")});
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ReportStartDate", "Stundenkonto {0:MMMM yyyy}")});
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;
@@ -531,7 +535,6 @@ namespace ApiBerlin
this.lblMonat.SizeF = new System.Drawing.SizeF(1007F, 25F);
this.lblMonat.StyleName = "Title";
this.lblMonat.StylePriority.UseFont = false;
this.lblMonat.Text = "lblMonat";
//
// pageFooterBand1
//
@@ -567,7 +570,7 @@ namespace ApiBerlin
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.BorderWidth = 1F;
this.Title.Font = new System.Drawing.Font("Times New Roman", 24F);
this.Title.ForeColor = System.Drawing.Color.Black;
this.Title.Name = "Title";
@@ -577,7 +580,7 @@ namespace ApiBerlin
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.BorderWidth = 1F;
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";
@@ -587,7 +590,7 @@ namespace ApiBerlin
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.BorderWidth = 1F;
this.PageInfo.Font = new System.Drawing.Font("Times New Roman", 8F);
this.PageInfo.ForeColor = System.Drawing.Color.Black;
this.PageInfo.Name = "PageInfo";
@@ -597,7 +600,7 @@ namespace ApiBerlin
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.BorderWidth = 1F;
this.DataField.Font = new System.Drawing.Font("Times New Roman", 8F);
this.DataField.ForeColor = System.Drawing.SystemColors.ControlText;
this.DataField.Name = "DataField";
@@ -619,10 +622,6 @@ namespace ApiBerlin
this.bottomMarginBand1.HeightF = 30F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO);
//
// Mitarbeiterstundenkonto
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -645,7 +644,7 @@ namespace ApiBerlin
this.FieldCaption,
this.PageInfo,
this.DataField});
this.Version = "13.1";
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();

View File

@@ -384,7 +384,7 @@ namespace ApiBerlin
// lblMonat
//
this.lblMonat.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ReportStartDate", "Stundenkonto {0:MMMM yy}")});
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ReportStartDate", "Stundenkonto {0:MMMM yyyy}")});
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;
@@ -392,7 +392,6 @@ namespace ApiBerlin
this.lblMonat.SizeF = new System.Drawing.SizeF(1007F, 25F);
this.lblMonat.StyleName = "Title";
this.lblMonat.StylePriority.UseFont = false;
this.lblMonat.Text = "lblMonat";
//
// pageFooterBand1
//
@@ -428,7 +427,7 @@ namespace ApiBerlin
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.BorderWidth = 1F;
this.Title.Font = new System.Drawing.Font("Times New Roman", 24F);
this.Title.ForeColor = System.Drawing.Color.Black;
this.Title.Name = "Title";
@@ -438,7 +437,7 @@ namespace ApiBerlin
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.BorderWidth = 1F;
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";
@@ -448,7 +447,7 @@ namespace ApiBerlin
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.BorderWidth = 1F;
this.PageInfo.Font = new System.Drawing.Font("Times New Roman", 8F);
this.PageInfo.ForeColor = System.Drawing.Color.Black;
this.PageInfo.Name = "PageInfo";
@@ -458,7 +457,7 @@ namespace ApiBerlin
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.BorderWidth = 1F;
this.DataField.Font = new System.Drawing.Font("Times New Roman", 8F);
this.DataField.ForeColor = System.Drawing.SystemColors.ControlText;
this.DataField.Name = "DataField";
@@ -794,7 +793,7 @@ namespace ApiBerlin
this.FieldCaption,
this.PageInfo,
this.DataField});
this.Version = "13.1";
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();

View File

@@ -31,7 +31,7 @@ namespace BeWoImFlow
return new XtraReport();
}
public override XtraReport CreateServiceOverviewSingleCustomerReport(long customerOid, int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
public override XtraReport CreateServiceOverviewSingleCustomerReport(long customerOid, int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
{
var ro = ServicesOverviewRO.Create(customerOid, month, year, false, orgaOid, empOid, startDay, endDay, serviceCategoryOid);
@@ -39,7 +39,12 @@ namespace BeWoImFlow
}
private XtraReport CreateServicesOverviewReportForRo(ServicesOverviewRO ro)
public override XtraReport CreateReportForServicesOverviewRo(ServicesOverviewRO ro, string reportId)
{
return CreateServicesOverviewReportForRo(ro);
}
private XtraReport CreateServicesOverviewReportForRo(ServicesOverviewRO ro)
{
IBeWoReport<ServicesOverviewRO> report = null;

View File

@@ -55,7 +55,6 @@ namespace BeWoImFlow
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = 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.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
@@ -105,12 +104,13 @@ namespace BeWoImFlow
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableAbwesenheiten)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
@@ -255,7 +255,7 @@ namespace BeWoImFlow
//
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTableServiceRecords1});
this.GroupHeader1.HeightF = 70F;
this.GroupHeader1.HeightF = 56F;
this.GroupHeader1.Name = "GroupHeader1";
this.GroupHeader1.RepeatEveryPage = true;
this.GroupHeader1.StylePriority.UseFont = false;
@@ -271,7 +271,7 @@ namespace BeWoImFlow
this.xrTableServiceRecords1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2,
this.xrTableRow1});
this.xrTableServiceRecords1.SizeF = new System.Drawing.SizeF(687.0001F, 70F);
this.xrTableServiceRecords1.SizeF = new System.Drawing.SizeF(687.0001F, 56F);
this.xrTableServiceRecords1.StylePriority.UseBackColor = false;
this.xrTableServiceRecords1.StylePriority.UseBorders = false;
this.xrTableServiceRecords1.StylePriority.UseFont = false;
@@ -360,7 +360,7 @@ namespace BeWoImFlow
this.xrTableCell6,
this.xrTableCell7});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 1.223644578313253D;
this.xrTableRow1.Weight = 0.88102409638554224D;
//
// xrTableCell1
//
@@ -409,7 +409,7 @@ namespace BeWoImFlow
this.xrTableCell6.StylePriority.UseBorders = false;
this.xrTableCell6.StylePriority.UseFont = false;
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "Art /\r\nAnzahl\r\nKlienten";
this.xrTableCell6.Text = "Art / Anzahl\r\nKlienten";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell6.Weight = 0.5006594098480055D;
//
@@ -429,10 +429,6 @@ namespace BeWoImFlow
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
this.xrTableCell7.Weight = 0.468614674147281D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
//
// formattingRuleStartDate
//
this.formattingRuleStartDate.Condition = "[StartDate2] < [StartDate]";
@@ -1022,6 +1018,10 @@ namespace BeWoImFlow
this.fieldKontaktArt.FieldType = DevExpress.XtraReports.UI.FieldType.String;
this.fieldKontaktArt.Name = "fieldKontaktArt";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
//
// Quittierungsbeleg2
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -1048,10 +1048,10 @@ namespace BeWoImFlow
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableAbwesenheiten)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}

View File

@@ -54,7 +54,13 @@ namespace BeWoWalzPaiva
}
private XtraReport CreateServicesOverviewReportForRo(ServicesOverviewRO ro, long? serviceCategoryOid)
public override XtraReport CreateReportForServicesOverviewRo(ServicesOverviewRO ro, String reportId)
{
return CreateServicesOverviewReportForRo(ro, null);
}
private XtraReport CreateServicesOverviewReportForRo(ServicesOverviewRO ro, long? serviceCategoryOid)
{
XtraReport report = null;

View File

@@ -124,6 +124,7 @@
<Compile Include="Mitarbeiterstundenkonto.designer.cs">
<DependentUpon>Mitarbeiterstundenkonto.cs</DependentUpon>
</Compile>
<Compile Include="Service\ResourceService.cs" />
<Compile Include="Stundenabrechnung.cs">
<SubType>Component</SubType>
</Compile>

View File

@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BS.Shared.Core;
using BS.Shared.DataContracts;
namespace BetreuWoReports.Service
{
public class CustomerResourceService : ResourceService
{
public override List<ResourceDC> CheckResourceAvailability(DateTime start, DateTime end, List<long> resourceOids, long? selectedAppointmentOid)
{
return new List<ResourceDC>();
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

View File

@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using BeWo.Report;
using BeWo.Data.Entities;
using BeWo.Report.ReportObjects;
namespace DiakonieKKKleve
{
public class CustomMitarbeiterstundenkontoBerechnungMonate : MitarbeiterstundenkontoBerechnungMonate
{
public override MitarbeiterstundenkontoBerechnung CreateMitarbeiterstundenkontoBerechnung()
{
return new DiakonieKKKleveMitarbeiterstundenkontoBerechnung();
}
}
}

View File

@@ -123,6 +123,13 @@
<Compile Include="FinanzauswertungVP.designer.cs">
<DependentUpon>FinanzauswertungVP.cs</DependentUpon>
</Compile>
<Compile Include="CustomMitarbeiterstundenkontoBerechnungMonate.cs" />
<Compile Include="MitarbeiterstundenkontoJahr.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="MitarbeiterstundenkontoJahr.designer.cs">
<DependentUpon>MitarbeiterstundenkontoJahr.cs</DependentUpon>
</Compile>
<Compile Include="Reporting\DkkkAnnualReportFactory.cs" />
<Compile Include="QuittierungsbelegDienstleistung.cs">
<SubType>Component</SubType>
@@ -227,6 +234,10 @@
<EmbeddedResource Include="FinanzauswertungVP.resx">
<DependentUpon>FinanzauswertungVP.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="MitarbeiterstundenkontoJahr.resx">
<DependentUpon>MitarbeiterstundenkontoJahr.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="QuittierungsbelegDienstleistung.resx">
<DependentUpon>QuittierungsbelegDienstleistung.cs</DependentUpon>
<SubType>Designer</SubType>

View File

@@ -1,13 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using BeWo.Data.Entities;
using BeWo.Report.ReportObjects;
using BS.Shared.Core;
using BS.Shared.Extensions;
namespace BeWo.DiakonieKKKleve
namespace DiakonieKKKleve
{
public class DiakonieKKKleveMitarbeiterstundenkontoBerechnung : MitarbeiterstundenkontoBerechnung
{
@@ -18,11 +19,13 @@ namespace BeWo.DiakonieKKKleve
public override IList<MitarbeiterstundenkontoRO.DayDetail> CreateDayDetails(DateTime berichtStart, DateTime berichtEnde, MitarbeiterstundenkontoRO.EmployeeDetail ed, IList<ServiceRecord> recordsAll)
{
var details = base.CreateDayDetails(berichtStart, berichtEnde, ed, recordsAll);
var details = CreateDayDetails2(berichtStart, berichtEnde, ed, recordsAll);
foreach (var dd in details)
{
dd.Custom10 = "";
if (dd.Custom10 == null)
dd.Custom10 = "";
if (dd.ZusammenhaengendeZeitraeume != null)
{
foreach (var dts in dd.ZusammenhaengendeZeitraeume)
@@ -39,97 +42,339 @@ namespace BeWo.DiakonieKKKleve
return details;
}
//public override IList<MitarbeiterstundenkontoRO.DayDetail> CreateDayDetails(DateTime berichtStart, DateTime berichtEnde, MitarbeiterstundenkontoRO.EmployeeDetail ed, IList<ServiceRecord> recordsAll)
//{
// IList<MitarbeiterstundenkontoRO.DayDetail> dayDetailList = new List<MitarbeiterstundenkontoRO.DayDetail>();
public IList<MitarbeiterstundenkontoRO.DayDetail> CreateDayDetails2(DateTime berichtStart, DateTime berichtEnde, MitarbeiterstundenkontoRO.EmployeeDetail ed, IList<ServiceRecord> recordsAll)
{
IList<MitarbeiterstundenkontoRO.DayDetail> dayDetailList = base.CreateDayDetails(berichtStart, berichtEnde, ed, recordsAll);
// decimal flmTotal = 0;
// decimal azTotal = 0;
// foreach (var sr in recordsAll)
// {
// if (sr.Start.HasValue && sr.Start >= berichtStart && sr.Start < berichtEnde && sr.End.HasValue)
// {
// decimal duration = 0;
// if (sr.GroupRoundedDuration.HasValue)
// {
// duration = sr.GroupRoundedDuration.Value;
// }
// else
// {
// duration = sr.RoundedDuration;
// }
// if (AddServiceRecordToDuration(sr))
// {
// MitarbeiterstundenkontoRO.DayDetail dd = CreateDayDetail(new DateTime(berichtStart.Year, berichtStart.Month, sr.Start.Value.Day), ed);
// dayDetailList.Add(dd);
Dictionary<int, MitarbeiterstundenkontoRO.DayDetail> dayToDetail = new Dictionary<int, MitarbeiterstundenkontoRO.DayDetail>();
// dd.MinutesTotal += duration;
// if (dd.ServiceRecords == null)
// dd.ServiceRecords = new List<ServiceRecord>();
// dd.ServiceRecords.Add(sr);
foreach (var dd in dayDetailList)
{
if (!dayToDetail.ContainsKey(dd.Date.Day))
{
dayToDetail.Add(dd.Date.Day, dd);
}
else
{
int test = 0;
}
}
decimal flmTotal = 0;
decimal azTotal = 0;
foreach (var sr in recordsAll)
{
if (sr.Start.HasValue && sr.Start >= berichtStart && sr.Start < berichtEnde && sr.End.HasValue)
{
decimal duration = 0;
if (sr.GroupRoundedDuration.HasValue)
{
duration = sr.GroupRoundedDuration.Value;
}
else
{
duration = sr.RoundedDuration;
}
if (AddServiceRecordToDuration(sr))
{
azTotal += duration;
// CalculateSpecialHours(dd, sr, duration);
}
else
{
if (sr.ServiceDescription.ServiceCategory.IsBillable)
{
flmTotal += duration;
}
}
}
}
if (azTotal != 0)
{
ed.FlsDiff = (flmTotal / azTotal) * 100; //Differenzen durch AbsenceTimes?
}
var sollProTag = ed.SollProTag;
if (ed.ArbeitstageProWoche != 5)
{
sollProTag = (sollProTag * 5) / ed.ArbeitstageProWoche;
}
for (int i = berichtStart.Day; i <= DateTime.DaysInMonth(berichtStart.Year, berichtStart.Month); i++)
{
var start = new DateTime(berichtStart.Year, berichtStart.Month, i);
var ah = GetAbsenceTimeDays(ed.Employee.AbsenceTimes, start, start.AddDays(1));
if (ah.TageKrankheit.HasValue && ah.TageKrankheit > 0)
{
var dd = CreateDayDetailIfNotExist(dayToDetail, start, ed, (sollProTag * 60) / ah.TageKrankheit.Value);
if (dd != null)
{
dayDetailList.Add(dd);
}
}
if (ah.TageUrlaub.HasValue && ah.TageUrlaub > 0)
{
var dd = CreateDayDetailIfNotExist(dayToDetail, start, ed, (sollProTag * 60) / ah.TageUrlaub.Value);
if (dd != null)
{
dayDetailList.Add(dd);
}
}
}
// DateTime dtEnd = sr.Start.Value.AddMinutes((double)duration);
// dd.StartDateTime1 = sr.Start;
// dd.EndDateTime1 = dtEnd;
// azTotal += duration;
return dayDetailList.OrderBy(dd => dd.Date).ToList();
}
// }
// else
// {
// if (sr.ServiceDescription.ServiceCategory.IsBillable)
// {
// flmTotal += duration;
// }
// }
// }
// }
// if (azTotal != 0)
// {
// ed.FlsDiff = (flmTotal/azTotal)*100; //Differenzen durch AbsenceTimes?
// }
private MitarbeiterstundenkontoRO.DayDetail CreateDayDetailIfNotExist(Dictionary<int, MitarbeiterstundenkontoRO.DayDetail> dayToDetail, DateTime start, MitarbeiterstundenkontoRO.EmployeeDetail ed, decimal minuten)
{
MitarbeiterstundenkontoRO.DayDetail dd = null;
MitarbeiterstundenkontoRO.DayDetail returndd = null;
// var sollProTag = ed.SollProTag;
// if (ed.ArbeitstageProWoche != 5)
// {
// sollProTag = (sollProTag*5)/ed.ArbeitstageProWoche;
// }
// for (int i = berichtStart.Day; i <= DateTime.DaysInMonth(berichtStart.Year, berichtStart.Month); i++)
// {
// var start = new DateTime(berichtStart.Year, berichtStart.Month, i);
// var ah = GetAbsenceTimeDays(ed.Employee.AbsenceTimes, start, start.AddDays(1));
if (!dayToDetail.ContainsKey(start.Day))
{
// if (ah.TageKrankheit.HasValue && ah.TageKrankheit > 0)
// {
// MitarbeiterstundenkontoRO.DayDetail dd = CreateDayDetail(start, ed);
// dayDetailList.Add(dd);
dd = CreateDayDetail(start, ed);
returndd = dd;
}
else
{
dd = dayToDetail[start.Day];
// dd.MinutesTotal = (sollProTag * 60) / ah.TageKrankheit.Value;
// }
// if (ah.TageUrlaub.HasValue && ah.TageUrlaub > 0)
// {
// MitarbeiterstundenkontoRO.DayDetail dd = CreateDayDetail(start, ed);
// dayDetailList.Add(dd);
}
// dd.MinutesTotal = (sollProTag * 60) / ah.TageUrlaub.Value;
// }
// }
String ar = "";
// return dayDetailList.OrderBy(dd => dd.Date).ToList();
//}
foreach (var at in ed.Employee.AbsenceTimes)
{
public override MitarbeiterstundenkontoRO.DayDetail CreateDayDetail(DateTime date, MitarbeiterstundenkontoRO.EmployeeDetail ed)
if ((!at.Start.HasValue || at.Start.Value <= start) &&
(!at.End.HasValue || at.End.Value >= start))
{
ar = at.AbsenceReason.Description;
}
}
dd.Custom10 = ar;
dd.MinutesTotal += minuten;
return returndd;
}
//public IList<MitarbeiterstundenkontoRO.DayDetail> CreateDayDetails2(DateTime berichtStart, DateTime berichtEnde, MitarbeiterstundenkontoRO.EmployeeDetail ed, IList<ServiceRecord> recordsAll)
//{
// IList<MitarbeiterstundenkontoRO.DayDetail> dayDetailList = new List<MitarbeiterstundenkontoRO.DayDetail>();
// decimal flmTotal = 0;
// decimal azTotal = 0;
// foreach (var sr in recordsAll)
// {
// if (sr.Start.HasValue && sr.Start >= berichtStart && sr.Start < berichtEnde && sr.End.HasValue)
// {
// decimal duration = 0;
// if (sr.GroupRoundedDuration.HasValue)
// {
// duration = sr.GroupRoundedDuration.Value;
// }
// else
// {
// duration = sr.RoundedDuration;
// }
// if (AddServiceRecordToDuration(sr))
// {
// MitarbeiterstundenkontoRO.DayDetail dd = CreateDayDetail(new DateTime(berichtStart.Year, berichtStart.Month, sr.Start.Value.Day), ed);
// dayDetailList.Add(dd);
// dd.MinutesTotal += duration;
// if (dd.ServiceRecords == null)
// dd.ServiceRecords = new List<ServiceRecord>();
// dd.ServiceRecords.Add(sr);
// CalculateSpecialHours(dd, sr, duration);
// DateTime dtEnd = sr.Start.Value.AddMinutes((double)duration);
// dd.StartDateTime1 = sr.Start;
// dd.EndDateTime1 = dtEnd;
// azTotal += duration;
// }
// else
// {
// if (sr.ServiceDescription.ServiceCategory.IsBillable)
// {
// flmTotal += duration;
// }
// }
// }
// }
// if (azTotal != 0)
// {
// ed.FlsDiff = (flmTotal / azTotal) * 100; //Differenzen durch AbsenceTimes?
// }
// var sollProTag = ed.SollProTag;
// if (ed.ArbeitstageProWoche != 5)
// {
// sollProTag = (sollProTag * 5) / ed.ArbeitstageProWoche;
// }
// for (int i = berichtStart.Day; i <= DateTime.DaysInMonth(berichtStart.Year, berichtStart.Month); i++)
// {
// var start = new DateTime(berichtStart.Year, berichtStart.Month, i);
// var ah = GetAbsenceTimeDays(ed.Employee.AbsenceTimes, start, start.AddDays(1));
// if (ah.TageKrankheit.HasValue && ah.TageKrankheit > 0)
// {
// MitarbeiterstundenkontoRO.DayDetail dd = CreateDayDetail(start, ed);
// dayDetailList.Add(dd);
// dd.MinutesTotal = (sollProTag * 60) / ah.TageKrankheit.Value;
// }
// if (ah.TageUrlaub.HasValue && ah.TageUrlaub > 0)
// {
// MitarbeiterstundenkontoRO.DayDetail dd = CreateDayDetail(start, ed);
// dayDetailList.Add(dd);
// dd.MinutesTotal = (sollProTag * 60) / ah.TageUrlaub.Value;
// }
// }
// return dayDetailList.OrderBy(dd => dd.Date).ToList();
//}
//private void BerechneZeitraeume()
//{
// foreach (var ddKeyValue in dayToDetail)
// {
// var dd = ddKeyValue.Value;
// if (dd.ZusammenhaengendeZeitraeume == null)
// {
// dd.ZusammenhaengendeZeitraeume = new List<DateTimeSpan>();
// }
// if (dd.ServiceRecords != null)
// {
// var orderedList = dd.ServiceRecords.OrderBy(i => i.Start);
// DateTime lastEnd = DateTime.MinValue;
// var gapCount = -1;
// foreach (var sr in orderedList)
// {
// if (sr.Start.HasValue && sr.Start.Value.Hour == 0 && sr.Start.Value.Second > 0)
// {
// continue;
// }
// decimal duration = GetDuration(sr);
// DateTime dtEnd = sr.Start.Value.AddMinutes((double) duration);
// if (sr.Start > lastEnd)
// {
// gapCount++;
// }
// if (dtEnd > lastEnd)
// {
// lastEnd = dtEnd;
// }
// DateTimeSpan currentSpan = null;
// if (gapCount + 1 > dd.ZusammenhaengendeZeitraeume.Count)
// {
// currentSpan = new DateTimeSpan();
// currentSpan.StartDateTime = DateTime.MaxValue;
// currentSpan.EndDateTime = DateTime.MinValue;
// dd.ZusammenhaengendeZeitraeume.Add(currentSpan);
// }
// else
// {
// currentSpan = dd.ZusammenhaengendeZeitraeume[gapCount];
// }
// if (sr.Start < currentSpan.StartDateTime)
// {
// currentSpan.StartDateTime = sr.Start.Value;
// }
// if (dtEnd > currentSpan.EndDateTime)
// {
// currentSpan.EndDateTime = dtEnd;
// }
// if (gapCount == 0)
// {
// if (!dd.StartDateTime1.HasValue || sr.Start < dd.StartDateTime1)
// {
// dd.StartDateTime1 = sr.Start;
// }
// if (!dd.EndDateTime1.HasValue || dtEnd > dd.EndDateTime1)
// {
// dd.EndDateTime1 = dtEnd;
// }
// }
// else if (gapCount == 1)
// {
// if (!dd.StartDateTime2.HasValue || sr.Start < dd.StartDateTime2)
// {
// dd.StartDateTime2 = sr.Start;
// }
// if (!dd.EndDateTime2.HasValue || dtEnd > dd.EndDateTime2)
// {
// dd.EndDateTime2 = dtEnd;
// }
// }
// else if (gapCount == 2)
// {
// if (!dd.StartDateTime3.HasValue || sr.Start < dd.StartDateTime3)
// {
// dd.StartDateTime3 = sr.Start;
// }
// if (!dd.EndDateTime3.HasValue || dtEnd > dd.EndDateTime3)
// {
// dd.EndDateTime3 = dtEnd;
// }
// }
// else
// {
// if (!dd.StartDateTime4.HasValue || sr.Start < dd.StartDateTime4)
// {
// dd.StartDateTime4 = sr.Start;
// }
// if (!dd.EndDateTime4.HasValue || dtEnd > dd.EndDateTime4)
// {
// dd.EndDateTime4 = dtEnd;
// }
// }
// }
// }
// }
//}
public override MitarbeiterstundenkontoRO.DayDetail CreateDayDetail(DateTime date, MitarbeiterstundenkontoRO.EmployeeDetail ed)
{
return new MitarbeiterstundenkontoRO.DayDetail { Date = date.Date, NightStart = 21, NightEnd = 6 };
}

View File

@@ -4,7 +4,7 @@ using BeWo.Report.ReportObjects;
using BS.Shared.Core;
namespace BeWo.LebenshilfeEssenReports
namespace DiakonieKKKleve
{
[IDSpecificClass(Identifier = "Mitarbeiterstundenkonto")]
public partial class Mitarbeiterstundenkonto : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<MitarbeiterstundenkontoRO>

View File

@@ -1,5 +1,5 @@
using BeWo.Report.ReportObjects;
namespace BeWo.LebenshilfeEssenReports
namespace DiakonieKKKleve
{
partial class Mitarbeiterstundenkonto
{

View File

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

View File

@@ -0,0 +1,761 @@
using BeWo.Report.ReportObjects;
namespace DiakonieKKKleve
{
partial class MitarbeiterstundenkontoJahr
{
/// <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();
DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary2 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary3 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary4 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary5 = new DevExpress.XtraReports.UI.XRSummary();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
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.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell28 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell27 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell25 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell24 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell26 = new DevExpress.XtraReports.UI.XRTableCell();
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.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell39 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellSollGesamt = new DevExpress.XtraReports.UI.XRTableCell();
this.cellFLSSollGesamt = new DevExpress.XtraReports.UI.XRTableCell();
this.cellFLSIstGesamt = new DevExpress.XtraReports.UI.XRTableCell();
this.cellFLSPlusMinusGesamt = new DevExpress.XtraReports.UI.XRTableCell();
this.cellGesamtGesamt = new DevExpress.XtraReports.UI.XRTableCell();
this.cellRelationGesamt = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell48 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell51 = new DevExpress.XtraReports.UI.XRTableCell();
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.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail2 = new DevExpress.XtraReports.UI.DetailBand();
this.DetailReport2 = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail3 = new DevExpress.XtraReports.UI.DetailBand();
this.GroupHeader2 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.GroupHeader3 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.GroupFooter2 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.fieldRelationGesamt = 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.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;
//
// 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(1005F, 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.xrTableCell20,
this.xrTableCell28,
this.xrTableCell16,
this.xrTableCell27,
this.xrTableCell22,
this.xrTableCell23,
this.xrTableCell21,
this.xrTableCell25,
this.xrTableCell24,
this.xrTableCell26});
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, "EmployeeInfoList.EmployeeDetails.Monat", "{0:MMMM}")});
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.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell3.Weight = 0.15329125338142471D;
//
// xrTableCell19
//
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.StundenSollMax", "{0:0.00}")});
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.Text = "xrTableCell19";
this.xrTableCell19.Weight = 0.081154151689479551D;
//
// xrTableCell20
//
this.xrTableCell20.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.UrlaubUndKrankheit", "{0:0.00}")});
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.Text = "xrTableCell20";
this.xrTableCell20.Weight = 0.094679933071566441D;
//
// xrTableCell28
//
this.xrTableCell28.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.StundenSollOhneUrlaubKrankheit", "{0:0.00}")});
this.xrTableCell28.Name = "xrTableCell28";
this.xrTableCell28.Text = "xrTableCell28";
this.xrTableCell28.Weight = 0.0721370604147881D;
//
// xrTableCell16
//
this.xrTableCell16.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.FlsSoll", "{0:0.00}")});
this.xrTableCell16.Name = "xrTableCell16";
this.xrTableCell16.Text = "xrTableCell16";
this.xrTableCell16.Weight = 0.063119927862939587D;
//
// xrTableCell27
//
this.xrTableCell27.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.FlsIst", "{0:0.00}")});
this.xrTableCell27.Name = "xrTableCell27";
this.xrTableCell27.Text = "xrTableCell27";
this.xrTableCell27.Weight = 0.063119927862939615D;
//
// xrTableCell22
//
this.xrTableCell22.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.FlsDiff", "{0:0.00}")});
this.xrTableCell22.Name = "xrTableCell22";
this.xrTableCell22.Text = "xrTableCell22";
this.xrTableCell22.Weight = 0.063119927862939587D;
//
// xrTableCell23
//
this.xrTableCell23.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.StundenGesamtIst", "{0:0.00}")});
this.xrTableCell23.Name = "xrTableCell23";
this.xrTableCell23.Text = "xrTableCell23";
this.xrTableCell23.Weight = 0.063119927862939559D;
//
// xrTableCell21
//
this.xrTableCell21.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.RelationFlsZuMittelbar", "{0:0.00}")});
this.xrTableCell21.Name = "xrTableCell21";
this.xrTableCell21.Text = "xrTableCell21";
this.xrTableCell21.Weight = 0.063119927862939615D;
//
// xrTableCell25
//
this.xrTableCell25.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.Ueberstunden", "{0:0.00}")});
this.xrTableCell25.Name = "xrTableCell25";
this.xrTableCell25.Text = "xrTableCell25";
this.xrTableCell25.Weight = 0.063119927862939587D;
//
// xrTableCell24
//
this.xrTableCell24.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.LaufendeGesamtsumme", "{0:0.00}")});
this.xrTableCell24.Name = "xrTableCell24";
this.xrTableCell24.Text = "xrTableCell24";
this.xrTableCell24.Weight = 0.0631199278629396D;
//
// xrTableCell26
//
this.xrTableCell26.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.UeberstundenGesamt", "{0:0.00}")});
this.xrTableCell26.Name = "xrTableCell26";
this.xrTableCell26.Text = "xrTableCell26";
this.xrTableCell26.Weight = 0.063119927862939573D;
//
// 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(1005F, 70F);
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.xrTableCell2,
this.xrTableCell9,
this.xrTableCell8,
this.xrTableCell10,
this.xrTableCell7,
this.xrTableCell11,
this.xrTableCell12,
this.xrTableCell13,
this.xrTableCell14,
this.xrTableCell15});
this.xrTableRowHeader.Name = "xrTableRowHeader";
this.xrTableRowHeader.Weight = 2.8D;
//
// 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 = "Monat";
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell5.Weight = 0.15329125016467182D;
//
// xrTableCell4
//
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Text = "Reguläre SOLL Stunden";
this.xrTableCell4.Weight = 0.081154192324637608D;
//
// xrTableCell2
//
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Text = "Fehlzeiten Urlaub Krankheit(Tage)";
this.xrTableCell2.Weight = 0.094679896646570338D;
//
// xrTableCell9
//
this.xrTableCell9.Multiline = true;
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Text = "Tatsächliche SOLL Stunden";
this.xrTableCell9.Weight = 0.072137063712635591D;
//
// xrTableCell8
//
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.Text = "FLS Stunden SOLL";
this.xrTableCell8.Weight = 0.063119927721024038D;
//
// xrTableCell10
//
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.StylePriority.UseBackColor = false;
this.xrTableCell10.Text = "FLS IST lfd. Monat";
this.xrTableCell10.Weight = 0.063119927721024D;
//
// xrTableCell7
//
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.Text = "FLS Plus/Minus lfd. Monat";
this.xrTableCell7.Weight = 0.06311992757910842D;
//
// xrTableCell11
//
this.xrTableCell11.Multiline = true;
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.StylePriority.UseBackColor = false;
this.xrTableCell11.Text = "Gesamt-\r\nstunden lfd. Monat";
this.xrTableCell11.Weight = 0.063119927721024011D;
//
// xrTableCell12
//
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.Text = "Relation FLS IST zu Mittelbare IST (in %)";
this.xrTableCell12.Weight = 0.063119929511863376D;
//
// xrTableCell13
//
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.Text = "Überstd. neu";
this.xrTableCell13.Weight = 0.063119928687401447D;
//
// xrTableCell14
//
this.xrTableCell14.Multiline = true;
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.StylePriority.UseBackColor = false;
this.xrTableCell14.Text = "Überstd.\r\ndieses Jahr";
this.xrTableCell14.Weight = 0.063119928275170531D;
//
// xrTableCell15
//
this.xrTableCell15.Multiline = true;
this.xrTableCell15.Name = "xrTableCell15";
this.xrTableCell15.Text = "Überstd. Gesamt";
this.xrTableCell15.Weight = 0.0631199213956443D;
//
// 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(1005F, 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.xrTableCell37,
this.xrTableCell39,
this.cellSollGesamt,
this.cellFLSSollGesamt,
this.cellFLSIstGesamt,
this.cellFLSPlusMinusGesamt,
this.cellGesamtGesamt,
this.cellRelationGesamt,
this.xrTableCell47,
this.xrTableCell48,
this.xrTableCell51});
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.15329126714047708D;
//
// xrTableCell37
//
this.xrTableCell37.Name = "xrTableCell37";
this.xrTableCell37.Weight = 0.081154151689479551D;
//
// xrTableCell39
//
this.xrTableCell39.Name = "xrTableCell39";
this.xrTableCell39.Weight = 0.094679919312514085D;
//
// cellSollGesamt
//
this.cellSollGesamt.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.StundenSollOhneUrlaubKrankheit")});
this.cellSollGesamt.Name = "cellSollGesamt";
xrSummary1.FormatString = "{0:0.00}";
xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.cellSollGesamt.Summary = xrSummary1;
this.cellSollGesamt.Weight = 0.0721370604147881D;
//
// cellFLSSollGesamt
//
this.cellFLSSollGesamt.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.FlsSoll")});
this.cellFLSSollGesamt.Name = "cellFLSSollGesamt";
xrSummary2.FormatString = "{0:0.00}";
xrSummary2.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.cellFLSSollGesamt.Summary = xrSummary2;
this.cellFLSSollGesamt.Weight = 0.063119927862939587D;
//
// cellFLSIstGesamt
//
this.cellFLSIstGesamt.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.FlsIst")});
this.cellFLSIstGesamt.Name = "cellFLSIstGesamt";
xrSummary3.FormatString = "{0:0.00}";
xrSummary3.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.cellFLSIstGesamt.Summary = xrSummary3;
this.cellFLSIstGesamt.Weight = 0.063119927862939615D;
//
// cellFLSPlusMinusGesamt
//
this.cellFLSPlusMinusGesamt.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.FlsDiff")});
this.cellFLSPlusMinusGesamt.Name = "cellFLSPlusMinusGesamt";
xrSummary4.FormatString = "{0:0.00}";
xrSummary4.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.cellFLSPlusMinusGesamt.Summary = xrSummary4;
this.cellFLSPlusMinusGesamt.Weight = 0.063119927862939587D;
//
// cellGesamtGesamt
//
this.cellGesamtGesamt.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.EmployeeDetail.StundenGesamtIst")});
this.cellGesamtGesamt.Name = "cellGesamtGesamt";
xrSummary5.FormatString = "{0:0.00}";
xrSummary5.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.cellGesamtGesamt.Summary = xrSummary5;
this.cellGesamtGesamt.Weight = 0.063119927862939573D;
//
// cellRelationGesamt
//
this.cellRelationGesamt.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeInfoList.EmployeeDetails.fieldRelationGesamt", "{0:0.00}")});
this.cellRelationGesamt.Name = "cellRelationGesamt";
this.cellRelationGesamt.Text = "cellRelationGesamt";
this.cellRelationGesamt.Weight = 0.0631199278629396D;
//
// xrTableCell47
//
this.xrTableCell47.Name = "xrTableCell47";
this.xrTableCell47.Weight = 0.063119927862939587D;
//
// xrTableCell48
//
this.xrTableCell48.Name = "xrTableCell48";
this.xrTableCell48.Weight = 0.063119927862939587D;
//
// xrTableCell51
//
this.xrTableCell51.Name = "xrTableCell51";
this.xrTableCell51.Weight = 0.063119927862939573D;
//
// 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(864.9999F, 25F);
this.xrPageInfo2.Name = "xrPageInfo2";
this.xrPageInfo2.SizeF = new System.Drawing.SizeF(139.9999F, 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(260.0001F, 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 = 1F;
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 = 1F;
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 = 1F;
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 = 1F;
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";
//
// DetailReport1
//
this.DetailReport1.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail2,
this.DetailReport2});
this.DetailReport1.DataMember = "EmployeeInfoList";
this.DetailReport1.DataSource = this.bindingSource1;
this.DetailReport1.Level = 0;
this.DetailReport1.Name = "DetailReport1";
//
// Detail2
//
this.Detail2.HeightF = 0F;
this.Detail2.Name = "Detail2";
this.Detail2.PageBreak = DevExpress.XtraReports.UI.PageBreak.BeforeBandExceptFirstEntry;
//
// DetailReport2
//
this.DetailReport2.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail3,
this.GroupHeader2,
this.GroupHeader3,
this.GroupFooter2});
this.DetailReport2.DataMember = "EmployeeInfoList.EmployeeDetails";
this.DetailReport2.DataSource = this.bindingSource1;
this.DetailReport2.Level = 0;
this.DetailReport2.Name = "DetailReport2";
//
// Detail3
//
this.Detail3.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTableDetail});
this.Detail3.Font = new System.Drawing.Font("Arial", 9.75F);
this.Detail3.HeightF = 25F;
this.Detail3.Name = "Detail3";
this.Detail3.StylePriority.UseFont = false;
//
// GroupHeader2
//
this.GroupHeader2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTableHeader});
this.GroupHeader2.HeightF = 70F;
this.GroupHeader2.Name = "GroupHeader2";
//
// GroupHeader3
//
this.GroupHeader3.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel1});
this.GroupHeader3.HeightF = 35F;
this.GroupHeader3.Level = 1;
this.GroupHeader3.Name = "GroupHeader3";
//
// xrLabel1
//
this.xrLabel1.Font = new System.Drawing.Font("Arial", 14F, 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(1005F, 25F);
this.xrLabel1.StyleName = "Title";
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.Text = "Stundenkonto [EmployeeInfoList.LastName], [EmployeeInfoList.FirstName] [ReportSta" +
"rtDate!yyyy]";
//
// GroupFooter2
//
this.GroupFooter2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable1});
this.GroupFooter2.HeightF = 25F;
this.GroupFooter2.Name = "GroupFooter2";
//
// fieldRelationGesamt
//
this.fieldRelationGesamt.DataMember = "EmployeeInfoList.EmployeeDetails";
this.fieldRelationGesamt.Expression = "(Sum([EmployeeDetail.FlsIst]) / Sum([EmployeeDetail.StundenGesamtIst])) * 100";
this.fieldRelationGesamt.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldRelationGesamt.Name = "fieldRelationGesamt";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoMonateRO);
//
// MitarbeiterstundenkontoJahr
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.pageFooterBand1,
this.topMarginBand1,
this.bottomMarginBand1,
this.DetailReport1});
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.fieldFLS,
this.fieldRelationGesamt});
this.DataSource = this.bindingSource1;
this.DisplayName = "Mitarbeiterstundenkonto";
this.Landscape = true;
this.Margins = new System.Drawing.Printing.Margins(75, 75, 50, 30);
this.PageHeight = 827;
this.PageWidth = 1169;
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 = "17.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.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 xrTableCell2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell11;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell19;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell20;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell28;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell16;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell27;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell22;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell23;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell21;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell25;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell24;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell26;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell14;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell15;
private DevExpress.XtraReports.UI.XRTable xrTable1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell35;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell37;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell39;
private DevExpress.XtraReports.UI.XRTableCell cellSollGesamt;
private DevExpress.XtraReports.UI.XRTableCell cellFLSSollGesamt;
private DevExpress.XtraReports.UI.XRTableCell cellFLSIstGesamt;
private DevExpress.XtraReports.UI.XRTableCell cellFLSPlusMinusGesamt;
private DevExpress.XtraReports.UI.XRTableCell cellGesamtGesamt;
private DevExpress.XtraReports.UI.XRTableCell cellRelationGesamt;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell47;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell48;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell51;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport1;
private DevExpress.XtraReports.UI.DetailBand Detail2;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport2;
private DevExpress.XtraReports.UI.DetailBand Detail3;
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader2;
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader3;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter2;
private DevExpress.XtraReports.UI.CalculatedField fieldRelationGesamt;
}
}

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

@@ -4,7 +4,7 @@ using BeWo.Report.ReportObjects;
using BS.Shared.Core;
namespace BeWo.DiakonieKKKleve
namespace DiakonieKKKleve
{
[IDSpecificClass(Identifier = "Teamstundenkonto")]
public partial class Teamstundenkonto : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<MitarbeiterstundenkontoRO>

View File

@@ -1,5 +1,5 @@
using BeWo.Report.ReportObjects;
namespace BeWo.DiakonieKKKleve
namespace DiakonieKKKleve
{
partial class Teamstundenkonto
{

View File

@@ -54,6 +54,7 @@
<Compile Include="Finanzauswertung.designer.cs">
<DependentUpon>Finanzauswertung.cs</DependentUpon>
</Compile>
<Compile Include="Invoicing\DefaultInvoiceCreation.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="QuittierungsbelegMitDatum.cs">
<SubType>Component</SubType>

View File

@@ -6,6 +6,7 @@ using BeWo.Service.Invoicing;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using DiakonischesWerkWesel.Invoicing;
namespace DiakonischesWerkWesel
{
@@ -25,9 +26,9 @@ namespace DiakonischesWerkWesel
if (scRo.Costbearer2Supportconcept != null)
CalculateBillableAmountInReportTimeSpan(scRo, pRO.ReportStartDate.Value, pRO.ReportEndDate.Value);
String kst = GetKostenStelle(scRo);
//String kst = GetKostenStelle(scRo);
scRo.Custom1 = (String.IsNullOrEmpty(kst)) ? " " : String.Format("Kostenstelle {0}", kst);
//scRo.Custom1 = (String.IsNullOrEmpty(kst)) ? " " : String.Format("Kostenstelle {0}", kst);
}
}
@@ -93,8 +94,13 @@ namespace DiakonischesWerkWesel
}
}
if (scRo.Costbearer2Supportconcept.SupportConcept != null && scRo.Costbearer2Supportconcept.SupportConcept.CustomerFullName != null && scRo.Costbearer2Supportconcept.SupportConcept.CustomerFullName.Contains("Grote"))
{
int test = 0;
}
dict.Add(sc, scRo.ServiceRecords);
var creator = new InvoiceCreation();
var creator = new DefaultInvoiceCreation();
DateTimeSpan span = new DateTimeSpan();
span.StartDate = start;

View File

@@ -0,0 +1,56 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Invoicing;
using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.Shared.Services;
namespace DiakonischesWerkWesel.Invoicing
{
public class DefaultInvoiceCreation : InvoiceCreation
{
public override void SetInvoiceItems(ServiceInvoice invoice,
ServiceInvoicePeriod serviceInvoicePeriod,
SupportConceptApprovalPeriodDC supportConceptApprovalPeriod,
CostBearer2SupportConcept cb2sc,
DateTimeSpan invoicePeriod,
List<ServiceRecordDC> serviceRecords)
{
Calculations calc = PluginLoader.FindClass<Calculations>(_SpecificID) ?? Calculations.GetInstance(_SpecificID);
if (ShouldCreateFixedAmounts(serviceInvoicePeriod, supportConceptApprovalPeriod, cb2sc))
{
CreateFixedAmounts(serviceInvoicePeriod, supportConceptApprovalPeriod, cb2sc);
}
else
{
List<ServiceRecordDC> serviceRecordsInPeriod = serviceRecords.Where(
i =>
{
bool valid = i.Start.Value.InBetween(serviceInvoicePeriod.Start.Value,
serviceInvoicePeriod.End.Value, true);
if (valid && serviceInvoicePeriod.SupportConceptApprovalPeriod != null && serviceInvoicePeriod.SupportConceptApprovalPeriod.ServiceCategory != null)
valid = serviceInvoicePeriod.SupportConceptApprovalPeriod.ServiceCategory.Oid ==
i.ServiceDescription.Category.ServiceCategoryOid;
return valid;
}).ToList();
if (serviceRecordsInPeriod.Count > 0)
{
var itemList = CreateInvoiceItems(serviceRecordsInPeriod, invoicePeriod, serviceInvoicePeriod.SupportConceptApprovalPeriod, calc);
serviceInvoicePeriod.InvoiceItemList.AddRange(itemList);
}
}
}
}
}

View File

@@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using BeWo.Service.Core;
using BeWo.Service.Plugins;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using Utils = BS.Shared.Core.Utils;
namespace FlingernMobilReports.Export
{
public class CustomDataExporter : DataExporter
{
public override string CreateExportString(string pFileID, string[] pHeaderCaption, string[][] pContent)
{
if (pHeaderCaption != null && pHeaderCaption.Length > 0 && pHeaderCaption[0].Contains("Sage"))
{
return DiamantExporter.CreateExportString(pHeaderCaption, pContent);
}
return base.CreateExportString(pFileID, pHeaderCaption, pContent);
}
public override QueryDC CreateQuery(QueryDC query)
{
return DatevExporter.CreateQuery(query);
}
}
}

View File

@@ -0,0 +1,313 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Text;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BS.Shared;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
namespace FlingernMobilReports.Export
{
public class DatevExporter
{
public static QueryDC CreateQuery(QueryDC query)
{
DateTime dt = DateTime.Now;
DateTime.TryParse(query.Parameter[0].Value.ToString(), out dt);
query.FileName = String.Format("DatevListe{0:yyyyMM}.csv", dt);
query.QueryResult = GetAbrechnungenString(dt);
return query;
}
public static string CreateExportString(string[] pHeaderCaption, string[][] pContent)
{
if (pHeaderCaption != null && pHeaderCaption.Length > 1 && pHeaderCaption[0].Contains("DatevListe"))
{
DateTime dt = DateTime.Now;
DateTime.TryParse(pHeaderCaption[1], out dt);
return GetAbrechnungenString(dt);
}
return null;
}
public static String GetAbrechnungenString(DateTime date)
{
//Fr.Selter 355931 201
//0211 355931 376
//Kostenstelle: 602000
//Ertragskonto: 8100
StringBuilder sb = new StringBuilder();
sb.AppendLine("Debitoren Nr.;Kostenstelle;Name;FLS;Forderung;Stundensatz;Pauschaler Faktor in %;Gegenkonto");
var s = GetMonatlicheAbrechnungString(date, "8000", null);
if (!String.IsNullOrWhiteSpace(s))
{
sb.Append(s);
}
return sb.ToString();
}
public static String GetMonatlicheAbrechnungString(DateTime date, String sachkonto, Dictionary<long, decimal> costDict)
{
var sql = GetMonatlicheAbrechnungSql(date);
var dt = ExecuteQuery(sql, date);
StringBuilder sb = new StringBuilder();
foreach (DataRow row in dt.Rows)
{
if (sb.Length > 0)
{
sb.AppendLine();
}
for (int i = 0; i < row.ItemArray.Length; i++)
{
if (i > 0)
{
sb.Append(";");
}
var item = row[i];
//if (i == 5 && row[5] != null)
//{
// decimal betrag = 0;
// Decimal.TryParse(row[5].ToString(), out betrag);
// //var betrag = (decimal) row[4];
// if (row[9] != null && row[10] != null && costDict != null)
// {
// var minuten = (decimal) row[9];
// var catOid = (long) row[10];
// if (costDict.ContainsKey(catOid))
// {
// var stundensatz = costDict[catOid];
// betrag =
// Math.Round(
// stundensatz * Math.Round(minuten / 60, 2, MidpointRounding.AwayFromZero), 2,
// MidpointRounding.AwayFromZero);
// }
// }
// sb.Append(betrag);
//}
//else
//{
sb.Append(item);
//}
//if (i == 4)
//{
// sb.Append(" Std");
//}
}
sb.Append(";");
sb.Append(sachkonto);
}
return sb.ToString();
}
private static Dictionary<long, decimal> CreateHourlyRateDict(List<long> catOids, DateTime date)
{
Dictionary<long, decimal> dict = new Dictionary<long, decimal>();
foreach (var oid in catOids)
{
var cat = DAOFactory.GenericDAO.LoadByID<ServiceCategory>(oid);
var crps = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(cat.CostRatePeriods);
var cp = crps.GetCostRatePeriodForDate(CostRatePeriodType.AmountOfMoney, date);
if (cp != null && cp.CostRateValue.HasValue)
{
dict.Add(oid, cp.CostRateValue.Value);
}
}
return dict;
}
private static String GetMonatlicheAbrechnungSql(DateTime date)
{
String sql = @"
SELECT distinct
c.`DebitorNumber` AS 'Debitoren Nr.',
c.`CostCenter` AS 'Kostenstelle',
CONCAT(p.`LastName`, ', ', p.`FirstName`) as Name,
org.`Name` as 'Kostentraeger',
ROUND(sr.`GeleisteteFLM` / 60, 2) as 'FLS',
IF(crpRateFactor.`CostRateValue` is null, ROUND((sr.`GeleisteteFLM` / 60) * crpHourlyRate.`CostRateValue`, 2),ROUND(ROUND((sr.`GeleisteteFLM` / 60), 2) * crpHourlyRate.`CostRateValue` * ((100 + crpRateFactor.`CostRateValue`)/100), 2)) AS 'Forderung',
':Monat_MM' AS 'Belegnr.',
ROUND(crpHourlyRate.`CostRateValue`,2) as 'Stundensatz', ROUND(crpRateFactor.`CostRateValue`,2) as 'Pauschaler Faktor in %'
FROM `supportconcept` sc
INNER JOIN `costbearer2supportconcept` cb2sc ON sc.`Oid` = cb2sc.`SupportConceptOid`
INNER JOIN `costbearer` cb ON cb2sc.`CostBearerOid` = cb.`Oid`
INNER JOIN
(SELECT crp.`ObjectOid`, crp.costratetype, crp.`CostRateValue`, If(crp.Enddate is null, '9999-01-01', crp.enddate) as aenddatum, crptemp.enddatum FROM `costrateperiod` crp
inner join (SELECT crpi.`ObjectOid`, Min(If(crpi.Enddate is null, '9999-01-01', crpi.enddate)) as enddatum FROM `costrateperiod` crpi
WHERE crpi.`ObjectTid` = 22 AND crpi.`CostRateType` = 0 AND (crpi.`EndDate` is null or crpi.`EndDate` > ':Monat_Start')
group by crpi.objectoid) as crptemp on crptemp.objectoid = crp.objectoid
WHERE crp.`ObjectTid` = 22 and crp.costratetype = 0
having aenddatum = crptemp.enddatum)
AS crpHourlyRate ON crpHourlyRate.`ObjectOid` = cb.`Oid`
LEFT JOIN
(SELECT crp.`ObjectOid`, crp.costratetype, crp.`CostRateValue`, If(crp.Enddate is null, '9999-01-01', crp.enddate) as aenddatum, crptemp.enddatum FROM `costrateperiod` crp
inner join (SELECT crpi.`ObjectOid`, Min(If(crpi.Enddate is null, '9999-01-01', crpi.enddate)) as enddatum FROM `costrateperiod` crpi
WHERE crpi.`ObjectTid` = 22 AND crpi.`CostRateType` = 2 AND (crpi.`EndDate` is null or crpi.`EndDate` > ':Monat_Start')
group by crpi.objectoid) as crptemp on crptemp.objectoid = crp.objectoid
WHERE crp.`ObjectTid` = 22 and crp.costratetype = 2
having aenddatum = crptemp.enddatum)
AS crpRateFactor ON crpRateFactor.`ObjectOid` = cb.`Oid`
INNER JOIN `organisation` org ON org.`CostBearerOid` = cb.`Oid`
INNER JOIN `customer` c ON sc.`CustomerOid` = c.`Oid`
INNER JOIN `person` p on c.`PersonOid` = p.`Oid`
INNER JOIN
(SELECT sr2.`CostBearer2SupportConceptOid`, SUM(sr2.`roundedduration` / IF(sr2.`GroupEmployeeCount` is null, 1, sr2.`GroupEmployeeCount`)) AS GeleisteteFLM FROM `servicerecord` sr2
INNER JOIN `servicedescription` sd ON sr2.`ServiceDescriptionOid` = sd.`Oid`
INNER JOIN `servicecategory` sc ON sd.`ServiceCategoryOid` = sc.`Oid`
WHERE sr2.`StartDate` >= ':Monat_Start' AND sr2.`StartDate` < ':Monat_End' AND sc.`Billable` = 1:IncludeCatOidList:ExcludeCatOidList GROUP BY sr2.`CostBearer2SupportConceptOid`)
AS sr ON sr.`CostBearer2SupportConceptOid` = cb2sc.`Oid`
WHERE c.`IsActive` <> 0 AND sc.`IsActive` <> 0 and
((If (cb2sc.`ApprovedStartDate` is null, cb2sc.`RequestedStartDate`, cb2sc.`ApprovedStartDate`) < ':Monat_End' and
If (cb2sc.`ApprovedEndDate` is null, cb2sc.`RequestedEndDate`, cb2sc.`ApprovedEndDate`) >= ':Monat_Start'
and GeleisteteFLM is null) or GeleisteteFLM is not null)
ORDER BY p.`LastName`
";
String sqlalt = @"
SELECT
CONCAT(p.Lastname, ', ', p.Firstname),
c.DebitorNumber as 'DebKonto',
DATE_FORMAT(DATE_ADD(':Monat_End',INTERVAL -1 DAY), '%d.%m.%Y') as 'Datum',
c.`CostCenter` AS 'Kst',
ROUND(sr.`GeleisteteFLM` / 60, 2) as 'Text',
IF(crpRateFactor.`CostRateValue` is null,
ROUND(ROUND(sr.`GeleisteteFLM` / 60, 2) * (SELECT crp.`CostRateValue` FROM `costrateperiod` crp WHERE crp.`ObjectTid` = 22 AND crp.`CostRateType` = 0 AND crp.`ObjectOid` = cb2sc.`CostBearerOid` AND (crp.`EndDate` is null or crp.`EndDate` > ':Monat_Start') order by IF(crp.`EndDate` is null, MAKEDATE(9999,365),crp.`EndDate`) LIMIT 1 ), 2),
ROUND(ROUND((sr.`GeleisteteFLM` / 60) * ((100 + crpRateFactor.`CostRateValue`)/100), 2) * (SELECT crp.`CostRateValue` FROM `costrateperiod` crp WHERE crp.`ObjectTid` = 22 AND crp.`CostRateType` = 0 AND crp.`ObjectOid` = cb2sc.`CostBearerOid` AND (crp.`EndDate` is null or crp.`EndDate` > ':Monat_Start') order by IF(crp.`EndDate` is null, MAKEDATE(9999,365),crp.`EndDate`) LIMIT 1 ), 2)) AS 'Betrag',
'',
'',
'',
sr.`GeleisteteFLM`,
sr.CatOid
FROM `supportconcept` sc
INNER JOIN `costbearer2supportconcept` cb2sc ON sc.`Oid` = cb2sc.`SupportConceptOid`
INNER JOIN `costbearer` cb ON cb2sc.`CostBearerOid` = cb.`Oid`
LEFT JOIN
(SELECT crp.`ObjectOid`, crp.`CostRateValue` FROM `costrateperiod` crp
WHERE crp.`ObjectTid` = 22 AND crp.`CostRateType` = 2 AND (crp.`EndDate` is null or crp.`EndDate` > NOW()))
AS crpRateFactor ON crpRateFactor.`ObjectOid` = cb.`Oid`
INNER JOIN `organisation` org ON org.`CostBearerOid` = cb.`Oid`
INNER JOIN `customer` c ON sc.`CustomerOid` = c.`Oid`
INNER JOIN `person` p on c.`PersonOid` = p.`Oid`
LEFT JOIN
(SELECT sr2.`CostBearer2SupportConceptOid`, SUM(sr2.`roundedduration` / IF(sr2.`GroupEmployeeCount` is null, 1, sr2.`GroupEmployeeCount`)) AS GeleisteteFLM, sc.Oid as CatOid FROM `servicerecord` sr2
INNER JOIN `servicedescription` sd ON sr2.`ServiceDescriptionOid` = sd.`Oid`
INNER JOIN `servicecategory` sc ON sd.`ServiceCategoryOid` = sc.`Oid`
WHERE sr2.`StartDate` >= ':Monat_Start' AND sr2.`StartDate` < ':Monat_End' AND sc.`Billable` = 1 AND sc.oid in (CATOIDLIST) :Gruppenfilter GROUP BY sr2.`CostBearer2SupportConceptOid`)
AS sr ON sr.`CostBearer2SupportConceptOid` = cb2sc.`Oid`
WHERE c.`IsActive` <> 0 AND sc.`IsActive` <> 0
and (sr.`GeleisteteFLM` is not null)
ORDER BY p.`LastName`, p.`FirstName`, cb2sc.`ApprovedStartDate`
";
return sql;
}
private static String GetAbschlagszahlungenSql(DateTime date)
{
String sql = @"
SELECT
date_format(at.BookingDate, '%d.%m.%Y') as 'Belegdatum',
':Belegnr',
'S13690' as 'Konto Soll',
'' as 'Kostenstelle Soll',
c.DebitorNumber as 'Konto Haben',
'' as 'Kostenstelle Haben',
Round(at.Amount, 2) as 'Betrag',
CONCAT('Abschlagszahlung,', p.FirstName, ' ', p.LastName) as 'Buchungstext'
from accountingtransaction at
join costbearer2supportconcept c2s on c2s.oid = at.costbearer2supportconceptoid
join supportconcept sc on sc.oid = c2s.supportconceptoid
join customer c on sc.customeroid = c.oid
join person p on c.personoid = p.oid
WHERE at.`BookingDate` >= ':Monat_Start' AND at.`BookingDate` < ':Monat_End' and c.`IsActive` <> 0 AND sc.`IsActive` <> 0
ORDER BY p.`LastName`, p.`FirstName`
";
return sql;
}
private static String GetSelbstzahlerSql(DateTime date)
{
String sql = @"
SELECT
date_format(ib.InvoiceDate, '%d.%m.%Y') as 'Belegdatum',
ib.InvoiceNumber as 'Belegnummer',
c.DebitorNumber as 'Konto Soll',
'' as 'Kostenstelle Soll',
'S86400' as 'Konto Haben',
c.CostCenter as 'Kostenstelle Haben',
Round(ii.AmountTotal, 2) as 'Betrag',
CONCAT('Eigenanteil, ', p.`FirstName`, ' ', p.`LastName`) as 'Buchungstext'
from invoicebase ib
join invoiceitem ii on ii.invoicebaseoid = ib.oid
join customer c on c.oid = ib.recipientcustomeroid
join `person` p on c.`PersonOid` = p.`Oid`
where ib.`InvoiceDate` >= ':Monat_Start' AND ib.`InvoiceDate` < ':Monat_End'
and ib.type = 0 and ib.isactive = 1 and c.isactive <> 0
";
return sql;
}
public static DataTable ExecuteQuery(String sql, DateTime dt)
{
var newsql = sql;
newsql = newsql.Replace(":Abrechnungsmonat", String.Format("{0:dd.MM.yyyy}", dt));
newsql = newsql.Replace(":Belegnr", String.Format("{0:yyMM}", dt));
newsql = newsql.Replace(":Monat_MM", String.Format("{0:MM}", dt));
newsql = newsql.Replace(":Monat_Start", String.Format("{0:yyyy-MM}-01", dt));
dt = dt.AddMonths(1);
newsql = newsql.Replace(":Monat_End", String.Format("{0:yyyy-MM}-01", dt));
return DAOFactory.AdoDAO.ExecuteQuery(newsql).Tables[0];
}
}
}

View File

@@ -67,6 +67,8 @@
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Compile Include="Export\CustomDataExporter.cs" />
<Compile Include="Export\DatevExporter.cs" />
<Compile Include="Invoicing\CustomInvoiceCreation.cs" />
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />

View File

@@ -14,7 +14,7 @@ namespace SPZLeverkusen
{
public override XtraReport CreateServiceOverviewAllCustomersReport(int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
{
List<ServicesOverviewRO> lROs = ServicesOverviewRO.Create(month, year, orgaOid, empOid, startDay, endDay);
List<ServicesOverviewRO> lROs = ServicesOverviewRO.CreateAlt(month, year, orgaOid, empOid, startDay, endDay);
if (lROs.Count > 0)
{
@@ -36,7 +36,7 @@ namespace SPZLeverkusen
public override XtraReport CreateServiceOverviewSingleCustomerReport(long customerOid, int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
{
var ro = ServicesOverviewRO.Create(customerOid, month, year, false, orgaOid, empOid, startDay, endDay, serviceCategoryOid);
var ro = ServicesOverviewRO.CreateAlt(customerOid, month, year, false, orgaOid, empOid, startDay, endDay, serviceCategoryOid);
return CreateServicesOverviewReportForRo(ro, serviceCategoryOid);

View File

@@ -127,7 +127,7 @@ Mit freundlichen Grüßen
SPZ-gemeinnützige GmbH
i. A.
Petra Witt
Marina Ditenbier
Verwaltung

View File

@@ -128,7 +128,7 @@ Mit freundlichen Grüßen
SPZ-gemeinnützige GmbH
i. A.
Petra Witt
Marina Ditenbier
Verwaltung

View File

@@ -397,8 +397,8 @@ namespace SPZLeverkusen.Alt
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(397.9167F, 138.6667F);
this.xrLabel10.StylePriority.UseFont = false;
this.xrLabel10.Text = "Mit freundlichen Grüßen\r\n\r\nSPZ-gemeinnützige GmbH\r\n\r\ni. A.\r\nPetra Witt\r\nVerwaltun" +
"g";
this.xrLabel10.Text = "Mit freundlichen Grüßen\r\n\r\nSPZ-gemeinnützige GmbH\r\n\r\ni. A.\r\nMarina Ditenbier\r\nVer" +
"waltung";
//
// xrTable3
//

View File

@@ -398,8 +398,8 @@ namespace SPZLeverkusen
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(397.9167F, 138.6667F);
this.xrLabel10.StylePriority.UseFont = false;
this.xrLabel10.Text = "Mit freundlichen Grüßen\r\n\r\nSPZ-gemeinnützige GmbH\r\n\r\ni. A.\r\nPetra Witt\r\nVerwaltun" +
"g";
this.xrLabel10.Text = "Mit freundlichen Grüßen\r\n\r\nSPZ-gemeinnützige GmbH\r\n\r\ni. A.\r\nMarina Ditenbier\r\nVer" +
"waltung";
//
// xrTable3
//

View File

@@ -14,6 +14,7 @@ using BeWo.Service.ServiceImplementations;
namespace SozialeDienstleistungenBeckerReports
{
[IDSpecificClass(Identifier = "MitarbeiterVertraege")]
public partial class MitarbeiterVertraege : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<QueryRO>
{

View File

@@ -108,7 +108,7 @@ namespace BeWo.Service.Plugins
//t = "8677523325"; // BeWo Richartz
//t = "1765854593"; // Mein Betreutes Wohnen
//t = "6802909544"; // Lebenshilfe Coburg
//t = "9417634361"; // Synprax
t = "9417634361"; // Synprax
//t = "5761861730"; // Lebenshilfe Warendorf
//t = "6712648331"; // BeWo Färber
//t = "4982295287"; // ASB Hamm
@@ -223,7 +223,7 @@ namespace BeWo.Service.Plugins
//t = "7817461089"; // FAB e.V. (Familienarbeit und Beratung e.V.)
//t = "5207911843"; // Pro Balance
//t = "8619663355"; // HSH Cologne
t = "1652658918"; // LH Frankfurt Oder
//t = "1652658918"; // LH Frankfurt Oder
//t = "7696927868"; // Kuhring Betreuung
//t = "6251348980"; // BeWo Gün
//t = "6782533512"; // LH Dorsten

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BS.Shared.Core;
using BS.Shared.DataContracts;
namespace BeWo.Service.Plugins
{
public class ResourceService : AbstractIDSpecificDefaultClass<ResourceService>
{
public virtual List<ResourceDC> CheckResourceAvailability(DateTime start, DateTime end, List<long> resourceOids, long? selectedAppointmentOid)
{
var list = MapperFactory.ResourceDC_Resource.MapToNewDCs(
DAOFactory.SearchDAO.CheckAvailabilityOfResources(resourceOids, start, end,
selectedAppointmentOid));
return list;
}
}
}

View File

@@ -450,19 +450,19 @@ namespace BeWo.Service.Plugins
// 9. Mitarbeiterunterschrift aus dem Mobilklienten prüfen
// Für alle Customers, falls Gruppenbuchung
var customer = reldc.SupportConcept.Customer;
if(customer != null)
{
var s = newServiceRecord.Start.Value.GetFirstOfMonth();
var e = s.AddMonths(1).AddDays(-1).MergeDatesByDate(new DateTime(2020, 1, 1, 23, 59, 59));
//var customer = reldc.SupportConcept.Customer;
//if(customer != null)
//{
// var s = newServiceRecord.Start.Value.GetFirstOfMonth();
// var e = s.AddMonths(1).AddDays(-1).MergeDatesByDate(new DateTime(2020, 1, 1, 23, 59, 59));
var hasEmployeeSignature = DAOFactory.SearchDAO.HasEmployeeSignatureForCustomerInTimeSpan(customer.CustomerOid, new DateTimeSpan(s, e));
// var hasEmployeeSignature = DAOFactory.SearchDAO.HasEmployeeSignatureForCustomerInTimeSpan(customer.CustomerOid, new DateTimeSpan(s, e));
if(hasEmployeeSignature)
{
result.Add(new ServiceRecordValidationResultDC { ResultType = ServiceRecordValidationResult.HasEmployeeSignature });
}
}
// if(hasEmployeeSignature)
// {
// result.Add(new ServiceRecordValidationResultDC { ResultType = ServiceRecordValidationResult.HasEmployeeSignature });
// }
//}
}
return result;

View File

@@ -337,6 +337,7 @@
<Compile Include="OwnChat\OwnChatHelper.cs" />
<Compile Include="Plugins\AccountingService.cs" />
<Compile Include="Plugins\CustomerService.cs" />
<Compile Include="Plugins\ResourceService.cs" />
<Compile Include="Plugins\UserService.cs" />
<Compile Include="Plugins\FlexibleReportService.cs" />
<Compile Include="Plugins\OperationService.cs" />

View File

@@ -4,7 +4,7 @@ using System.Data;
using System.IO;
using System.Linq;
using System.ServiceModel;
using System.Threading;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.Configuration;

View File

@@ -3506,7 +3506,7 @@ namespace BeWo.Service.ServiceImplementations
apikey = "0b50c09aff87f20d9ced75340e04e5ccaa11dd3e7bcf25e9c4f94dc20d3cbb97";
#endif
var serverUrl = ErmittleServerURL(customerId);
var serverUrl = OwnChatHelper.ErmittleServerURL(customerId);
if (serverUrl.IsNullOrEmpty())
{
@@ -3542,7 +3542,7 @@ namespace BeWo.Service.ServiceImplementations
public string ErzeugeZufallsCode(string apikey, string customerId, string userId)
{
var serverUrl = ErmittleServerURL(customerId);
var serverUrl = OwnChatHelper.ErmittleServerURL(customerId);
try
{
@@ -3581,28 +3581,28 @@ namespace BeWo.Service.ServiceImplementations
}
}
private static string ErmittleServerURL(string customerId)
{
try
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
//private static string ErmittleServerURL(string customerId)
//{
// try
// {
// ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
var url = "https://dict.ownchat.de/api/server/resolve/1/" + customerId;
// var url = "https://dict.ownchat.de/api/server/resolve/1/" + customerId;
var client = new RestClient(url);
var request = new RestRequest(Method.GET);
// var client = new RestClient(url);
// var request = new RestRequest(Method.GET);
var response = client.Execute(request);
// var response = client.Execute(request);
var result = JsonConvert.DeserializeAnonymousType(response.Content, new { Status = string.Empty, Url = string.Empty, SyncType = string.Empty });
// var result = JsonConvert.DeserializeAnonymousType(response.Content, new { Status = string.Empty, Url = string.Empty, SyncType = string.Empty });
return result.Url;
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
// return result.Url;
// }
// catch (Exception e)
// {
// throw Utils.CreateBeWoFaultException(e);
// }
//}
private static string ReadStreamForChatCode(WebResponse response)
{

View File

@@ -10,6 +10,7 @@ using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.Core;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BeWo.Service.ServiceContracts;
using BS.Shared;
@@ -1231,7 +1232,7 @@ namespace BeWo.Service.ServiceImplementations
InsertSchedulerAppointments(MapperFactory.SchedulerAppointmentDCSchedulerAppointment.MapToNewDCs(taskAppointments));
var taskAppointmentDCs = MapperFactory.SchedulerAppointmentDCSchedulerAppointment.MapToNewDCs(DAOFactory.SearchDAO.LoadTaskAppointmentsForEmployee(pEmployeeOid));
var taskAppointmentDCs = MapperFactory.SchedulerAppointmentDCSchedulerAppointment.MapToNewDCs(DAOFactory.SearchDAO.LoadTaskAppointmentsForEmployee(pEmployeeOid, true));
result.AddRangeIfElementsNotIn(taskAppointmentDCs);
@@ -1471,7 +1472,7 @@ namespace BeWo.Service.ServiceImplementations
InsertSchedulerAppointments(MapperFactory.SchedulerAppointmentDCSchedulerAppointment.MapToNewDCs(taskAppointments));
var taskAppointmentDCs = DAOFactory.SearchDAO.LoadTaskAppointmentsForEmployee(pEmployeeOid);
var taskAppointmentDCs = DAOFactory.SearchDAO.LoadTaskAppointmentsForEmployee(pEmployeeOid, true);
var monday = DateTime.Today.FirstDateOfWeek(DateTime.Today.GetIso8601WeekOfYear());
@@ -1544,7 +1545,7 @@ namespace BeWo.Service.ServiceImplementations
InsertSchedulerAppointments(MapperFactory.SchedulerAppointmentDCSchedulerAppointment.MapToNewDCs(taskAppointments));
var taskAppointmentDCs = DAOFactory.SearchDAO.LoadTaskAppointmentsForEmployee(pEmployeeOid);
var taskAppointmentDCs = DAOFactory.SearchDAO.LoadTaskAppointmentsForEmployee(pEmployeeOid, false);
var monday = DateTime.Today.FirstDateOfWeek(pInvertalStart.AddDays(-1 * pBufferSize).GetIso8601WeekOfYear());
@@ -2247,7 +2248,18 @@ namespace BeWo.Service.ServiceImplementations
public List<ResourceDC> CheckResourceAvailability(DateTime start, DateTime end, List<long> resourceOids, long? selectedAppointmentOid)
{
return MapperFactory.ResourceDC_Resource.MapToNewDCs(DAOFactory.SearchDAO.CheckAvailabilityOfResources(resourceOids, start, end, selectedAppointmentOid));
try
{
var s = PluginLoader.FindClass<ResourceService>();
return s.CheckResourceAvailability(start, end, resourceOids, selectedAppointmentOid);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
}
}

View File

@@ -511,6 +511,7 @@ namespace BS.Shared
Kilometerauswertung_View = 29000,
BewertungAuswertung_View = 29001,
BewertenInZeiterfassung = 29002,
PivotTabelleAnsehen = 29003,
VertretungenView_View = 30000,

View File

@@ -254,6 +254,9 @@ namespace BS.Shared.Core
{
UserRightType.BewertungAuswertung_View, Translator.Translate("Auswertung über Bewertung erstellen")
},
{
UserRightType.PivotTabelleAnsehen, Translator.Translate("Auswertung Pivot Tabelle ansehen")
},
{
UserRightType.ResourceBookingView_Create, Translator.Translate("Ressourcen anlegen")
},