MH: Fehler in Druckversionen der Dienstplanung behoben und diese verbessert
This commit is contained in:
@@ -81,24 +81,30 @@
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Column="0" Content="Start" Margin="3,3,0,3"/>
|
||||
<Label x:Name="_lblStart" Grid.Column="0" Content="Start" Margin="3,3,0,3"/>
|
||||
<dxe:TextEdit Grid.Column="1" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" MinWidth="50" ShowError="False" MaskShowPlaceHolders="True" x:Name="_TxtStart"
|
||||
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor" Height="23" Margin="0,3,3,3"
|
||||
EditValue="{validation:ValidationBinding Path=NewVM.Start, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
<Label Grid.Column="2" Content="Ende" Margin="3,3,0,3"/>
|
||||
EditValue="{validation:ValidationBinding Path=NewVM.Start, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label x:Name="_lblEnde" Grid.Column="2" Content="Ende" Margin="3,3,0,3"/>
|
||||
<dxe:TextEdit Grid.Column="3" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" MinWidth="50" ShowError="False" MaskShowPlaceHolders="True" x:Name="_TxtEnde"
|
||||
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor" Height="23" Margin="0,3,3,3"
|
||||
EditValue="{validation:ValidationBinding Path=NewVM.Ende, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
<Label Grid.Column="4" Content="Pause (min)" Margin="3,3,0,3"/>
|
||||
<dxe:SpinEdit Name="_SpinPause" AllowNullInput="True" IsFloatValue="False" MinValue="0" Grid.Column="5"
|
||||
EditValue="{validation:ValidationBinding Path=NewVM.Ende, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<dxe:CheckEdit x:Name="_CheckDauer" Grid.Column="4" Content="Dauer statt feste Zeiten festlegen" Margin="3,3,0,3" Foreground="Black" Checked="CheckEdit_Checked" Unchecked="CheckEdit_Unchecked"/>
|
||||
<Label x:Name="_lblDauer" Grid.Column="0" Content="Dauer" Margin="3,3,0,3" Visibility="Collapsed"/>
|
||||
<dxe:TextEdit Grid.Column="1" Grid.ColumnSpan="3" MaskType="Numeric" Mask="########0.00" MinWidth="50" ShowError="False" MaskShowPlaceHolders="True" x:Name="_TxtDauer"
|
||||
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor" Height="23" Margin="0,3,3,3"
|
||||
EditValue="{validation:ValidationBinding Path=NewVM.Dauer, UpdateSourceTrigger=PropertyChanged}" Visibility="Collapsed"/>
|
||||
<Label Grid.Column="6" Content="Pause (min)" Margin="3,3,0,3"/>
|
||||
<dxe:SpinEdit Name="_SpinPause" AllowNullInput="True" IsFloatValue="False" MinValue="0" Grid.Column="7" HorizontalAlignment="Left"
|
||||
Height="23" Width="50" EditValue="{Binding Path=NewVM.Pause, Converter={StaticResource Int2DecimalConverter}, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Button Grid.Column="7" Content="Hinzufügen" Click="Button_Click"/>
|
||||
<Button Grid.Column="8" Content="Hinzufügen" Click="Button_Click"/>
|
||||
</Grid>
|
||||
<!--Dritte Zeile-->
|
||||
|
||||
@@ -123,6 +129,11 @@
|
||||
<dxe:TextEditSettings MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" MaskShowPlaceHolders="True" MaskUseAsDisplayFormat="True"/>
|
||||
</dxg:GridColumn.EditSettings>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn Header="Dauer" FixedWidth="True" Width="100" FieldName="Dauer" >
|
||||
<dxg:GridColumn.EditSettings>
|
||||
<dxe:TextEditSettings MaskType="Numeric" Mask="########0.00" MaskShowPlaceHolders="True" MaskUseAsDisplayFormat="True"/>
|
||||
</dxg:GridColumn.EditSettings>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn FieldName="Pause" Header="Pause" Width="100">
|
||||
<dxg:GridColumn.EditSettings>
|
||||
<dxe:TextEditSettings HorizontalContentAlignment="Left"/>
|
||||
|
||||
@@ -88,6 +88,21 @@ namespace BeWo.View.Detail
|
||||
{
|
||||
if (ViewModel.NewVM.StartDT.Year != 2000)
|
||||
ViewModel.NewVM.StartDT = new DateTime(2000, 1, 1, ViewModel.NewVM.StartDT.Hour, ViewModel.NewVM.StartDT.Minute, ViewModel.NewVM.StartDT.Second);
|
||||
|
||||
if (ViewModel.NewVM.EndeDT.Year != 2000)
|
||||
ViewModel.NewVM.EndeDT = new DateTime(2000, 1, 1, ViewModel.NewVM.EndeDT.Hour, ViewModel.NewVM.EndeDT.Minute, ViewModel.NewVM.EndeDT.Second);
|
||||
|
||||
if (!_CheckDauer.IsChecked.Value)
|
||||
ViewModel.NewVM.Dauer = ViewModel.NewVM.StartDT < ViewModel.NewVM.EndeDT ? (ViewModel.NewVM.EndeDT - ViewModel.NewVM.StartDT)
|
||||
.TotalHours : (ViewModel.NewVM.EndeDT.AddDays(1) - ViewModel.NewVM.StartDT).TotalHours;
|
||||
else if (_CheckDauer.IsChecked.Value)
|
||||
{
|
||||
ViewModel.NewVM.StartDT = new DateTime(2000, 1, 1, 0, 0, 0);
|
||||
ViewModel.NewVM.Start = "00:00";
|
||||
ViewModel.NewVM.EndeDT = new DateTime(2000, 1, 1, 0, 0, 0);
|
||||
ViewModel.NewVM.Ende = "00:00";
|
||||
}
|
||||
|
||||
var wh = _WohnheimeCombobox.SelectedItem as CompactWohnheimDC;
|
||||
|
||||
if (wh == null)
|
||||
@@ -226,5 +241,27 @@ namespace BeWo.View.Detail
|
||||
|
||||
return vm;
|
||||
}
|
||||
|
||||
private void CheckEdit_Checked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
_lblStart.Visibility = Visibility.Collapsed;
|
||||
_TxtStart.Visibility = Visibility.Collapsed;
|
||||
_lblEnde.Visibility = Visibility.Collapsed;
|
||||
_TxtEnde.Visibility = Visibility.Collapsed;
|
||||
|
||||
_lblDauer.Visibility = Visibility.Visible;
|
||||
_TxtDauer.Visibility = Visibility.Visible;
|
||||
}
|
||||
|
||||
private void CheckEdit_Unchecked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
_lblStart.Visibility = Visibility.Visible;
|
||||
_TxtStart.Visibility = Visibility.Visible;
|
||||
_lblEnde.Visibility = Visibility.Visible;
|
||||
_TxtEnde.Visibility = Visibility.Visible;
|
||||
|
||||
_lblDauer.Visibility = Visibility.Collapsed;
|
||||
_TxtDauer.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -233,6 +233,7 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="auto" />
|
||||
@@ -260,15 +261,18 @@
|
||||
</ListBox>
|
||||
<WrapPanel FlowDirection="LeftToRight" Margin="0 5 0 0" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="3">
|
||||
<Label Content="Startzeit:" Margin="0 0 5 0" />
|
||||
<dxe:TextEdit x:Name="textbox_startzeit" Width="75" Margin="0 0 20 0" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d"/>
|
||||
<dxe:TextEdit x:Name="textbox_startzeit" Width="75" Margin="0 0 20 0" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" EditValueChanged="textbox_startzeit_EditValueChanged"/>
|
||||
<Label Content="Endzeit:" Margin="0 0 5 0" />
|
||||
<dxe:TextEdit Width="75" x:Name="textbox_endzeit" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d"/>
|
||||
<dxe:TextEdit Width="75" x:Name="textbox_endzeit" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" EditValueChanged="textbox_endzeit_EditValueChanged"/>
|
||||
</WrapPanel>
|
||||
|
||||
<Label Grid.Column="0" Grid.Row="3" Content="Bemerkung" Margin="-4 4 0 0" />
|
||||
<TextBox x:Name="textbox_bemerkung" Grid.Column="0" Grid.Row="4" Grid.ColumnSpan="3" Margin="0 0 0 3" Height="50"
|
||||
<WrapPanel FlowDirection="LeftToRight" Margin="0 5 0 0" Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="3">
|
||||
<Label Content="Dauer:" Margin="0 0 5 0" />
|
||||
<dxe:TextEdit x:Name="textbox_dauer" Width="75" Margin="12 0 0 0" MaskType="Numeric" Mask="########0.00"/>
|
||||
</WrapPanel>
|
||||
<Label Grid.Column="0" Grid.Row="4" Content="Bemerkung:" Margin="0 4 0 0" />
|
||||
<TextBox x:Name="textbox_bemerkung" Grid.Column="0" Grid.Row="5" Grid.ColumnSpan="3" Margin="0 0 0 3" Height="50"
|
||||
TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto"/>
|
||||
<Button x:Name="button_save_bemerkung" Grid.Column="2" Grid.Row="5" Content="Speichern" Click="button_save_Click" Margin="0 7 0 0"></Button>
|
||||
<Button x:Name="button_save_bemerkung" Grid.Column="2" Grid.Row="6" Content="Speichern" Click="button_save_Click" Margin="0 7 0 0"></Button>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
</Border>
|
||||
|
||||
@@ -705,7 +705,7 @@ namespace BeWo.View.Detail.Report
|
||||
Notice = notice,
|
||||
Endzeit = ende,
|
||||
Startzeit = start,
|
||||
DauerInStunden = dauerInStunden
|
||||
DauerInStunden = (ende == "00:00" && start == "00:00") ? Convert.ToDouble(textbox_dauer.EditValue, new NumberFormatInfo() { NumberDecimalSeparator = "." }) : dauerInStunden
|
||||
};
|
||||
ServiceFacade.DoOperationsServiceSync(x => x.InsertNewDienstEintrag(newEintrag));
|
||||
if (datum.Month == _AuswahlMonat.Month)
|
||||
@@ -777,7 +777,7 @@ namespace BeWo.View.Detail.Report
|
||||
Notice = notice,
|
||||
Startzeit = start,
|
||||
Endzeit = ende,
|
||||
DauerInStunden = dauerInStunden// - Convert.ToDouble(dienst.Pause) / 60
|
||||
DauerInStunden = (ende == "00:00" && start == "00:00") ? Convert.ToDouble(textbox_dauer.EditValue, new NumberFormatInfo() { NumberDecimalSeparator = "." }) : dauerInStunden
|
||||
};
|
||||
ServiceFacade.DoOperationsServiceSync(x => x.InsertNewDienstvertretung(newVertretung));
|
||||
if (datum.Month == _AuswahlMonat.Month)
|
||||
@@ -899,7 +899,7 @@ namespace BeWo.View.Detail.Report
|
||||
#region Möglichkeit, Dienste an Feier-, Krankheits- und Urlaubstagen einzutragen, erlauben oder verbieten
|
||||
|
||||
//Dienste an Feiertagen setzen können deaktivieren
|
||||
if (_DienstplanerRootObj.EnableDiensteAnFeiertagen)
|
||||
if (!_DienstplanerRootObj.EnableDiensteAnFeiertagen)
|
||||
{
|
||||
var date = new DateTime(_AuswahlMonat.Year, _AuswahlMonat.Month, _AuswahlTag);
|
||||
foreach (var tag in _DienstplanerRootObj.Feiertage)
|
||||
@@ -908,23 +908,6 @@ namespace BeWo.View.Detail.Report
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//Dienste an Abwesenheitstagen setzen können deaktivieren
|
||||
//foreach (var at in _DienstplanerRootObj.AbsenceTimes)
|
||||
//{
|
||||
// if (at.EmployeeOid == _AuswahlDienstZeileDC.Employee.EmployeeOid && at.AbsenceSpan.ContainsDate(date))
|
||||
// {
|
||||
// if (at.End.HasValue)
|
||||
// {
|
||||
// if (at.Start.Value.Date == at.End.Value.Date && at.Start.Value.TimeOfDay == at.End.Value.TimeOfDay)
|
||||
// return;
|
||||
// if (at.Start.Value.Date != at.End.Value.Date)
|
||||
// return;
|
||||
// }
|
||||
// else
|
||||
// return;
|
||||
// }
|
||||
//}
|
||||
#endregion
|
||||
|
||||
popUp_RightClick.IsOpen = true;
|
||||
@@ -958,6 +941,12 @@ namespace BeWo.View.Detail.Report
|
||||
textbox_startzeit.Foreground = foregroundColor;
|
||||
if (TimeSpan.Parse(eintrag.Endzeit) != info.Ende.TimeOfDay)
|
||||
textbox_endzeit.Foreground = foregroundColor;
|
||||
|
||||
if (info.Start.TimeOfDay.ToString() == "00:00:00" && info.Ende.TimeOfDay.ToString() == "00:00:00")
|
||||
textbox_dauer.IsEnabled = true;
|
||||
else
|
||||
textbox_dauer.IsEnabled = false;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1073,13 +1062,39 @@ namespace BeWo.View.Detail.Report
|
||||
var endzeit = selectedDienst.Ende.TimeOfDay.ToString().Split(':');
|
||||
textbox_startzeit.Text = startzeit[0] + ":" + startzeit[1];
|
||||
textbox_endzeit.Text = endzeit[0] + ":" + endzeit[1];
|
||||
textbox_dauer.Text = string.Format("{0:0.00}", selectedDienst.Dauer);
|
||||
|
||||
if (selectedDienst.Start.TimeOfDay.ToString() == "00:00:00" && selectedDienst.Ende.TimeOfDay.ToString() == "00:00:00")
|
||||
textbox_dauer.IsEnabled = true;
|
||||
else
|
||||
textbox_dauer.IsEnabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
textbox_startzeit.Text = "";
|
||||
textbox_endzeit.Text = "";
|
||||
textbox_dauer.Text = "0.00";
|
||||
}
|
||||
}
|
||||
private void textbox_startzeit_EditValueChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e)
|
||||
{
|
||||
if (textbox_startzeit.Text != "00:00" || textbox_endzeit.Text != "00:00")
|
||||
{
|
||||
var start = textbox_startzeit.Text.Split(':');
|
||||
var ende = textbox_endzeit.Text.Split(':');
|
||||
|
||||
if (start.Length < 2 || ende.Length < 2)
|
||||
return;
|
||||
|
||||
var startdate = new DateTime(2000, 1, 1, Convert.ToInt32(start[0]), Convert.ToInt32(start[1]), 0);
|
||||
var enddate = new DateTime(2000, 1, 1, Convert.ToInt32(ende[0]), Convert.ToInt32(ende[1]), 0);
|
||||
|
||||
var dauer = startdate < enddate ? (enddate - startdate).TotalHours : (enddate.AddDays(1) - startdate).TotalHours;
|
||||
}
|
||||
|
||||
}
|
||||
private void textbox_endzeit_EditValueChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// Methode zum Speichern von Diensten
|
||||
@@ -1507,7 +1522,9 @@ namespace BeWo.View.Detail.Report
|
||||
bool markierungBenoetigt = false;
|
||||
if (eintrag != null)
|
||||
{
|
||||
var origDienst = _DienstplanerRootObj.AlleDienste.First(d => d.Oid == eintrag.DienstOid);
|
||||
var origDienst = _DienstplanerRootObj.AlleDienste.FirstOrDefault(d => d.Oid == eintrag.DienstOid);
|
||||
if (origDienst == null)
|
||||
return false;
|
||||
var origStart = origDienst.Start.ToString().Split(' ');
|
||||
var origEnde = origDienst.Ende.ToString().Split(' ');
|
||||
if (origStart[1] != eintrag.Startzeit + ":00" || origEnde[1] != eintrag.Endzeit + ":00" || !eintrag.Notice.IsNullOrEmpty())
|
||||
@@ -1515,7 +1532,9 @@ namespace BeWo.View.Detail.Report
|
||||
}
|
||||
else if (vertretung != null)
|
||||
{
|
||||
var origDienst = _DienstplanerRootObj.AlleDienste.First(d => d.Oid == vertretung.DienstOid || !vertretung.Notice.IsNullOrEmpty());
|
||||
var origDienst = _DienstplanerRootObj.AlleDienste.FirstOrDefault(d => d.Oid == vertretung.DienstOid || !vertretung.Notice.IsNullOrEmpty());
|
||||
if (origDienst == null)
|
||||
return false;
|
||||
var origStart = origDienst.Start.ToString().Split(' ');
|
||||
var origEnde = origDienst.Ende.ToString().Split(' ');
|
||||
if (origStart[1] != vertretung.Startzeit + ":00" || origEnde[1] != vertretung.Endzeit + ":00")
|
||||
@@ -2209,9 +2228,6 @@ namespace BeWo.View.Detail.Report
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -22,11 +22,13 @@ namespace BeWo.ViewModel
|
||||
private string _FarbeString;
|
||||
private DateTime _StartDT;
|
||||
private DateTime _EndeDT;
|
||||
private double _Dauer;
|
||||
private int _Pause;
|
||||
private WohnheimDC _Wohnheim;
|
||||
|
||||
public DienstInfoVM(DienstInfoDC dienstDC) : base(dienstDC, dienstDC.Oid == null)
|
||||
{
|
||||
Dauer = dienstDC.Dauer;
|
||||
}
|
||||
|
||||
|
||||
@@ -177,6 +179,20 @@ namespace BeWo.ViewModel
|
||||
}
|
||||
}
|
||||
|
||||
public double Dauer
|
||||
{
|
||||
get { return _Dauer; }
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_Dauer, value))
|
||||
{
|
||||
_Dauer = value;
|
||||
StoreDirtyInformation(AreDifferent(DataContract.Dauer, value), nameof(_Dauer));
|
||||
FirePropertyChanged(nameof(_Dauer));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int Pause
|
||||
{
|
||||
get { return _Pause; }
|
||||
@@ -215,6 +231,7 @@ namespace BeWo.ViewModel
|
||||
_EndeDT = bDataContract.Ende;
|
||||
_Pause = bDataContract.Pause;
|
||||
_Wohnheim = bDataContract.Wohnheim;
|
||||
_Dauer = bDataContract.Dauer;
|
||||
|
||||
if (!string.IsNullOrEmpty(bDataContract.Farbe))
|
||||
{
|
||||
@@ -234,6 +251,7 @@ namespace BeWo.ViewModel
|
||||
bDataContract.Start = _StartDT;
|
||||
bDataContract.Ende = _EndeDT;
|
||||
bDataContract.Wohnheim = _Wohnheim;
|
||||
bDataContract.Dauer = _Dauer;
|
||||
|
||||
return bDataContract;
|
||||
}
|
||||
|
||||
@@ -4609,7 +4609,7 @@ namespace BeWo.Data.Access
|
||||
var criteria = CreateCriteriaIsActive<DienstInfo>()
|
||||
.Add(Restrictions.Or(Restrictions.Eq("Wohnheim", whOid), Restrictions.IsNull("Wohnheim")));
|
||||
|
||||
return criteria.List<DienstInfo>();
|
||||
return criteria.List<DienstInfo>(); // Hier fliegt man raus
|
||||
}
|
||||
|
||||
public long? GetActiveMedVerListOidForCustomer(long customerOid)
|
||||
|
||||
@@ -17,6 +17,7 @@ namespace BeWo.Data.Entities
|
||||
private DateTime _Ende;
|
||||
private int _Pause;
|
||||
private long? _Wohnheim;
|
||||
private double _Dauer;
|
||||
|
||||
public DienstInfo()
|
||||
{
|
||||
@@ -125,6 +126,20 @@ namespace BeWo.Data.Entities
|
||||
_Wohnheim = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
public virtual double Dauer
|
||||
{
|
||||
get
|
||||
{
|
||||
return _Dauer;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (AreDifferent(_Dauer, value))
|
||||
{
|
||||
_Dauer = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,5 +22,6 @@
|
||||
<property column="Ende" type="DateTime" name="Ende" />
|
||||
<property column="Pause" type="int" name="Pause" />
|
||||
<property column="Wohnheim" type="Int64" name="Wohnheim" />
|
||||
<property column="Dauer" type="Double" name="Dauer" />
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
2
Model/Changes_2021_12_22_DienstInfo.txt
Normal file
2
Model/Changes_2021_12_22_DienstInfo.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
ALTER TABLE `bewodemo`.`dienstinfo`
|
||||
ADD COLUMN `Dauer` DOUBLE NULL DEFAULT NULL AFTER `Wohnheim`;
|
||||
@@ -1028,7 +1028,9 @@ namespace BeWo.Report
|
||||
employeeOids.Add(vertretung.EmployeeOid);
|
||||
}
|
||||
|
||||
var employee = MapperFactory.EmployeeDC_Employee.MapToNewDCs(DAOFactory.GenericDAO.GetActiveByIDs<Employee>(employeeOids));
|
||||
List<EmployeeDC> employee = new List<EmployeeDC>();
|
||||
foreach (var oid in employeeOids)
|
||||
employee.Add(MapperFactory.EmployeeDC_Employee.MapToNewDC(DAOFactory.GenericDAO.GetByID<Employee>(oid)));
|
||||
|
||||
//report.SetReportDataSource(RosterRO.Create(service.GetDienstEintraege(wOid, dt.Year, dt.Month), service.GetAllDienste(), service2.GetAllActiveWohnheimeCompact().First(x => x.WohnheimOid == wOid), dt.Year, dt.Month));
|
||||
report.SetReportDataSource(RosterRO.CreateNew(dienstEintraege, vertretungen, employee,
|
||||
@@ -1059,13 +1061,15 @@ namespace BeWo.Report
|
||||
employeeOids.Add(vertretung.EmployeeOid);
|
||||
}
|
||||
|
||||
var employee = MapperFactory.EmployeeDC_Employee.MapToNewDCs(DAOFactory.GenericDAO.GetActiveByIDs<Employee>(employeeOids));
|
||||
List<EmployeeDC> employee = new List<EmployeeDC>();
|
||||
foreach (var oid in employeeOids)
|
||||
employee.Add(MapperFactory.EmployeeDC_Employee.MapToNewDC(DAOFactory.GenericDAO.GetByID<Employee>(oid)));
|
||||
|
||||
List<AbsenceTimeDC> absences = employeeService.GetMultipleEmployeeAbsenceTimesForMonth(dt.Year, dt.Month, employeeOids);
|
||||
List<FeiertagDC> feiertageDCs = opertionsService.ErstelleDefaultFeiertage(dt.Year).Where(f => f.Datum.Month == dt.Month).ToList();
|
||||
|
||||
Dictionary<long?, decimal> stundenBeiAbwesenheit = new Dictionary<long?, decimal>();
|
||||
foreach (var emp in employee)
|
||||
foreach (var emp in employee) // Irgendwo hier drin Fehler
|
||||
{
|
||||
ContractDC currentContract = null;
|
||||
foreach (var c in emp.Contracts)
|
||||
@@ -1088,7 +1092,11 @@ namespace BeWo.Report
|
||||
}
|
||||
}
|
||||
if (currentContract != null)
|
||||
{
|
||||
if (currentContract.WeeklyTotalHours == null || currentContract.WeeklyDays == null)
|
||||
continue;
|
||||
stundenBeiAbwesenheit.Add(emp.EmployeeOid, currentContract.WeeklyTotalHours.Value / currentContract.WeeklyDays);
|
||||
}
|
||||
}
|
||||
|
||||
report.SetReportDataSource(RosterIstRO.Create(dienstEintraege, vertretungen, employee, opertionsService.GetAllDienste(wOid),
|
||||
|
||||
50
Report/DefaultReports/RosterIstReport.designer.cs
generated
50
Report/DefaultReports/RosterIstReport.designer.cs
generated
@@ -52,6 +52,7 @@ namespace BeWo.Report.DefaultReports
|
||||
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||
this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||
this.Detail2 = new DevExpress.XtraReports.UI.DetailBand();
|
||||
@@ -64,6 +65,7 @@ namespace BeWo.Report.DefaultReports
|
||||
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.Title = new DevExpress.XtraReports.UI.XRControlStyle();
|
||||
this.FieldCaption = new DevExpress.XtraReports.UI.XRControlStyle();
|
||||
this.PageInfo = new DevExpress.XtraReports.UI.XRControlStyle();
|
||||
@@ -82,8 +84,6 @@ namespace BeWo.Report.DefaultReports
|
||||
this.fieldIstArbeitszeit = new DevExpress.XtraReports.UI.CalculatedField();
|
||||
this.fieldUeberstundenGesamt = new DevExpress.XtraReports.UI.CalculatedField();
|
||||
this.PageFooter = new DevExpress.XtraReports.UI.PageFooterBand();
|
||||
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.RosterIstRO = new DevExpress.DataAccess.ObjectBinding.ObjectDataSource(this.components);
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit();
|
||||
@@ -334,6 +334,16 @@ namespace BeWo.Report.DefaultReports
|
||||
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell14.Weight = 0.059230186613465526D;
|
||||
//
|
||||
// xrTableCell20
|
||||
//
|
||||
this.xrTableCell20.Name = "xrTableCell20";
|
||||
this.xrTableCell20.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
|
||||
this.xrTableCell20.StylePriority.UsePadding = false;
|
||||
this.xrTableCell20.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell20.Text = "Bemerkung";
|
||||
this.xrTableCell20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell20.Weight = 0.1356371757796013D;
|
||||
//
|
||||
// DetailReport
|
||||
//
|
||||
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
@@ -421,6 +431,8 @@ namespace BeWo.Report.DefaultReports
|
||||
//
|
||||
// xrTableCell12
|
||||
//
|
||||
this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "PageObjects.EintraegeProMitarbeiter.Startzeit")});
|
||||
this.xrTableCell12.Name = "xrTableCell12";
|
||||
this.xrTableCell12.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
|
||||
this.xrTableCell12.StylePriority.UsePadding = false;
|
||||
@@ -431,6 +443,8 @@ namespace BeWo.Report.DefaultReports
|
||||
//
|
||||
// xrTableCell18
|
||||
//
|
||||
this.xrTableCell18.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "PageObjects.EintraegeProMitarbeiter.Endzeit")});
|
||||
this.xrTableCell18.Name = "xrTableCell18";
|
||||
this.xrTableCell18.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
|
||||
this.xrTableCell18.StylePriority.UsePadding = false;
|
||||
@@ -475,6 +489,17 @@ namespace BeWo.Report.DefaultReports
|
||||
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrTableCell13.Weight = 0.0676285623346416D;
|
||||
//
|
||||
// xrTableCell21
|
||||
//
|
||||
this.xrTableCell21.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "PageObjects.EintraegeProMitarbeiter.Notice")});
|
||||
this.xrTableCell21.Name = "xrTableCell21";
|
||||
this.xrTableCell21.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
|
||||
this.xrTableCell21.StylePriority.UsePadding = false;
|
||||
this.xrTableCell21.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell21.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell21.Weight = 0.1548692640734802D;
|
||||
//
|
||||
// Title
|
||||
//
|
||||
this.Title.BackColor = System.Drawing.Color.White;
|
||||
@@ -609,27 +634,6 @@ namespace BeWo.Report.DefaultReports
|
||||
this.PageFooter.HeightF = 100F;
|
||||
this.PageFooter.Name = "PageFooter";
|
||||
//
|
||||
// xrTableCell20
|
||||
//
|
||||
this.xrTableCell20.Name = "xrTableCell20";
|
||||
this.xrTableCell20.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
|
||||
this.xrTableCell20.StylePriority.UsePadding = false;
|
||||
this.xrTableCell20.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell20.Text = "Bemerkung";
|
||||
this.xrTableCell20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell20.Weight = 0.1356371757796013D;
|
||||
//
|
||||
// xrTableCell21
|
||||
//
|
||||
this.xrTableCell21.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "PageObjects.EintraegeProMitarbeiter.Notice")});
|
||||
this.xrTableCell21.Name = "xrTableCell21";
|
||||
this.xrTableCell21.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F);
|
||||
this.xrTableCell21.StylePriority.UsePadding = false;
|
||||
this.xrTableCell21.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell21.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell21.Weight = 0.1548692640734802D;
|
||||
//
|
||||
// RosterIstRO
|
||||
//
|
||||
this.RosterIstRO.DataSource = typeof(BeWo.Report.ReportObjects.RosterIstRO);
|
||||
|
||||
@@ -21,15 +21,28 @@ namespace BeWo.Report.ReportObjects
|
||||
ro.PageObjects = new List<PageObject>();
|
||||
|
||||
// (Vorerst) leere Einträge erstellen
|
||||
List<Listeneintrag> eintraege = new List<Listeneintrag>();
|
||||
List<Dictionary<int, List<Listeneintrag>>> alleEintraege = new List<Dictionary<int, List<Listeneintrag>>>();
|
||||
int pos = 0;
|
||||
|
||||
foreach (var emp in employee)
|
||||
{
|
||||
{ // Es müsste nicht für jeden Tag was erstellt werden, sondern für jeden Mitarbeiter müsste die Anzahl der Schichten pro Tag
|
||||
// ermittelt werden und anhand dessen die Zeilenmenge erstellt werden
|
||||
Dictionary<int, List<Listeneintrag>> eintraegeDict = new Dictionary<int, List<Listeneintrag>>();
|
||||
|
||||
for (int i = 1; i <= DateTime.DaysInMonth(year, month); i++)
|
||||
{
|
||||
var datum = new DateTime(year, month, i);
|
||||
bool mitarbeiterDesWohnheims = false;
|
||||
if (compactWohnheimDC.EmployeeOids.Contains(emp.EmployeeOid.Value))
|
||||
mitarbeiterDesWohnheims = true;
|
||||
else
|
||||
mitarbeiterDesWohnheims = false;
|
||||
|
||||
var diensteFuerTag = mitarbeiterDesWohnheims ? dienstEintragDCs.Where(e => e.EmployeeOid == emp.EmployeeOid && e.Datum == datum).ToList() : null;
|
||||
var vertretungenFuerTag = !mitarbeiterDesWohnheims ? dienstvertretungDCs.Where(e => e.EmployeeOid == emp.EmployeeOid && e.Datum == datum).ToList() : null;
|
||||
|
||||
string kr = null;
|
||||
string ur = null;
|
||||
var datum = new DateTime(year, month, i);
|
||||
if (absences.Any(a => datum >= a.Start && datum <= a.End && a.EmployeeOid == emp.EmployeeOid && a.Reason.Description.ToLower().Contains("urlaub")))
|
||||
{
|
||||
ur = string.Format("{0:0.00}", stundenBeiAbwesenheit[emp.EmployeeOid]);
|
||||
@@ -38,79 +51,174 @@ namespace BeWo.Report.ReportObjects
|
||||
{
|
||||
kr = string.Format("{0:0.00}", stundenBeiAbwesenheit[emp.EmployeeOid]);
|
||||
}
|
||||
|
||||
eintraege.Add(new Listeneintrag()
|
||||
|
||||
|
||||
if (mitarbeiterDesWohnheims)
|
||||
{
|
||||
Position = pos,
|
||||
Datum = datum,
|
||||
EmployeeOid = (long)emp.EmployeeOid,
|
||||
DauerInStunden = null,
|
||||
Dienst = null,
|
||||
Endzeit = null,
|
||||
Startzeit = null,
|
||||
Notice = feiertage.Any(f => f.Datum == datum) ? feiertage.First(f => f.Datum == datum).Name : null,
|
||||
Krankheit = kr,
|
||||
Urlaub = ur,
|
||||
});
|
||||
|
||||
pos++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
foreach (var item in dienstEintragDCs)
|
||||
{
|
||||
string[] urlaubKrankheit = UrlaubUndKrankheitUeberpruefen(item, null, absences, stundenBeiAbwesenheit);
|
||||
|
||||
var temp = eintraege.First(e => e.Datum == item.Datum && e.EmployeeOid == item.EmployeeOid && e.Dienst == null);
|
||||
if (temp != null)
|
||||
{
|
||||
eintraege[temp.Position] = new Listeneintrag()
|
||||
{
|
||||
Datum = item.Datum,
|
||||
DauerInStunden = string.Format("{0:0.00}", item.DauerInStunden),
|
||||
Dienst = dienstInfoDCs.First(i => i.Oid == item.DienstOid),
|
||||
EmployeeOid = item.EmployeeOid,
|
||||
Endzeit = item.Endzeit,
|
||||
Notice = item.Notice,
|
||||
Startzeit = item.Startzeit,
|
||||
Urlaub = urlaubKrankheit[0],
|
||||
Krankheit = urlaubKrankheit[1]
|
||||
};
|
||||
}
|
||||
}
|
||||
foreach (var item in dienstvertretungDCs)
|
||||
{
|
||||
string[] urlaubKrankheit = UrlaubUndKrankheitUeberpruefen(null, item, absences, stundenBeiAbwesenheit);
|
||||
|
||||
var temp = eintraege.First(e => e.Datum == item.Datum && e.EmployeeOid == item.EmployeeOid && e.Dienst == null);
|
||||
if (temp != null)
|
||||
{
|
||||
eintraege[temp.Position] = new Listeneintrag()
|
||||
List<Listeneintrag> listeneintraege = new List<Listeneintrag>();
|
||||
foreach (var item in diensteFuerTag)
|
||||
{
|
||||
string[] urlaubKrankheit = UrlaubUndKrankheitUeberpruefen(item, null, absences, stundenBeiAbwesenheit);
|
||||
listeneintraege.Add(new Listeneintrag()
|
||||
{
|
||||
Position = pos,
|
||||
Datum = datum,
|
||||
EmployeeOid = (long)emp.EmployeeOid,
|
||||
DauerInStunden = string.Format("{0:0.00}", item.DauerInStunden),
|
||||
Dienst = dienstInfoDCs.First(di => di.Oid == item.DienstOid),
|
||||
Endzeit = item.Endzeit,
|
||||
Startzeit = item.Startzeit,
|
||||
Notice = feiertage.Any(f => f.Datum == datum) ? feiertage.First(f => f.Datum == datum).Name : item.Notice,
|
||||
Krankheit = urlaubKrankheit[0],
|
||||
Urlaub = urlaubKrankheit[1]
|
||||
});
|
||||
pos++;
|
||||
}
|
||||
eintraegeDict.Add(i, listeneintraege);
|
||||
}
|
||||
else
|
||||
{
|
||||
Datum = item.Datum,
|
||||
DauerInStunden = string.Format("{0:0.00}", item.DauerInStunden),
|
||||
Dienst = dienstInfoDCs.First(i => i.Oid == item.DienstOid),
|
||||
EmployeeOid = item.EmployeeOid,
|
||||
Endzeit = item.Endzeit,
|
||||
Notice = item.Notice,
|
||||
Startzeit = item.Startzeit,
|
||||
Urlaub = urlaubKrankheit[0],
|
||||
Krankheit = urlaubKrankheit[1]
|
||||
};
|
||||
List<Listeneintrag> listeneintraege = new List<Listeneintrag>();
|
||||
foreach (var item in vertretungenFuerTag)
|
||||
{
|
||||
string[] urlaubKrankheit = UrlaubUndKrankheitUeberpruefen(null, item, absences, stundenBeiAbwesenheit);
|
||||
listeneintraege.Add(new Listeneintrag()
|
||||
{
|
||||
Position = pos,
|
||||
Datum = datum,
|
||||
EmployeeOid = (long)emp.EmployeeOid,
|
||||
DauerInStunden = string.Format("{0:0.00}", item.DauerInStunden),
|
||||
Dienst = dienstInfoDCs.First(di => di.Oid == item.DienstOid),
|
||||
Endzeit = item.Endzeit,
|
||||
Startzeit = item.Startzeit,
|
||||
Notice = feiertage.Any(f => f.Datum == datum) ? feiertage.First(f => f.Datum == datum).Name : item.Notice,
|
||||
Krankheit = urlaubKrankheit[0],
|
||||
Urlaub = urlaubKrankheit[1]
|
||||
});
|
||||
pos++;
|
||||
}
|
||||
eintraegeDict.Add(i, listeneintraege);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#region outdated
|
||||
// for (int i = 1; i <= DateTime.DaysInMonth(year, month); i++)
|
||||
// {
|
||||
// string kr = null;
|
||||
// string ur = null;
|
||||
// var datum = new DateTime(year, month, i);
|
||||
// if (absences.Any(a => datum >= a.Start && datum <= a.End && a.EmployeeOid == emp.EmployeeOid && a.Reason.Description.ToLower().Contains("urlaub")))
|
||||
// {
|
||||
// ur = string.Format("{0:0.00}", stundenBeiAbwesenheit[emp.EmployeeOid]);
|
||||
// }
|
||||
// else if (absences.Any(a => datum >= a.Start && datum <= a.End && a.EmployeeOid == emp.EmployeeOid && a.Reason.Description.ToLower().Contains("krank")))
|
||||
// {
|
||||
// kr = string.Format("{0:0.00}", stundenBeiAbwesenheit[emp.EmployeeOid]);
|
||||
// }
|
||||
|
||||
// eintraege.Add(new Listeneintrag()
|
||||
// {
|
||||
// Position = pos,
|
||||
// Datum = datum,
|
||||
// EmployeeOid = (long)emp.EmployeeOid,
|
||||
// DauerInStunden = null,
|
||||
// Dienst = null,
|
||||
// Endzeit = null,
|
||||
// Startzeit = null,
|
||||
// Notice = feiertage.Any(f => f.Datum == datum) ? feiertage.First(f => f.Datum == datum).Name : null,
|
||||
// Krankheit = kr,
|
||||
// Urlaub = ur,
|
||||
// });
|
||||
|
||||
// pos++;
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
//foreach (var item in dienstEintragDCs)
|
||||
//{
|
||||
// string[] urlaubKrankheit = UrlaubUndKrankheitUeberpruefen(item, null, absences, stundenBeiAbwesenheit);
|
||||
|
||||
// var temp = eintraege.FirstOrDefault(e => e.Datum == item.Datum && e.EmployeeOid == item.EmployeeOid && e.Dienst == null);
|
||||
// var temp2 = eintraege.Where(e => e.Datum == item.Datum && e.EmployeeOid == item.EmployeeOid).ToList();
|
||||
// if (temp != null)
|
||||
// {
|
||||
// eintraege[temp.Position] = new Listeneintrag()
|
||||
// {
|
||||
// Datum = item.Datum,
|
||||
// DauerInStunden = string.Format("{0:0.00}", item.DauerInStunden),
|
||||
// Dienst = dienstInfoDCs.First(i => i.Oid == item.DienstOid),
|
||||
// EmployeeOid = item.EmployeeOid,
|
||||
// Endzeit = item.Endzeit,
|
||||
// Notice = item.Notice,
|
||||
// Startzeit = item.Startzeit,
|
||||
// Urlaub = urlaubKrankheit[0],
|
||||
// Krankheit = urlaubKrankheit[1]
|
||||
// };
|
||||
// }
|
||||
//}
|
||||
//foreach (var item in dienstvertretungDCs)
|
||||
//{
|
||||
// string[] urlaubKrankheit = UrlaubUndKrankheitUeberpruefen(null, item, absences, stundenBeiAbwesenheit);
|
||||
|
||||
// var temp = eintraege.FirstOrDefault(e => e.Datum == item.Datum && e.EmployeeOid == item.EmployeeOid && e.Dienst == null);
|
||||
// if (temp != null)
|
||||
// {
|
||||
// eintraege[temp.Position] = new Listeneintrag()
|
||||
// {
|
||||
// Datum = item.Datum,
|
||||
// DauerInStunden = string.Format("{0:0.00}", item.DauerInStunden),
|
||||
// Dienst = dienstInfoDCs.First(i => i.Oid == item.DienstOid),
|
||||
// EmployeeOid = item.EmployeeOid,
|
||||
// Endzeit = item.Endzeit,
|
||||
// Notice = item.Notice,
|
||||
// Startzeit = item.Startzeit,
|
||||
// Urlaub = urlaubKrankheit[0],
|
||||
// Krankheit = urlaubKrankheit[1]
|
||||
// };
|
||||
// }
|
||||
#endregion
|
||||
alleEintraege.Add(eintraegeDict);
|
||||
|
||||
}
|
||||
|
||||
int counter = 0;
|
||||
int position = 0;
|
||||
foreach (EmployeeDC emp in employee)
|
||||
{
|
||||
List<Listeneintrag> liste = new List<Listeneintrag>();
|
||||
var temp = alleEintraege[counter];
|
||||
foreach (var item in temp)
|
||||
{
|
||||
if (item.Value.Count == 0)
|
||||
{
|
||||
var date = new DateTime(year, month, item.Key, 0, 0, 0);
|
||||
item.Value.Add(new Listeneintrag()
|
||||
{
|
||||
Datum = date,
|
||||
DauerInStunden = null,
|
||||
Dienst = null,
|
||||
EmployeeOid = emp.EmployeeOid.Value,
|
||||
Endzeit = null,
|
||||
Krankheit = null,
|
||||
Notice = feiertage.Any(f => f.Datum == date) ? feiertage.First(f => f.Datum == date).Name : null,
|
||||
Startzeit = null,
|
||||
Urlaub = null
|
||||
});
|
||||
}
|
||||
//else
|
||||
foreach (var v in item.Value)
|
||||
liste.Add(v);
|
||||
}
|
||||
|
||||
ro.PageObjects.Add(new PageObject()
|
||||
{
|
||||
Jahr = year,
|
||||
Monat = new DateTime(year, month, 1).ToString("MMMM", CultureInfo.CreateSpecificCulture("de")),
|
||||
Mitarbeiter = emp,
|
||||
EintraegeProMitarbeiter = eintraege.Where(e => e.EmployeeOid == emp.EmployeeOid).OrderBy(e => e.Datum).ToList()
|
||||
EintraegeProMitarbeiter = liste
|
||||
});
|
||||
counter++;
|
||||
}
|
||||
|
||||
return ro;
|
||||
@@ -170,6 +278,5 @@ namespace BeWo.Report.ReportObjects
|
||||
public string Monat { get; set; }
|
||||
public int Jahr { get; set; }
|
||||
public List<Listeneintrag> EintraegeProMitarbeiter { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -286,9 +286,12 @@ namespace BeWo.Report.ReportObjects
|
||||
foreach (var zeile in vertretungenNachZeilen)
|
||||
{
|
||||
if (zeile.Count > 0)
|
||||
currentEmployee = employee.First(e => e.EmployeeOid == zeile[0].EmployeeOid);
|
||||
currentEmployee = employee.FirstOrDefault(e => e.EmployeeOid == zeile[0].EmployeeOid);
|
||||
}
|
||||
|
||||
if (currentEmployee == null)
|
||||
continue;
|
||||
|
||||
double monthlyHours = 0;
|
||||
for (int i = 0; i < vertretungenNachZeilen.Length; i++)
|
||||
{
|
||||
|
||||
@@ -288,7 +288,7 @@ namespace WahlEv
|
||||
}
|
||||
if (LastCellWasWo)
|
||||
{
|
||||
cell.Row.Cells[index].BackColor = Color.LightGray;
|
||||
cell.Row.Cells[index].BackColor = Color.Gray;
|
||||
LastCellWasWo = false;
|
||||
}
|
||||
else if (Feiertage != null)
|
||||
@@ -363,6 +363,9 @@ namespace WahlEv
|
||||
|
||||
private System.Windows.Media.Color TransformStringToColor(string colorString)
|
||||
{
|
||||
if (colorString == null)
|
||||
colorString = "#FFFFFF";
|
||||
|
||||
int argb = Int32.Parse(colorString.Replace("#", ""), NumberStyles.HexNumber);
|
||||
var clr = Color.FromArgb(argb);
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@ namespace BeWo.Service.DCEntityMapper
|
||||
bDataContract.Wohnheim = MapperFactory.WohnheimDC_Wohnheim.MapToNewDC(DAOFactory.GenericDAO.GetByID<Wohnheim>(bEntity.Wohnheim.Value));
|
||||
else
|
||||
bDataContract.Wohnheim = null;
|
||||
bDataContract.Dauer = bEntity.Dauer;
|
||||
|
||||
return bDataContract;
|
||||
}
|
||||
@@ -46,8 +47,9 @@ namespace BeWo.Service.DCEntityMapper
|
||||
bEntity.Wohnheim = bDataContract.Wohnheim.WohnheimOid.Value;
|
||||
else
|
||||
bEntity.Wohnheim = null;
|
||||
bEntity.Dauer = bDataContract.Dauer;
|
||||
|
||||
return bEntity;
|
||||
return bEntity;
|
||||
}
|
||||
|
||||
protected override bool AreDCAndEntityEqual(DienstInfoDC bDC, DienstInfo bEntity)
|
||||
|
||||
@@ -152,7 +152,7 @@ namespace BeWo.Service.Dienstplanung
|
||||
var dcs = MapperFactory.DienstInfoDC_DienstInfo.MapToNewDCs(list);
|
||||
|
||||
|
||||
return dcs;//.OrderBy(d => d.Wohnheim).ThenBy(d => d.DienstName).ToList();
|
||||
return dcs;
|
||||
}
|
||||
public static void InsertNewDienst(List<DienstInfoDC> dienst)
|
||||
{
|
||||
@@ -162,6 +162,18 @@ namespace BeWo.Service.Dienstplanung
|
||||
public static void DeactivateDienst(Dictionary<long, long> pOid2Version)
|
||||
{
|
||||
ServiceLogic.SetActivationType<DienstInfo>(pOid2Version, ActivationTypeId.Deleted);
|
||||
|
||||
// Alle Diensteinträge und Vertretungen mit diesem Dienst suchen
|
||||
var diensteintraege = DAOFactory.GenericDAO.GetAllActive<DienstEintrag>();
|
||||
var dienstvertretungen = DAOFactory.GenericDAO.GetAllActive<Dienstvertretung>();
|
||||
|
||||
foreach (var e in diensteintraege)
|
||||
if (pOid2Version.ContainsKey(e.DienstOid))
|
||||
DAOFactory.GenericDAO.Delete(e);
|
||||
|
||||
foreach (var v in dienstvertretungen)
|
||||
if (pOid2Version.ContainsKey(v.DienstOid))
|
||||
DAOFactory.GenericDAO.Delete(v);
|
||||
}
|
||||
public static void UpdateDienst(List<DienstInfoDC> dienste)
|
||||
{
|
||||
|
||||
@@ -209,7 +209,7 @@ namespace BeWo.Service.Plugins
|
||||
//t = "7185105541"; // Nous GmbH
|
||||
//t = "5022131330"; // Tabula Rasa
|
||||
//t = "4189934785"; // Landshuter Netzwerke
|
||||
t = "4290816992"; // BeWo Imflow
|
||||
//t = "4290816992"; // BeWo Imflow
|
||||
//t = "7584236951"; // Aachener Betreuungsbüro Kirschbaum und Manz GbR
|
||||
//t = "3678599942"; // VKM Rietberg
|
||||
//t = "4069072369"; // BeWo Dreilich&Pastor (Pastor)
|
||||
|
||||
@@ -39,6 +39,9 @@ namespace BS.Shared.DataContracts
|
||||
[DataMember]
|
||||
public WohnheimDC Wohnheim{ get; set; }
|
||||
|
||||
[DataMember]
|
||||
public double Dauer { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public DienstInfoDC UmschließenderDienst { get; set; }
|
||||
|
||||
@@ -66,7 +69,8 @@ namespace BS.Shared.DataContracts
|
||||
|
||||
public bool IsPlatzhalter => Oid == -1;
|
||||
|
||||
public double DurationHours => Start < Ende ? (Ende - Start).TotalHours : (Ende.AddDays(1) - Start).TotalHours;
|
||||
//public double DurationHours => Start < Ende ? (Ende - Start).TotalHours : (Ende.AddDays(1) - Start).TotalHours;
|
||||
public double DurationHours => Dauer;
|
||||
|
||||
public string DarstellungInPopUp
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user