Bugfix Vertretungsmanagment. Zeitraum des Gültigkeitsdatums der Betreuungszeiten prüfen
Bugfix Frau Hildmann Report
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<NameOfLastUsedPublishProfile>BeWo2.0</NameOfLastUsedPublishProfile>
|
||||
<UseIISExpress>true</UseIISExpress>
|
||||
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
|
||||
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
|
||||
<Use64BitIISExpress>false</Use64BitIISExpress>
|
||||
<IISExpressSSLPort />
|
||||
<IISExpressAnonymousAuthentication />
|
||||
|
||||
@@ -86,14 +86,23 @@ namespace SHKServiceSBD.Reports
|
||||
{
|
||||
var row = new VergleichRow();
|
||||
row.Employee = String.Format("{0}", emp.Person.LastNameFirstName);
|
||||
|
||||
var c = GetBetreutesKind(emp, datum);
|
||||
if (c != null)
|
||||
if (row.Employee.Contains("Hollmann"))
|
||||
{
|
||||
row.Customer = String.Format("{0} {1}", c.Person.FirstName, c.Person.LastName);
|
||||
|
||||
row.BetreuungszeitKind = GetStundenplanStunden(c, datum);
|
||||
int test = 0;
|
||||
}
|
||||
var clist = GetBetreuteKinder(emp, datum);
|
||||
row.Customer = "";
|
||||
foreach (var c in clist)
|
||||
{
|
||||
if (row.Customer.Length > 0)
|
||||
{
|
||||
row.Customer += ", ";
|
||||
}
|
||||
row.Customer += String.Format("{0} {1}", c.Person.FirstName, c.Person.LastName);
|
||||
|
||||
row.BetreuungszeitKind += GetStundenplanStunden(c, emp, datum);
|
||||
}
|
||||
|
||||
if (IstMartinsschule(emp, datum, teamMartinsschule))
|
||||
{
|
||||
row.Customer = "Martinsschule";
|
||||
@@ -140,7 +149,7 @@ namespace SHKServiceSBD.Reports
|
||||
return teamMartinsschule.MemberList.Any(e => e.Oid == emp.Oid);
|
||||
}
|
||||
|
||||
private decimal GetStundenplanStunden(Customer c, DateTime datum)
|
||||
private decimal GetStundenplanStunden(Customer c, Employee e, DateTime datum)
|
||||
{
|
||||
decimal stunden = 0;
|
||||
var az = ReportHelper.GetArbeitszeit(c, datum, datum);
|
||||
@@ -149,7 +158,10 @@ namespace SHKServiceSBD.Reports
|
||||
{
|
||||
foreach (var item in az.ArbeitszeitEintraege)
|
||||
{
|
||||
stunden += item.BerechneStunden();
|
||||
if (item.Employee == null || item.Employee.Oid == e.Oid)
|
||||
{
|
||||
stunden += item.BerechneStunden();
|
||||
}
|
||||
}
|
||||
}
|
||||
return stunden;
|
||||
@@ -170,19 +182,22 @@ namespace SHKServiceSBD.Reports
|
||||
return stunden;
|
||||
}
|
||||
|
||||
private Customer GetBetreutesKind(Employee emp, DateTime datum)
|
||||
private IList<Customer> GetBetreuteKinder(Employee emp, DateTime datum)
|
||||
{
|
||||
|
||||
var customerList = new List<Customer>();
|
||||
|
||||
foreach (var e2c in emp.Employee2CustomerList.Where(e => e.IsActive == ActivationTypeId.Active
|
||||
&& (!e.StartDate.HasValue || e.StartDate.Value.Date <= datum)
|
||||
&& (!e.EndDate.HasValue || e.EndDate.Value.Date >= datum)
|
||||
&& e.ValueList.Any(v => v.Entry.Type == ValueListEntryType.StaffRoleType && v.Entry.Value.Contains("Hauptbetreu"))))
|
||||
&& e.ValueList.Any(v => v.Entry.Type == ValueListEntryType.StaffRoleType && v.Entry.Value.StartsWith("Hauptbetreu"))))
|
||||
{
|
||||
return e2c.Customer;
|
||||
if (e2c.Customer.IsActive == ActivationTypeId.Active)
|
||||
{
|
||||
customerList.Add(e2c.Customer);
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
return customerList;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -159,7 +159,7 @@ namespace BeWo.Service.SBD
|
||||
{
|
||||
var customer = customers.FirstOrDefault(first => first.Oid.HasValue && first.Oid.Equals(absenceTime.CustomerOid)) ?? DAOFactory.GenericDAO.LoadByID<Customer>(absenceTime.CustomerOid.Value);
|
||||
|
||||
if (customer.Person.LastName.Contains("Platz"))
|
||||
if (customer.Person.LastName.Contains("Seiden"))
|
||||
{
|
||||
|
||||
}
|
||||
@@ -178,7 +178,7 @@ namespace BeWo.Service.SBD
|
||||
MigriereSubstitutionStatus(customer);
|
||||
|
||||
var assistingEmployees = new List<Employee>();
|
||||
customer.Arbeitszeiten.DoForEach(a => assistingEmployees.AddRangeIfElementsNotIn(a.ArbeitszeitEintraege.Where(ae => ae.Employee != null).Select(s => s.Employee)));
|
||||
customer.Arbeitszeiten.Where(a => IsArbeitszeitValid(a, start, end)).DoForEach(a => assistingEmployees.AddRangeIfElementsNotIn(a.ArbeitszeitEintraege.Where(ae => ae.Employee != null).Select(s => s.Employee)));
|
||||
|
||||
schoolAssistanceTimes.DoForEach(a =>
|
||||
{
|
||||
@@ -1533,9 +1533,9 @@ namespace BeWo.Service.SBD
|
||||
{
|
||||
if (absenceTime == null || LiegtImZeitraum(dateTime, absenceTime))
|
||||
{
|
||||
customerAssistanceTimes.AddRange(allCustomerAssistanceTimes.Where(w => IsArbeitszeitValid(w, dateTime)));
|
||||
customerAssistanceTimes.AddRange(allCustomerAssistanceTimes.Where(w => IsArbeitszeitValid(w, dateTime, dateTime)));
|
||||
|
||||
schoolAssistanceTimes.AddRange(allSchoolAssistanceTimes.Where(w => IsArbeitszeitValid(w, dateTime)));
|
||||
schoolAssistanceTimes.AddRange(allSchoolAssistanceTimes.Where(w => IsArbeitszeitValid(w, dateTime, dateTime)));
|
||||
}
|
||||
|
||||
dateTime = dateTime.AddDays(1);
|
||||
@@ -1553,29 +1553,9 @@ namespace BeWo.Service.SBD
|
||||
return assistanceTimeEntries;
|
||||
}
|
||||
|
||||
public virtual bool IsArbeitszeitValid(Arbeitszeit arbeitszeit, DateTime time)
|
||||
public virtual bool IsArbeitszeitValid(Arbeitszeit arbeitszeit, DateTime start, DateTime end)
|
||||
{
|
||||
if (arbeitszeit.GueltigVon == null && arbeitszeit.GueltigBis == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (arbeitszeit.GueltigVon.HasValue && arbeitszeit.GueltigBis.HasValue)
|
||||
{
|
||||
return time.InBetween(arbeitszeit.GueltigVon.Value, arbeitszeit.GueltigBis.Value, true);
|
||||
}
|
||||
|
||||
if (arbeitszeit.GueltigVon == null && arbeitszeit.GueltigBis.HasValue)
|
||||
{
|
||||
return time <= arbeitszeit.GueltigBis;
|
||||
}
|
||||
|
||||
if (arbeitszeit.GueltigBis == null)
|
||||
{
|
||||
return time >= arbeitszeit.GueltigVon;
|
||||
}
|
||||
|
||||
return false;
|
||||
return (!arbeitszeit.GueltigVon.HasValue || arbeitszeit.GueltigVon <= end.Date) && (!arbeitszeit.GueltigBis.HasValue || arbeitszeit.GueltigBis >= start.Date);
|
||||
}
|
||||
|
||||
public virtual List<Arbeitszeit> GetSchoolAssistanceTimes(Customer customer, DateTime start, DateTime end, AbsenceTime absenceTime)
|
||||
@@ -1599,7 +1579,7 @@ namespace BeWo.Service.SBD
|
||||
{
|
||||
if (LiegtImZeitraum(dateTime, absenceTime))
|
||||
{
|
||||
schoolAssistanceTimes.AddRange(allSchoolAssistanceTimes.Where(w => IsArbeitszeitValid(w, dateTime)));
|
||||
schoolAssistanceTimes.AddRange(allSchoolAssistanceTimes.Where(w => IsArbeitszeitValid(w, dateTime, dateTime)));
|
||||
}
|
||||
|
||||
dateTime = dateTime.AddDays(1);
|
||||
|
||||
Reference in New Issue
Block a user