Bugfix Vertretungsmanagment. Zeitraum des Gültigkeitsdatums der Betreuungszeiten prüfen
Bugfix Frau Hildmann Report
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<NameOfLastUsedPublishProfile>BeWo2.0</NameOfLastUsedPublishProfile>
|
<NameOfLastUsedPublishProfile>BeWo2.0</NameOfLastUsedPublishProfile>
|
||||||
<UseIISExpress>true</UseIISExpress>
|
<UseIISExpress>true</UseIISExpress>
|
||||||
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
|
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
|
||||||
<Use64BitIISExpress>false</Use64BitIISExpress>
|
<Use64BitIISExpress>false</Use64BitIISExpress>
|
||||||
<IISExpressSSLPort />
|
<IISExpressSSLPort />
|
||||||
<IISExpressAnonymousAuthentication />
|
<IISExpressAnonymousAuthentication />
|
||||||
|
|||||||
@@ -86,14 +86,23 @@ namespace SHKServiceSBD.Reports
|
|||||||
{
|
{
|
||||||
var row = new VergleichRow();
|
var row = new VergleichRow();
|
||||||
row.Employee = String.Format("{0}", emp.Person.LastNameFirstName);
|
row.Employee = String.Format("{0}", emp.Person.LastNameFirstName);
|
||||||
|
if (row.Employee.Contains("Hollmann"))
|
||||||
var c = GetBetreutesKind(emp, datum);
|
|
||||||
if (c != null)
|
|
||||||
{
|
{
|
||||||
row.Customer = String.Format("{0} {1}", c.Person.FirstName, c.Person.LastName);
|
int test = 0;
|
||||||
|
}
|
||||||
row.BetreuungszeitKind = GetStundenplanStunden(c, datum);
|
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))
|
if (IstMartinsschule(emp, datum, teamMartinsschule))
|
||||||
{
|
{
|
||||||
row.Customer = "Martinsschule";
|
row.Customer = "Martinsschule";
|
||||||
@@ -140,7 +149,7 @@ namespace SHKServiceSBD.Reports
|
|||||||
return teamMartinsschule.MemberList.Any(e => e.Oid == emp.Oid);
|
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;
|
decimal stunden = 0;
|
||||||
var az = ReportHelper.GetArbeitszeit(c, datum, datum);
|
var az = ReportHelper.GetArbeitszeit(c, datum, datum);
|
||||||
@@ -149,7 +158,10 @@ namespace SHKServiceSBD.Reports
|
|||||||
{
|
{
|
||||||
foreach (var item in az.ArbeitszeitEintraege)
|
foreach (var item in az.ArbeitszeitEintraege)
|
||||||
{
|
{
|
||||||
stunden += item.BerechneStunden();
|
if (item.Employee == null || item.Employee.Oid == e.Oid)
|
||||||
|
{
|
||||||
|
stunden += item.BerechneStunden();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return stunden;
|
return stunden;
|
||||||
@@ -170,19 +182,22 @@ namespace SHKServiceSBD.Reports
|
|||||||
return stunden;
|
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
|
foreach (var e2c in emp.Employee2CustomerList.Where(e => e.IsActive == ActivationTypeId.Active
|
||||||
&& (!e.StartDate.HasValue || e.StartDate.Value.Date <= datum)
|
&& (!e.StartDate.HasValue || e.StartDate.Value.Date <= datum)
|
||||||
&& (!e.EndDate.HasValue || e.EndDate.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);
|
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);
|
MigriereSubstitutionStatus(customer);
|
||||||
|
|
||||||
var assistingEmployees = new List<Employee>();
|
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 =>
|
schoolAssistanceTimes.DoForEach(a =>
|
||||||
{
|
{
|
||||||
@@ -1533,9 +1533,9 @@ namespace BeWo.Service.SBD
|
|||||||
{
|
{
|
||||||
if (absenceTime == null || LiegtImZeitraum(dateTime, absenceTime))
|
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);
|
dateTime = dateTime.AddDays(1);
|
||||||
@@ -1553,29 +1553,9 @@ namespace BeWo.Service.SBD
|
|||||||
return assistanceTimeEntries;
|
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 (!arbeitszeit.GueltigVon.HasValue || arbeitszeit.GueltigVon <= end.Date) && (!arbeitszeit.GueltigBis.HasValue || arbeitszeit.GueltigBis >= start.Date);
|
||||||
{
|
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual List<Arbeitszeit> GetSchoolAssistanceTimes(Customer customer, DateTime start, DateTime end, AbsenceTime absenceTime)
|
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))
|
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);
|
dateTime = dateTime.AddDays(1);
|
||||||
|
|||||||
Reference in New Issue
Block a user