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

This commit is contained in:
Christian
2023-09-25 19:03:14 +02:00
96 changed files with 14852 additions and 3901 deletions

View File

@@ -17,6 +17,7 @@ using BS.Shared.DataContracts;
using DevExpress.XtraReports.UI;
using BS.Shared.DataContracts.Compact;
using BeWo.Service.Plugins;
using BeWo.Service.Reporting;
namespace BeWo.Report
{
@@ -119,7 +120,7 @@ namespace BeWo.Report
}
return attr.Identifier.Equals(specificReportId);
}
return false;
}
@@ -220,7 +221,7 @@ namespace BeWo.Report
{
var query = DAOFactory.GenericDAO.LoadByID<Query>(queryOid);
if(query is null)
if (query is null)
{
return new XtraReport();
}
@@ -396,7 +397,7 @@ namespace BeWo.Report
reportId = organisation.Name;
}
var ro = ServicesOverviewRO.Create(customerOid, month, year, false, orgaOid, empOid, startDay, endDay, serviceCategoryOid);
var lServiceOverviewSingleCustomerReport = this.FindReportImp<ServicesOverviewRO>(reportId);
@@ -404,8 +405,8 @@ namespace BeWo.Report
{
lServiceOverviewSingleCustomerReport.SetReportDataSource(ro);
}
return lServiceOverviewSingleCustomerReport as XtraReport;
}
@@ -548,7 +549,7 @@ namespace BeWo.Report
customerOids.Add(c.Oid.Value);
}
}
}
}
@@ -717,10 +718,10 @@ namespace BeWo.Report
CostBearer2SupportConcept c2s = DAOFactory.GenericDAO.LoadByID<CostBearer2SupportConcept>(lSettlementDC.CostBearer2SupportConceptOid.Value);
reportId = c2s.CostBearer.ID;
}
if (lSettlementDC.DifferentHourlyRateCount > 0)
{
IBeWoReport<SettlementRO> lSettlementReport = FindReportImp<SettlementRO>(reportId);
var ro = SettlementRO.Create(lSettlementDC);
lSettlementReport.SetReportDataSource(ro);
@@ -733,9 +734,9 @@ namespace BeWo.Report
lSettlementReport.SetReportDataSource(Settlement2RO.Create(lSettlementDC));
report = lSettlementReport as XtraReport;
}
if (createAnhang)
{
if (report != null)
@@ -750,7 +751,7 @@ namespace BeWo.Report
}
}
}
return report;
}
@@ -814,7 +815,7 @@ namespace BeWo.Report
}
}
var reportObject = MitarbeiterstundenkontoRO.Create(employeeOid, teamOids, startDate, endDate, null);
var reportObject = MitarbeiterstundenkontoRO.Create(employeeOid, teamOids, startDate, endDate, null);
report.SetReportDataSource(reportObject);
return report as XtraReport;
@@ -969,16 +970,16 @@ namespace BeWo.Report
{
var report = FindReportImp<EmployeeKilometerauswertungsRO>();
report.SetReportDataSource(EmployeeKilometerauswertungsRO.Create(MapperFactory.CompactEmployeeDC_Employee.MapToNewDC(DAOFactory.GenericDAO.LoadByID<Employee>(employeeOid)), serviceDescriptionOids, start, end));
report.SetReportDataSource(EmployeeKilometerauswertungsRO.Create(MapperFactory.CompactEmployeeDC_Employee.MapToNewDC(DAOFactory.GenericDAO.LoadByID<Employee>(employeeOid)), serviceDescriptionOids, start, end));
return report as XtraReport;
return report as XtraReport;
}
public override XtraReport CreateKilometerauswertungForAllEmployees(List<long> employeeOids, List<long> serviceDescriptionOids, DateTime start, DateTime end)
{
var report = FindReportImp<EmployeeKilometerauswertungsListRO>();
report.SetReportDataSource(EmployeeKilometerauswertungsListRO.Create(MapperFactory.CompactEmployeeDC_Employee.MapToNewDCs(DAOFactory.GenericDAO.LoadByIDs<Employee>(employeeOids)), serviceDescriptionOids, start, end));
report.SetReportDataSource(EmployeeKilometerauswertungsListRO.Create(MapperFactory.CompactEmployeeDC_Employee.MapToNewDCs(DAOFactory.GenericDAO.LoadByIDs<Employee>(employeeOids)), serviceDescriptionOids, start, end));
return report as XtraReport;
}
@@ -987,12 +988,12 @@ namespace BeWo.Report
{
var report = FindReportImp<AbsenceRO>();
var service = new OperationsServiceImp();
var filter = new AbsenceOverviewFilterDC() { AbsenceReasons = abs, EmploymentType = empTypes, Year = dt.Year, Month = dt.Month, Teams = teams};
var filter = new AbsenceOverviewFilterDC() { AbsenceReasons = abs, EmploymentType = empTypes, Year = dt.Year, Month = dt.Month, Teams = teams };
List<CompactTeamDC> compactTeams = new List<CompactTeamDC>();
if (teams != null)
{
if(teams.Count > 0)
if (teams.Count > 0)
compactTeams = service.GetCertainTeamsById(teams);
}
@@ -1043,7 +1044,7 @@ namespace BeWo.Report
var opertionsService = new OperationsServiceImp();
var customerService = new CustomerServiceImp();
var employeeService = new EmployeeServiceImp();
var report = FindReportImp<RosterIstRO>();
var dienstEintraege = opertionsService.GetAllDienstEintraegeAsList(wOid, dt.Year, dt.Month);
@@ -1099,7 +1100,7 @@ namespace BeWo.Report
}
}
report.SetReportDataSource(RosterIstRO.Create(dienstEintraege, vertretungen, employee, opertionsService.GetAllDienste(wOid),
report.SetReportDataSource(RosterIstRO.Create(dienstEintraege, vertretungen, employee, opertionsService.GetAllDienste(wOid),
customerService.GetAllActiveWohnheimeCompact().First(x => x.WohnheimOid == wOid), dt.Year, dt.Month, feiertageDCs, absences, stundenBeiAbwesenheit));
return report as XtraReport;
@@ -1114,11 +1115,11 @@ namespace BeWo.Report
OperationsServiceImp operations = new OperationsServiceImp();
XtraReport mainReport = null;
foreach (var oid in objectOids)
{
string text = operations.ReplacePlaceholdersInTemplate(templateDC, oid, table);
var report = FindReportImp<VorlageRO>();
report.SetReportDataSource(VorlageRO.Create(text));
((XtraReport)report).CreateDocument();
@@ -1188,7 +1189,7 @@ namespace BeWo.Report
IBeWoReport<ValidationMessageListRO> report = FindReportImp<ValidationMessageListRO>();
report.SetReportDataSource(ValidationMessageListRO.Create(startDate, endDate, DAOFactory.SearchDAO.GetValidationMessagesForMonth(startDate, endDate).ToList()));
return report as XtraReport;
}
@@ -1225,21 +1226,22 @@ namespace BeWo.Report
{
master.Pages.AddRange(report.Pages);
}
}
}
return master;
}
public override XtraReport CreateCustomerListReport(List<long> oids)
{
{
var ro = CustomerListRO.Create(oids);
IBeWoReport<CustomerListRO> report = FindReportImp<CustomerListRO>();
report.SetReportDataSource(ro);
return report as XtraReport;
}
public override XtraReport CreatePersonListReport(List<long> oids)
{
var ro = PersonListRO.Create(oids);
@@ -1248,41 +1250,115 @@ namespace BeWo.Report
return report as XtraReport;
}
public override XtraReport CreateUserGroupListReport(List<long> oids)
public override XtraReport CreateUserListReport(List<long> oids)
{
var queryReport = FindReportImp<QueryRO>(null, "Benutzergruppen");
var lUserGroups = DAOFactory.GenericDAO.LoadByIDs<UserGroup>(oids);
#region alt
//var lUser = DAOFactory.GenericDAO.LoadByIDs<ApplicationUser>(oids);
string[] lHeaderCaption = {
"Name", // 0
"Beschreibung", // 1
"zugeordnete Rechte", // 2
};
//string[] lHeaderCaption = {
// "Mitarbeiter", // 0
// "Login", // 1
// "zugeordnete Benutzergruppen", // 2
// };
string[][] lContent = new string[lUserGroups.Count][];
//string[][] lContent = new string[lUser.Count][];
for (int iRowCount = 0; iRowCount < lUserGroups.Count; iRowCount++)
//for (int iRowCount = 0; iRowCount < lUser.Count; iRowCount++)
//{
// lContent[iRowCount] = new string[lHeaderCaption.Count()];
// if (lUser[iRowCount].Employee != null)
// lContent[iRowCount][0] = lUser[iRowCount].Employee.Person.FirstNameLastName;
// else
// lContent[iRowCount][0] = string.Empty;
// if (lUser[iRowCount].LoginName != null)
// lContent[iRowCount][1] = lUser[iRowCount].LoginName;
// else
// lContent[iRowCount][1] = string.Empty;
// if (lUser[iRowCount].UserGroups != null && lUser[iRowCount].UserGroups.Count > 0)
// lContent[iRowCount][2] = string.Join(", ", lUser[iRowCount].UserGroups.Select(
// r => r.Name).OrderBy(s => s).ToArray());
// else
// lContent[iRowCount][2] = string.Empty;
//}
#endregion
var helper = new ExportAndPrintHelper();
string[] lHeaderCaption = helper.PrepareHeaderArrayForUserExport();
string[][] lContent = helper.PrepareContentArrayForUserExport(oids.ToArray());
// Zweidimensionales Array zu DataTable konvertieren
DataTable table = new DataTable();
int columnNumber = 3;
for (int i = 0; i < columnNumber; i++)
table.Columns.Add(lHeaderCaption[i], typeof(string));
int rowNumber = lContent.GetLength(0);
for (int i = 0; i < rowNumber; i++)
{
lContent[iRowCount] = new string[lHeaderCaption.Count()];
if (lUserGroups[iRowCount].Name != null)
lContent[iRowCount][0] = lUserGroups[iRowCount].Name;
else
lContent[iRowCount][0] = string.Empty;
if (lUserGroups[iRowCount].Description != null)
lContent[iRowCount][1] = lUserGroups[iRowCount].Description;
else
lContent[iRowCount][1] = string.Empty;
if (lUserGroups[iRowCount].Rights != null && lUserGroups[iRowCount].Rights.Count > 0)
lContent[iRowCount][2] = string.Join(", ", lUserGroups[iRowCount].Rights.Select(
r => EnumTranslations.UserRightType2Translations[r.RightType]).OrderBy(s => s).ToArray());
else
lContent[iRowCount][2] = string.Empty;
DataRow row = table.NewRow();
for (int j = 0; j < columnNumber; j++)
{
row[j] = lContent[i][j];
}
table.Rows.Add(row);
}
var queryReportObject = QueryRO.Create(new Query() { Title = "Benutzer" }, table);
queryReportObject.Name = "Benutzer";
queryReport.SetReportDataSource(queryReportObject);
return queryReport as XtraReport;
}
public override XtraReport CreateEmployeeListReport(List<long> oids)
{
var ro = EmployeeListRO.Create(oids);
IBeWoReport<EmployeeListRO> report = FindReportImp<EmployeeListRO>();
report.SetReportDataSource(ro);
return report as XtraReport;
}
public override XtraReport CreateUserGroupListReport(List<long> oids)
{
var queryReport = FindReportImp<QueryRO>(null, "Benutzergruppen");
var helper = new ExportAndPrintHelper();
//var lUserGroups = DAOFactory.GenericDAO.LoadByIDs<UserGroup>(oids);
string[] lHeaderCaption = helper.PrepareHeaderArrayForUserGroupExport();
string[][] lContent = helper.PrepareContentArrayForUserGroupExport(oids.ToArray());
#region alt
//for (int iRowCount = 0; iRowCount < lUserGroups.Count; iRowCount++)
//{
// lContent[iRowCount] = new string[lHeaderCaption.Count()];
// if (lUserGroups[iRowCount].Name != null)
// lContent[iRowCount][0] = lUserGroups[iRowCount].Name;
// else
// lContent[iRowCount][0] = string.Empty;
// if (lUserGroups[iRowCount].Description != null)
// lContent[iRowCount][1] = lUserGroups[iRowCount].Description;
// else
// lContent[iRowCount][1] = string.Empty;
// if (lUserGroups[iRowCount].Rights != null && lUserGroups[iRowCount].Rights.Count > 0)
// lContent[iRowCount][2] = string.Join(", ", lUserGroups[iRowCount].Rights.Select(
// r => EnumTranslations.UserRightType2Translations[r.RightType]).OrderBy(s => s).ToArray());
// else
// lContent[iRowCount][2] = string.Empty;
//}
#endregion
DataTable table = new DataTable();
int columnNumber = 3;
for (int i = 0; i < columnNumber; i++)
@@ -1306,6 +1382,5 @@ namespace BeWo.Report
return queryReport as XtraReport;
}
}
}