Merge branch 'master' of ssh://float.beyondsoft.de/git/beyondSoft/BeWo

This commit is contained in:
Alexandra
2022-04-04 18:10:39 +02:00
29 changed files with 3595 additions and 2218 deletions

View File

@@ -515,6 +515,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ToprakGmbH", "ReportImp\Top
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AlzeyTeilhabe", "ReportImp\AlzeyTeilhabe\AlzeyTeilhabe.csproj", "{D173B437-EAD2-4535-B59D-76737600E058}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChristopherusHausFamilienhilfe", "ReportImp\ChristopherusHausFamilienhilfe\ChristopherusHausFamilienhilfe.csproj", "{B104F622-7BE6-4DFE-9E20-32915507860D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -4022,6 +4024,22 @@ Global
{D173B437-EAD2-4535-B59D-76737600E058}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{D173B437-EAD2-4535-B59D-76737600E058}.Release|x86.ActiveCfg = Release|Any CPU
{D173B437-EAD2-4535-B59D-76737600E058}.Release|x86.Build.0 = Release|Any CPU
{B104F622-7BE6-4DFE-9E20-32915507860D}.Debug|.NET.ActiveCfg = Debug|Any CPU
{B104F622-7BE6-4DFE-9E20-32915507860D}.Debug|.NET.Build.0 = Debug|Any CPU
{B104F622-7BE6-4DFE-9E20-32915507860D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B104F622-7BE6-4DFE-9E20-32915507860D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B104F622-7BE6-4DFE-9E20-32915507860D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{B104F622-7BE6-4DFE-9E20-32915507860D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{B104F622-7BE6-4DFE-9E20-32915507860D}.Debug|x86.ActiveCfg = Debug|Any CPU
{B104F622-7BE6-4DFE-9E20-32915507860D}.Debug|x86.Build.0 = Debug|Any CPU
{B104F622-7BE6-4DFE-9E20-32915507860D}.Release|.NET.ActiveCfg = Release|Any CPU
{B104F622-7BE6-4DFE-9E20-32915507860D}.Release|.NET.Build.0 = Release|Any CPU
{B104F622-7BE6-4DFE-9E20-32915507860D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B104F622-7BE6-4DFE-9E20-32915507860D}.Release|Any CPU.Build.0 = Release|Any CPU
{B104F622-7BE6-4DFE-9E20-32915507860D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{B104F622-7BE6-4DFE-9E20-32915507860D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{B104F622-7BE6-4DFE-9E20-32915507860D}.Release|x86.ActiveCfg = Release|Any CPU
{B104F622-7BE6-4DFE-9E20-32915507860D}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -4275,6 +4293,7 @@ Global
{C9CDE69B-D3A1-4BF7-B988-1A4ACF2D664A} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{12BC3B31-7499-44EC-B7B9-E3CEB2D9997B} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{D173B437-EAD2-4535-B59D-76737600E058} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{B104F622-7BE6-4DFE-9E20-32915507860D} = {D8A691C5-146D-4613-86CC-438F02FE9106}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}

File diff suppressed because it is too large Load Diff

View File

@@ -503,7 +503,7 @@ namespace BeWo.View.Detail.Report
foreach (var tag in info.AbsenceTimes)
{
if (tag.Reason.Description.Equals("Krankheit"))
if (tag.Reason.Description.ToLower().Contains("krank"))
krankheitstage.Add(tag);
}
if (krankheitstage.Count > 0)

View File

@@ -265,7 +265,7 @@
</StackPanel>
<!--Ende-->
<controls:PopupNonTopmost Grid.Row="0" Topmost="False" x:Name="popUp_RightClick" Width="350" StaysOpen="True" Placement="MousePoint">
<controls:PopupNonTopmost Grid.Row="0" Topmost="False" x:Name="popUp_RightClick" Width="350" StaysOpen="True" Placement="MousePoint" MouseDown="groupbox_popUp_RightClick_MouseDown">
<Border Background="White" Padding="3" BorderThickness="1" BorderBrush="Gray">
<GroupBox x:Name="groupbox_popUp_RightClick" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
@@ -320,7 +320,7 @@
</GroupBox>
</Border>
</controls:PopupNonTopmost>
<controls:PopupNonTopmost Grid.Row="0" Topmost="False" x:Name="popUp_RightClickEmployee" Width="400" StaysOpen="True" Placement="MousePoint" Opened="popUp_RightClickEmployee_Opened">
<controls:PopupNonTopmost Grid.Row="0" Topmost="False" x:Name="popUp_RightClickEmployee" MouseDown="groupbox_popUp_RightClick_MouseDown" Width="400" StaysOpen="True" Placement="MousePoint" Opened="popUp_RightClickEmployee_Opened">
<Border Background="White" Padding="3" BorderThickness="1" BorderBrush="Gray">
<GroupBox x:Name="groupbox_popUp_RightClickEmployee" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
@@ -362,7 +362,7 @@
</GroupBox>
</Border>
</controls:PopupNonTopmost >
<controls:PopupNonTopmost Topmost="False" x:Name="popUp_Regeldiensterstellung" Width="400" StaysOpen="True" Placement="MousePoint" Opened="popUp_Regeldiensterstellung_Opened">
<controls:PopupNonTopmost Topmost="False" x:Name="popUp_Regeldiensterstellung" Width="400" StaysOpen="True" Placement="MousePoint" MouseDown="groupbox_popUp_RightClick_MouseDown" Opened="popUp_Regeldiensterstellung_Opened">
<Border Background="White" Padding="3" BorderThickness="1" BorderBrush="Gray">
<GroupBox x:Name="groupbox_popUp_Regeldiensterstellung" Style="{StaticResource ObjectEditGroupBox}">
<Grid>

View File

@@ -780,7 +780,7 @@ namespace BeWo.View.Detail.Report
// Dienstblock an die Dienstzeilen anhängen und aktualisieren
//_DienstplanerRootObj.DienstZeilenListe.AddRange(Init(newDC, _DienstplanerRootObj.AlleDienste, RefreshGrid, _AuswahlMonat));
_DienstplanerRootObj.DienstZeilenListe.AddRange(ServiceFacade.DoOperationsServiceSync(s => s.InitDienstzeilen(newDC, _DienstplanerRootObj.AlleDienste, _AuswahlMonat)));
_DienstplanerRootObj.DienstZeilenListe.AddRange(ServiceFacade.DoOperationsServiceSync(s => s.InitDienstzeilen(newDC, _DienstplanerRootObj.AlleDienste, _AuswahlMonat, _AuswahlWohnheim.StandardZeilenanzahl)));
RefreshGrid();
popUp_neuerMitarbeiterFuerWohnheim.IsOpen = false;
}
@@ -2435,12 +2435,16 @@ namespace BeWo.View.Detail.Report
aufsteigend = true;
_DienstplanerRootObj.DienstDCListe = ServiceFacade.DoOperationsServiceSync(s => s.DienstBloeckeNeuSortieren(_DienstplanerRootObj.DienstDCListe, auswahl, aufsteigend));
DienstZeileDC statuszeile = new DienstZeileDC();
if (_DienstplanerRootObj.EnableStatuszeile)
statuszeile = _DienstplanerRootObj.DienstZeilenListe[0];
_DienstplanerRootObj.DienstZeilenListe = new List<DienstZeileDC>();
if (_DienstplanerRootObj.EnableStatuszeile)
_DienstplanerRootObj.DienstZeilenListe.Add(ServiceFacade.DoOperationsServiceSync(s => s.InitStatusZeile(AuswahlMonat)));
_DienstplanerRootObj.DienstZeilenListe.Add(statuszeile);
_DienstplanerRootObj.DienstZeilenListe.AddRange(ServiceFacade.DoOperationsServiceSync(s => s.InitDienstzeilenNachSortieren(_DienstplanerRootObj.DienstDCListe,
_DienstplanerRootObj.AlleDienste, AuswahlMonat)));
_DienstplanerRootObj.AlleDienste, AuswahlMonat, _AuswahlWohnheim.StandardZeilenanzahl)));
RefreshGrid();
RefreshDienste();
}
@@ -2514,9 +2518,15 @@ namespace BeWo.View.Detail.Report
public ContractDC GetContract(DienstZeileDC zeile, int tag) => zeile.Contracts.FirstOrDefault(x => (!x.EntryDate.HasValue ||
x.EntryDate.Value <= zeile.Date.AddDays(tag - 1)) &&
(!x.ContractEndDate.HasValue || x.ContractEndDate.Value >= zeile.Date.AddDays(tag - 1)));
#endregion
private void groupbox_popUp_RightClick_MouseDown(object sender, MouseButtonEventArgs e)
{
_IsControlClick = true;
}
#endregion
/// <summary>
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@@ -55,9 +55,10 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="115" />
<ColumnDefinition Width="130" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
@@ -69,7 +70,8 @@
<Label Grid.Column="0" Grid.Row="5" Margin="3" VerticalAlignment="Top">Kernzeitanzeige</Label>
<Label Grid.Column="0" Grid.Row="6" Margin="3" VerticalAlignment="Center">Kernzeit Start</Label>
<Label Grid.Column="0" Grid.Row="7" Margin="3" VerticalAlignment="Center">Kernzeit Ende</Label>
<Label x:Name="lblArchiviert" Grid.Column="0" Grid.Row="8" Margin="3" VerticalAlignment="Center">Archiviert</Label>
<Label Grid.Column="0" Grid.Row="8" Margin="3" VerticalAlignment="Center">Standardanzahl Zeilen</Label>
<Label x:Name="lblArchiviert" Grid.Column="0" Grid.Row="9" Margin="3" VerticalAlignment="Center">Archiviert</Label>
<TextBox x:Name="textbox_first" Grid.Column="1" Grid.Row="0" Margin="3" Height="23" Text="{Binding Path=WohnheimName, UpdateSourceTrigger=PropertyChanged}" Width="200" HorizontalAlignment="Left"/>
<TextBox Grid.Column="1" Grid.Row="1" Margin="3" Height="23" Text="{Binding Path=Strasse, UpdateSourceTrigger=PropertyChanged}" Width="200" HorizontalAlignment="Left"/>
@@ -82,7 +84,9 @@
<dxe:TextEdit x:Name="textedit_pflichtStart" Grid.Column="1" Grid.Row="6" Margin="3" Height="23" Text="{Binding Path=PflichtbesetzungStart, UpdateSourceTrigger=PropertyChanged}" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" Width="200" HorizontalAlignment="Left"/>
<dxe:TextEdit x:Name="textedit_pflichtEnde" Grid.Column="1" Grid.Row="7" Margin="3" Height="23" Text="{Binding Path=PflichtbesetzungEnde, UpdateSourceTrigger=PropertyChanged}" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" Width="200" HorizontalAlignment="Left"/>
<CheckBox x:Name="chkArchiviert" Grid.Column="1" Grid.Row="8" Margin="3" Height="23"
<dxe:SpinEdit x:Name="spinedit_zeilenanzahl" Grid.Column="1" Grid.Row="8" Margin="3" Height="23" Text="{Binding Path=StandardZeilenanzahl, UpdateSourceTrigger=PropertyChanged}" MinValue="1" MaxValue="20" MaskType="Numeric" Mask="##" Increment="1" Width="200" HorizontalAlignment="Left"/>
<CheckBox x:Name="chkArchiviert" Grid.Column="1" Grid.Row="9" Margin="3" Height="23"
IsChecked="{Binding Path=IsArchived, UpdateSourceTrigger=PropertyChanged}" />
</Grid>

