cb, alle todos für die Version 3.13 und diverse Reports
This commit is contained in:
@@ -12,16 +12,26 @@ namespace BeWo.Report.ReportObjects
|
||||
{
|
||||
public List<CompactEmployeeDC> AllEmployees { get; set; }
|
||||
|
||||
// Alt
|
||||
public DateTime MonthInformation { get; set; }
|
||||
|
||||
public DateTime StartDate { get; set; }
|
||||
|
||||
public DateTime EndDate { get; set; }
|
||||
|
||||
public List<long> LeistungenOids { get; set; }
|
||||
|
||||
public List<Employee2EmployeeKilometerauswertungsEntry> Employees2Entries { get; set; } = new List<Employee2EmployeeKilometerauswertungsEntry>();
|
||||
|
||||
public static EmployeeKilometerauswertungsListRO Create(List<CompactEmployeeDC> employees, DateTime monthInformation)
|
||||
public static EmployeeKilometerauswertungsListRO Create(List<CompactEmployeeDC> employees, List<long> leistungenOids, DateTime start, DateTime end)
|
||||
{
|
||||
var employeeKilometerauswertungsListRO = new EmployeeKilometerauswertungsListRO
|
||||
{
|
||||
AllEmployees = employees,
|
||||
MonthInformation = monthInformation
|
||||
MonthInformation = start,
|
||||
LeistungenOids = leistungenOids,
|
||||
StartDate = start,
|
||||
EndDate = end
|
||||
};
|
||||
|
||||
employeeKilometerauswertungsListRO.CreateEntries();
|
||||
@@ -31,14 +41,14 @@ namespace BeWo.Report.ReportObjects
|
||||
|
||||
public void CreateEntries()
|
||||
{
|
||||
var start = MonthInformation;
|
||||
var end = start.AddMonths(1).AddTicks(-1);
|
||||
var start = StartDate;
|
||||
var end = EndDate.AddDays(1).AddTicks(-1);
|
||||
|
||||
var timeSpan = new DateTimeSpan();
|
||||
timeSpan.StartDateTime = start;
|
||||
timeSpan.EndDateTime = end;
|
||||
|
||||
var rawData = DAOFactory.SearchDAO.FindListOfEmployeeServiceRecordsForKilometerauswertung(AllEmployees.Select(employee => employee.EmployeeOid).ToList(), timeSpan);
|
||||
var rawData = DAOFactory.SearchDAO.FindListOfEmployeeServiceRecordsForKilometerauswertung(AllEmployees.Select(employee => employee.EmployeeOid).ToList(), LeistungenOids, timeSpan);
|
||||
|
||||
foreach(var employeeOid2ServiceRecords in rawData)
|
||||
{
|
||||
|
||||
@@ -14,18 +14,30 @@ namespace BeWo.Report.ReportObjects
|
||||
|
||||
public string EmployeeName => Employee?.ToString();
|
||||
|
||||
// Alt
|
||||
public DateTime MonthInformation { get; set; }
|
||||
|
||||
public DateTime StartDate { get; set; }
|
||||
|
||||
public DateTime EndDate { get; set; }
|
||||
|
||||
public double TotalDistanceInMeters { get; set; }
|
||||
|
||||
public List<long> LeistungenOids { get; set; }
|
||||
|
||||
|
||||
|
||||
public List<EmployeeKilometerauswertungsEntry> Entries { get; set; }
|
||||
|
||||
public static EmployeeKilometerauswertungsRO Create(CompactEmployeeDC employee, DateTime monthInformation)
|
||||
public static EmployeeKilometerauswertungsRO Create(CompactEmployeeDC employee, List<long> leistungenOids, DateTime start, DateTime end)
|
||||
{
|
||||
var employeeKilometerauswertung = new EmployeeKilometerauswertungsRO
|
||||
{
|
||||
Employee = employee,
|
||||
MonthInformation = monthInformation
|
||||
MonthInformation = start,
|
||||
LeistungenOids = leistungenOids,
|
||||
StartDate = start,
|
||||
EndDate = end
|
||||
};
|
||||
|
||||
return employeeKilometerauswertung;
|
||||
@@ -33,8 +45,8 @@ namespace BeWo.Report.ReportObjects
|
||||
|
||||
public void CreateDistanceList()
|
||||
{
|
||||
var start = MonthInformation;
|
||||
var end = start.AddMonths(1).AddTicks(-1);
|
||||
var start = StartDate;
|
||||
var end = EndDate.AddDays(1).AddTicks(-1);
|
||||
|
||||
var timeSpan = new DateTimeSpan();
|
||||
timeSpan.StartDateTime = start;
|
||||
@@ -47,19 +59,22 @@ namespace BeWo.Report.ReportObjects
|
||||
|
||||
foreach(var serviceRecord in serviceRecords.Where(serviceRecord => serviceRecord.DistanceInMeter.HasValue && serviceRecord.DistanceInMeter > 0 && serviceRecord.Start.HasValue))
|
||||
{
|
||||
var distance = (serviceRecord.GroupPersonCount == null) ? (double)serviceRecord.DistanceInMeter.Value : (double)serviceRecord.DistanceInMeter.Value / (double)serviceRecord.GroupPersonCount;
|
||||
var distanceRounded = Math.Round(distance, 2);
|
||||
if (LeistungenOids == null || LeistungenOids.Contains(serviceRecord.ServiceDescription.Oid.Value))
|
||||
{
|
||||
var distance = (serviceRecord.GroupPersonCount == null) ? (double)serviceRecord.DistanceInMeter.Value : (double)serviceRecord.DistanceInMeter.Value / (double)serviceRecord.GroupPersonCount;
|
||||
var distanceRounded = Math.Round(distance, 2);
|
||||
|
||||
TotalDistanceInMeters += distanceRounded;
|
||||
TotalDistanceInMeters += distanceRounded;
|
||||
|
||||
var e = new EmployeeKilometerauswertungsEntry(serviceRecord.Start, serviceRecord.End, distanceRounded, serviceRecord.Customer?.Person?.LastNameFirstName ?? string.Empty, serviceRecord.Notice, serviceRecord);
|
||||
e.Notice = serviceRecord.Notice;
|
||||
e.Notice2 = serviceRecord.Notice2;
|
||||
e.Notice3 = serviceRecord.Notice3;
|
||||
e.Notice4 = serviceRecord.Notice4;
|
||||
e.Notice5 = serviceRecord.Notice5;
|
||||
var e = new EmployeeKilometerauswertungsEntry(serviceRecord.Start, serviceRecord.End, distanceRounded, serviceRecord.Customer?.Person?.LastNameFirstName ?? string.Empty, serviceRecord.Notice, serviceRecord);
|
||||
e.Notice = serviceRecord.Notice;
|
||||
e.Notice2 = serviceRecord.Notice2;
|
||||
e.Notice3 = serviceRecord.Notice3;
|
||||
e.Notice4 = serviceRecord.Notice4;
|
||||
e.Notice5 = serviceRecord.Notice5;
|
||||
|
||||
Entries.Add(e);
|
||||
Entries.Add(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,17 +12,27 @@ namespace BeWo.Report.ReportObjects
|
||||
{
|
||||
public List<CompactCustomerDC> AllCustomers { get; set; }
|
||||
|
||||
// Alt
|
||||
public DateTime MonthInformation { get; set; }
|
||||
|
||||
public DateTime StartDate { get; set; }
|
||||
|
||||
public DateTime EndDate { get; set; }
|
||||
|
||||
public List<long> LeistungenOids { get; set; }
|
||||
|
||||
public List<Customer2KilometerauswertungsEntry> Customer2Entries { get; set; } = new List<Customer2KilometerauswertungsEntry>();
|
||||
|
||||
|
||||
public static KilometerauswertungsListRO Create(List<CompactCustomerDC> customers, DateTime monthInformation)
|
||||
public static KilometerauswertungsListRO Create(List<CompactCustomerDC> customers, List<long> leistungenOids, DateTime start, DateTime end)
|
||||
{
|
||||
var kilometerauswertungsListRO = new KilometerauswertungsListRO
|
||||
{
|
||||
AllCustomers = customers,
|
||||
MonthInformation = monthInformation
|
||||
MonthInformation = start,
|
||||
LeistungenOids = leistungenOids,
|
||||
StartDate = start,
|
||||
EndDate = end
|
||||
};
|
||||
|
||||
kilometerauswertungsListRO.CreateEntries();
|
||||
@@ -32,14 +42,14 @@ namespace BeWo.Report.ReportObjects
|
||||
|
||||
public void CreateEntries()
|
||||
{
|
||||
var start = MonthInformation;
|
||||
var end = start.AddMonths(1).AddTicks(-1);
|
||||
var start = StartDate;
|
||||
var end = EndDate.AddDays(1).AddTicks(-1);
|
||||
|
||||
var timeSpan = new DateTimeSpan();
|
||||
timeSpan.StartDateTime = start;
|
||||
timeSpan.EndDateTime = end;
|
||||
|
||||
var rawData = DAOFactory.SearchDAO.FindListOfCustomerServiceRecordsForKilometerauswertung(AllCustomers.Select(customer => customer.CustomerOid).ToList(), timeSpan);
|
||||
var rawData = DAOFactory.SearchDAO.FindListOfCustomerServiceRecordsForKilometerauswertung(AllCustomers.Select(customer => customer.CustomerOid).ToList(), LeistungenOids, timeSpan);
|
||||
|
||||
foreach(var customerOid2Servicerecords in rawData)
|
||||
{
|
||||
|
||||
@@ -13,18 +13,28 @@ namespace BeWo.Report.ReportObjects
|
||||
|
||||
public string CustomerName => Customer?.ToString();
|
||||
|
||||
// Alt
|
||||
public DateTime MonthInformation { get; set; }
|
||||
|
||||
public DateTime StartDate { get; set; }
|
||||
|
||||
public DateTime EndDate { get; set; }
|
||||
|
||||
public double TotalDistanceInMeters { get; set; }
|
||||
|
||||
public List<long> LeistungenOids { get; set; }
|
||||
|
||||
public List<KilometerauswertungsEntry> Entries { get; set; }
|
||||
|
||||
public static KilometerauswertungsRO Create(CompactCustomerDC customer, DateTime monthInformation)
|
||||
public static KilometerauswertungsRO Create(CompactCustomerDC customer, List<long> leistungenOids, DateTime start, DateTime end)
|
||||
{
|
||||
var kilometerauswertung = new KilometerauswertungsRO
|
||||
{
|
||||
Customer = customer,
|
||||
MonthInformation = monthInformation
|
||||
Customer = customer,
|
||||
MonthInformation = start,
|
||||
LeistungenOids = leistungenOids,
|
||||
StartDate = start,
|
||||
EndDate = end
|
||||
};
|
||||
|
||||
return kilometerauswertung;
|
||||
@@ -32,8 +42,8 @@ namespace BeWo.Report.ReportObjects
|
||||
|
||||
public void CreateDistanceList()
|
||||
{
|
||||
var start = MonthInformation;
|
||||
var end = start.AddMonths(1).AddTicks(-1);
|
||||
var start = StartDate;
|
||||
var end = EndDate.AddDays(1).AddTicks(-1);
|
||||
|
||||
var timeSpan = new DateTimeSpan();
|
||||
timeSpan.StartDateTime = start;
|
||||
@@ -44,20 +54,23 @@ namespace BeWo.Report.ReportObjects
|
||||
Entries = new List<KilometerauswertungsEntry>();
|
||||
TotalDistanceInMeters = 0;
|
||||
|
||||
foreach(var serviceRecord in serviceRecords.Where(serviceRecord => serviceRecord.DistanceInMeter.HasValue && serviceRecord.DistanceInMeter > 0 && serviceRecord.Start.HasValue))
|
||||
foreach (var serviceRecord in serviceRecords.Where(serviceRecord => serviceRecord.DistanceInMeter.HasValue && serviceRecord.DistanceInMeter > 0 && serviceRecord.Start.HasValue))
|
||||
{
|
||||
var distance = (serviceRecord.GroupPersonCount == null) ? (double)serviceRecord.DistanceInMeter.Value : (double)serviceRecord.DistanceInMeter.Value / (double)serviceRecord.GroupPersonCount;
|
||||
var distanceRounded = Math.Round(distance, 2);
|
||||
TotalDistanceInMeters += distanceRounded;
|
||||
if (LeistungenOids == null || LeistungenOids.Contains(serviceRecord.ServiceDescription.Oid.Value))
|
||||
{
|
||||
var distance = (serviceRecord.GroupPersonCount == null) ? (double)serviceRecord.DistanceInMeter.Value : (double)serviceRecord.DistanceInMeter.Value / (double)serviceRecord.GroupPersonCount;
|
||||
var distanceRounded = Math.Round(distance, 2);
|
||||
TotalDistanceInMeters += distanceRounded;
|
||||
|
||||
var e = new KilometerauswertungsEntry(serviceRecord.Start, serviceRecord.End, distanceRounded, serviceRecord.Employee.Person.LastNameFirstName);
|
||||
e.Notice = serviceRecord.Notice;
|
||||
e.Notice2 = serviceRecord.Notice2;
|
||||
e.Notice3 = serviceRecord.Notice3;
|
||||
e.Notice4 = serviceRecord.Notice4;
|
||||
e.Notice5 = serviceRecord.Notice5;
|
||||
var e = new KilometerauswertungsEntry(serviceRecord.Start, serviceRecord.End, distanceRounded, serviceRecord.Employee.Person.LastNameFirstName);
|
||||
e.Notice = serviceRecord.Notice;
|
||||
e.Notice2 = serviceRecord.Notice2;
|
||||
e.Notice3 = serviceRecord.Notice3;
|
||||
e.Notice4 = serviceRecord.Notice4;
|
||||
e.Notice5 = serviceRecord.Notice5;
|
||||
|
||||
Entries.Add(e);
|
||||
Entries.Add(e);
|
||||
}
|
||||
}
|
||||
|
||||
Entries = Entries.OrderBy(o => o.Datum).ToList();
|
||||
|
||||
Reference in New Issue
Block a user