View File

@@ -32,6 +32,7 @@ namespace BeWo.ViewModel
public static string PropertyName_PflichtbesetzungStart = "PflichtbesetzungStart";
public static string PropertyName_PflichtbesetzungEnde = "PflichtbesetzungEnde";
public static string PropertyName_PflichtbesetzungEinblenden = "PflichtbesetzungEinblenden";
public static string PropertyName_StandardZeilenanzahl = "StandardZeilenanzahl";
//##################################################################
#endregion
@@ -44,6 +45,7 @@ namespace BeWo.ViewModel
private string _PflichtbesetzungStart;
private string _PflichtbesetzungEnde;
private int _PflichtbesetzungEinblenden;
private int _StandardZeilenanzahl;
private bool _IsArchived;
//##################################################################
@@ -205,6 +207,22 @@ namespace BeWo.ViewModel
}
}
public int StandardZeilenanzahl
{
get
{
return _StandardZeilenanzahl;
}
set
{
_StandardZeilenanzahl = value;
StoreDirtyInformation(AreDifferent(DataContract.StandardZeilenanzahl, value), PropertyName_StandardZeilenanzahl);
FirePropertyChanged(PropertyName_StandardZeilenanzahl);
}
}
public WohnheimEmployeeRelationListVM WohnheimEmployeeRelations
{
get { return _WohnheimEmployeeRelations; }
@@ -253,6 +271,7 @@ namespace BeWo.ViewModel
_PflichtbesetzungStart = pDataContract.PflichtbesetzungStart;
_PflichtbesetzungEnde = pDataContract.PflichtbesetzungEnde;
_PflichtbesetzungEinblenden = pDataContract.PflichtbesetzungEinblenden;
_StandardZeilenanzahl = pDataContract.StandardZeilenanzahl;
_IsArchived = pDataContract.ActivationType == ActivationTypeId.Archived;
@@ -272,6 +291,7 @@ namespace BeWo.ViewModel
pDataContract.PflichtbesetzungStart = _PflichtbesetzungStart;
pDataContract.PflichtbesetzungEnde = _PflichtbesetzungEnde;
pDataContract.PflichtbesetzungEinblenden = _PflichtbesetzungEinblenden;
pDataContract.StandardZeilenanzahl = _StandardZeilenanzahl;
pDataContract.ActivationType = _IsArchived ? ActivationTypeId.Archived : ActivationTypeId.Active;

View File

@@ -25,6 +25,8 @@ namespace BeWo.Data.Entities
public static string PropertyName_PflichtbesetzungEinblenden = "PflichtbesetzungEinblenden";
public static string PropertyName_StandardZeilenanzahl = "StandardZeilenanzahl";
private IList<Employee2Wohnheim> _Employee2WohnheimList;
private IList<Customer2Wohnheim> _Customer2WohnheimList;
@@ -45,6 +47,8 @@ namespace BeWo.Data.Entities
public virtual int PflichtbesetzungEinblenden { get; set; }
public virtual int StandardZeilenanzahl { get; set; }
public virtual IList<Employee2Wohnheim> Employee2WohnheimList
{

View File

@@ -21,6 +21,7 @@
<property name="PflichtbesetzungStart" column="PflichtbesetzungStart" type="String"/>
<property name="PflichtbesetzungEnde" column="PflichtbesetzungEnde" type="String"/>
<property name="PflichtbesetzungEinblenden" column="PflichtbesetzungEinblenden" type="Int32"/>
<property name="StandardZeilenanzahl" column="StandardZeilenanzahl" type="Int32"/>
<bag name="Employee2WohnheimList" table="employee2wohnheim" generic="true" cascade="all-delete-orphan" batch-size="250">
<key column="WohnheimOid" />

View File

@@ -4,3 +4,6 @@ ADD COLUMN `PflichtbesetzungEnde` VARCHAR(45) NULL DEFAULT NULL AFTER `Pflichtbe
ALTER TABLE `bewodemo`.`wohnheim`
ADD COLUMN `PflichtbesetzungEinblenden` INT NULL DEFAULT NULL AFTER `PflichtbesetzungEnde`;
ALTER TABLE `bewodemo`.`wohnheim`
ADD COLUMN `StandardZeilenanzahl` INT NULL DEFAULT NULL AFTER `PflichtbesetzungEinblenden`;

View File

@@ -49,6 +49,12 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ServiceInvoiceReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="ServiceInvoiceReport.Designer.cs">
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
</Compile>
<Compile Include="Service\CustomCustomerService.cs" />
<Compile Include="Service\CustomEmployeeService.cs" />
</ItemGroup>
@@ -70,5 +76,12 @@
<Name>Shared</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="ServiceInvoiceReport.resx">
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -122,8 +122,8 @@ namespace ChristopherusHausFamilienhilfe
//Service = DAOFactory.GenericDAO.LoadByID<Employee>(group.Oid.Value);
else
table.Rows[row].Cells[13].Text = sd.EmployeeAbbr;
table.Rows[row].Cells[14].Text = String.Format("{0:hh:mm}", sd.StartDateMinutes);
table.Rows[row].Cells[15].Text = String.Format("{0:hh:mm}", sd.EndDateMinutes);
table.Rows[row].Cells[14].Text = String.Format("{0:HH:mm}", sd.StartDateMinutes);
table.Rows[row].Cells[15].Text = String.Format("{0:HH:mm}", sd.EndDateMinutes);
table.Rows[row].Cells[16].Text = String.Format("{0:0.00}", (sd.Minutes / 60));
table.Rows[row].Cells[17].Text = sd.Notice;
stundenGesamt += sd.Minutes / 60;

View File

@@ -242,7 +242,7 @@ namespace VaroSozialagentur.Invoicing
if (cat == "Fachleistungsstunde")
{
invoiceItem.ItemDescription = "Direkte Leistungen";
invoiceItem.ItemDescription = "Direkte Leistungen";
invoiceItem.UnitDescription = "Fachleistungsstunde (FLS)";
}
else if (cat == "Fahrtkosten")

View File

@@ -561,11 +561,11 @@ namespace VaroSozialagentur
//
this.lblLeistung.Font = new System.Drawing.Font("Calibri", 12F, System.Drawing.FontStyle.Bold);
this.lblLeistung.ForeColor = System.Drawing.Color.Black;
this.lblLeistung.LocationFloat = new DevExpress.Utils.PointFloat(255F, 25F);
this.lblLeistung.LocationFloat = new DevExpress.Utils.PointFloat(0F, 25F);
this.lblLeistung.Multiline = true;
this.lblLeistung.Name = "lblLeistung";
this.lblLeistung.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblLeistung.SizeF = new System.Drawing.SizeF(207.6945F, 25F);
this.lblLeistung.SizeF = new System.Drawing.SizeF(747F, 25F);
this.lblLeistung.StylePriority.UseFont = false;
this.lblLeistung.StylePriority.UseForeColor = false;
this.lblLeistung.StylePriority.UseTextAlignment = false;
@@ -601,7 +601,7 @@ namespace VaroSozialagentur
this.lblBewilligtFls.StylePriority.UseFont = false;
this.lblBewilligtFls.StylePriority.UsePadding = false;
this.lblBewilligtFls.StylePriority.UseTextAlignment = false;
this.lblBewilligtFls.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.lblBewilligtFls.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel7
//
@@ -707,11 +707,11 @@ namespace VaroSozialagentur
//
this.xrLabel2.Font = new System.Drawing.Font("Calibri", 14F, System.Drawing.FontStyle.Bold);
this.xrLabel2.ForeColor = System.Drawing.Color.Black;
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(255F, 0F);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel2.Multiline = true;
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(207.6945F, 25F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(747F, 25F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.StylePriority.UseForeColor = false;
this.xrLabel2.StylePriority.UseTextAlignment = false;

View File

@@ -31,6 +31,7 @@ namespace VaroSozialagentur
double minuten = 0;
var countI = 0;
var countII = 0;
var countIII = 0;
var countAll = pRO.Services.Count;
if (pRO.Services != null)
@@ -54,52 +55,83 @@ namespace VaroSozialagentur
}
servicesBillable.Add(sd);
}
if (sd.ServiceCategory.Contains("Leistungsumfang II"))
{
countII += 1;
lblLeistung.Text = "Leistungsumfang II";
}
else if (sd.ServiceCategory == ("Leistungsumfang I"))
if (sd.ServiceCategory == "Leistungsumfang I")
{
countI += 1;
lblLeistung.Text = "Leistungsumfang I";
}
else if (sd.ServiceCategory == "Leistungsumfang II (Kontingente)")
{
countII += 1;
}
else if (sd.ServiceCategory == "Leistungsumfang III (Kontingente)")
{
countIII += 1;
}
}
pRO.Services = servicesBillable;
}
if (countAll == countII || countAll == countI)
if (countAll == countII || countAll == countI || countAll == countIII)
{
if (countI > countII && countI > countIII)
lblLeistung.Text = "Leistungsumfang I";
else if (countII > countI && countII > countIII)
lblLeistung.Text = "Leistungsumfang II (Kontingente)";
else if (countIII > countI && countIII > countI)
lblLeistung.Text = "Leistungsumfang III (Kontingente)";
lblLeistung.Visible = true;
if (pRO.CostBearer2SupportConceptList != null && pRO.CostBearer2SupportConceptList.Count > 0)
{
var c2s = pRO.CostBearer2SupportConceptList[0];
var dc = MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDC(c2s);
bool showMonat = false;
decimal bewilligteFLS = 0;
foreach (var scap in dc.ApprovalPeriodList)
{
if (scap.ApprovedBEPerInterval.HasValue && scap.ApprovedBEInterval.HasValue && scap.ApprovedBEInterval.Value == SupportConceptApprovalInterval.Monthly)
{
showMonat = true;
bewilligteFLS = scap.ApprovedBEPerInterval.Value;
}
}
if (showMonat)
{
lblBewilligtFls.Text = String.Format("{0:0.00}", bewilligteFLS);
lblBewilligtEinheit.Text = "pro Monat";
}
else
{
lblBewilligtFls.Text = String.Format("{0:0.00}", pRO.ApprovedFLSPerWeek);
lblBewilligtEinheit.Text = "pro Woche";
}
}
bool scGefunden = false;
decimal bewilligteFLS = 0;
if (lblLeistung.Visible)
{
if (pRO.CostBearer2SupportConceptList != null && pRO.CostBearer2SupportConceptList.Count > 0)
{
var c2s = pRO.CostBearer2SupportConceptList[0];
var dc = MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDC(c2s);
foreach (var scap in dc.ApprovalPeriodList)
{
if (scap.ApprovedBEPerInterval.HasValue && scap.ApprovedBEInterval.HasValue && scap.ServiceCategory.Name == lblLeistung.Text)
{
bewilligteFLS = scap.ApprovedBEPerInterval.Value;
scGefunden = true;
if (scap.ApprovedBEInterval.Value == SupportConceptApprovalInterval.Weekly)
lblBewilligtEinheit.Text = "pro Woche";
else if (scap.ApprovedBEInterval.Value == SupportConceptApprovalInterval.Monthly)
lblBewilligtEinheit.Text = "pro Monat";
else if (scap.ApprovedBEInterval.Value == SupportConceptApprovalInterval.Yearly)
lblBewilligtEinheit.Text = "pro Jahr";
}
}
//if (showMonat)
//{
// lblBewilligtFls.Text = String.Format("{0:0.00}", bewilligteFLS);
//}
//else
//{
// lblBewilligtFls.Text = String.Format("{0:0.00}", pRO.ApprovedFLSPerWeek);
//}
}
}
if (scGefunden)
lblBewilligtFls.Text = String.Format("{0:0.00}", bewilligteFLS);
else
{
lblBewilligtFls.Text = String.Format("{0:0.00}", pRO.ApprovedFLSPerWeek);
lblBewilligtEinheit.Text = "pro Woche";
}
pRO.TotalFLMBillable = minuten;
if (String.IsNullOrWhiteSpace(pRO.AbsenceTimes))

View File

@@ -103,13 +103,13 @@ namespace BeWo.WegweiserBetreuungsdienstReports
}
private XtraReport CreateServicesOverviewReportForRo(ServicesOverviewRO ro, long? serviceCategoryOid)
{
{
XtraReport report = null;
// Hier noch Sozio abhandeln
ServicesOverviewRO bewoRo = ServicesOverviewRO.CopyFromRO(ro);
ServicesOverviewRO spfhRo = ServicesOverviewRO.CopyFromRO(ro);
bewoRo.TotalFLMPerCostBearer = ro.TotalFLMPerCostBearer;
spfhRo.TotalFLMPerCostBearer = ro.TotalFLMPerCostBearer;
ServicesOverviewRO sozioRo = ServicesOverviewRO.CopyFromRO(ro);
if (ro.Services != null)
{
@@ -119,7 +119,11 @@ namespace BeWo.WegweiserBetreuungsdienstReports
{
spfhRo.Services.Add(s);
}
else
else if (s.ServiceCategory.ToLower().Contains("soziotherapie") || s.ServiceCategory.ToLower().Contains("soziotherapeutisch"))
{
sozioRo.Services.Add(s);
}
else
{
bewoRo.Services.Add(s);
}
@@ -129,6 +133,7 @@ namespace BeWo.WegweiserBetreuungsdienstReports
report = AddSubServicesOverviewReportToReport(report, new Leistungsnachweis(), spfhRo);
report = AddSubServicesOverviewReportToReport(report, new Stundenzettel(), bewoRo);
report = AddSubServicesOverviewReportToReport(report, new LeistungsnachweisSoziotherapie(), sozioRo);
if (report == null)
report = new XtraReport();

View File

@@ -0,0 +1,63 @@
using System;
using System.Collections;
using System.ComponentModel;
using BS.Shared.Core;
using DevExpress.XtraReports.UI;
using BeWo.Report.ReportObjects;
using BeWo.Report;
using System.Collections.Generic;
using BeWo.Data.Access;
using BeWo.Data.Entities;
namespace BeWo.WegweiserBetreuungsdienstReports
{
public partial class LeistungsnachweisSoziotherapie : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<ServicesOverviewRO>
{
public LeistungsnachweisSoziotherapie()
{
InitializeComponent();
}
public void SetReportDataSource(ServicesOverviewRO pRO)
{
double gesamt = 0;
if (pRO.Services != null)
{
foreach (ServicesOverviewRO.ServiceDetail s in pRO.Services)
{
gesamt += s.Minutes;
if (s.Minutes == s.GroupMinutes)
s.Notice5 = "E";
else
s.Notice5 = "G";
}
}
cellGesamt.Text = String.Format("{0:0.00}", gesamt / 60);
//SetzeAdresseUndIk(pRO);
this.bindingSource1.DataSource = pRO;
}
//private void SetzeAdresseUndIk(ServicesOverviewRO pRo)
//{
// if (pRo.CustomerOid > 0)
// {
// var c = DAOFactory.GenericDAO.LoadByID<Customer>(pRo.CustomerOid);
// foreach (var t2c in c.Team2CustomerList)
// {
// if (t2c.Team.Name.Contains("Nord"))
// {
// lblAdresse.Text = "Diakonie im Kirchenkreis Kleve e.V., Stechbahn 33, 47533 Kleve";
// lblIkNr.Text = "IK-Nr.: 500506341";
// }
// }
// }
//}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,126 @@
<?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>21, 17</value>
</metadata>
<data name="xrLabel5.Text" xml:space="preserve">
<value>Die Daten werden von der gesetzlichen Krankenkasse zur Erfüllung der Aufgaben nach § 284 Abs. 1 Nr. 8 SGB V erhoben und verarbeitet. Nach dem Vertrag nach 132b SGB V in Verbindung mit § 37a SGB V zur Versorgung mit Soziotherapie sind Sie verpflichtet, die erforderlichen Angaben zu machen.</value>
</data>
</root>

View File

@@ -89,6 +89,12 @@
<Compile Include="Leistungsnachweis.Designer.cs">
<DependentUpon>Leistungsnachweis.cs</DependentUpon>
</Compile>
<Compile Include="LeistungsnachweisSoziotherapie.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="LeistungsnachweisSoziotherapie.designer.cs">
<DependentUpon>LeistungsnachweisSoziotherapie.cs</DependentUpon>
</Compile>
<Compile Include="RechnungKrankenkasse.cs">
<SubType>Component</SubType>
</Compile>
@@ -165,6 +171,9 @@
<EmbeddedResource Include="Leistungsnachweis.resx">
<DependentUpon>Leistungsnachweis.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="LeistungsnachweisSoziotherapie.resx">
<DependentUpon>LeistungsnachweisSoziotherapie.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Mitarbeiterauslastung.resx">
<DependentUpon>Mitarbeiterauslastung.cs</DependentUpon>
</EmbeddedResource>

View File

@@ -19,6 +19,7 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.PflichtbesetzungStart = pEntity.PflichtbesetzungStart;
pDataContract.PflichtbesetzungEnde = pEntity.PflichtbesetzungEnde;
pDataContract.PflichtbesetzungEinblenden = pEntity.PflichtbesetzungEinblenden;
pDataContract.StandardZeilenanzahl = pEntity.StandardZeilenanzahl;
pDataContract.CustomerOids = pEntity.Customer2WohnheimList.Select(c => c.CustomerOid.Value).ToList();
pDataContract.EmployeeOids = pEntity.Employee2WohnheimList.Select(c => c.EmployeeOid.Value).ToList();

View File

@@ -24,7 +24,7 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.PflichtbesetzungStart = pEntity.PflichtbesetzungStart;
pDataContract.PflichtbesetzungEnde = pEntity.PflichtbesetzungEnde;
pDataContract.PflichtbesetzungEinblenden = pEntity.PflichtbesetzungEinblenden;
pDataContract.StandardZeilenanzahl = pEntity.StandardZeilenanzahl;
pDataContract.ActivationType = pEntity.IsActive;
@@ -46,6 +46,7 @@ namespace BeWo.Service.DCEntityMapper
pEntity.PflichtbesetzungStart = pDataContract.PflichtbesetzungStart;
pEntity.PflichtbesetzungEnde = pDataContract.PflichtbesetzungEnde;
pEntity.PflichtbesetzungEinblenden = pDataContract.PflichtbesetzungEinblenden;
pEntity.StandardZeilenanzahl = pDataContract.StandardZeilenanzahl;
MapperFactory.EmployeeWohnheimRelDC_Employee2WohnheimMapper.MergeWithEntitys(pDataContract.RelatedEmployees, pEntity.Employee2WohnheimList);

View File

@@ -95,7 +95,7 @@ namespace BeWo.Service.Dienstplanung
root.DienstZeilenListe.Add(InitStatusZeile(date));
root.DienstZeilenListe.AddRange(root.DienstDCListe
.SelectMany(x => Init(x, root.AlleDienste, date))
.SelectMany(x => Init(x, root.AlleDienste, date, wh.StandardZeilenanzahl))
.ToList());
if (root.EnableStatuszeile)
@@ -968,7 +968,7 @@ namespace BeWo.Service.Dienstplanung
}
}
public static List<DienstZeileDC> Init(DienstBlockDC block, List<DienstInfoDC> dienste, DateTime date)
public static List<DienstZeileDC> Init(DienstBlockDC block, List<DienstInfoDC> dienste, DateTime date, int? standardanzahlZeilen)
{
var res = new List<DienstZeileDC>();
@@ -979,12 +979,15 @@ namespace BeWo.Service.Dienstplanung
maxRows = i;
}
if (standardanzahlZeilen == null || standardanzahlZeilen.Value == 0)
standardanzahlZeilen = 1;
for (int i = 0; i < block.DienstDictArray.Length; i++)
{
var zeileDC = block.DienstDictArray[i];
// In if eine Bedingung einfügen, dass so lange Zeilen generiert werden, bis der (zeilen-technisch) letzte Eintrag zu sehen ist
if (zeileDC.Count > 0 || i <= maxRows) //Nur eine Zeile
if (zeileDC.Count > 0 || i <= maxRows || standardanzahlZeilen > maxRows && i < standardanzahlZeilen) // So viele Zeilen wie standardanzahlZeilen - 1 ist (-1 weil i ja bei 0 beginnt)
{
var newDic = new Dictionary<int, DienstInfoDC>();
@@ -999,10 +1002,13 @@ namespace BeWo.Service.Dienstplanung
return res;
}
public static List<DienstZeileDC> InitNachSortieren(List<DienstBlockDC> bloecke, List<DienstInfoDC> dienste, DateTime date)
public static List<DienstZeileDC> InitNachSortieren(List<DienstBlockDC> bloecke, List<DienstInfoDC> dienste, DateTime date, int? standardanzahlZeilen)
{
var res = new List<DienstZeileDC>();
if (standardanzahlZeilen == null || standardanzahlZeilen.Value == 0)
standardanzahlZeilen = 1;
foreach (var block in bloecke)
{
int maxRows = 0;
@@ -1017,7 +1023,7 @@ namespace BeWo.Service.Dienstplanung
var zeileDC = block.DienstDictArray[i];
// In if eine Bedingung einfügen, dass so lange Zeilen generiert werden, bis der (zeilen-technisch) letzte Eintrag zu sehen ist
if (zeileDC.Count > 0 || i <= maxRows) //Nur eine Zeile
if (zeileDC.Count > 0 || i <= maxRows || standardanzahlZeilen > maxRows && i < standardanzahlZeilen) //Nur eine Zeile
{
var newDic = new Dictionary<int, DienstInfoDC>();

View File

@@ -30,7 +30,7 @@ namespace BeWo.Service.Plugins
//t = "0216265667"; // LH Hannover
//t = "1774789565"; // LH Essen
//t = "9342168675"; // ABC Betreuungen - jetzt Schubkraft
t = "1193188501"; // Aids Hilfe Dortmund
//t = "1193188501"; // Aids Hilfe Dortmund
//t = "7860351957"; // SKF Alsdorf
//t = "3311520228"; // Die Düne
//t = "1352143437"; // Sewo
@@ -270,7 +270,7 @@ namespace BeWo.Service.Plugins
//t = "8242644560"; // Bewolonia - Fr. Sultan Schulz
//t = "4817284046"; // Verein für Sozialmedizin Stade e.V.
//t = "6323001211"; // ASB Faßbacher Hof gGmbH
//t = "9389386079"; // VARO Sozialagentur
t = "9389386079"; // VARO Sozialagentur
//t = "7951718431"; // Ambulant Betreutes Wohnen Astrid Pulm
//t = "5850903700"; // Alzey Teilhabe
//t = "5929601293"; // Lebenshilfe Duisburg Frühförderung (Projekt heißt LebenshilfeDuisburgAtz)
@@ -310,7 +310,7 @@ namespace BeWo.Service.Plugins
//t = "1344064965"; // ABW Klaßen
//t = "3625103678"; // Pro Hilfe GbR | MID
//t = "6028314513"; // Grundstein e.V.
t = "6178735147"; // Ilka Link ivi. - ambulante Hilfen, Beratung &amp; Therapie
//t = "6178735147"; // Ilka Link ivi. - ambulante Hilfen, Beratung &amp; Therapie
//t = "9416221963"; // Übergangshilfe Unna e.V.
//t = "1316958991"; // Aidshilfe Essen
//t = "3718732195"; // Diakonie Remscheid Lennep (Jobfit)

View File

@@ -544,39 +544,43 @@ namespace BeWo.Service.Plugins
int arbeitstage = contract.WeeklyDays != null ? (int)contract.WeeklyDays : 0;
DateTime? endDate = contract.ContractEndDate == null ? new DateTime(year, 12, 31) : contract.ContractEndDate;
if (contract.EntryDate.Value.Year == i || endDate.Value.Year == i) // Endet oder beginnt Vertrag in gewähltem Jahr
if (contract != null && contract.EntryDate != null)
{
decimal errechneteTage = 0;
decimal weggefallen = 0;
if (contract.EntryDate.Value.Year == i)
if (contract.EntryDate.Value.Year == i || endDate.Value.Year == i) // Endet oder beginnt Vertrag in gewähltem Jahr // HIER IST DAS PROBLEM
{
if (endDate >= new DateTime(contract.EntryDate.Value.Year, 12, 31))
decimal errechneteTage = 0;
decimal weggefallen = 0;
if (contract.EntryDate.Value.Year == i)
{
int restlicheTageImJahr = Convert.ToInt32((new DateTime(contract.EntryDate.Value.Year, 12, 31) - contract.EntryDate.Value.Date).TotalDays);
errechneteTage = CalcCorrectNumberOfLeaveDaysForSpecialContractSituation((DateTime)contract.EntryDate, null, arbeitstage, restlicheTageImJahr, urlaubsanspruchFuerVertragInLoop);
if (endDate >= new DateTime(contract.EntryDate.Value.Year, 12, 31))
{
int restlicheTageImJahr = Convert.ToInt32((new DateTime(contract.EntryDate.Value.Year, 12, 31) - contract.EntryDate.Value.Date).TotalDays);
errechneteTage = CalcCorrectNumberOfLeaveDaysForSpecialContractSituation((DateTime)contract.EntryDate, null, arbeitstage, restlicheTageImJahr, urlaubsanspruchFuerVertragInLoop);
}
else // Wenn Ende des Vertrags im gleichen Jahr vor Ende des Jahres ist
{
int restlicheTageImJahr = Convert.ToInt32((contract.ContractEndDate.Value.Date - contract.EntryDate.Value.Date).TotalDays);
errechneteTage += CalcCorrectNumberOfLeaveDaysForSpecialContractSituation((DateTime)contract.EntryDate, contract.ContractEndDate.Value.Date, arbeitstage, restlicheTageImJahr, urlaubsanspruchFuerVertragInLoop);
}
}
else // Wenn Ende des Vertrags im gleichen Jahr vor Ende des Jahres ist
else if (endDate.Value.Year == i)
{
int restlicheTageImJahr = Convert.ToInt32((contract.ContractEndDate.Value.Date - contract.EntryDate.Value.Date).TotalDays);
errechneteTage += CalcCorrectNumberOfLeaveDaysForSpecialContractSituation((DateTime)contract.EntryDate, contract.ContractEndDate.Value.Date, arbeitstage, restlicheTageImJahr, urlaubsanspruchFuerVertragInLoop);
int restlicheTageImJahr = Convert.ToInt32(((DateTime)endDate - new DateTime(i, 1, 1)).TotalDays);
errechneteTage += CalcCorrectNumberOfLeaveDaysForSpecialContractSituation((DateTime)contract.EntryDate, endDate, arbeitstage, restlicheTageImJahr, urlaubsanspruchFuerVertragInLoop);
}
// Resturlaub und Urlaubsanspruch auf errechnete Werte setzen
weggefallen = urlaubsanspruchFuerVertragInLoop - errechneteTage;
tmp.Resturlaub += errechneteTage;
tmp.Urlaubsanspruch += urlaubsanspruchFuerVertragInLoop - weggefallen;
}
else if (endDate.Value.Year == i)
else
{
int restlicheTageImJahr = Convert.ToInt32(((DateTime)endDate - new DateTime(i, 1, 1)).TotalDays);
errechneteTage += CalcCorrectNumberOfLeaveDaysForSpecialContractSituation((DateTime)contract.EntryDate, endDate, arbeitstage, restlicheTageImJahr, urlaubsanspruchFuerVertragInLoop);
tmp.Urlaubsanspruch += urlaubsanspruchFuerVertragInLoop;
tmp.Resturlaub = tmp.Urlaubsanspruch;
}
// Resturlaub und Urlaubsanspruch auf errechnete Werte setzen
weggefallen = urlaubsanspruchFuerVertragInLoop - errechneteTage;
tmp.Resturlaub += errechneteTage;
tmp.Urlaubsanspruch += urlaubsanspruchFuerVertragInLoop - weggefallen;
}
else
{
tmp.Urlaubsanspruch += urlaubsanspruchFuerVertragInLoop;
tmp.Resturlaub = tmp.Urlaubsanspruch;
}
}
}
}

View File

@@ -1265,11 +1265,11 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<DienstZeileDC> InitDienstzeilen(DienstBlockDC block, List<DienstInfoDC> dienste, DateTime date);
List<DienstZeileDC> InitDienstzeilen(DienstBlockDC block, List<DienstInfoDC> dienste, DateTime date, int? standardanzahlZeilen);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<DienstZeileDC> InitDienstzeilenNachSortieren(List<DienstBlockDC> bloecke, List<DienstInfoDC> dienste, DateTime date);
List<DienstZeileDC> InitDienstzeilenNachSortieren(List<DienstBlockDC> bloecke, List<DienstInfoDC> dienste, DateTime date, int? standardanzahlZeilen);
[FaultContract(typeof(BeWoFault))]
[OperationContract]

View File

@@ -6673,7 +6673,21 @@ namespace BeWo.Service.ServiceImplementations
if (filter.Teams != null)
teams = DAOFactory.GenericDAO.GetActiveByIDs<Team>(filter.Teams) as List<Team>;
foreach (var emp in allEmployees.OrderBy(x => x.Person.LastNameFirstName))
//foreach (var emp in allEmployees.OrderBy(x => x.Person.LastNameFirstName))
List<Employee> benoetigteMitarbeiter = new List<Employee>();
if (teams.Count == 0)
benoetigteMitarbeiter = allEmployees;
else
{
foreach (var team in teams)
{
benoetigteMitarbeiter.AddRange(team.MemberList);
}
}
benoetigteMitarbeiter.OrderBy(x => x.Person.LastNameFirstName).ToList();
foreach (var emp in benoetigteMitarbeiter)
{
if (filter.EmploymentType != null)
if (!emp.Contracts.Any(x => x.EmploymentType != null && filter.EmploymentType.Contains(x.EmploymentType.Oid.Value)))
@@ -6685,18 +6699,17 @@ namespace BeWo.Service.ServiceImplementations
if (filter.AbsenceReasons != null)
emp.AbsenceTimes.RemoveRange(x => !filter.AbsenceReasons.Contains(x.AbsenceReason.Oid.Value));
if (filter.Teams != null)
{
bool isInTeam = false;
foreach (var team in teams)
{
if (team.MemberList.Contains(emp))
isInTeam = true;
}
if (!isInTeam)
continue;
}
//if (filter.Teams != null)
//{
// bool isInTeam = false;
// foreach (var team in teams)
// {
// if (team.MemberList.Contains(emp))
// isInTeam = true;
// }
// if (!isInTeam)
// continue;
//}
var empDC = MapperFactory.EmployeeDC_Employee.MapToNewDC(emp);
if (dict.ContainsKey(filter.Year))
@@ -6711,7 +6724,7 @@ namespace BeWo.Service.ServiceImplementations
res.Add(empDC);
}
return res;
return res.OrderBy(e => e.LastNameFirstName).ToList();
}
catch (Exception exception)
{
@@ -7506,22 +7519,22 @@ namespace BeWo.Service.ServiceImplementations
}
}
public List<DienstZeileDC> InitDienstzeilen(DienstBlockDC block, List<DienstInfoDC> dienste, DateTime date)
public List<DienstZeileDC> InitDienstzeilen(DienstBlockDC block, List<DienstInfoDC> dienste, DateTime date, int? standardanzahlZeilen)
{
try
{
return DienstplanungsManager.Init(block, dienste, date);
return DienstplanungsManager.Init(block, dienste, date, standardanzahlZeilen);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public List<DienstZeileDC> InitDienstzeilenNachSortieren(List<DienstBlockDC> bloecke, List<DienstInfoDC> dienste, DateTime date)
public List<DienstZeileDC> InitDienstzeilenNachSortieren(List<DienstBlockDC> bloecke, List<DienstInfoDC> dienste, DateTime date, int? standardanzahlZeilen)
{
try
{
return DienstplanungsManager.InitNachSortieren(bloecke, dienste, date);
return DienstplanungsManager.InitNachSortieren(bloecke, dienste, date, standardanzahlZeilen);
}
catch (Exception e)
{

View File

@@ -33,6 +33,9 @@ namespace BS.Shared.DataContracts.Compact
[DataMember]
public int PflichtbesetzungEinblenden { get; set; }
[DataMember]
public int StandardZeilenanzahl { get; set; }
[DataMember]
public string Bemerkung { get; set; }

View File

@@ -36,6 +36,8 @@ namespace BS.Shared.DataContracts
[DataMember]
public int PflichtbesetzungEinblenden { get; set; }
[DataMember]
public int StandardZeilenanzahl { get; set; }
[DataMember]
public List<WohnheimEmployeeRelationDC> RelatedEmployees { get; set; }