Merge branch 'master' of ssh://float.ownsoft.de/git/beyondSoft/BeWo into master
This commit is contained in:
@@ -1688,7 +1688,10 @@ namespace BeWo.Core
|
||||
{
|
||||
dc.CostBearer2SupportConceptOid = relDc.CostBearer2SupportConceptOid;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
dc.CostBearer2SupportConceptOid = null;
|
||||
}
|
||||
var validationResults = new List<ServiceRecordValidationResultDC>();
|
||||
|
||||
var maxdays = BeWoApp.AppSettings.MaxDaysEditServiceRecordsAllowed;
|
||||
|
||||
@@ -806,6 +806,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ArbeiterwohlfahrtWesel", "R
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KlinikumWerraMeissner", "ReportImp\KlinikumWerraMeissner\KlinikumWerraMeissner.csproj", "{E4ED67F9-7FCE-470E-B383-797A5D967A9C}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiakonischesWerkDinslakenBeWo", "ReportImp\DiakonischesWerkDinslakenBeWo\DiakonischesWerkDinslakenBeWo.csproj", "{868AC89C-BC74-4615-9B09-853ADE03B967}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|.NET = Debug|.NET
|
||||
@@ -9865,6 +9867,30 @@ Global
|
||||
{E4ED67F9-7FCE-470E-B383-797A5D967A9C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{E4ED67F9-7FCE-470E-B383-797A5D967A9C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{E4ED67F9-7FCE-470E-B383-797A5D967A9C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.DebugRemote|.NET.Build.0 = Debug|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.DebugRemote|x86.Build.0 = Debug|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
@@ -10266,6 +10292,7 @@ Global
|
||||
{FB4D4938-A61A-412E-A495-7D7C00F33E73} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{F511664C-784C-4582-BDCE-0BEFED504CB4} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{E4ED67F9-7FCE-470E-B383-797A5D967A9C} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{868AC89C-BC74-4615-9B09-853ADE03B967} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}
|
||||
|
||||
@@ -4581,6 +4581,22 @@ namespace BeWo.Data.Access
|
||||
return q.List<long>();
|
||||
}
|
||||
|
||||
public IList FindCustomerOid2Persons(IList<long> personOids)
|
||||
{
|
||||
String oidList = "";
|
||||
foreach (var oid in personOids)
|
||||
{
|
||||
if (oidList.Length > 0)
|
||||
{
|
||||
oidList += ",";
|
||||
}
|
||||
oidList += String.Format("{0}", oid);
|
||||
}
|
||||
|
||||
return GetSqlResult("SELECT oid,personoid,customeroid,istfamilie FROM customer2person where personoid in (" + oidList + ")");
|
||||
|
||||
}
|
||||
|
||||
public List<SchedulerAppointment> FindActiveAppointmentsForCustomers(List<long> customerOids, DateTime startDate, DateTime endDate)
|
||||
{
|
||||
var customerOidSqlString = string.Empty;
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BS.Shared;
|
||||
using BS.Shared.DataContracts;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -52,5 +54,98 @@ namespace BeWo.Data.Security
|
||||
|
||||
return rights;
|
||||
}
|
||||
|
||||
public static String GetBeWoVersion()
|
||||
{
|
||||
return GetBeWoVersion(GetLoggedInUser().LoginName);
|
||||
}
|
||||
|
||||
public static String GetBeWoVersion(String loginName)
|
||||
{
|
||||
var lastLogins = DAOFactory.SearchDAO.FindLastLogins(loginName, 1).ToList();
|
||||
if (lastLogins != null && lastLogins.Count > 0)
|
||||
{
|
||||
var login = lastLogins[0];
|
||||
if (!String.IsNullOrEmpty(login.Referrer))
|
||||
{
|
||||
//var test = "MobilClient, Version: Unbekannt";
|
||||
//var test2 = "BeWoClient, Version: Microsoft Windows NT 6.2.9200.0;CLRVersion=4.0.30319.42000;BeWoVersion=Version 3.16;IsNet45OrNewer=True";
|
||||
|
||||
var str = login.Referrer;
|
||||
|
||||
var start = str.IndexOf("BeWoVersion=");
|
||||
if (start > 0)
|
||||
{
|
||||
var stop = str.IndexOf(";", start);
|
||||
if (stop > start)
|
||||
{
|
||||
var version = str.Substring(start + 12, stop - start - 12);
|
||||
version = version.Replace("Version", "").Trim();
|
||||
|
||||
return version;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public static void CheckRightVersion(UserDC user)
|
||||
{
|
||||
var version = GetBeWoVersion(GetLoggedInUser().LoginName);
|
||||
CheckRightVersion(version, user);
|
||||
}
|
||||
|
||||
|
||||
public static void CheckRightVersion(UserGroupDC groupDC)
|
||||
{
|
||||
var version = GetBeWoVersion(GetLoggedInUser().LoginName);
|
||||
CheckRightVersion(version, groupDC);
|
||||
}
|
||||
|
||||
public static void CheckRightVersion(String version, UserDC userDC)
|
||||
{
|
||||
foreach (var ug in userDC.UserGroups)
|
||||
{
|
||||
CheckRightVersion(version, ug);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void CheckRightVersion(String version, UserGroupDC ug)
|
||||
{
|
||||
var allrights = ug.Rights;
|
||||
ug.Rights = new List<UserRightType>();
|
||||
foreach (var r in allrights)
|
||||
{
|
||||
if (IsCorrectVersion(r, version))
|
||||
{
|
||||
ug.Rights.Add(r);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static bool IsCorrectVersion(UserRightType r, string version)
|
||||
{
|
||||
var rightVersion = GetRightVersion(r);
|
||||
|
||||
if (!String.IsNullOrEmpty(version) && version.CompareTo(rightVersion) < 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static String GetRightVersion(UserRightType r)
|
||||
{
|
||||
if (r == UserRightType.Customer_ViewBetreuung || r == UserRightType.Customer_ViewAbsenceTimes)
|
||||
{
|
||||
return "3.17";
|
||||
}
|
||||
return "1.0";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -939,6 +939,7 @@ namespace Host
|
||||
return reportCreator.CreateVertretungsPlanungReport(start, ansicht);
|
||||
|
||||
}
|
||||
|
||||
private XtraReport CreateValidationMessageListReport()
|
||||
{
|
||||
DateTime start = DateTime.Now.Date;
|
||||
|
||||
@@ -970,3 +970,9 @@ ALTER TABLE `AbsenceReason` ADD COLUMN `Sichtbarkeit` int NULL;
|
||||
|
||||
ALTER TABLE `feiertag`
|
||||
ADD COLUMN `OrganisationOid` BIGINT NULL DEFAULT NULL;
|
||||
|
||||
ALTER TABLE servicerecordhistory ADD COLUMN `CustomerConfirmationReceiptSignatureStateType` int DEFAULT 0;
|
||||
ALTER TABLE servicerecordhistory ADD COLUMN `EmployeeConfirmationReceiptSignatureStateType` int DEFAULT 0;
|
||||
ALTER TABLE servicerecordhistory ADD COLUMN `ServiceRecordSignatureStateType` int DEFAULT 0;
|
||||
|
||||
ALTER TABLE servicerecordhistory ADD COLUMN `CustomerConfirmationReceiptSignatureOid` BIGINT(18) DEFAULT NULL, ADD COLUMN `EmployeeConfirmationReceiptSignatureOid` BIGINT(18) DEFAULT NULL;
|
||||
@@ -1230,17 +1230,40 @@ namespace BeWo.Report
|
||||
}
|
||||
if (report != null)
|
||||
{
|
||||
report.Watermark.PageRange = "1";
|
||||
if (report.Pages.Count == 0)
|
||||
{
|
||||
report.CreateDocument();
|
||||
}
|
||||
|
||||
|
||||
if (master == null)
|
||||
{
|
||||
master = report;
|
||||
}
|
||||
else
|
||||
{
|
||||
master.Pages.AddRange(report.Pages);
|
||||
//master.Pages.AddRange(report.Pages);
|
||||
XRWatermark wm = new XRWatermark();
|
||||
|
||||
wm.CopyFrom(report.Watermark);
|
||||
bool firstpage = true;
|
||||
foreach (var item in report.Pages)
|
||||
{
|
||||
var page2add = item as DevExpress.XtraPrinting.Page;
|
||||
if (page2add != null)
|
||||
{
|
||||
|
||||
master.Pages.Add(page2add);
|
||||
if (wm != null && firstpage)
|
||||
{
|
||||
var newpage = master.Pages[master.Pages.Count - 1];
|
||||
newpage.AssignWatermark(wm);
|
||||
//newpage.AssignWatermark(page2add.Watermark);
|
||||
}
|
||||
}
|
||||
firstpage = false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1789,22 +1789,30 @@ namespace BeWo.Report.ReportObjects
|
||||
}
|
||||
else
|
||||
{
|
||||
var c = ed.Employee.GetValidContractForDate(dd.Date);
|
||||
if (c != null)
|
||||
var ssa = GetSollStundenForAbsenceTime(ed, absenceTime, dd.Date);
|
||||
if (ssa.HasValue)
|
||||
{
|
||||
sollDiesenTag = ssa.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
decimal wth = 0;
|
||||
int apw = ANZ_WOCHENTAGE;
|
||||
|
||||
if (c.WeeklyTotalHours.HasValue)
|
||||
var c = ed.Employee.GetValidContractForDate(dd.Date);
|
||||
if (c != null)
|
||||
{
|
||||
wth = c.WeeklyTotalHours.Value;
|
||||
}
|
||||
if (c.WeeklyDays.HasValue && c.WeeklyDays.Value > 0)
|
||||
{
|
||||
apw = c.WeeklyDays.Value;
|
||||
}
|
||||
decimal wth = 0;
|
||||
int apw = ANZ_WOCHENTAGE;
|
||||
|
||||
sollDiesenTag = wth / apw;
|
||||
if (c.WeeklyTotalHours.HasValue)
|
||||
{
|
||||
wth = c.WeeklyTotalHours.Value;
|
||||
}
|
||||
if (c.WeeklyDays.HasValue && c.WeeklyDays.Value > 0)
|
||||
{
|
||||
apw = c.WeeklyDays.Value;
|
||||
}
|
||||
|
||||
sollDiesenTag = wth / apw;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1832,7 +1840,7 @@ namespace BeWo.Report.ReportObjects
|
||||
|
||||
if (faktor != 0)
|
||||
{
|
||||
sollDiesenTag *= faktor; //halbe Feiertage etc. berücksichtigen
|
||||
abwesenheitsDauer *= faktor; //halbe Feiertage etc. berücksichtigen
|
||||
}
|
||||
|
||||
if (ed.AbsenceTimeDays != null && ed.AbsenceTimeDays.TageProWocheDict != null)
|
||||
@@ -1916,6 +1924,18 @@ namespace BeWo.Report.ReportObjects
|
||||
absenceTime.AbsenceReason.Description.ToLower().IndexOf("urlaub") >= 0;
|
||||
}
|
||||
|
||||
public virtual decimal? GetSollStundenForAbsenceTime(MitarbeiterstundenkontoRO.EmployeeDetail ed, AbsenceTime at, DateTime datum)
|
||||
{
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
public virtual bool AddAbsenceTimeToIst()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public virtual bool AddServiceRecordToDuration(ServiceRecord item)
|
||||
{
|
||||
return true;
|
||||
@@ -2202,7 +2222,7 @@ namespace BeWo.Report.ReportObjects
|
||||
decimal stundenProTag = GetSollArbeitszeitProArbeitstag(c, ed);
|
||||
|
||||
|
||||
return (stundenProTag * 5);
|
||||
return stundenProTag * ed.ArbeitstageProWoche;
|
||||
//sollStundenProWoche = stundenProTag * ed.ArbeitstageProWoche;
|
||||
|
||||
//return (ath.TageGesamt.Value * stundenProTag);
|
||||
@@ -2221,10 +2241,15 @@ namespace BeWo.Report.ReportObjects
|
||||
{
|
||||
if (BerechneAlteAbwesenheitsStunden(start))
|
||||
{
|
||||
return BerechneStundenDurchAbwesenheitenAlt(ath, start, ende, c, ed);
|
||||
|
||||
return BerechneStundenDurchAbwesenheitenAlt(ath, start, ende, c, ed);
|
||||
}
|
||||
decimal stunden = 0;
|
||||
|
||||
if (ath.StundenGesamt.HasValue)
|
||||
{
|
||||
return ath.StundenGesamt.Value;
|
||||
}
|
||||
|
||||
decimal stunden = 0;
|
||||
|
||||
if (c != null)
|
||||
{
|
||||
@@ -2797,7 +2822,7 @@ namespace BeWo.Report.ReportObjects
|
||||
{
|
||||
atd.TageProWocheDict.Add(week, 0);
|
||||
}
|
||||
decimal? tage = null;
|
||||
decimal? stunden = null;
|
||||
if (absenceTimes != null)
|
||||
{
|
||||
foreach (var item in absenceTimes)
|
||||
@@ -2841,13 +2866,19 @@ namespace BeWo.Report.ReportObjects
|
||||
if (faktor < 1 && !istWochenende)
|
||||
{
|
||||
|
||||
if (!tage.HasValue)
|
||||
tage = 0;
|
||||
if (!stunden.HasValue)
|
||||
stunden = 0;
|
||||
|
||||
var tag = 1m;
|
||||
var std = 24m;
|
||||
|
||||
if (item.Start.HasValue && item.End.HasValue && item.Start.Value.Date == item.End.Value.Date &&
|
||||
var sollAmTag = GetSollStundenForAbsenceTime(AktuellBearbeitetesEmployeeDetail, item, day);
|
||||
if (!sollAmTag.HasValue)
|
||||
{
|
||||
sollAmTag = AktuellBearbeitetesEmployeeDetail.SollProTag;
|
||||
}
|
||||
|
||||
if (item.Start.HasValue && item.End.HasValue && item.Start.Value.Date == item.End.Value.Date &&
|
||||
item.Start.Value.Hour > 0)
|
||||
{
|
||||
if (AktuellBearbeitetesEmployeeDetail != null)
|
||||
@@ -2855,16 +2886,14 @@ namespace BeWo.Report.ReportObjects
|
||||
faktor = 1;
|
||||
decimal hours = (decimal)item.End.Value.Subtract(item.Start.Value).TotalHours;
|
||||
|
||||
var sollAmTag = AktuellBearbeitetesEmployeeDetail.SollProTag;
|
||||
|
||||
if (SchneideZuvieleAbwesenheitsstundenAb() && hours > sollAmTag)
|
||||
{
|
||||
hours = sollAmTag;
|
||||
hours = sollAmTag.Value;
|
||||
}
|
||||
|
||||
if (sollAmTag > 0)
|
||||
{
|
||||
tag = hours / sollAmTag;
|
||||
tag = hours / sollAmTag.Value;
|
||||
std = tag * 24;
|
||||
}
|
||||
}
|
||||
@@ -2879,25 +2908,32 @@ namespace BeWo.Report.ReportObjects
|
||||
}
|
||||
|
||||
|
||||
tage += std;
|
||||
stunden += std;
|
||||
|
||||
if (IsKrankheitAbsenceTime(item))
|
||||
{
|
||||
if (!atd.TageKrankheit.HasValue)
|
||||
atd.TageKrankheit = 0;
|
||||
if (!atd.StundenKrankheit.HasValue)
|
||||
atd.StundenKrankheit = 0;
|
||||
atd.TageKrankheit += tag;
|
||||
|
||||
atd.TageKrankheit += tag;
|
||||
atd.StundenKrankheit += sollAmTag;
|
||||
}
|
||||
|
||||
if (IsUrlaubAbsenceTime(item))
|
||||
{
|
||||
if (!atd.TageUrlaub.HasValue)
|
||||
atd.TageUrlaub = 0;
|
||||
|
||||
atd.TageUrlaub += tag;
|
||||
if (!atd.StundenUrlaub.HasValue)
|
||||
atd.StundenUrlaub = 0;
|
||||
atd.TageUrlaub += tag;
|
||||
atd.StundenUrlaub += sollAmTag;
|
||||
}
|
||||
if (!atd.StundenGesamt.HasValue)
|
||||
atd.StundenGesamt = 0;
|
||||
atd.StundenGesamt += sollAmTag;
|
||||
|
||||
foreach (var week in weeks)
|
||||
foreach (var week in weeks)
|
||||
{
|
||||
if (day >= week.StartDate && day <= week.EndDate)
|
||||
{
|
||||
@@ -2916,9 +2952,11 @@ namespace BeWo.Report.ReportObjects
|
||||
}
|
||||
}
|
||||
}
|
||||
if (tage.HasValue)
|
||||
tage /= 24;
|
||||
atd.TageGesamt = tage;
|
||||
if (stunden.HasValue)
|
||||
stunden /= 24;
|
||||
atd.TageGesamt = stunden;
|
||||
|
||||
|
||||
return atd;
|
||||
}
|
||||
|
||||
@@ -3109,8 +3147,11 @@ namespace BeWo.Report.ReportObjects
|
||||
public decimal? TageUrlaub;
|
||||
public decimal? TageKrankheit;
|
||||
public decimal? TageGesamt;
|
||||
public decimal? StundenUrlaub;
|
||||
public decimal? StundenKrankheit;
|
||||
public decimal? StundenGesamt;
|
||||
|
||||
public Dictionary<DateTimeSpan, decimal> TageProWocheDict;
|
||||
public Dictionary<DateTimeSpan, decimal> TageProWocheDict;
|
||||
public Dictionary<DateTimeSpan, decimal> RestStundenProWocheDict;
|
||||
}
|
||||
|
||||
|
||||
@@ -38,6 +38,10 @@ namespace AWOMuensterlandRecklinghausen
|
||||
BerechneFerienTage = true;
|
||||
}
|
||||
}
|
||||
if (c.EntryDate < new DateTime(2023,07,01))
|
||||
{
|
||||
c.EntryDate = new DateTime(2023, 07, 01); // die haben Original Startdaten eingetragen, geht nur um die "vorherigen Minusstunden"
|
||||
}
|
||||
customVacationService.UseDbFeiertage = BerechneFerienTage;
|
||||
}
|
||||
|
||||
|
||||
@@ -219,8 +219,9 @@ namespace AWOMuensterlandRecklinghausen
|
||||
|
||||
if (qro.Rows.Count > 0)
|
||||
{
|
||||
DateTime monat = DateTime.Parse(qro.Rows[0].Field1.ToString());
|
||||
DateTime start = new DateTime(monat.Year, 9, 1);
|
||||
DateTime dt = DateTime.Now;
|
||||
DateTime.TryParse(qro.Rows[0].Field1.ToString(), out dt);
|
||||
DateTime start = new DateTime(dt.Year, dt.Month, 1);
|
||||
DateTime end = start.AddMonths(1).AddDays(-1);
|
||||
|
||||
var ro = FinanceRO.Create(start, end);
|
||||
|
||||
@@ -77,6 +77,7 @@ namespace AWOMuensterlandRecklinghausen
|
||||
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||
this.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand();
|
||||
this.fieldBillableAmountYear = new DevExpress.XtraReports.UI.CalculatedField();
|
||||
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
|
||||
@@ -189,7 +190,7 @@ namespace AWOMuensterlandRecklinghausen
|
||||
this.lblTitel.LocationFloat = new DevExpress.Utils.PointFloat(0F, 10.00001F);
|
||||
this.lblTitel.Name = "lblTitel";
|
||||
this.lblTitel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.lblTitel.SizeF = new System.Drawing.SizeF(248.1252F, 23F);
|
||||
this.lblTitel.SizeF = new System.Drawing.SizeF(138.7502F, 23F);
|
||||
this.lblTitel.StylePriority.UseFont = false;
|
||||
this.lblTitel.Text = "Wirtschaftsplan";
|
||||
//
|
||||
@@ -284,7 +285,7 @@ namespace AWOMuensterlandRecklinghausen
|
||||
//
|
||||
this.xrTableCell25.Name = "xrTableCell25";
|
||||
this.xrTableCell25.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell25.Text = "Erlöse September";
|
||||
this.xrTableCell25.Text = "Erlöse [ReportStartDate!MMMM]";
|
||||
this.xrTableCell25.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrTableCell25.Weight = 0.5548377192100773D;
|
||||
//
|
||||
@@ -394,6 +395,7 @@ namespace AWOMuensterlandRecklinghausen
|
||||
// ReportHeader
|
||||
//
|
||||
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrLabel1,
|
||||
this.lblTitel});
|
||||
this.ReportHeader.HeightF = 52.08333F;
|
||||
this.ReportHeader.Name = "ReportHeader";
|
||||
@@ -498,6 +500,18 @@ namespace AWOMuensterlandRecklinghausen
|
||||
this.fieldBillableAmountYear.Expression = "[BillableAmountInReportTimeSpan]*12";
|
||||
this.fieldBillableAmountYear.Name = "fieldBillableAmountYear";
|
||||
//
|
||||
// xrLabel1
|
||||
//
|
||||
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ReportStartDate", "{0:MMMM yyyy}")});
|
||||
this.xrLabel1.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(248.1252F, 10.00001F);
|
||||
this.xrLabel1.Name = "xrLabel1";
|
||||
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 96F);
|
||||
this.xrLabel1.SizeF = new System.Drawing.SizeF(180F, 23F);
|
||||
this.xrLabel1.StylePriority.UseFont = false;
|
||||
this.xrLabel1.Text = "xrLabel1";
|
||||
//
|
||||
// Finanzplanung
|
||||
//
|
||||
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
@@ -577,5 +591,6 @@ namespace AWOMuensterlandRecklinghausen
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
|
||||
private DevExpress.XtraReports.UI.CalculatedField fieldBillableAmountYear;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,6 +63,12 @@
|
||||
<ItemGroup>
|
||||
<Compile Include="CustomReportCreator.cs" />
|
||||
<Compile Include="CustomSettlementInvoiceCreation.cs" />
|
||||
<Compile Include="Finanzauswertung.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Finanzauswertung.designer.cs">
|
||||
<DependentUpon>Finanzauswertung.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Quittierungsbeleg.cs">
|
||||
<SubType>Component</SubType>
|
||||
@@ -110,6 +116,10 @@
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Finanzauswertung.resx">
|
||||
<DependentUpon>Finanzauswertung.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="Quittierungsbeleg.resx">
|
||||
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
|
||||
|
||||
@@ -13,28 +13,28 @@ namespace BeWo.AidshilfeDortmund
|
||||
{
|
||||
|
||||
|
||||
public override List<InvoiceItemDC> CreateInvoiceItems(Settlement2DC si, IList<ApprovalPeriod> apList, bool schneideBeiMaxAb)
|
||||
{
|
||||
var items = base.CreateInvoiceItems(si, apList, true);
|
||||
//public override List<InvoiceItemDC> CreateInvoiceItems(Settlement2DC si, IList<ApprovalPeriod> apList, bool schneideBeiMaxAb)
|
||||
//{
|
||||
// var items = base.CreateInvoiceItems(si, apList, true);
|
||||
|
||||
|
||||
decimal hours = 0;
|
||||
foreach (var ap in apList)
|
||||
{
|
||||
hours += ap.RecordedMinutes;
|
||||
}
|
||||
if (si.RateFactor.HasValue)
|
||||
{
|
||||
hours *= (100 + si.RateFactor.Value) / 100;
|
||||
}
|
||||
hours /= 60;
|
||||
// decimal hours = 0;
|
||||
// foreach (var ap in apList)
|
||||
// {
|
||||
// hours += ap.RecordedMinutes;
|
||||
// }
|
||||
// if (si.RateFactor.HasValue)
|
||||
// {
|
||||
// hours *= (100 + si.RateFactor.Value) / 100;
|
||||
// }
|
||||
// hours /= 60;
|
||||
|
||||
si.RecordedBillableFLSNetto = hours;
|
||||
si.RecordedBillableFLSBrutto = si.RecordedBillableFLSNetto;
|
||||
// si.RecordedBillableFLSNetto = hours;
|
||||
// si.RecordedBillableFLSBrutto = si.RecordedBillableFLSNetto;
|
||||
|
||||
|
||||
return items;
|
||||
}
|
||||
// return items;
|
||||
//}
|
||||
//public override List<InvoiceItemDC> CreateInvoiceItems(Settlement2DC si, IList<ApprovalPeriod> apList, bool schneideBeiMaxAb)
|
||||
//{
|
||||
// List<InvoiceItemDC> iiList = new List<InvoiceItemDC>();
|
||||
|
||||
79
ReportImp/AidshilfeDortmund/Finanzauswertung.cs
Normal file
79
ReportImp/AidshilfeDortmund/Finanzauswertung.cs
Normal file
@@ -0,0 +1,79 @@
|
||||
using System;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
|
||||
namespace AidshilfeDortmund
|
||||
{
|
||||
public partial class Finanzauswertung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<FinanceRO>
|
||||
{
|
||||
public Finanzauswertung()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(FinanceRO pRO)
|
||||
{
|
||||
pRO.CalculateBillableAmountInReportTimeSpan();
|
||||
pRO.CalculatePaidAmountInReportTimeSpan();
|
||||
|
||||
if (pRO.ReportStartDate.HasValue && pRO.ReportEndDate.HasValue)
|
||||
{
|
||||
DateTime start = pRO.ReportStartDate.Value;
|
||||
DateTime end = pRO.ReportEndDate.Value;
|
||||
|
||||
if (start.Year == end.Year && start.Month == end.Month && start.Day == 1 &&
|
||||
end.Day == DateTime.DaysInMonth(end.Year, end.Month))
|
||||
{
|
||||
lblTitel.Text = String.Format("Finanzauswertung {0:MMMM yyyy}", start);
|
||||
cellBewilligtImZeitraumHeader.Text = String.Format("bewilligte FLS {0:MMMM}", start);
|
||||
cellGeleistetImZeitraumHeader.Text = String.Format("geleistete Std. {0:MMMM}", start);
|
||||
cellFehlkontakteHeader.Text = String.Format("Fehl-\nkontakte {0:MMMM}", start);
|
||||
}
|
||||
else
|
||||
{
|
||||
lblTitel.Text = String.Format("Finanzauswertung {0:dd.MM.yyyy}-{1:dd.MM.yyyy}", start, end);
|
||||
cellBewilligtImZeitraumHeader.Text = String.Format("bewilligte FLS {0:dd.MM.yyyy}-{1:dd.MM.yyyy}", start, end);
|
||||
cellGeleistetImZeitraumHeader.Text = String.Format("geleistete Std. {0:dd.MM.yyyy}-{1:dd.MM.yyyy}", start, end);
|
||||
//cellFehlkontakteHeader.Text = String.Format("Fehl-\nkontakte {0:dd.MM.yyyy}-{1:dd.MM.yyyy}", start, end);
|
||||
}
|
||||
if (pRO.RateFactor.HasValue)
|
||||
{
|
||||
cellRateFactorHeader.Text = String.Format("geleistete Std. x {0:0.##}", pRO.RateFactor);
|
||||
}
|
||||
else
|
||||
{
|
||||
//cellRateFactorHeader.Visible = false;
|
||||
//cellRateFactor.Visible = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cellBewilligtImZeitraumHeader.Visible = false;
|
||||
cellBewilligteFLSImBereich.Visible = false;
|
||||
cellGeleistetImBereich.Visible = false;
|
||||
cellGeleistetImZeitraumHeader.Visible = false;
|
||||
cellRateFactorHeader.Visible = false;
|
||||
cellRateFactor.Visible = false;
|
||||
}
|
||||
|
||||
if (pRO.GruppierungLeistungskategorie && pRO.SupportConceptFinanceList != null)
|
||||
{
|
||||
GroupHeader1.Visible = true;
|
||||
GroupFooter1.Visible = true;
|
||||
foreach (var scRo in pRO.SupportConceptFinanceList)
|
||||
{
|
||||
if (String.IsNullOrEmpty(scRo.Leistungskategorie))
|
||||
{
|
||||
scRo.GruppierungsKategorie = " ";
|
||||
}
|
||||
else
|
||||
{
|
||||
scRo.GruppierungsKategorie = String.Format("Leistungskategorie {0}", scRo.Leistungskategorie);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
}
|
||||
}
|
||||
1005
ReportImp/AidshilfeDortmund/Finanzauswertung.designer.cs
generated
Normal file
1005
ReportImp/AidshilfeDortmund/Finanzauswertung.designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
123
ReportImp/AidshilfeDortmund/Finanzauswertung.resx
Normal file
123
ReportImp/AidshilfeDortmund/Finanzauswertung.resx
Normal file
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -87,7 +87,16 @@ namespace AkggMid
|
||||
return false;
|
||||
if (item.AbsenceReason.Description.ToLower().Contains("ma_vkt"))
|
||||
return false;
|
||||
|
||||
|
||||
if (item.AbsenceReason.Description.ToLower().Contains("ma_bkl"))
|
||||
return false;
|
||||
|
||||
if (item.AbsenceReason.Description.ToLower().Contains("ma_päd.tag"))
|
||||
return false;
|
||||
|
||||
if (item.AbsenceReason.Description.ToLower().Contains("ma_uf"))
|
||||
return false;
|
||||
|
||||
return base.IstAnrechenbareAbsenceTime(item);
|
||||
}
|
||||
|
||||
@@ -96,7 +105,34 @@ namespace AkggMid
|
||||
return !IsUrlaubAbsenceTime(absenceTime);
|
||||
}
|
||||
|
||||
public override decimal GetFeiertagsFaktor(DateTime start)
|
||||
public override decimal? GetSollStundenForAbsenceTime(MitarbeiterstundenkontoRO.EmployeeDetail ed, AbsenceTime at, DateTime datum)
|
||||
{
|
||||
if (at.AbsenceReason.Description.StartsWith("MA_K") || at.AbsenceReason.Description.StartsWith("MA_KAU") || at.AbsenceReason.Description.StartsWith("MA_KK"))
|
||||
{
|
||||
foreach (var vv in ed.Employee.VarFieldValueList)
|
||||
{
|
||||
if (vv.VarFieldDefOid == 2)
|
||||
{
|
||||
var varFieldValue = BS.Shared.Core.Utils.XMLDeserializeFromString(vv.SerializedValue, Type.GetType(vv.TypeName));
|
||||
|
||||
decimal dec = 0;
|
||||
if (varFieldValue != null && Decimal.TryParse(varFieldValue.ToString(), out dec))
|
||||
{
|
||||
return dec / 5;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return base.GetSollStundenForAbsenceTime(ed, at, datum);
|
||||
}
|
||||
|
||||
public override bool AddAbsenceTimeToIst()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override decimal GetFeiertagsFaktor(DateTime start)
|
||||
{
|
||||
if (BerechneFerienTage && start < new DateTime(2023, 9, 4))
|
||||
{
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{868AC89C-BC74-4615-9B09-853ADE03B967}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>DiakonischesWerkDinslakenBeWo</RootNamespace>
|
||||
<AssemblyName>7164646882_Reports</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\CustomerDlls\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\CustomerDlls\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DevExpress.Data.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Printing.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Utils.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Invoicing\SettlementInvoiceCreation.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="QuittierungsbelegMitDatum.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="QuittierungsbelegMitDatum.Designer.cs">
|
||||
<DependentUpon>QuittierungsbelegMitDatum.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SettlementReport2.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SettlementReport2.Designer.cs">
|
||||
<DependentUpon>SettlementReport2.cs</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Data\Data.csproj">
|
||||
<Project>{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}</Project>
|
||||
<Name>Data</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Report\Report.csproj">
|
||||
<Project>{40d8b312-ea64-49e3-a31a-5e57ed4d5654}</Project>
|
||||
<Name>Report</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Service\Service.csproj">
|
||||
<Project>{094331c3-ecee-4c89-bbfd-4c9ded89f0ef}</Project>
|
||||
<Name>Service</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Shared\Shared.csproj">
|
||||
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
|
||||
<Name>Shared</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="QuittierungsbelegMitDatum.resx">
|
||||
<DependentUpon>QuittierungsbelegMitDatum.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SettlementReport2.resx">
|
||||
<DependentUpon>SettlementReport2.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -0,0 +1,14 @@
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Service.Invoicing;
|
||||
using BS.Shared.DataContracts;
|
||||
|
||||
namespace DiakonischesWerkDinslakenBeWo
|
||||
{
|
||||
public class CustomSettlementInvoiceCreation : SettlementInvoiceCreation
|
||||
{
|
||||
public override bool CanCreateInvoiceTheOldWay(Settlement2DC si, CostBearer2SupportConcept c2s)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Allgemeine Informationen über eine Assembly werden über die folgenden
|
||||
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
|
||||
// die einer Assembly zugeordnet sind.
|
||||
[assembly: AssemblyTitle("DiakonischesWerkDinslakenBeWo")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("DiakonischesWerkDinslakenBeWo")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
|
||||
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
|
||||
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
|
||||
[assembly: Guid("c1fed668-adb9-47e0-b589-1389618e1b6e")]
|
||||
|
||||
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
||||
//
|
||||
// Hauptversion
|
||||
// Nebenversion
|
||||
// Buildnummer
|
||||
// Revision
|
||||
//
|
||||
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||
// indem Sie "*" wie unten gezeigt eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -0,0 +1 @@
|
||||
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
1514
ReportImp/DiakonischesWerkDinslakenBeWo/QuittierungsbelegMitDatum.Designer.cs
generated
Normal file
1514
ReportImp/DiakonischesWerkDinslakenBeWo/QuittierungsbelegMitDatum.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,142 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Text.RegularExpressions;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BS.Shared.Core;
|
||||
using DevExpress.XtraReports.UI;
|
||||
|
||||
namespace DiakonischesWerkDinslakenBeWo
|
||||
{
|
||||
public partial class Quittierungsbeleg2 : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<ServicesOverviewRO>
|
||||
{
|
||||
public Quittierungsbeleg2()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(ServicesOverviewRO pRO)
|
||||
{
|
||||
bool hatGruppen = false;
|
||||
|
||||
if (pRO.Services != null)
|
||||
{
|
||||
List<ServicesOverviewRO.ServiceDetail> servicesBillable = new List<ServicesOverviewRO.ServiceDetail>();
|
||||
|
||||
foreach (var sd in pRO.Services)
|
||||
{
|
||||
if (sd.IsBillable || sd.ServiceDescription.ToLower().Contains("fehlkontakt") || sd.ServiceCategory.ToLower().Contains("fehlkontakt"))
|
||||
{
|
||||
if (sd.ServiceDescription.ToLower().Contains("fehlkontakt") || sd.ServiceCategory.ToLower().Contains("fehlkontakt"))
|
||||
sd.Notice5 = "F";
|
||||
else if (sd.IsGroup)
|
||||
sd.Notice5 = "GR";
|
||||
else if (!sd.IsGroup)
|
||||
sd.Notice5 = "E";
|
||||
|
||||
//ServicesOverviewRO.CreateSignatureString(sd);
|
||||
if (sd.IsGroup)
|
||||
{
|
||||
//sd.Notice5 = String.Format("{0} Teilnehmer", sd.CustomerCount);
|
||||
hatGruppen = true;
|
||||
}
|
||||
servicesBillable.Add(sd);
|
||||
}
|
||||
}
|
||||
|
||||
pRO.Services = servicesBillable;
|
||||
}
|
||||
|
||||
if (String.IsNullOrWhiteSpace(pRO.AbsenceTimes))
|
||||
{
|
||||
lblHatAbwesenheiten.Text = "X";
|
||||
}
|
||||
|
||||
if (!hatGruppen)
|
||||
{
|
||||
lblHatGruppen.Text = "X";
|
||||
}
|
||||
|
||||
ErstelleAbwesenheitenTabelle(pRO);
|
||||
|
||||
bindingSource1.DataSource = pRO;
|
||||
}
|
||||
|
||||
private void ErstelleAbwesenheitenTabelle(ServicesOverviewRO pRo)
|
||||
{
|
||||
if (pRo.Abwesenheiten != null)
|
||||
{
|
||||
int newRows = 0;
|
||||
int index = 1;
|
||||
foreach (var at in pRo.Abwesenheiten)
|
||||
{
|
||||
if (at.AbsenceReason.BillableMinutes.HasValue && at.AbsenceReason.BillableMinutes.Value > 0)
|
||||
{
|
||||
DevExpress.XtraReports.UI.XRTableRow row = null;
|
||||
if (index < xrTableAbwesenheiten.Rows.Count)
|
||||
{
|
||||
row = xrTableAbwesenheiten.Rows[index];
|
||||
}
|
||||
else
|
||||
{
|
||||
row = xrTableAbwesenheiten.InsertRowBelow(
|
||||
xrTableAbwesenheiten.Rows[xrTableAbwesenheiten.Rows.Count - 1]);
|
||||
newRows++;
|
||||
}
|
||||
|
||||
row.Cells[0].Text = String.Format("{0:dd.MM.yyyy}", at.Start);
|
||||
int? days = null;
|
||||
|
||||
if (at.End.HasValue)
|
||||
{
|
||||
row.Cells[1].Text = String.Format("{0:dd.MM.yyyy}", at.End);
|
||||
days = (int) at.End.Value.Subtract(at.Start.Value).TotalDays + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
row.Cells[1].Text = "unbekannt";
|
||||
}
|
||||
|
||||
row.Cells[2].Text = String.Format("{0:0}", days);
|
||||
|
||||
index++;
|
||||
}
|
||||
}
|
||||
|
||||
if (newRows > 0)
|
||||
{
|
||||
lblUnterschriftKlient.Top += newRows * 20;
|
||||
lblUnterschriftMitarbeiter.Top += newRows * 20;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void picSignature_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
|
||||
{
|
||||
XRPictureBox xrBox = sender as XRPictureBox;
|
||||
string base64String = xrBox.Tag as string;
|
||||
if (!String.IsNullOrWhiteSpace(base64String))
|
||||
{
|
||||
var base64Data = Regex.Match(base64String, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
|
||||
var binData = Convert.FromBase64String(base64Data);
|
||||
Image img = ByteArrayToImage(binData);
|
||||
xrBox.Image = Utils.CropImage(img);
|
||||
}
|
||||
else
|
||||
{
|
||||
xrBox.Image = null;
|
||||
}
|
||||
}
|
||||
|
||||
public Image ByteArrayToImage(byte[] byteArrayIn)
|
||||
{
|
||||
Image returnImage = null;
|
||||
MemoryStream ms = new System.IO.MemoryStream(byteArrayIn);
|
||||
returnImage = Image.FromStream(ms);
|
||||
|
||||
return returnImage;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,129 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>21, 17</value>
|
||||
</metadata>
|
||||
<data name="xrRichText2.SerializableRtfString" xml:space="preserve">
|
||||
<value>ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AewBcAGYAMgAgAEEAcgBpAGEAbAA7AH0AfQB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADIANQA1ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAcwB0AHkAbABlAHMAaABlAGUAdAAgAHsAXABxAGwAXABmADEAXABmAHMAMgA0ACAATgBvAHIAbQBhAGwAOwB9AHsAXAAqAFwAYwBzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXAB1AGwAXABmADEAXABmAHMAMgA0AFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGgAdABtAGEAdQB0AHMAcABcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAewBcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgAEsAZQBpAG4AZQAgAH0AewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXAB1AGwAXABmADIAXABmAHMAMgAwAFwAYwBmADEAIABLAHIAYQBuAGsAZQBuAGgAYQB1AHMAYQB1AGYAZQBuAHQAaABhAGwAdABlAH0AXABsAGEAbgBnADEAMAAzADEAXABsAGEAbgBnAGYAZQAxADAAMwAxAFwAdQBsAFwAZgAyAFwAZgBzADIAMABcAGMAZgAxAFwAcABhAHIAXABwAGEAcgBkAFwAcABsAGEAaQBuAFwAcQBsAHsAXABsAGEAbgBnADEAMAAzADEAXABsAGEAbgBnAGYAZQAxADAAMwAxAFwAdQBsAFwAZgAyAFwAZgBzADIAMABcAGMAZgAxACAAYgBlAGsAYQBuAG4AdAAgAG8AZABlAHIAIAB9AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAHUAbABcAGYAMgBcAGYAcwAyADAAXABjAGYAMQBcAHAAYQByAFwAcABhAHIAZABcAHAAbABhAGkAbgBcAHEAbAB7AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAHUAbABcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgAGEAYgByAGUAYwBoAG4AdQBuAGcAcwByAGUAbABlAHYAYQBuAHQAfQB7AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgACAAaQBtACAAQQBiAHIAZQBjAGgAbgB1AG4AZwBzAHoAZQBpAHQAcgBhAHUAbQB9AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAMQBcAGYAcwAyADQAXABjAGYAMQBcAHAAYQByAH0A</value>
|
||||
</data>
|
||||
<data name="xrRichText1.SerializableRtfString" xml:space="preserve">
|
||||
<value>ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AewBcAGYAMgAgAEEAcgBpAGEAbAA7AH0AfQB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADIANQA1ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAcwB0AHkAbABlAHMAaABlAGUAdAAgAHsAXABxAGwAXABmADEAXABmAHMAMgA0ACAATgBvAHIAbQBhAGwAOwB9AHsAXAAqAFwAYwBzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXAB1AGwAXABmADEAXABmAHMAMgA0AFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGgAdABtAGEAdQB0AHMAcABcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAewBcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgAEsAZQBpAG4AZQAgAH0AewBcAHUAbABcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgAEcAcgB1AHAAcABlAG4AYQBuAGcAZQBiAG8AdABlAH0AewBcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgACAAaQBtACAAQQBiAHIAZQBjAGgAbgB1AG4AZwBzAHoAZQBpAHQAcgBhAHUAbQB9AFwAZgAxAFwAZgBzADIANABcAGMAZgAxAFwAcABhAHIAfQA=</value>
|
||||
</data>
|
||||
</root>
|
||||
1206
ReportImp/DiakonischesWerkDinslakenBeWo/SettlementReport2.Designer.cs
generated
Normal file
1206
ReportImp/DiakonischesWerkDinslakenBeWo/SettlementReport2.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
62
ReportImp/DiakonischesWerkDinslakenBeWo/SettlementReport2.cs
Normal file
62
ReportImp/DiakonischesWerkDinslakenBeWo/SettlementReport2.cs
Normal file
@@ -0,0 +1,62 @@
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BS.Shared.Extensions;
|
||||
|
||||
namespace DiakonischesWerkDinslakenBeWo
|
||||
{
|
||||
public partial class Spitzabrechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<Settlement2RO>
|
||||
{
|
||||
public Spitzabrechnung()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(Settlement2RO pRO)
|
||||
{
|
||||
|
||||
decimal rateFactor = 1;
|
||||
|
||||
foreach (var ii in pRO.InvoiceItems)
|
||||
{
|
||||
if (ii.RateFactor.HasValue)
|
||||
{
|
||||
rateFactor = (100 + ii.RateFactor.Value) / 100;
|
||||
}
|
||||
|
||||
if (!pRO.FehlkontakteString.IsNullOrEmpty() && ii.RateFactor == 0)
|
||||
{
|
||||
Zwischensumme.Visible = true;
|
||||
ii.AbrechnungsText = ii.AbrechnungsText.Replace("FLS", "Std.");
|
||||
ii.ItemDescription = "Fehlkontakte";
|
||||
}
|
||||
else if (ii.ItemDescription.IsNullOrEmpty())
|
||||
{
|
||||
ii.ItemDescription = "Fachleistungsstunden";
|
||||
}
|
||||
}
|
||||
pRO.RateFactor = (double)rateFactor;
|
||||
|
||||
|
||||
if (pRO.TerminationDate == null)
|
||||
{
|
||||
lblStammdaten.Text = lblStammdaten.Text.Remove(lblStammdaten.Text.Length - 34, 34);
|
||||
}
|
||||
if (pRO.Claim > 0)
|
||||
lblRestforderungGutschrift.Text = "Restforderung";
|
||||
else
|
||||
lblRestforderungGutschrift.Text = "Gutschrift aus Überzahlung";
|
||||
|
||||
if (pRO.AbsenceReason1 == null)
|
||||
pRO.AbsenceReason1 = "-";
|
||||
if (pRO.AbsenceReason2 == null)
|
||||
pRO.AbsenceReason2 = "-";
|
||||
if (pRO.AbsenceReason3 == null)
|
||||
pRO.AbsenceReason3 = "-";
|
||||
if (pRO.AbsenceReason4 == null)
|
||||
pRO.AbsenceReason4 = "-";
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
135
ReportImp/DiakonischesWerkDinslakenBeWo/SettlementReport2.resx
Normal file
135
ReportImp/DiakonischesWerkDinslakenBeWo/SettlementReport2.resx
Normal file
@@ -0,0 +1,135 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="xrLabel11.Text" xml:space="preserve">
|
||||
<value>Hiermit wird erklärt, dass die Verpflichtungen aus der Leistungs-, Prüfungs- und Vergütungsvereinbarung gemäß
|
||||
den §§ 53, 54 Sozialgesetzbuch, zwölftes Buch (SGB XII) und § 54 Sozialgesetzbuch, neuntes Buch (SGB IX) eingehalten wurden und die vorgenannten Angaben anhand der vorgehaltenen
|
||||
Quittierungsbelege sowie der Betreuungsdokumentation jederzeit nachgewiesen werden können.
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<data name="xrLabel36.Text" xml:space="preserve">
|
||||
<value>von [AbsenceStartDate1!dd.MM.yyyy] bis [AbsenceEndDate1!dd.MM.yyyy]
|
||||
von [AbsenceStartDate2!dd.MM.yyyy] bis [AbsenceEndDate2!dd.MM.yyyy]
|
||||
von [AbsenceStartDate3!dd.MM.yyyy] bis [AbsenceEndDate3!dd.MM.yyyy]
|
||||
von [AbsenceStartDate4!dd.MM.yyyy] bis [AbsenceEndDate4!dd.MM.yyyy]</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -306,6 +306,16 @@ namespace DomizielAnsbach.Invoicing
|
||||
//return newlist;
|
||||
}
|
||||
|
||||
public override string GetSummaryItemKey(SupportConceptApprovalPeriod scap, InvoiceItem iitem, bool summaryPerMonth)
|
||||
{
|
||||
String key = String.Format("{0}_{1}_{2}", iitem.AmountPerUnit, iitem.ItemDescription, iitem.RateFactor);
|
||||
if (summaryPerMonth)
|
||||
{
|
||||
key = String.Format("{0}_{1}_{2}_{3:yyyyMM}", iitem.AmountPerUnit, iitem.ItemDescription, iitem.RateFactor, iitem.ItemPeriodStart);
|
||||
}
|
||||
return key;
|
||||
}
|
||||
|
||||
private InvoiceItem CreateFahrtkostenZulageItem(List<ServiceRecordDC> serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, ZuverdienstHelper.AktuellePauschalen pausch)
|
||||
{
|
||||
decimal? pauschale;
|
||||
|
||||
@@ -41,6 +41,7 @@ namespace EvVereinF
|
||||
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.ruleNoticeNull = new DevExpress.XtraReports.UI.FormattingRule();
|
||||
this.Page1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
|
||||
@@ -55,41 +56,37 @@ namespace EvVereinF
|
||||
this.xrTableRow25 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell38 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell42 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell45 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
|
||||
this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell39 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableRow5 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell41 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell43 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell44 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell46 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell48 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell49 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell50 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.fieldMonatskontingent = new DevExpress.XtraReports.UI.CalculatedField();
|
||||
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
|
||||
@@ -183,6 +180,15 @@ namespace EvVereinF
|
||||
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell12.Weight = 0.19843414978427643D;
|
||||
//
|
||||
// xrTableCell21
|
||||
//
|
||||
this.xrTableCell21.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell21.Name = "xrTableCell21";
|
||||
this.xrTableCell21.StylePriority.UseBorders = false;
|
||||
this.xrTableCell21.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell21.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell21.Weight = 0.26623734753935857D;
|
||||
//
|
||||
// xrTableCell14
|
||||
//
|
||||
this.xrTableCell14.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
@@ -331,7 +337,6 @@ namespace EvVereinF
|
||||
this.xrTableRow25.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell38,
|
||||
this.xrTableCell42,
|
||||
this.xrTableCell8,
|
||||
this.xrTableCell3,
|
||||
this.xrTableCell9,
|
||||
this.xrTableCell45,
|
||||
@@ -370,19 +375,7 @@ namespace EvVereinF
|
||||
this.xrTableCell42.StylePriority.UsePadding = false;
|
||||
this.xrTableCell42.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell42.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell42.Weight = 0.55482017348006873D;
|
||||
//
|
||||
// xrTableCell8
|
||||
//
|
||||
this.xrTableCell8.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell8.Name = "xrTableCell8";
|
||||
this.xrTableCell8.StylePriority.UseBorders = false;
|
||||
this.xrTableCell8.StylePriority.UseFont = false;
|
||||
this.xrTableCell8.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell8.Text = "[CostBearer2SupportConcept.StartDate!dd.MM.yyyy] - [CostBearer2SupportConcept.End" +
|
||||
"Date!dd.MM.yyyy]";
|
||||
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrTableCell8.Weight = 0.37220110289628361D;
|
||||
this.xrTableCell42.Weight = 0.92702127307973647D;
|
||||
//
|
||||
// xrTableCell3
|
||||
//
|
||||
@@ -394,7 +387,7 @@ namespace EvVereinF
|
||||
this.xrTableCell3.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell3.Text = "xrTableCell3";
|
||||
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrTableCell3.Weight = 0.24966906212533097D;
|
||||
this.xrTableCell3.Weight = 0.24966906542194678D;
|
||||
//
|
||||
// xrTableCell9
|
||||
//
|
||||
@@ -448,6 +441,18 @@ namespace EvVereinF
|
||||
this.xrTableCell17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell17.Weight = 0.27741008998905758D;
|
||||
//
|
||||
// xrTableCell20
|
||||
//
|
||||
this.xrTableCell20.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell20.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.NotBillableString")});
|
||||
this.xrTableCell20.Name = "xrTableCell20";
|
||||
this.xrTableCell20.StylePriority.UseBorders = false;
|
||||
this.xrTableCell20.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell20.Weight = 0.37220109873490642D;
|
||||
//
|
||||
// xrTableCell18
|
||||
//
|
||||
this.xrTableCell18.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
@@ -487,7 +492,6 @@ namespace EvVereinF
|
||||
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell2,
|
||||
this.xrTableCell4,
|
||||
this.xrTableCell5,
|
||||
this.xrTableCell6,
|
||||
this.xrTableCell7,
|
||||
this.xrTableCell10,
|
||||
@@ -519,18 +523,7 @@ namespace EvVereinF
|
||||
this.xrTableCell4.StylePriority.UseBorders = false;
|
||||
this.xrTableCell4.StylePriority.UseFont = false;
|
||||
this.xrTableCell4.Text = "Name, Vorname";
|
||||
this.xrTableCell4.Weight = 0.55198215450080845D;
|
||||
//
|
||||
// xrTableCell5
|
||||
//
|
||||
this.xrTableCell5.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)));
|
||||
this.xrTableCell5.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold);
|
||||
this.xrTableCell5.Multiline = true;
|
||||
this.xrTableCell5.Name = "xrTableCell5";
|
||||
this.xrTableCell5.StylePriority.UseBorders = false;
|
||||
this.xrTableCell5.StylePriority.UseFont = false;
|
||||
this.xrTableCell5.Text = "Laufzeit";
|
||||
this.xrTableCell5.Weight = 0.37029716625546266D;
|
||||
this.xrTableCell4.Weight = 0.92227940729441937D;
|
||||
//
|
||||
// xrTableCell6
|
||||
//
|
||||
@@ -540,7 +533,7 @@ namespace EvVereinF
|
||||
this.xrTableCell6.StylePriority.UseBorders = false;
|
||||
this.xrTableCell6.StylePriority.UseFont = false;
|
||||
this.xrTableCell6.Text = "Geburtsdatum";
|
||||
this.xrTableCell6.Weight = 0.24839175801207961D;
|
||||
this.xrTableCell6.Weight = 0.2483916714739314D;
|
||||
//
|
||||
// xrTableCell7
|
||||
//
|
||||
@@ -582,6 +575,16 @@ namespace EvVereinF
|
||||
this.xrTableCell16.Text = "Korrekturbetrag";
|
||||
this.xrTableCell16.Weight = 0.27599145320504359D;
|
||||
//
|
||||
// xrTableCell13
|
||||
//
|
||||
this.xrTableCell13.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)));
|
||||
this.xrTableCell13.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold);
|
||||
this.xrTableCell13.Name = "xrTableCell13";
|
||||
this.xrTableCell13.StylePriority.UseBorders = false;
|
||||
this.xrTableCell13.StylePriority.UseFont = false;
|
||||
this.xrTableCell13.Text = "Korrekturzeitraum";
|
||||
this.xrTableCell13.Weight = 0.37029661671416969D;
|
||||
//
|
||||
// xrTableCell39
|
||||
//
|
||||
this.xrTableCell39.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
@@ -599,7 +602,6 @@ namespace EvVereinF
|
||||
this.xrTableRow5.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell40,
|
||||
this.xrTableCell41,
|
||||
this.xrTableCell43,
|
||||
this.xrTableCell44,
|
||||
this.xrTableCell46,
|
||||
this.xrTableCell47,
|
||||
@@ -628,18 +630,7 @@ namespace EvVereinF
|
||||
this.xrTableCell41.Name = "xrTableCell41";
|
||||
this.xrTableCell41.StylePriority.UseBorders = false;
|
||||
this.xrTableCell41.StylePriority.UseFont = false;
|
||||
this.xrTableCell41.Weight = 0.55198214369032506D;
|
||||
//
|
||||
// xrTableCell43
|
||||
//
|
||||
this.xrTableCell43.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell43.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold);
|
||||
this.xrTableCell43.Multiline = true;
|
||||
this.xrTableCell43.Name = "xrTableCell43";
|
||||
this.xrTableCell43.StylePriority.UseBorders = false;
|
||||
this.xrTableCell43.StylePriority.UseFont = false;
|
||||
this.xrTableCell43.Text = "Bewilligung";
|
||||
this.xrTableCell43.Weight = 0.37029712414361859D;
|
||||
this.xrTableCell41.Weight = 0.92227943867869411D;
|
||||
//
|
||||
// xrTableCell44
|
||||
//
|
||||
@@ -648,7 +639,7 @@ namespace EvVereinF
|
||||
this.xrTableCell44.Name = "xrTableCell44";
|
||||
this.xrTableCell44.StylePriority.UseBorders = false;
|
||||
this.xrTableCell44.StylePriority.UseFont = false;
|
||||
this.xrTableCell44.Weight = 0.24839180012495279D;
|
||||
this.xrTableCell44.Weight = 0.24839162928020231D;
|
||||
//
|
||||
// xrTableCell46
|
||||
//
|
||||
@@ -687,6 +678,15 @@ namespace EvVereinF
|
||||
this.xrTableCell49.StylePriority.UseFont = false;
|
||||
this.xrTableCell49.Weight = 0.27599226811681632D;
|
||||
//
|
||||
// xrTableCell19
|
||||
//
|
||||
this.xrTableCell19.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell19.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold);
|
||||
this.xrTableCell19.Name = "xrTableCell19";
|
||||
this.xrTableCell19.StylePriority.UseBorders = false;
|
||||
this.xrTableCell19.StylePriority.UseFont = false;
|
||||
this.xrTableCell19.Weight = 0.37029601053343347D;
|
||||
//
|
||||
// xrTableCell50
|
||||
//
|
||||
this.xrTableCell50.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
@@ -706,46 +706,6 @@ namespace EvVereinF
|
||||
this.fieldMonatskontingent.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
|
||||
this.fieldMonatskontingent.Name = "fieldMonatskontingent";
|
||||
//
|
||||
// xrTableCell13
|
||||
//
|
||||
this.xrTableCell13.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)));
|
||||
this.xrTableCell13.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold);
|
||||
this.xrTableCell13.Name = "xrTableCell13";
|
||||
this.xrTableCell13.StylePriority.UseBorders = false;
|
||||
this.xrTableCell13.StylePriority.UseFont = false;
|
||||
this.xrTableCell13.Text = "Korrekturzeitraum";
|
||||
this.xrTableCell13.Weight = 0.37029661671416969D;
|
||||
//
|
||||
// xrTableCell19
|
||||
//
|
||||
this.xrTableCell19.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell19.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold);
|
||||
this.xrTableCell19.Name = "xrTableCell19";
|
||||
this.xrTableCell19.StylePriority.UseBorders = false;
|
||||
this.xrTableCell19.StylePriority.UseFont = false;
|
||||
this.xrTableCell19.Weight = 0.37029601053343347D;
|
||||
//
|
||||
// xrTableCell20
|
||||
//
|
||||
this.xrTableCell20.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell20.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.NotBillableString")});
|
||||
this.xrTableCell20.Name = "xrTableCell20";
|
||||
this.xrTableCell20.StylePriority.UseBorders = false;
|
||||
this.xrTableCell20.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell20.Weight = 0.37220109873490642D;
|
||||
//
|
||||
// xrTableCell21
|
||||
//
|
||||
this.xrTableCell21.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell21.Name = "xrTableCell21";
|
||||
this.xrTableCell21.StylePriority.UseBorders = false;
|
||||
this.xrTableCell21.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell21.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell21.Weight = 0.26623734753935857D;
|
||||
//
|
||||
// SammelrechnungTab
|
||||
//
|
||||
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
@@ -796,7 +756,6 @@ namespace EvVereinF
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell45;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
|
||||
private DevExpress.XtraReports.UI.FormattingRule ruleNoticeNull;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
|
||||
private DevExpress.XtraReports.UI.XRTable xrTable1;
|
||||
@@ -817,7 +776,6 @@ namespace EvVereinF
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
|
||||
@@ -827,7 +785,6 @@ namespace EvVereinF
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow5;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell40;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell41;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell43;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell44;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell46;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell47;
|
||||
|
||||
101
ReportImp/Fortis/CustomReportCreator.cs
Normal file
101
ReportImp/Fortis/CustomReportCreator.cs
Normal file
@@ -0,0 +1,101 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BeWo.Service.Plugins;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using DevExpress.XtraReports.Design;
|
||||
using DevExpress.XtraReports.UI;
|
||||
|
||||
namespace Fortis
|
||||
{
|
||||
public class CustomReportCreator : DefaultReportCreator
|
||||
{
|
||||
|
||||
public override XtraReport CreateServiceOverviewAllCustomersReport(int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
|
||||
{
|
||||
List<ServicesOverviewRO> lROs = ServicesOverviewRO.Create(month, year, orgaOid, empOid, startDay, endDay).OrderBy(ro => ro.CustomerLastName).ToList();
|
||||
|
||||
if (lROs.Count > 0)
|
||||
{
|
||||
|
||||
var rootReport = CreateServicesOverviewReportForRo(lROs[0], serviceCategoryOid);
|
||||
rootReport.CreateDocument();
|
||||
|
||||
for (int i = 1; i < lROs.Count; i++)
|
||||
{
|
||||
var lNext = CreateServicesOverviewReportForRo(lROs[i], serviceCategoryOid);
|
||||
lNext.CreateDocument();
|
||||
rootReport.Pages.AddRange(lNext.Pages);
|
||||
}
|
||||
|
||||
return rootReport;
|
||||
}
|
||||
return new XtraReport();
|
||||
}
|
||||
|
||||
public override XtraReport CreateServiceOverviewReportForCustomers(IList<long> customerOids, int month, int year, long? orgaOid, long? empOid, long? serviceCategoryOid, int startDay, int endDay, bool nurFehlende)
|
||||
{
|
||||
var roList = new List<ServicesOverviewRO>();
|
||||
|
||||
foreach (var coid in customerOids)
|
||||
{
|
||||
var ro = ServicesOverviewRO.Create(coid, month, year, true, orgaOid ?? 0, empOid ?? 0, startDay, endDay, serviceCategoryOid);
|
||||
|
||||
if (ro != null)
|
||||
{
|
||||
roList.Add(ro);
|
||||
}
|
||||
}
|
||||
|
||||
roList = roList.OrderBy(ro => ro.CustomerLastName).ToList();
|
||||
|
||||
if (roList.Count > 0)
|
||||
{
|
||||
var rootReport = CreateServicesOverviewReportForRo(roList[0], serviceCategoryOid);
|
||||
rootReport.CreateDocument();
|
||||
|
||||
for (int i = 1; i < roList.Count; i++)
|
||||
{
|
||||
var lNext = CreateServicesOverviewReportForRo(roList[i], serviceCategoryOid);
|
||||
lNext.CreateDocument();
|
||||
rootReport.Pages.AddRange(lNext.Pages);
|
||||
}
|
||||
|
||||
return rootReport;
|
||||
}
|
||||
return new XtraReport();
|
||||
|
||||
}
|
||||
|
||||
public override XtraReport CreateServiceOverviewSingleCustomerReport(long customerOid, int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay)
|
||||
{
|
||||
var ro = ServicesOverviewRO.Create(customerOid, month, year, false, orgaOid, empOid, startDay, endDay, serviceCategoryOid);
|
||||
|
||||
return CreateServicesOverviewReportForRo(ro, serviceCategoryOid);
|
||||
|
||||
}
|
||||
|
||||
private XtraReport CreateServicesOverviewReportForRo(ServicesOverviewRO ro, long? serviceCategoryOid)
|
||||
{
|
||||
IBeWoReport<ServicesOverviewRO> report = null;
|
||||
|
||||
if (ro.CustomerFirstName.Contains("TEST") || ro.CustomerLastName.Contains("TEST"))
|
||||
{
|
||||
report = new Fortis.Quittierungsbeleg();
|
||||
}
|
||||
|
||||
if (report == null)
|
||||
report = new BeWo.Report.DefaultReports.Quittierungsbeleg();
|
||||
report.SetReportDataSource(ro);
|
||||
|
||||
return report as XtraReport;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -62,6 +62,7 @@
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="CustomReportCreator.cs" />
|
||||
<Compile Include="FortisHomeContentGenerator.cs" />
|
||||
<Compile Include="CustomerDataReport.cs">
|
||||
<SubType>Component</SubType>
|
||||
|
||||
56
ReportImp/Fortis/Quittierungsbeleg.Designer.cs
generated
56
ReportImp/Fortis/Quittierungsbeleg.Designer.cs
generated
@@ -41,8 +41,6 @@ namespace Fortis
|
||||
DevExpress.XtraReports.UI.XRSummary xrSummary9 = new DevExpress.XtraReports.UI.XRSummary();
|
||||
DevExpress.XtraReports.UI.XRSummary xrSummary10 = new DevExpress.XtraReports.UI.XRSummary();
|
||||
DevExpress.XtraReports.UI.XRSummary xrSummary11 = new DevExpress.XtraReports.UI.XRSummary();
|
||||
DevExpress.XtraReports.UI.XRSummary xrSummary12 = new DevExpress.XtraReports.UI.XRSummary();
|
||||
DevExpress.XtraReports.UI.XRSummary xrSummary13 = new DevExpress.XtraReports.UI.XRSummary();
|
||||
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
|
||||
@@ -93,7 +91,6 @@ namespace Fortis
|
||||
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell49 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.formattingRuleStartDate = new DevExpress.XtraReports.UI.FormattingRule();
|
||||
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
|
||||
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
@@ -126,10 +123,11 @@ namespace Fortis
|
||||
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
|
||||
this.Dauer = new DevExpress.XtraReports.UI.CalculatedField();
|
||||
this.True = new DevExpress.XtraReports.UI.FormattingRule();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
|
||||
//
|
||||
// Detail
|
||||
@@ -325,7 +323,7 @@ namespace Fortis
|
||||
//
|
||||
this.xrTableCell42.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(240)))), ((int)(((byte)(217)))));
|
||||
this.xrTableCell42.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.ServiceCategoryAbbr")});
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.EmployeeCount", "{0:0}")});
|
||||
this.xrTableCell42.Name = "xrTableCell42";
|
||||
this.xrTableCell42.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell42.StylePriority.UseTextAlignment = false;
|
||||
@@ -347,7 +345,7 @@ namespace Fortis
|
||||
//
|
||||
this.xrTableCell45.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(209)))), ((int)(((byte)(142)))));
|
||||
this.xrTableCell45.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.StartDateString")});
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.CustomerCount")});
|
||||
this.xrTableCell45.Name = "xrTableCell45";
|
||||
this.xrTableCell45.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell45.StylePriority.UseTextAlignment = false;
|
||||
@@ -379,7 +377,7 @@ namespace Fortis
|
||||
this.xrTableCell18.StylePriority.UseFont = false;
|
||||
this.xrTableCell18.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell18.Text = "xrTableCell18";
|
||||
this.xrTableCell18.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell18.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrTableCell18.Weight = 0.063131315799868082D;
|
||||
//
|
||||
// xrTableCell17
|
||||
@@ -393,7 +391,7 @@ namespace Fortis
|
||||
this.xrTableCell17.StylePriority.UseFont = false;
|
||||
this.xrTableCell17.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell17.Text = "xrTableCell17";
|
||||
this.xrTableCell17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrTableCell17.Weight = 0.063131313391599567D;
|
||||
//
|
||||
// xrTableCell50
|
||||
@@ -408,7 +406,7 @@ namespace Fortis
|
||||
this.xrTableCell50.StylePriority.UseFont = false;
|
||||
this.xrTableCell50.StylePriority.UsePadding = false;
|
||||
this.xrTableCell50.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell50.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell50.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrTableCell50.Weight = 0.063131320138792066D;
|
||||
//
|
||||
// GroupHeader1
|
||||
@@ -845,10 +843,6 @@ namespace Fortis
|
||||
this.xrTableCell49.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
|
||||
this.xrTableCell49.Weight = 0.13966474814693633D;
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
|
||||
//
|
||||
// formattingRuleStartDate
|
||||
//
|
||||
this.formattingRuleStartDate.Condition = "[StartDate2] < [StartDate]";
|
||||
@@ -1145,14 +1139,9 @@ namespace Fortis
|
||||
//
|
||||
// xrTableCell46
|
||||
//
|
||||
this.xrTableCell46.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.ServiceCategoryAbbr")});
|
||||
this.xrTableCell46.Name = "xrTableCell46";
|
||||
this.xrTableCell46.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell46.StylePriority.UseTextAlignment = false;
|
||||
xrSummary9.FormatString = "{0:0}";
|
||||
xrSummary9.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
|
||||
this.xrTableCell46.Summary = xrSummary9;
|
||||
this.xrTableCell46.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrTableCell46.Weight = 0.055555632806937594D;
|
||||
//
|
||||
@@ -1163,22 +1152,17 @@ namespace Fortis
|
||||
this.xrTableCell47.Name = "xrTableCell47";
|
||||
this.xrTableCell47.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell47.StylePriority.UseTextAlignment = false;
|
||||
xrSummary10.FormatString = "{0:0}";
|
||||
xrSummary10.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
|
||||
this.xrTableCell47.Summary = xrSummary10;
|
||||
xrSummary9.FormatString = "{0:0}";
|
||||
xrSummary9.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
|
||||
this.xrTableCell47.Summary = xrSummary9;
|
||||
this.xrTableCell47.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrTableCell47.Weight = 0.055555325752703361D;
|
||||
//
|
||||
// xrTableCell51
|
||||
//
|
||||
this.xrTableCell51.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.StartDateString")});
|
||||
this.xrTableCell51.Name = "xrTableCell51";
|
||||
this.xrTableCell51.StylePriority.UseBackColor = false;
|
||||
this.xrTableCell51.StylePriority.UseTextAlignment = false;
|
||||
xrSummary11.FormatString = "{0:0}";
|
||||
xrSummary11.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
|
||||
this.xrTableCell51.Summary = xrSummary11;
|
||||
this.xrTableCell51.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrTableCell51.Weight = 0.055555593812079931D;
|
||||
//
|
||||
@@ -1192,9 +1176,9 @@ namespace Fortis
|
||||
this.xrTableCell52.StylePriority.UseFont = false;
|
||||
this.xrTableCell52.StylePriority.UsePadding = false;
|
||||
this.xrTableCell52.StylePriority.UseTextAlignment = false;
|
||||
xrSummary12.FormatString = "{0:0}";
|
||||
xrSummary12.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
|
||||
this.xrTableCell52.Summary = xrSummary12;
|
||||
xrSummary10.FormatString = "{0:0}";
|
||||
xrSummary10.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
|
||||
this.xrTableCell52.Summary = xrSummary10;
|
||||
this.xrTableCell52.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrTableCell52.Weight = 0.055555634752644537D;
|
||||
//
|
||||
@@ -1229,10 +1213,10 @@ namespace Fortis
|
||||
this.xrTableCell55.StylePriority.UseFont = false;
|
||||
this.xrTableCell55.StylePriority.UsePadding = false;
|
||||
this.xrTableCell55.StylePriority.UseTextAlignment = false;
|
||||
xrSummary13.FormatString = "{0:0}";
|
||||
xrSummary13.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
|
||||
this.xrTableCell55.Summary = xrSummary13;
|
||||
this.xrTableCell55.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
xrSummary11.FormatString = "{0:0}";
|
||||
xrSummary11.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
|
||||
this.xrTableCell55.Summary = xrSummary11;
|
||||
this.xrTableCell55.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrTableCell55.Weight = 0.063131320138792066D;
|
||||
//
|
||||
// fieldKontaktArt
|
||||
@@ -1253,6 +1237,10 @@ namespace Fortis
|
||||
//
|
||||
this.True.Name = "True";
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
|
||||
//
|
||||
// Quittierungsbeleg
|
||||
//
|
||||
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
@@ -1280,8 +1268,8 @@ namespace Fortis
|
||||
this.Version = "17.1";
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
|
||||
|
||||
}
|
||||
|
||||
@@ -22,49 +22,157 @@ namespace Fortis
|
||||
{
|
||||
if (pRO.Services != null)
|
||||
{
|
||||
//H Hausbesuch = Notice
|
||||
//B Begleitung im Sozialraum = Notice2
|
||||
//T Kontakt per Telefon etc. = Notice3
|
||||
//GD Kontakt mit Leistungsberechtigten in der Dienststelle = Notice4
|
||||
//KL Kompensatorische Leistung ohne LB = Notice5
|
||||
//AK Assistenz im Krankenhaus = ServiceCategory
|
||||
//MA Anzahl Mitarbeitende = ServiceCategoryAbbr
|
||||
//GI Gemeinsame Inanspruchnahme = GefahreneKilometer
|
||||
|
||||
//Größe = StartDateString
|
||||
//Summe1 = TimeRangeString
|
||||
//Beginn = EmployeeFirstName
|
||||
//Ende = EmployeeFullname
|
||||
//Summe2 = EmployeeLastname
|
||||
Dictionary<int, FortisServiceRecord> tag2Details = new Dictionary<int, FortisServiceRecord>();
|
||||
|
||||
foreach (var sr in pRO.Services)
|
||||
{
|
||||
sr.Notice = String.Format("{0:0}", sr.Minutes);
|
||||
sr.Notice2 = "";
|
||||
sr.Notice3 = "";
|
||||
sr.Notice4 = "";
|
||||
sr.Notice5 = "";
|
||||
sr.ServiceCategory = "";
|
||||
sr.ServiceCategoryAbbr = "";
|
||||
sr.GefahreneKilometer = "";
|
||||
sr.StartDateString = "";
|
||||
sr.TimeRangeString = "";
|
||||
sr.EmployeeFirstName = "";
|
||||
sr.EmployeeFullname = "";
|
||||
sr.EmployeeLastName = "";
|
||||
|
||||
if (sr.ServiceDescription == "Hausbesuch")
|
||||
|
||||
FortisServiceRecord fsr = null;
|
||||
if (!tag2Details.ContainsKey(sr.StartDate.Day))
|
||||
{
|
||||
sr.Notice = String.Format("{0:0}", sr.Minutes);
|
||||
fsr = new FortisServiceRecord();
|
||||
tag2Details.Add(sr.StartDate.Day, fsr);
|
||||
}
|
||||
else
|
||||
{
|
||||
fsr = tag2Details[sr.StartDate.Day];
|
||||
}
|
||||
|
||||
sr.ServiceDescription = "";
|
||||
if (sr.ServiceDescription.Contains("Wohnraum"))
|
||||
|
||||
{
|
||||
fsr.MinutenH += sr.Minutes;
|
||||
}
|
||||
else if (sr.ServiceDescription.Contains("Sozialraum"))
|
||||
|
||||
{
|
||||
fsr.MinutenB += sr.Minutes;
|
||||
}
|
||||
else if (sr.ServiceDescription.Contains("Telefon"))
|
||||
|
||||
{
|
||||
fsr.MinutenT += sr.Minutes;
|
||||
}
|
||||
else if (sr.ServiceDescription.Contains("Dienststelle"))
|
||||
|
||||
{
|
||||
fsr.MinutenGD += sr.Minutes;
|
||||
}
|
||||
else if (sr.ServiceDescription.Contains("pool"))
|
||||
|
||||
{
|
||||
fsr.MinutenGI += sr.Minutes;
|
||||
}
|
||||
else if (sr.ServiceDescription.Contains("Kompensatorisch"))
|
||||
|
||||
{
|
||||
fsr.MinutenKL += sr.Minutes;
|
||||
}
|
||||
else if (sr.ServiceDescription.Contains("Krankenhaus"))
|
||||
|
||||
{
|
||||
fsr.MinutenAK += sr.Minutes;
|
||||
}
|
||||
else if (sr.ServiceDescription.Contains("abgesagt"))
|
||||
{
|
||||
fsr.FehlkontaktBeginn = sr.StartDate;
|
||||
fsr.FehlkontaktEnde = sr.EndDate;
|
||||
}
|
||||
fsr.AnzahlMA += sr.EmployeeCount;
|
||||
fsr.Groesse += sr.CustomerCount;
|
||||
}
|
||||
|
||||
List<ServicesOverviewRO.ServiceDetail> newServices = new List<ServicesOverviewRO.ServiceDetail>();
|
||||
|
||||
|
||||
for (int i = pRO.StartDate.Day; i <= pRO.EndDate.Day; i++)
|
||||
{
|
||||
if (tag2Details.ContainsKey(i))
|
||||
{
|
||||
var fsr = tag2Details[i];
|
||||
|
||||
var sr = new ServicesOverviewRO.ServiceDetail();
|
||||
sr.StartDate = new DateTime(pRO.StartDate.Year, pRO.StartDate.Month, i);
|
||||
|
||||
//H Hausbesuch = Notice
|
||||
//B Begleitung im Sozialraum = Notice2
|
||||
//T Kontakt per Telefon etc. = Notice3
|
||||
//GD Kontakt mit Leistungsberechtigten in der Dienststelle = Notice4
|
||||
//KL Kompensatorische Leistung ohne LB = Notice5
|
||||
//AK Assistenz im Krankenhaus = ServiceCategory
|
||||
//MA Anzahl Mitarbeitende = ServiceCategoryAbbr (EmployeeCount)
|
||||
//GI Gemeinsame Inanspruchnahme = GefahreneKilometer
|
||||
|
||||
//Größe = StartDateString (CustomerCount)
|
||||
//Summe1 = TimeRangeString
|
||||
//Beginn = EmployeeFirstName
|
||||
//Ende = EmployeeFullname
|
||||
//Summe2 = EmployeeLastname
|
||||
if (fsr.MinutenH > 0)
|
||||
{
|
||||
sr.Notice = String.Format("{0:0}", fsr.MinutenH);
|
||||
}
|
||||
if (fsr.MinutenB > 0)
|
||||
{
|
||||
sr.Notice2 = String.Format("{0:0}", fsr.MinutenB);
|
||||
}
|
||||
if (fsr.MinutenT > 0)
|
||||
{
|
||||
sr.Notice3 = String.Format("{0:0}", fsr.MinutenT);
|
||||
}
|
||||
if (fsr.MinutenGD > 0)
|
||||
{
|
||||
sr.Notice4 = String.Format("{0:0}", fsr.MinutenGD);
|
||||
}
|
||||
if (fsr.MinutenKL > 0)
|
||||
{
|
||||
sr.Notice5 = String.Format("{0:0}", fsr.MinutenKL);
|
||||
}
|
||||
if (fsr.MinutenAK > 0)
|
||||
{
|
||||
sr.ServiceCategory = String.Format("{0:0}", fsr.MinutenAK);
|
||||
}
|
||||
if (fsr.MinutenGI > 0)
|
||||
{
|
||||
sr.GefahreneKilometer = String.Format("{0:0}", fsr.MinutenGI);
|
||||
}
|
||||
|
||||
sr.EmployeeCount = fsr.AnzahlMA;
|
||||
sr.CustomerCount = fsr.Groesse;
|
||||
|
||||
sr.TimeRangeString = String.Format("{0:0}", fsr.MinutenH + fsr.MinutenB + fsr.MinutenT + fsr.MinutenGD + fsr.MinutenKL + fsr.MinutenAK + fsr.MinutenGI);
|
||||
|
||||
if (fsr.FehlkontaktBeginn.HasValue && fsr.FehlkontaktEnde.HasValue)
|
||||
{
|
||||
sr.EmployeeFirstName = String.Format("{0:HH:mm}", fsr.FehlkontaktBeginn);
|
||||
sr.EmployeeFullname = String.Format("{0:HH:mm}", fsr.FehlkontaktEnde);
|
||||
sr.EmployeeLastName = String.Format("{0:0}", fsr.FehlkontaktEnde.Value.Subtract(fsr.FehlkontaktBeginn.Value).TotalMinutes);
|
||||
}
|
||||
|
||||
newServices.Add(sr);
|
||||
}
|
||||
}
|
||||
pRO.Services = newServices;
|
||||
|
||||
|
||||
}
|
||||
bindingSource1.DataSource = pRO;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public class FortisServiceRecord
|
||||
{
|
||||
public double MinutenH { get; set; }
|
||||
public double MinutenB { get; set; }
|
||||
public double MinutenT { get; set; }
|
||||
public double MinutenGD { get; set; }
|
||||
public double MinutenKL { get; set; }
|
||||
public double MinutenAK { get; set; }
|
||||
public int AnzahlMA { get; set; }
|
||||
public double MinutenGI { get; set; }
|
||||
public int Groesse { get; set; }
|
||||
public DateTime? FehlkontaktBeginn { get; set; }
|
||||
public DateTime? FehlkontaktEnde { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,8 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung
|
||||
|
||||
//Reisen sollen getrennt abgerechnet werden.
|
||||
List<ServiceRecordDC> serviceRecordsReise = new List<ServiceRecordDC>();
|
||||
List<ServiceRecordDC> serviceRecordsNichtReise = new List<ServiceRecordDC>();
|
||||
List<ServiceRecordDC> serviceRecordsKurzurlaub = new List<ServiceRecordDC>();
|
||||
List<ServiceRecordDC> serviceRecordsNichtUrlaubUndReise = new List<ServiceRecordDC>();
|
||||
|
||||
foreach (var item in alleServiceRecords)
|
||||
{
|
||||
@@ -41,9 +42,13 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung
|
||||
{
|
||||
serviceRecordsReise.Add(item);
|
||||
}
|
||||
else if (item.ServiceDescription.Name.ToLower().Contains("kurzurlaub"))
|
||||
{
|
||||
serviceRecordsReise.Add(item);
|
||||
}
|
||||
else
|
||||
{
|
||||
serviceRecordsNichtReise.Add(item);
|
||||
serviceRecordsNichtUrlaubUndReise.Add(item);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -97,7 +102,7 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung
|
||||
IList<ServiceInvoice> pflegekassenRechnungen = null;
|
||||
if (pflegekasse != null)
|
||||
{
|
||||
pflegekassenRechnungen = CreatePflegekassenRechnungen(invoiceCounter, pflegekasse, customer, invoicePeriod, sc, serviceRecordsNichtReise);
|
||||
pflegekassenRechnungen = CreatePflegekassenRechnungen(invoiceCounter, pflegekasse, customer, invoicePeriod, sc, serviceRecordsNichtUrlaubUndReise);
|
||||
|
||||
if (pflegekassenRechnungen != null && pflegekassenRechnungen.Count > 0)
|
||||
{
|
||||
@@ -109,6 +114,17 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung
|
||||
{
|
||||
var invoices = CreatePflegekassenRechnungen(invoiceCounter, pflegekasse, customer, invoicePeriod, sc, serviceRecordsReise);
|
||||
|
||||
if (invoices != null && invoices.Count > 0)
|
||||
{
|
||||
invoiceList.AddRange(invoices);
|
||||
invoiceCounter++;
|
||||
|
||||
}
|
||||
}
|
||||
if (serviceRecordsKurzurlaub.Count > 0)
|
||||
{
|
||||
var invoices = CreatePflegekassenRechnungen(invoiceCounter, pflegekasse, customer, invoicePeriod, sc, serviceRecordsKurzurlaub);
|
||||
|
||||
if (invoices != null && invoices.Count > 0)
|
||||
{
|
||||
invoiceList.AddRange(invoices);
|
||||
@@ -120,7 +136,7 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung
|
||||
|
||||
if (selbszahler != null)
|
||||
{
|
||||
var selbstzahlerRechnungen = CreateSelbstzahlerRechnungen(invoiceCounter, customer, invoicePeriod, sc, serviceRecordsNichtReise);
|
||||
var selbstzahlerRechnungen = CreateSelbstzahlerRechnungen(invoiceCounter, customer, invoicePeriod, sc, serviceRecordsNichtUrlaubUndReise);
|
||||
|
||||
foreach (var rg in selbstzahlerRechnungen)
|
||||
{
|
||||
@@ -150,6 +166,20 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung
|
||||
}
|
||||
|
||||
}
|
||||
if (serviceRecordsKurzurlaub.Count > 0)
|
||||
{
|
||||
var rglist = CreateSelbstzahlerRechnungen(invoiceCounter, customer, invoicePeriod, sc, serviceRecordsKurzurlaub);
|
||||
|
||||
foreach (var rg in rglist)
|
||||
{
|
||||
if (rg.GetTotalClaim() > 0)
|
||||
{
|
||||
invoiceList.Add(rg);
|
||||
invoiceCounter++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (invoiceList.Count == 0)
|
||||
|
||||
@@ -79,10 +79,6 @@
|
||||
<Compile Include="Validation\ServiceRecordValidator.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\BeWo\BeWo.csproj">
|
||||
<Project>{3FEBB560-9275-413A-9767-BB68C44EEBC3}</Project>
|
||||
<Name>BeWo</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Data\Data.csproj">
|
||||
<Project>{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}</Project>
|
||||
<Name>Data</Name>
|
||||
|
||||
@@ -5,14 +5,12 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Windows.Threading;
|
||||
using BeWo.Core.Service;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BeWo.Service.Plugins;
|
||||
using BeWo.ServiceProxy;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
|
||||
@@ -5,14 +5,12 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Windows.Threading;
|
||||
using BeWo.Core.Service;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BeWo.Service.Plugins;
|
||||
using BeWo.ServiceProxy;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
|
||||
@@ -146,22 +146,25 @@ namespace LebenshilfeBadKreuznach.Statistics
|
||||
}
|
||||
SupportConceptPeriodStatisticsDC periodStats = GetPeriodFromServiceRecord(cb2sc, stats.PeriodStatistics, sr);
|
||||
|
||||
decimal minutesProvidedWeekNew = 0;
|
||||
decimal minutesProvidedWeekOld = 0;
|
||||
decimal minutesProvidedQuartalNew = 0;
|
||||
decimal minutesProvidedQuartalOld = 0;
|
||||
if (periodStats != null)
|
||||
{
|
||||
//Verhindern dass das ServiceRecord durch den base Aufruf doppelt gezählt wird
|
||||
minutesProvidedQuartalOld = periodStats.MinutesProvidedThisMonth;
|
||||
minutesProvidedWeekOld = periodStats.MinutesProvidedThisWeek;
|
||||
}
|
||||
base.ProcessServiceRecord(sr, cb2sc, stats, statisticsDate, calc);
|
||||
|
||||
|
||||
|
||||
bool billable = false;
|
||||
if (sr.ServiceDescription != null && sr.ServiceDescription.ServiceCategory != null)
|
||||
{
|
||||
billable = sr.ServiceDescription.ServiceCategory.IsBillable;
|
||||
}
|
||||
//bool billable = false;
|
||||
//if (sr.ServiceDescription != null && sr.ServiceDescription.ServiceCategory != null)
|
||||
//{
|
||||
// billable = sr.ServiceDescription.ServiceCategory.IsBillable;
|
||||
//}
|
||||
|
||||
|
||||
|
||||
@@ -178,10 +181,15 @@ namespace LebenshilfeBadKreuznach.Statistics
|
||||
{
|
||||
minutesProvidedQuartalNew = minutes;
|
||||
}
|
||||
|
||||
periodStats.MinutesProvidedThisMonth = minutesProvidedQuartalOld + minutesProvidedQuartalNew;
|
||||
|
||||
DateTime mondayDt = statisticsDate.GetLast(DayOfWeek.Monday).Date;
|
||||
|
||||
if (sr.Start >= mondayDt && sr.Start < mondayDt.AddDays(7))
|
||||
{
|
||||
minutesProvidedWeekNew = minutes;
|
||||
}
|
||||
periodStats.MinutesProvidedThisMonth = minutesProvidedQuartalOld + minutesProvidedQuartalNew;
|
||||
periodStats.MinutesProvidedThisWeek = minutesProvidedWeekOld + minutesProvidedWeekNew;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -15,7 +15,15 @@ namespace LebenshilfeBadKreuznach.Validation
|
||||
int maxDaysEditServiceRecordsAllowed, IList<long> employeeOids, IList<long> cb2scOids)
|
||||
{
|
||||
var list = base.ValidateServiceRecord(newServiceRecord, statistics, maxDaysEditServiceRecordsAllowed, employeeOids, cb2scOids);
|
||||
var newResult = new List<ServiceRecordValidationResultDC>();
|
||||
|
||||
foreach (var item in list)
|
||||
{
|
||||
if (item.ResultType != ServiceRecordValidationResult.ApprovedFLSOverspending && (String.IsNullOrEmpty(item.Message) || !item.Message.Contains("liegt außerhalb des Hilfeplanzeitraums")))
|
||||
{
|
||||
newResult.Add(item);
|
||||
}
|
||||
}
|
||||
if (statistics != null && statistics.PeriodStatistics != null)
|
||||
{
|
||||
foreach (var stat in statistics.PeriodStatistics)
|
||||
@@ -43,14 +51,14 @@ namespace LebenshilfeBadKreuznach.Validation
|
||||
Allow = false
|
||||
};
|
||||
|
||||
list.Add(dc);
|
||||
newResult.Add(dc);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return list;
|
||||
return newResult;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -66,8 +66,8 @@ namespace PaSMoenchengladbach.Alt
|
||||
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
|
||||
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
|
||||
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.xrTable5 = new DevExpress.XtraReports.UI.XRTable();
|
||||
@@ -94,12 +94,12 @@ namespace PaSMoenchengladbach.Alt
|
||||
this.xrTableRow36 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell57 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell58 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
|
||||
//
|
||||
// Detail
|
||||
@@ -487,6 +487,21 @@ namespace PaSMoenchengladbach.Alt
|
||||
this.GroupHeader1.Name = "GroupHeader1";
|
||||
this.GroupHeader1.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel2
|
||||
//
|
||||
this.xrLabel2.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel2.CanShrink = true;
|
||||
this.xrLabel2.Font = new System.Drawing.Font("Verdana", 10F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(293.0421F, 207.2917F);
|
||||
this.xrLabel2.Multiline = true;
|
||||
this.xrLabel2.Name = "xrLabel2";
|
||||
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel2.SizeF = new System.Drawing.SizeF(297.5831F, 17F);
|
||||
this.xrLabel2.StylePriority.UseBackColor = false;
|
||||
this.xrLabel2.StylePriority.UseFont = false;
|
||||
this.xrLabel2.Text = "GP-Nummer: 2000087017";
|
||||
this.xrLabel2.WordWrap = false;
|
||||
//
|
||||
// xrLabel7
|
||||
//
|
||||
this.xrLabel7.BackColor = System.Drawing.Color.Transparent;
|
||||
@@ -502,10 +517,6 @@ namespace PaSMoenchengladbach.Alt
|
||||
this.xrLabel7.Text = "[AccountingPeriod]";
|
||||
this.xrLabel7.WordWrap = false;
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.SettlementRO);
|
||||
//
|
||||
// DetailReport
|
||||
//
|
||||
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
@@ -791,20 +802,9 @@ namespace PaSMoenchengladbach.Alt
|
||||
this.xrTableCell58.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||
this.xrTableCell58.Weight = 0.21044884314903847D;
|
||||
//
|
||||
// xrLabel2
|
||||
// bindingSource1
|
||||
//
|
||||
this.xrLabel2.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel2.CanShrink = true;
|
||||
this.xrLabel2.Font = new System.Drawing.Font("Verdana", 10F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(293.0421F, 207.2917F);
|
||||
this.xrLabel2.Multiline = true;
|
||||
this.xrLabel2.Name = "xrLabel2";
|
||||
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel2.SizeF = new System.Drawing.SizeF(297.5831F, 17F);
|
||||
this.xrLabel2.StylePriority.UseBackColor = false;
|
||||
this.xrLabel2.StylePriority.UseFont = false;
|
||||
this.xrLabel2.Text = "GP-Nummert: 2000087017";
|
||||
this.xrLabel2.WordWrap = false;
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.SettlementRO);
|
||||
//
|
||||
// Spitzabrechnung
|
||||
//
|
||||
@@ -828,9 +828,9 @@ namespace PaSMoenchengladbach.Alt
|
||||
this.Version = "17.1";
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
|
||||
|
||||
}
|
||||
|
||||
@@ -61,6 +61,7 @@ namespace PaSMoenchengladbach
|
||||
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
|
||||
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
|
||||
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow9 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
@@ -88,7 +89,6 @@ namespace PaSMoenchengladbach
|
||||
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
|
||||
this.xrTable5 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow31 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
@@ -107,13 +107,13 @@ namespace PaSMoenchengladbach
|
||||
this.xrTableRow37 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell59 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell60 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
|
||||
//
|
||||
// Detail
|
||||
@@ -407,6 +407,21 @@ namespace PaSMoenchengladbach
|
||||
this.GroupHeader1.Name = "GroupHeader1";
|
||||
this.GroupHeader1.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel2
|
||||
//
|
||||
this.xrLabel2.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel2.CanShrink = true;
|
||||
this.xrLabel2.Font = new System.Drawing.Font("Verdana", 10F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(292.0001F, 165.625F);
|
||||
this.xrLabel2.Multiline = true;
|
||||
this.xrLabel2.Name = "xrLabel2";
|
||||
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel2.SizeF = new System.Drawing.SizeF(297.5831F, 17F);
|
||||
this.xrLabel2.StylePriority.UseBackColor = false;
|
||||
this.xrLabel2.StylePriority.UseFont = false;
|
||||
this.xrLabel2.Text = "GP-Nummer: 2000087017";
|
||||
this.xrLabel2.WordWrap = false;
|
||||
//
|
||||
// xrTable1
|
||||
//
|
||||
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0.0002543131F, 239.0001F);
|
||||
@@ -714,10 +729,6 @@ namespace PaSMoenchengladbach
|
||||
this.xrTableCell1.StylePriority.UsePadding = false;
|
||||
this.xrTableCell1.Weight = 3D;
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.Settlement2RO);
|
||||
//
|
||||
// GroupFooter1
|
||||
//
|
||||
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
@@ -917,20 +928,9 @@ namespace PaSMoenchengladbach
|
||||
this.xrTableCell60.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||
this.xrTableCell60.Weight = 0.17738529433650369D;
|
||||
//
|
||||
// xrLabel2
|
||||
// bindingSource1
|
||||
//
|
||||
this.xrLabel2.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel2.CanShrink = true;
|
||||
this.xrLabel2.Font = new System.Drawing.Font("Verdana", 10F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(292.0001F, 165.625F);
|
||||
this.xrLabel2.Multiline = true;
|
||||
this.xrLabel2.Name = "xrLabel2";
|
||||
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel2.SizeF = new System.Drawing.SizeF(297.5831F, 17F);
|
||||
this.xrLabel2.StylePriority.UseBackColor = false;
|
||||
this.xrLabel2.StylePriority.UseFont = false;
|
||||
this.xrLabel2.Text = "GP-Nummert: 2000087017";
|
||||
this.xrLabel2.WordWrap = false;
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.Settlement2RO);
|
||||
//
|
||||
// Spitzabrechnung
|
||||
//
|
||||
@@ -958,8 +958,8 @@ namespace PaSMoenchengladbach
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
|
||||
|
||||
}
|
||||
|
||||
@@ -54,8 +54,8 @@ namespace PerspektivenEV
|
||||
if (iDC.InvoiceBase.RecipientOrganisation != "Landeswohlfahrtsverband Hessen" && iDC.InvoiceBase.Type.ToString() == "Service"
|
||||
&& iDC.ServiceInvoicePeriods.Count > 0 && iDC.ServiceInvoicePeriods[0].SupportConceptApprovalPeriod != null && iDC.ServiceInvoicePeriods[0].SupportConceptApprovalPeriod.ServiceCategory != null && iDC.ServiceInvoicePeriods[0].SupportConceptApprovalPeriod.ServiceCategory.Name.Contains("BW"))
|
||||
{
|
||||
XtraReport masterReport = new XtraReport();
|
||||
masterReport.CreateDocument();
|
||||
//XtraReport masterReport = new XtraReport();
|
||||
//masterReport.CreateDocument();
|
||||
|
||||
var seite1 = new ServiceInvoiceReport();
|
||||
var ro = ServiceInvoiceRO.Create(iDC);
|
||||
@@ -63,11 +63,11 @@ namespace PerspektivenEV
|
||||
seite1.SetReportDataSource(ro);
|
||||
seite1.CreateDocument();
|
||||
|
||||
masterReport.Pages.AddRange(seite1.Pages);
|
||||
foreach (DevExpress.XtraPrinting.Page item in masterReport.Pages)
|
||||
{
|
||||
item.AssignWatermark(seite1.Watermark);
|
||||
}
|
||||
//masterReport.Pages.AddRange(seite1.Pages);
|
||||
//foreach (DevExpress.XtraPrinting.Page item in masterReport.Pages)
|
||||
//{
|
||||
// item.AssignWatermark(seite1.Watermark);
|
||||
//}
|
||||
|
||||
// Anhang je nach Team erstellen
|
||||
var customerDC = MapperFactory.CustomerDC_Customer.MapToNewDC(DAOFactory.GenericDAO.GetByID<Customer>(iDC.InvoiceBase.SupportConceptCostBearerRelDc.SupportConcept.Customer.CustomerOid));
|
||||
@@ -75,7 +75,7 @@ namespace PerspektivenEV
|
||||
{
|
||||
var pfkAnhang = CreatePfkAnhang(iDC.InvoiceBase);
|
||||
pfkAnhang.CreateDocument();
|
||||
masterReport.Pages.AddRange(pfkAnhang.Pages);
|
||||
seite1.Pages.AddRange(pfkAnhang.Pages);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -86,10 +86,10 @@ namespace PerspektivenEV
|
||||
|
||||
var qb = CreateServiceOverviewSingleCustomerReport(cOid, month, year, oOid, 0, null, 1, DateTime.DaysInMonth(year, month));
|
||||
qb.CreateDocument();
|
||||
masterReport.Pages.AddRange(qb.Pages);
|
||||
seite1.Pages.AddRange(qb.Pages);
|
||||
}
|
||||
|
||||
invoiceReport = masterReport;
|
||||
invoiceReport = seite1;
|
||||
|
||||
}
|
||||
else
|
||||
|
||||
@@ -582,6 +582,7 @@ namespace PerspektivenEV
|
||||
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
|
||||
this.Version = "17.1";
|
||||
this.Watermark.Image = ((System.Drawing.Image)(resources.GetObject("InvoiceCustomerReport.Watermark.Image")));
|
||||
this.Watermark.PageRange = "1";
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
|
||||
|
||||
@@ -119,6 +119,7 @@
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Service\CustomHomeContentGenerator.cs" />
|
||||
<Compile Include="Service\CustomGroupDurationCalculator.cs" />
|
||||
<Compile Include="Service\CustomServiceRecordStatisticFactory.cs" />
|
||||
<Compile Include="SettlementReport.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
|
||||
@@ -598,6 +598,7 @@ namespace PerspektivenEV
|
||||
this.Version = "17.1";
|
||||
this.Watermark.Image = ((System.Drawing.Image)(resources.GetObject("SelbstzahlerInvoiceReport.Watermark.Image")));
|
||||
this.Watermark.ImageViewMode = DevExpress.XtraPrinting.Drawing.ImageViewMode.Zoom;
|
||||
this.Watermark.PageRange = "1";
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
using BeWo.Service.Plugins;
|
||||
using BS.Shared.DataContracts;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace PerspektivenEV.Service
|
||||
{
|
||||
public class CustomServiceRecordStatisticFactory : ServiceRecordStatisticFactory
|
||||
{
|
||||
public override SupportConceptStatisticsDC CreateSupportConceptStatisticsImpl(long costBearer2SupportConceptOid, DateTime statisticsDate, long? ignoreServiceRecordOid)
|
||||
{
|
||||
// Ausblenden der Fahrtzeit und Gesondert vorgehaltenen Flächen
|
||||
var stat = base.CreateSupportConceptStatisticsImpl(costBearer2SupportConceptOid, statisticsDate, ignoreServiceRecordOid);
|
||||
stat.PeriodStatistics = stat.PeriodStatistics.Where(p => p.SupportConceptApprovalPeriod.ServiceCategory == null ||
|
||||
(p.SupportConceptApprovalPeriod.ServiceCategory != null && !p.SupportConceptApprovalPeriod.ServiceCategory.Abbreviation.Contains("GVF")
|
||||
&& !p.SupportConceptApprovalPeriod.ServiceCategory.Abbreviation.Contains("AFZ"))).ToList();
|
||||
|
||||
return stat;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -73,8 +73,8 @@ namespace PerspektivenEV
|
||||
this.lblUeberweisung = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.lblAnlage = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.lblUeberweisungPfk = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.PageHeader = new DevExpress.XtraReports.UI.PageHeaderBand();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
|
||||
@@ -660,15 +660,15 @@ namespace PerspektivenEV
|
||||
this.lblUeberweisungPfk.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.lblUeberweisungPfk.Visible = false;
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
|
||||
//
|
||||
// PageHeader
|
||||
//
|
||||
this.PageHeader.HeightF = 168.75F;
|
||||
this.PageHeader.Name = "PageHeader";
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
|
||||
//
|
||||
// ServiceInvoiceReport
|
||||
//
|
||||
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
|
||||
@@ -916,6 +916,7 @@ namespace BeWo.Report.DefaultReports.Alt
|
||||
this.Version = "17.1";
|
||||
this.Watermark.Image = ((System.Drawing.Image)(resources.GetObject("Spitzabrechnung.Watermark.Image")));
|
||||
this.Watermark.ImageViewMode = DevExpress.XtraPrinting.Drawing.ImageViewMode.Zoom;
|
||||
this.Watermark.PageRange = "1";
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
|
||||
|
||||
@@ -911,6 +911,7 @@ namespace BeWo.Report.DefaultReports
|
||||
this.Version = "17.1";
|
||||
this.Watermark.Image = ((System.Drawing.Image)(resources.GetObject("Spitzabrechnung.Watermark.Image")));
|
||||
this.Watermark.ImageViewMode = DevExpress.XtraPrinting.Drawing.ImageViewMode.Zoom;
|
||||
this.Watermark.PageRange = "1";
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
|
||||
|
||||
@@ -153,7 +153,12 @@ namespace SHKService.Service
|
||||
item.Employee = new CompactEmployeeDC();
|
||||
item.Employee.LastName = "Ohne Betreuung";
|
||||
}
|
||||
|
||||
item.CustomerToolTip = null;
|
||||
item.EmployeeToolTip = null;
|
||||
item.VertreterToolTip = null;
|
||||
}
|
||||
|
||||
return vertretungsListe;
|
||||
}
|
||||
|
||||
@@ -303,6 +308,30 @@ namespace SHKService.Service
|
||||
if (vertretungsItem.MailCustomer != null)
|
||||
{
|
||||
//vertretungsItem.MailCustomer.Message = @"Lieber Klient,%0D%0A%0D%0Ablablubb%0D%0AZeile2%0D%0A%0D%0ANochne Zeile%0D%0A%0D%0ATschüss";
|
||||
if (vertretung != null)
|
||||
{
|
||||
String vertreterName = vertretung.Person.LastName;
|
||||
if (vertretung.Person.Sex.HasValue && vertretung.Person.Sex.Value == Sex.Male)
|
||||
{
|
||||
vertreterName = "Herr " + vertreterName;
|
||||
}
|
||||
else
|
||||
{
|
||||
vertreterName = "Frau " + vertreterName;
|
||||
}
|
||||
|
||||
vertretungsItem.MailCustomer.Message = String.Format(@"
|
||||
Sehr geehrte Damen und Herren,
|
||||
|
||||
die Schulbegleitung für {0} wird vom {1:dd.MM.yyyy} bis voraussichtlich {2:dd.MM.yyyy} {3} übernehmen.
|
||||
|
||||
Eventuelle Änderungen oder Vertretungen nach dem Datum Ende teilen wir Ihnen so früh wie möglich mit. Es gilt die jeweils letzte Mail.
|
||||
|
||||
Bei Rückfragen erreichen Sie uns an jedem Unterrichtstag von 6:30 Uhr bis 10:00 Uhr unter 015116889795", customer != null ? customer.Person.FirstName : "", vertretungsItem.Absencetime != null ? vertretungsItem.Absencetime.Start : null, vertretungsItem.Absencetime != null ? vertretungsItem.Absencetime.End : null, vertreterName);
|
||||
|
||||
vertretungsItem.MailCustomer.Message = vertretungsItem.MailCustomer.Message.Replace("\n", "%0D%0A");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (vertretungsItem.MailEmployee != null)
|
||||
@@ -317,7 +346,38 @@ namespace SHKService.Service
|
||||
|
||||
if (vertretungsItem.MailSchule != null)
|
||||
{
|
||||
//vertretungsItem.MailSchule.Message = @"Liebe Schule,%0D%0A%0D%0Ablablubb%0D%0AZeile2%0D%0A%0D%0ANochne Zeile%0D%0A%0D%0ATschüss";
|
||||
if (vertretung != null)
|
||||
{
|
||||
String vertreterName = vertretung.Person.LastName;
|
||||
if (vertretung.Person.Sex.HasValue && vertretung.Person.Sex.Value == Sex.Male)
|
||||
{
|
||||
vertreterName = "Herr " + vertreterName;
|
||||
}
|
||||
else
|
||||
{
|
||||
vertreterName = "Frau " + vertreterName;
|
||||
}
|
||||
vertretungsItem.MailSchule.Message = String.Format(@"
|
||||
Sehr geehrte Damen und Herren,
|
||||
|
||||
die Schulbegleitung für {0} wird vom {1:dd.MM.yyyy} bis voraussichtlich {2:dd.MM.yyyy} {3} übernehmen.
|
||||
|
||||
Eventuelle Änderungen oder Vertretungen nach dem Datum Ende teilen wir Ihnen so früh wie möglich mit. Es gilt die jeweils letzte Mail.
|
||||
|
||||
Bei Rückfragen erreichen Sie uns an jedem Unterrichtstag von 6:30 Uhr bis 10:00 Uhr unter 015116889795", customer != null ? customer.Person.FirstNameLastName : "", vertretungsItem.Absencetime != null ? vertretungsItem.Absencetime.Start : null, vertretungsItem.Absencetime != null ? vertretungsItem.Absencetime.End : null, vertreterName);
|
||||
}
|
||||
else
|
||||
{
|
||||
vertretungsItem.MailSchule.Message = String.Format(@"
|
||||
Sehr geehrte Damen und Herren,
|
||||
|
||||
leider haben wir aktuell für {0} am {1:dd.MM.yyyy} keine freie Vertretungskraft.
|
||||
|
||||
Eventuelle Änderungen oder Vertretungen nach dem {1:dd.MM.yyyy} teilen wir Ihnen so früh wie möglich mit. Es gilt die jeweils letzte Mail.
|
||||
|
||||
Bei Rückfragen erreichen Sie uns an jedem Unterrichtstag von 6:30 Uhr bis 10:00 Uhr unter: 015116889795", customer != null ? customer.Person.FirstNameLastName : "", vertretungsItem.Datum);
|
||||
}
|
||||
vertretungsItem.MailSchule.Message = vertretungsItem.MailSchule.Message.Replace("\n", "%0D%0A");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -23,28 +23,8 @@ namespace SPZLeverkusen.Service
|
||||
{
|
||||
public override List<SupportConceptOverviewDC> GetSupportConceptAnalysis2(IList<long> c2sOids, long? employeeOid, long? teamOid, long? catOid, DateTime? startDate, DateTime? endDate, int? expiredMonths, bool showArchivedScs)
|
||||
{
|
||||
ApplicationUser loggedInUser = null;
|
||||
ApplicationUser loggedInUser = UserRightHelper.GetLoggedInUser();
|
||||
|
||||
if (LoggedInUserOperationContextExt.Current != null && LoggedInUserOperationContextExt.Current.User != null)
|
||||
{
|
||||
loggedInUser = LoggedInUserOperationContextExt.Current.User;
|
||||
}
|
||||
else
|
||||
{
|
||||
loggedInUser = SessionFacade.LoggedInUser;
|
||||
}
|
||||
|
||||
bool isLeitung = false;
|
||||
if (loggedInUser != null && loggedInUser.Employee != null)
|
||||
{
|
||||
foreach (var ug in loggedInUser.UserGroups)
|
||||
{
|
||||
if (ug.Name.ToLower().Contains("leitung"))
|
||||
{
|
||||
isLeitung = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((employeeOid.HasValue && !teamOid.HasValue) || (!employeeOid.HasValue && !teamOid.HasValue))
|
||||
{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using BeWo.Data;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Data.Security;
|
||||
using BeWo.Service.Plugins;
|
||||
using BS.Shared;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
@@ -17,53 +18,22 @@ namespace SPZLeverkusen.Service
|
||||
public override List<CompactCustomerDC> GetAllActiveCustomersCompact(bool fetchReferenceNumbers, long? currentEmployeeOid)
|
||||
{
|
||||
var customer = base.GetAllActiveCustomersCompact(fetchReferenceNumbers, currentEmployeeOid);
|
||||
|
||||
ApplicationUser loggedInUser = null;
|
||||
if (LoggedInUserOperationContextExt.Current != null && LoggedInUserOperationContextExt.Current.User != null)
|
||||
{
|
||||
loggedInUser = LoggedInUserOperationContextExt.Current.User;
|
||||
}
|
||||
else
|
||||
{
|
||||
loggedInUser = SessionFacade.LoggedInUser;
|
||||
}
|
||||
|
||||
if (loggedInUser != null && loggedInUser.Employee != null)
|
||||
|
||||
if (UserRightHelper.LoggedInUserHasRight(UserRightType.Customer_ViewMyTeams))
|
||||
{
|
||||
|
||||
if (HasRight(loggedInUser, UserRightType.Customer_ViewMyTeams))
|
||||
foreach (var c in customer)
|
||||
{
|
||||
|
||||
foreach (var c in customer)
|
||||
if (c.IsRelatedToTeam)
|
||||
{
|
||||
if (c.IsRelatedToTeam)
|
||||
{
|
||||
c.IsRelatedToEmployee = true;
|
||||
}
|
||||
c.IsRelatedToEmployee = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return customer;
|
||||
}
|
||||
|
||||
private static bool HasRight(ApplicationUser user, UserRightType right)
|
||||
{
|
||||
return GetGrantedRights(user).Contains(right);
|
||||
}
|
||||
|
||||
public static List<UserRightType> GetGrantedRights(ApplicationUser user)
|
||||
{
|
||||
var rights = new List<UserRightType>();
|
||||
foreach (var ug in user.UserGroups)
|
||||
{
|
||||
foreach (var rr in ug.Rights)
|
||||
{
|
||||
rights.Add(rr.RightType);
|
||||
}
|
||||
}
|
||||
|
||||
return rights;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -24,103 +24,5 @@ namespace SPZLeverkusen.Service
|
||||
return MapperFactory.CompactEmployeeDC_Employee.MapToNewDCs(FilterList(employees));
|
||||
}
|
||||
|
||||
public static IList<Employee> FilterList(IList<Employee> employees)
|
||||
{
|
||||
List<Employee> newList = new List<Employee>();
|
||||
ApplicationUser loggedInUser = null;
|
||||
if (LoggedInUserOperationContextExt.Current != null && LoggedInUserOperationContextExt.Current.User != null)
|
||||
{
|
||||
loggedInUser = LoggedInUserOperationContextExt.Current.User;
|
||||
}
|
||||
else
|
||||
{
|
||||
loggedInUser = SessionFacade.LoggedInUser;
|
||||
}
|
||||
|
||||
if (loggedInUser != null && loggedInUser.Employee != null)
|
||||
{
|
||||
if (HasRight(loggedInUser, UserRightType.EmployeeView_View))
|
||||
{
|
||||
return employees;
|
||||
}
|
||||
if (HasRight(loggedInUser, UserRightType.Employee_AllowViewOwnTeam))
|
||||
{
|
||||
var teams = DAOFactory.SearchDAO.FindAllActiveTeamsOfEmployee(loggedInUser.Employee.Oid.Value);
|
||||
|
||||
foreach (var e in employees)
|
||||
{
|
||||
if (BelongsToTeam(teams, loggedInUser, e))
|
||||
{
|
||||
newList.Add(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (HasRight(loggedInUser, UserRightType.Employee_AllowViewOwnEmployees))
|
||||
{
|
||||
foreach (var e in employees)
|
||||
{
|
||||
if (e.Oid == loggedInUser.Employee.Oid)
|
||||
{
|
||||
newList.Add(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return newList;
|
||||
}
|
||||
|
||||
public static bool BelongsToTeam(IList<Team> teams, ApplicationUser loggedInUser, Employee emp)
|
||||
{
|
||||
//var teams = loggedInUser.Employee.LeadingTeams;
|
||||
|
||||
//foreach (var team in teams)
|
||||
//{
|
||||
// foreach (var member in team.MemberList)
|
||||
// {
|
||||
// if (member.Oid == compactEmployeeDc.EmployeeOid)
|
||||
// {
|
||||
// return true;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
foreach (var team in teams)
|
||||
{
|
||||
if (team.Leader != null && team.Leader.Oid == emp.Oid)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
foreach (var member in team.MemberList)
|
||||
{
|
||||
if (member.Oid == emp.Oid)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private static bool HasRight(ApplicationUser user, UserRightType right)
|
||||
{
|
||||
return GetGrantedRights(user).Contains(right);
|
||||
|
||||
}
|
||||
|
||||
public static List<UserRightType> GetGrantedRights(ApplicationUser user)
|
||||
{
|
||||
var rights = new List<UserRightType>();
|
||||
foreach (var ug in user.UserGroups)
|
||||
{
|
||||
foreach (var rr in ug.Rights)
|
||||
{
|
||||
rights.Add(rr.RightType);
|
||||
}
|
||||
}
|
||||
|
||||
return rights;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16,6 +16,10 @@ namespace SeWo.Validation
|
||||
public override List<ServiceRecordValidationResultDC> ValidateServiceRecord(ServiceRecordDC newServiceRecord, SupportConceptStatisticsDC statistics,
|
||||
int maxDaysEditServiceRecordsAllowed, IList<long> employeeOids, IList<long> cb2scOids)
|
||||
{
|
||||
if (newServiceRecord.SupportConcept == null && newServiceRecord.CostBearer == null)
|
||||
{
|
||||
newServiceRecord.CostBearer2SupportConceptOid = null;
|
||||
}
|
||||
var result = base.ValidateServiceRecord(newServiceRecord, statistics, maxDaysEditServiceRecordsAllowed, employeeOids, cb2scOids);
|
||||
|
||||
bool hasOutOfEditLimit = false;
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BeWo.Service.Plugins;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
@@ -25,7 +26,7 @@ namespace BeWo.Service.Invoicing
|
||||
{
|
||||
String id = c2s.CostBearer.ID;
|
||||
|
||||
var calc = Calculations.GetInstance(id);
|
||||
var calc = PluginLoader.FindClass<Calculations>(id);
|
||||
var relDc = c2s.MapToNewDC();
|
||||
|
||||
var apListFehlkontakt = new List<ApprovalPeriod>();
|
||||
@@ -91,11 +92,8 @@ namespace BeWo.Service.Invoicing
|
||||
//calc.GetHoursNotBillableDueToMoreThanApproved(relDC, recordDCS, false, false);
|
||||
|
||||
Dictionary<long, bool> groupBookingDict = new Dictionary<long, bool>();
|
||||
|
||||
|
||||
//decimal flmCleared = 0;
|
||||
//decimal approvedMinutes = ((si.ApprovedFLS ?? 0) * 60) / rf;
|
||||
|
||||
records = records.OrderBy<ServiceRecord, DateTime>(sr => sr.Start.HasValue ? sr.Start.Value : DateTime.MinValue).ToList<ServiceRecord>();
|
||||
|
||||
foreach (var iRecord in records)
|
||||
@@ -104,9 +102,26 @@ namespace BeWo.Service.Invoicing
|
||||
{
|
||||
if (iRecord.GroupOid == null || !groupBookingDict.ContainsKey(iRecord.GroupOid.Value))
|
||||
{
|
||||
|
||||
decimal dauerAbrechenbar = iRecord.RoundedDuration;
|
||||
decimal dauerBudget = iRecord.RoundedDuration;
|
||||
|
||||
if (ReduziereBetragBeiAbwesenheiten())
|
||||
{
|
||||
//Die Liste recordDCS enthält nach Aufruf von GetHoursNotBillableDueToAbsenceTimes nur noch die Einträge, die auch während Abwesenheiten abgerechnet werden dürfen
|
||||
var dcRecord = recordDCS.Where(r => r.ServiceRecordOid == iRecord.Oid).FirstOrDefault();
|
||||
if (dcRecord == null)
|
||||
{
|
||||
dauerAbrechenbar = 0;
|
||||
dauerBudget = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
dauerAbrechenbar = dcRecord.RoundedDuration;
|
||||
dauerBudget = dcRecord.RoundedDuration;
|
||||
}
|
||||
}
|
||||
|
||||
//var prozent = iRecord.ServiceDescription.ServiceCategory.ProzentAbrechnung;
|
||||
//if (iRecord.ServiceDescription.ProzentAbrechnung.HasValue)
|
||||
//{
|
||||
|
||||
@@ -1376,6 +1376,11 @@ namespace BeWo.Service.Invoicing
|
||||
quartersTotal += restTageEnd / 90m;
|
||||
}
|
||||
return quartersTotal;
|
||||
}
|
||||
|
||||
public virtual bool ReduziereBetragBeiAbwesenheiten()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.Linq;
|
||||
using BeWo.Data;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Data.Security;
|
||||
using BeWo.Service.Core;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
|
||||
@@ -379,7 +380,6 @@ namespace BeWo.Service.Plugins
|
||||
|
||||
var result = new List<CompactPersonDC>();
|
||||
var alleList = new List<CompactPersonDC>();
|
||||
var cProcessed = new Dictionary<long, bool>();
|
||||
|
||||
bool darfPersonenSehen = false;
|
||||
bool darfFamilieSehen = false;
|
||||
@@ -418,7 +418,188 @@ namespace BeWo.Service.Plugins
|
||||
return result.OrderBy(p => p.ToString()).ToList();
|
||||
}
|
||||
|
||||
private void SetFamilyMemberStatus(List<CompactPersonDC> result)
|
||||
public virtual List<CompactPersonDC> GetAllPersonsByTypeCompact(PersonType pType)
|
||||
{
|
||||
var result = new List<CompactPersonDC>();
|
||||
|
||||
bool darfFamilieSehen = false;
|
||||
bool darfAlleKlientenSehen = false;
|
||||
bool darfKlientenDesTeamsSehen = false;
|
||||
bool darfSeineKlientenSehen = false;
|
||||
List<long> allowedCustomerOids = new List<long>();
|
||||
|
||||
if (!UserRightHelper.LoggedInUserHasRight(UserRightType.PersonView_View))
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
var user = UserRightHelper.GetLoggedInUser();
|
||||
if (UserRightHelper.LoggedInUserHasRight(UserRightType.Person_FamilyView))
|
||||
{
|
||||
darfFamilieSehen = true;
|
||||
}
|
||||
if (UserRightHelper.LoggedInUserHasRight(UserRightType.CustomerView_View))
|
||||
{
|
||||
darfAlleKlientenSehen = true;
|
||||
darfKlientenDesTeamsSehen = true;
|
||||
darfSeineKlientenSehen = true;
|
||||
}
|
||||
else if (UserRightHelper.LoggedInUserHasRight(UserRightType.Customer_ViewMyTeams))
|
||||
{
|
||||
darfKlientenDesTeamsSehen = true;
|
||||
darfSeineKlientenSehen = true;
|
||||
var dict = CreateTeamOidDict(user.Employee.Oid.Value);
|
||||
|
||||
foreach (var oid in dict.Keys)
|
||||
{
|
||||
var clist = DAOFactory.SearchDAO.FindCustomerOfTeam(oid);
|
||||
foreach (var c in clist)
|
||||
{
|
||||
foreach (var e2c in c.Employee2CustomerList)
|
||||
{
|
||||
if (!e2c.EndDate.HasValue || e2c.EndDate.Value >= DateTime.Now.Date)
|
||||
{
|
||||
allowedCustomerOids.Add(e2c.CustomerOid.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
foreach (var e2c in user.Employee.Employee2CustomerList)
|
||||
{
|
||||
if (!e2c.EndDate.HasValue || e2c.EndDate.Value >= DateTime.Now.Date)
|
||||
{
|
||||
allowedCustomerOids.Add(e2c.CustomerOid.Value);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if (UserRightHelper.LoggedInUserHasRight(UserRightType.Customer_ViewMyCustomers))
|
||||
{
|
||||
darfSeineKlientenSehen = true;
|
||||
foreach (var e2c in user.Employee.Employee2CustomerList)
|
||||
{
|
||||
if (!e2c.EndDate.HasValue || e2c.EndDate.Value >= DateTime.Now.Date)
|
||||
{
|
||||
allowedCustomerOids.Add(e2c.CustomerOid.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
IList<Person> persons = DAOFactory.GenericDAO.GetAll<Person>().Where(p => p.Type == pType).ToList();
|
||||
Dictionary<long, List<CustomerPersonRelationDC>> person2CustomerOidDict = new Dictionary<long, List<CustomerPersonRelationDC>>();
|
||||
|
||||
|
||||
IList<long> personOids = new List<long>();
|
||||
|
||||
foreach (var person in persons)
|
||||
{
|
||||
personOids.Add(person.Oid.Value);
|
||||
}
|
||||
|
||||
if (!darfFamilieSehen || !darfAlleKlientenSehen)
|
||||
{
|
||||
|
||||
var c2oList = DAOFactory.SearchDAO.FindCustomerOid2Persons(personOids);
|
||||
|
||||
|
||||
foreach (object[] item in c2oList)
|
||||
{
|
||||
var oid = (long)item[0];
|
||||
var poid = (long)item[1];
|
||||
var coid = (long)item[2];
|
||||
var test = (sbyte?)item[3];
|
||||
var isF = (sbyte?)item[3];
|
||||
var c2p = new CustomerPersonRelationDC();
|
||||
c2p.Customer2PersonOid = oid;
|
||||
c2p.Person = new CompactPersonDC { PersonOid = poid };
|
||||
c2p.Customer = new CompactCustomerDC { CustomerOid = coid };
|
||||
c2p.IstFamilie = isF.HasValue ? isF.Value == 1 : false;
|
||||
|
||||
if (!person2CustomerOidDict.ContainsKey(poid))
|
||||
{
|
||||
person2CustomerOidDict.Add(poid, new List<CustomerPersonRelationDC>());
|
||||
}
|
||||
person2CustomerOidDict[poid].Add(c2p);
|
||||
}
|
||||
}
|
||||
foreach (var person in persons)
|
||||
{
|
||||
List<CustomerPersonRelationDC> list = null;
|
||||
if (person2CustomerOidDict.ContainsKey(person.Oid.Value))
|
||||
{
|
||||
list = person2CustomerOidDict[person.Oid.Value];
|
||||
}
|
||||
else
|
||||
{
|
||||
list = new List<CustomerPersonRelationDC>();
|
||||
}
|
||||
|
||||
if (UserIsAllowedToViewPerson(person, list, allowedCustomerOids, darfFamilieSehen, darfAlleKlientenSehen, darfKlientenDesTeamsSehen, darfSeineKlientenSehen))
|
||||
{
|
||||
if (person.Organisation2Persons.Count == 0)
|
||||
{
|
||||
var dc = MapperFactory.CompactPersonDC_Person.MapToNewDC(person);
|
||||
result.Add(dc);
|
||||
|
||||
if (pType == PersonType.Others)
|
||||
AddContacts(dc, person, null);
|
||||
}
|
||||
foreach (var o2p in person.Organisation2Persons)
|
||||
{
|
||||
var dc = MapperFactory.CompactPersonDC_Person.MapToNewDC(person);
|
||||
result.Add(dc);
|
||||
|
||||
if (pType == PersonType.Others)
|
||||
{
|
||||
AddContacts(dc, person, o2p);
|
||||
|
||||
dc.Organisation = o2p.Organisation.Name;
|
||||
if (o2p.Organisation.Address != null)
|
||||
{
|
||||
dc.Street = o2p.Organisation.Address.Street;
|
||||
dc.PostalCode = o2p.Organisation.Address.PostalCode;
|
||||
dc.Town = o2p.Organisation.Address.Town;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SetFamilyMemberStatus(result);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private bool UserIsAllowedToViewPerson(Person person, List<CustomerPersonRelationDC> person2CustomerList, List<long> allowedCustomerOids, bool darfFamilieSehen, bool darfAlleKlientenSehen, bool darfKlientenDesTeamsSehen, bool darfSeineKlientenSehen)
|
||||
{
|
||||
if (darfFamilieSehen && darfAlleKlientenSehen)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!darfFamilieSehen)
|
||||
{
|
||||
return person2CustomerList.Count(p => p.IstFamilie) == 0;
|
||||
}
|
||||
if (darfAlleKlientenSehen)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if (darfKlientenDesTeamsSehen || darfSeineKlientenSehen)
|
||||
{
|
||||
foreach (var p2c in person2CustomerList)
|
||||
{
|
||||
if (allowedCustomerOids.Contains(p2c.Customer.CustomerOid))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private void SetFamilyMemberStatus(List<CompactPersonDC> result)
|
||||
{
|
||||
var familyOids = DAOFactory.SearchDAO.FindFamilyMemberOids();
|
||||
|
||||
@@ -431,6 +612,103 @@ namespace BeWo.Service.Plugins
|
||||
}
|
||||
}
|
||||
|
||||
public static void AddContacts(CompactPersonDC dc, Person person, Organisation2Person o2p)
|
||||
{
|
||||
if (o2p != null)
|
||||
{
|
||||
if (o2p.Contacts != null)
|
||||
{
|
||||
foreach (Contact contact in o2p.Contacts)
|
||||
{
|
||||
if (contact.Type == ContactType.business_Phone)
|
||||
{
|
||||
dc.Communication1 = contact.Value;
|
||||
}
|
||||
|
||||
if (contact.Type == ContactType.business_Mail)
|
||||
{
|
||||
dc.Communication3 = contact.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (o2p.Organisation != null && o2p.Organisation.Contacts != null)
|
||||
{
|
||||
if (String.IsNullOrEmpty(dc.Communication1))
|
||||
{
|
||||
foreach (Contact contact in o2p.Organisation.Contacts)
|
||||
{
|
||||
if (contact.Type == ContactType.business_Phone)
|
||||
{
|
||||
dc.Communication1 = contact.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (String.IsNullOrEmpty(dc.Communication2))
|
||||
{
|
||||
//foreach (var contact in org.Contacts)
|
||||
//{
|
||||
// if (contact.Type == ContactType.b)
|
||||
// {
|
||||
// dc.Communication2 = contact.Value;
|
||||
// }
|
||||
//}
|
||||
}
|
||||
if (String.IsNullOrEmpty(dc.Communication3))
|
||||
{
|
||||
foreach (Contact contact in o2p.Organisation.Contacts)
|
||||
{
|
||||
if (contact.Type == ContactType.business_Mail)
|
||||
{
|
||||
dc.Communication3 = contact.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (String.IsNullOrEmpty(dc.Communication1))
|
||||
{
|
||||
if (person.Contacts != null)
|
||||
{
|
||||
foreach (Contact contact in person.Contacts)
|
||||
{
|
||||
if (contact.Type == ContactType.private_Phone)
|
||||
{
|
||||
dc.Communication1 = contact.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (String.IsNullOrEmpty(dc.Communication2))
|
||||
{
|
||||
if (person.Contacts != null)
|
||||
{
|
||||
foreach (Contact contact in person.Contacts)
|
||||
{
|
||||
if (contact.Type == ContactType.private_MobilePhone)
|
||||
{
|
||||
dc.Communication2 = contact.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (String.IsNullOrEmpty(dc.Communication3))
|
||||
{
|
||||
if (person.Contacts != null)
|
||||
{
|
||||
foreach (Contact contact in person.Contacts)
|
||||
{
|
||||
if (contact.Type == ContactType.private_Mail)
|
||||
{
|
||||
dc.Communication3 = contact.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private ApplicationUser GetLoggedInUser()
|
||||
{
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.Linq;
|
||||
using BeWo.Data;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Data.Security;
|
||||
using BeWo.Service.Core;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BeWo.Service.MessageContracts;
|
||||
@@ -52,7 +53,7 @@ namespace BeWo.Service.Plugins
|
||||
|
||||
public virtual List<CompactTeamDC> GetAllTeamsCompact()
|
||||
{
|
||||
var loggedInUser = GetLoggedInUser();
|
||||
var loggedInUser = UserRightHelper.GetLoggedInUser();
|
||||
|
||||
if (Utils.UserHasRight(loggedInUser, UserRightType.TeamView_ViewAll))
|
||||
{
|
||||
@@ -120,7 +121,7 @@ namespace BeWo.Service.Plugins
|
||||
|
||||
public virtual List<CompactEmployeeDC> GetAllAuthorizedCompactEmployees()
|
||||
{
|
||||
var user = GetLoggedInUser();
|
||||
var user = UserRightHelper.GetLoggedInUser();
|
||||
|
||||
var employees = DAOFactory.GenericDAO.GetAllActive<Employee>();
|
||||
|
||||
@@ -186,15 +187,74 @@ namespace BeWo.Service.Plugins
|
||||
return result.OrderBy(e => e.LastName).ToList();
|
||||
}
|
||||
|
||||
private ApplicationUser GetLoggedInUser()
|
||||
public static IList<Employee> FilterList(IList<Employee> employees)
|
||||
{
|
||||
List<Employee> newList = new List<Employee>();
|
||||
|
||||
if(LoggedInUserOperationContextExt.Current != null && LoggedInUserOperationContextExt.Current.User != null)
|
||||
var loggedInUser = UserRightHelper.GetLoggedInUser();
|
||||
|
||||
if (UserRightHelper.UserHasRight(loggedInUser, UserRightType.EmployeeView_View))
|
||||
{
|
||||
return LoggedInUserOperationContextExt.Current.User;
|
||||
return employees;
|
||||
}
|
||||
if (UserRightHelper.UserHasRight(loggedInUser, UserRightType.Employee_AllowViewOwnTeam))
|
||||
{
|
||||
var teams = DAOFactory.SearchDAO.FindAllActiveTeamsOfEmployee(loggedInUser.Employee.Oid.Value);
|
||||
|
||||
return SessionFacade.LoggedInUser;
|
||||
foreach (var e in employees)
|
||||
{
|
||||
if (BelongsToTeam(teams, loggedInUser, e))
|
||||
{
|
||||
newList.Add(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (UserRightHelper.UserHasRight(loggedInUser, UserRightType.Employee_AllowViewOwnEmployees))
|
||||
{
|
||||
foreach (var e in employees)
|
||||
{
|
||||
if (e.Oid == loggedInUser.Employee.Oid)
|
||||
{
|
||||
newList.Add(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return newList;
|
||||
}
|
||||
|
||||
public static bool BelongsToTeam(IList<Team> teams, ApplicationUser loggedInUser, Employee emp)
|
||||
{
|
||||
//var teams = loggedInUser.Employee.LeadingTeams;
|
||||
|
||||
//foreach (var team in teams)
|
||||
//{
|
||||
// foreach (var member in team.MemberList)
|
||||
// {
|
||||
// if (member.Oid == compactEmployeeDc.EmployeeOid)
|
||||
// {
|
||||
// return true;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
foreach (var team in teams)
|
||||
{
|
||||
if (team.Leader != null && team.Leader.Oid == emp.Oid)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
foreach (var member in team.MemberList)
|
||||
{
|
||||
if (member.Oid == emp.Oid)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ namespace BeWo.Service.Plugins
|
||||
//t = "5351926758"; // Viva a Vida
|
||||
//t = "2215396183"; // Diakonie Remscheid Lennep
|
||||
//t = "5157599087"; // SHG Schwerte
|
||||
//t = "4526293996"; // Fortis
|
||||
t = "4526293996"; // Fortis
|
||||
//t = "3647969417"; // Caritas Bottrop
|
||||
//t = "3057313346"; // SSB Mainz
|
||||
//t = "6246287823"; // BeWo Alsdorf
|
||||
@@ -85,7 +85,7 @@ namespace BeWo.Service.Plugins
|
||||
//t = "4867997795"; // ADiK Kleve
|
||||
//t = "3184859776"; // Sergej Becker
|
||||
//t = "7752610643"; // BWK Gbr
|
||||
t = "3785623125"; // Betreuwo
|
||||
//t = "3785623125"; // Betreuwo
|
||||
//t = "7130228334"; // LH Borken
|
||||
//t = "4209820830"; // VKM Hamm
|
||||
//t = "5700328131"; // Betreutes Wohnen St. Ludgerus Essen-Werden
|
||||
@@ -223,7 +223,7 @@ namespace BeWo.Service.Plugins
|
||||
//t = "7817461089"; // FAB e.V. (Familienarbeit und Beratung e.V.)
|
||||
//t = "5207911843"; // Pro Balance
|
||||
//t = "8619663355"; // HSH Cologne
|
||||
t = "1652658918"; // LH Frankfurt Oder
|
||||
//t = "1652658918"; // LH Frankfurt Oder
|
||||
//t = "7696927868"; // Kuhring Betreuung
|
||||
//t = "6251348980"; // BeWo Gün
|
||||
//t = "6782533512"; // LH Dorsten
|
||||
@@ -367,6 +367,9 @@ namespace BeWo.Service.Plugins
|
||||
//t = "7725063510"; // BZH Essen
|
||||
//t = "1062385308"; // Aidshilfe Fulda
|
||||
//t = "3208082132"; // Klinikum Werra-Meißner GmbH
|
||||
//t = "7164646882"; // Diakonisches Werk im Ev. Kirchenkreis Dinslaken - Ambulant Begleitetes Wohnen
|
||||
//t = "1143768898"; // Diakonisches Werk im Ev. Kirchenkreis Dinslaken - Soziotherapie
|
||||
//t = "8164797250"; // Diakonisches Werk im Ev. Kirchenkreis Dinslaken - Ambulante Jugendhilfe JUDI
|
||||
|
||||
return t;
|
||||
#else
|
||||
|
||||
@@ -366,14 +366,11 @@ namespace BeWo.Service.Plugins
|
||||
{
|
||||
stats.MinutesOutOfApprovedPeriod += minutesProvidedRounded;
|
||||
}
|
||||
else
|
||||
{
|
||||
stats.MinutesProvidedTotal += minutesProvided;
|
||||
stats.MinutesProvidedTotalRounded += minutesProvidedRounded;
|
||||
stats.MinutesProvidedThisWeek += minutesProvidedThisWeek;
|
||||
stats.MinutesProvidedThisMonth += minutesProvidedThisMonth;
|
||||
stats.IstTotalUntilThisMonth += minutesProvidedUntilLastMonth;
|
||||
}
|
||||
stats.MinutesProvidedTotal += minutesProvided;
|
||||
stats.MinutesProvidedTotalRounded += minutesProvidedRounded;
|
||||
stats.MinutesProvidedThisMonth += minutesProvidedThisMonth;
|
||||
stats.IstTotalUntilThisMonth += minutesProvidedUntilLastMonth;
|
||||
stats.MinutesProvidedThisWeek += minutesProvidedThisWeek;
|
||||
|
||||
|
||||
if (periodStats != null)
|
||||
@@ -382,13 +379,12 @@ namespace BeWo.Service.Plugins
|
||||
{
|
||||
periodStats.MinutesOutOfApprovedPeriod += minutesProvidedRounded;
|
||||
}
|
||||
{
|
||||
periodStats.MinutesProvidedTotal += minutesProvided;
|
||||
periodStats.MinutesProvidedTotalRounded += minutesProvidedRounded;
|
||||
periodStats.MinutesProvidedThisWeek += minutesProvidedThisWeek;
|
||||
periodStats.MinutesProvidedThisMonth += minutesProvidedThisMonth;
|
||||
periodStats.IstTotalUntilThisMonth += minutesProvidedUntilLastMonth;
|
||||
}
|
||||
|
||||
periodStats.MinutesProvidedTotal += minutesProvided;
|
||||
periodStats.MinutesProvidedTotalRounded += minutesProvidedRounded;
|
||||
periodStats.MinutesProvidedThisWeek += minutesProvidedThisWeek;
|
||||
periodStats.MinutesProvidedThisMonth += minutesProvidedThisMonth;
|
||||
periodStats.IstTotalUntilThisMonth += minutesProvidedUntilLastMonth;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -315,7 +315,7 @@ namespace BeWo.Service.Plugins
|
||||
|
||||
|
||||
long? cb2ScOid = null;
|
||||
if (newServiceRecord.CostBearer2SupportConceptOid.HasValue)
|
||||
if (newServiceRecord.SupportConcept != null && newServiceRecord.CostBearer != null && newServiceRecord.CostBearer2SupportConceptOid.HasValue)
|
||||
{
|
||||
cb2ScOid = newServiceRecord.CostBearer2SupportConceptOid.Value;
|
||||
}
|
||||
|
||||
@@ -638,6 +638,7 @@ namespace BeWo.Service.Plugins
|
||||
iDC.CustomerFirstName = sc.Customer.Person.FirstName;
|
||||
iDC.CustomerLastName = sc.Customer.Person.LastName;
|
||||
|
||||
|
||||
var costRates = c2s.CostBearer.CostRatePeriods.MapToNewDCs();
|
||||
|
||||
iDC.ServiceUnit = costRates.GetCurrentlyValidRate(CostRatePeriodType.MinutesPerServiceUnit);
|
||||
@@ -667,7 +668,7 @@ namespace BeWo.Service.Plugins
|
||||
decimal lDurationInWeeksTillNow = 0;
|
||||
decimal lDurationInWeeks = 0;
|
||||
|
||||
if (iDC.CustomerLastName == "Abba")
|
||||
if (iDC.CustomerLastName == "Yavuz")
|
||||
{
|
||||
int test = 0;
|
||||
}
|
||||
@@ -706,6 +707,24 @@ namespace BeWo.Service.Plugins
|
||||
var records = GetServiceRecordDCs(c2s, minDt, maxDt);
|
||||
|
||||
iDC.ServiceRecords = records;
|
||||
|
||||
//decimal tempDuration = 0;
|
||||
//foreach (var temp in records)
|
||||
//{
|
||||
// if (temp.ServiceDescription.Category.IsBillable)
|
||||
// {
|
||||
// var dur = temp.RoundedDuration;
|
||||
|
||||
|
||||
// if (temp.GroupEmployeeCount.HasValue && temp.GroupEmployeeCount > 1)
|
||||
// {
|
||||
// dur /= temp.GroupEmployeeCount.Value;
|
||||
// }
|
||||
// tempDuration += dur;
|
||||
// }
|
||||
//}
|
||||
//tempDuration /= 60;
|
||||
|
||||
iDC.FLSRecordedTillNow = BerechneGeleisteteStunden(records, calc);
|
||||
|
||||
iDC.FLSBilledTillNow = iDC.FLSRecordedTillNow;
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.Linq;
|
||||
using BeWo.Data;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Data.Security;
|
||||
using BeWo.Service.Core;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BeWo.Service.MessageContracts;
|
||||
@@ -129,73 +130,12 @@ namespace BeWo.Service.Plugins
|
||||
// }
|
||||
//}
|
||||
}
|
||||
CheckRightVersion(userDC);
|
||||
UserRightHelper.CheckRightVersion(userDC);
|
||||
}
|
||||
|
||||
return userDC;
|
||||
}
|
||||
|
||||
private void CheckRightVersion(UserDC userDC)
|
||||
{
|
||||
var lastLogins = DAOFactory.SearchDAO.FindLastLogins(userDC.LoginName, 1).ToList();
|
||||
if (lastLogins != null && lastLogins.Count > 0)
|
||||
{
|
||||
var login = lastLogins[0];
|
||||
if (!String.IsNullOrEmpty(login.Referrer))
|
||||
{
|
||||
//var test = "MobilClient, Version: Unbekannt";
|
||||
//var test2 = "BeWoClient, Version: Microsoft Windows NT 6.2.9200.0;CLRVersion=4.0.30319.42000;BeWoVersion=Version 3.16;IsNet45OrNewer=True";
|
||||
|
||||
var str = login.Referrer;
|
||||
//str = test;
|
||||
var start = str.IndexOf("BeWoVersion=");
|
||||
if (start > 0)
|
||||
{
|
||||
var stop = str.IndexOf(";", start);
|
||||
if (stop > start)
|
||||
{
|
||||
//BeWoClient, Version: Microsoft Windows NT 6.2.9200.0;CLRVersion=4.0.30319.42000;BeWoVersion=Version 3.17;IsNet45OrNewer=True
|
||||
|
||||
|
||||
var version = str.Substring(start + 12, stop - start - 12);
|
||||
version = version.Replace("Version", "").Trim();
|
||||
|
||||
foreach (var ug in userDC.UserGroups)
|
||||
{
|
||||
var allrights = ug.Rights;
|
||||
ug.Rights = new List<UserRightType>();
|
||||
foreach (var r in allrights)
|
||||
{
|
||||
if (IsCorrectVersion(r, version))
|
||||
{
|
||||
ug.Rights.Add(r);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private bool IsCorrectVersion(UserRightType r, string version)
|
||||
{
|
||||
var rightVersion = GetRightVersion(r);
|
||||
|
||||
if (version.CompareTo(rightVersion) < 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private object GetRightVersion(UserRightType r)
|
||||
{
|
||||
if (r == UserRightType.Customer_ViewBetreuung || r == UserRightType.Customer_ViewAbsenceTimes)
|
||||
{
|
||||
return "3.17";
|
||||
}
|
||||
return "1.0";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -387,7 +387,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
result.Add(dc);
|
||||
|
||||
if (pType == PersonType.Others)
|
||||
AddContacts(dc, person, null);
|
||||
CustomerService.AddContacts(dc, person, null);
|
||||
}
|
||||
foreach (Organisation2Person o2p in person.Organisation2Persons)
|
||||
{
|
||||
@@ -396,7 +396,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
|
||||
if (pType == PersonType.Others)
|
||||
{
|
||||
AddContacts(dc, person, o2p);
|
||||
CustomerService.AddContacts(dc, person, o2p);
|
||||
|
||||
dc.Organisation = o2p.Organisation.Name;
|
||||
if (o2p.Organisation.Address != null)
|
||||
@@ -423,43 +423,10 @@ namespace BeWo.Service.ServiceImplementations
|
||||
{
|
||||
try
|
||||
{
|
||||
IList<Person> persons = DAOFactory.GenericDAO.GetAll<Person>().Where(p => p.Type == pType).ToList();
|
||||
var s = PluginLoader.FindClass<CustomerService>();
|
||||
|
||||
var result = new List<CompactPersonDC>();
|
||||
return s.GetAllPersonsByTypeCompact(pType);
|
||||
|
||||
foreach (var person in persons)
|
||||
{
|
||||
if (person.Organisation2Persons.Count == 0)
|
||||
{
|
||||
var dc = MapperFactory.CompactPersonDC_Person.MapToNewDC(person);
|
||||
result.Add(dc);
|
||||
|
||||
if (pType == PersonType.Others)
|
||||
AddContacts(dc, person, null);
|
||||
}
|
||||
foreach (var o2p in person.Organisation2Persons)
|
||||
{
|
||||
var dc = MapperFactory.CompactPersonDC_Person.MapToNewDC(person);
|
||||
result.Add(dc);
|
||||
|
||||
if (pType == PersonType.Others)
|
||||
{
|
||||
AddContacts(dc, person, o2p);
|
||||
|
||||
dc.Organisation = o2p.Organisation.Name;
|
||||
if (o2p.Organisation.Address != null)
|
||||
{
|
||||
dc.Street = o2p.Organisation.Address.Street;
|
||||
dc.PostalCode = o2p.Organisation.Address.PostalCode;
|
||||
dc.Town = o2p.Organisation.Address.Town;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SetFamilyMemberStatus(result);
|
||||
|
||||
return result;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -1945,102 +1912,6 @@ namespace BeWo.Service.ServiceImplementations
|
||||
}
|
||||
}
|
||||
|
||||
private static void AddContacts(CompactPersonDC dc, Person person, Organisation2Person o2p)
|
||||
{
|
||||
if (o2p != null)
|
||||
{
|
||||
if (o2p.Contacts != null)
|
||||
{
|
||||
foreach (Contact contact in o2p.Contacts)
|
||||
{
|
||||
if (contact.Type == ContactType.business_Phone)
|
||||
{
|
||||
dc.Communication1 = contact.Value;
|
||||
}
|
||||
|
||||
if (contact.Type == ContactType.business_Mail)
|
||||
{
|
||||
dc.Communication3 = contact.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (o2p.Organisation != null && o2p.Organisation.Contacts != null)
|
||||
{
|
||||
if (String.IsNullOrEmpty(dc.Communication1))
|
||||
{
|
||||
foreach (Contact contact in o2p.Organisation.Contacts)
|
||||
{
|
||||
if (contact.Type == ContactType.business_Phone)
|
||||
{
|
||||
dc.Communication1 = contact.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (String.IsNullOrEmpty(dc.Communication2))
|
||||
{
|
||||
//foreach (var contact in org.Contacts)
|
||||
//{
|
||||
// if (contact.Type == ContactType.b)
|
||||
// {
|
||||
// dc.Communication2 = contact.Value;
|
||||
// }
|
||||
//}
|
||||
}
|
||||
if (String.IsNullOrEmpty(dc.Communication3))
|
||||
{
|
||||
foreach (Contact contact in o2p.Organisation.Contacts)
|
||||
{
|
||||
if (contact.Type == ContactType.business_Mail)
|
||||
{
|
||||
dc.Communication3 = contact.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (String.IsNullOrEmpty(dc.Communication1))
|
||||
{
|
||||
if (person.Contacts != null)
|
||||
{
|
||||
foreach (Contact contact in person.Contacts)
|
||||
{
|
||||
if (contact.Type == ContactType.private_Phone)
|
||||
{
|
||||
dc.Communication1 = contact.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (String.IsNullOrEmpty(dc.Communication2))
|
||||
{
|
||||
if (person.Contacts != null)
|
||||
{
|
||||
foreach (Contact contact in person.Contacts)
|
||||
{
|
||||
if (contact.Type == ContactType.private_MobilePhone)
|
||||
{
|
||||
dc.Communication2 = contact.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (String.IsNullOrEmpty(dc.Communication3))
|
||||
{
|
||||
if (person.Contacts != null)
|
||||
{
|
||||
foreach (Contact contact in person.Contacts)
|
||||
{
|
||||
if (contact.Type == ContactType.private_Mail)
|
||||
{
|
||||
dc.Communication3 = contact.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private List<CompactOrganisationDC> CreateCompactOrganisations(IList<Organisation> list)
|
||||
{
|
||||
|
||||
@@ -37,6 +37,8 @@ namespace BeWo.Service.ServiceImplementations
|
||||
sql = this.ReplaceQueryParameter(sql, parameter);
|
||||
}
|
||||
|
||||
sql = CheckAndModifySqlByUserRights(lQuery, sql);
|
||||
|
||||
table = DAOFactory.AdoDAO.ExecuteQuery(sql).Tables[0];
|
||||
}
|
||||
if (table == null)
|
||||
@@ -53,6 +55,11 @@ namespace BeWo.Service.ServiceImplementations
|
||||
}
|
||||
}
|
||||
|
||||
private string CheckAndModifySqlByUserRights(Query lQuery, string sql)
|
||||
{
|
||||
return sql;
|
||||
}
|
||||
|
||||
public List<QueryDC> GetAllQueriesOfType(QueryType pType)
|
||||
{
|
||||
try
|
||||
|
||||
@@ -25,6 +25,7 @@ using MySql.Data.MySqlClient;
|
||||
using BeWo.Service.Configuration;
|
||||
using BeWo.Service.OwnChat;
|
||||
using BeWo.Service.Plugins;
|
||||
using BeWo.Data.Security;
|
||||
|
||||
namespace BeWo.Service.ServiceImplementations
|
||||
{
|
||||
@@ -286,7 +287,13 @@ namespace BeWo.Service.ServiceImplementations
|
||||
{
|
||||
try
|
||||
{
|
||||
return MapperFactory.UserGroupDC_UserGroup.MapToNewDCs(DAOFactory.GenericDAO.GetAllActive<UserGroup>());
|
||||
var list = MapperFactory.UserGroupDC_UserGroup.MapToNewDCs(DAOFactory.GenericDAO.GetAllActive<UserGroup>());
|
||||
var version = UserRightHelper.GetBeWoVersion();
|
||||
foreach (var ug in list)
|
||||
{
|
||||
UserRightHelper.CheckRightVersion(version, ug);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -312,7 +319,14 @@ namespace BeWo.Service.ServiceImplementations
|
||||
{
|
||||
try
|
||||
{
|
||||
return MapperFactory.UserGroupDC_UserGroup.MapToNewDCs(SettingsLogic.GetLastOpened<UserGroup>());
|
||||
var list = MapperFactory.UserGroupDC_UserGroup.MapToNewDCs(SettingsLogic.GetLastOpened<UserGroup>());
|
||||
|
||||
foreach (var item in list)
|
||||
{
|
||||
item.Rights = new List<UserRightType>(); // Keine Rechte zum Client schicken um bei neuen Rechten keinen Fehler mit alter Version zu erzeugen. Die Rechte sind hier sowieso nicht wichtig.
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -564,6 +578,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
SettingsLogic.AddToUsersHistory<ApplicationUser>(pUserOid);
|
||||
var user = MapperFactory.UserDC_User.MapToNewDC(DAOFactory.GenericDAO.LoadByID<ApplicationUser>(pUserOid));
|
||||
|
||||
UserRightHelper.CheckRightVersion(user);
|
||||
//var m = DAOFactory.GenericDAO.LoadByID<Mandator>(1);
|
||||
//if (m != null && m.ClientId == "SBD")
|
||||
//{
|
||||
@@ -632,7 +647,10 @@ namespace BeWo.Service.ServiceImplementations
|
||||
{
|
||||
try
|
||||
{
|
||||
return MapperFactory.UserGroupDC_UserGroup.MapToNewDC(DAOFactory.GenericDAO.LoadByID<UserGroup>(pOid));
|
||||
var ug = MapperFactory.UserGroupDC_UserGroup.MapToNewDC(DAOFactory.GenericDAO.LoadByID<UserGroup>(pOid));
|
||||
UserRightHelper.CheckRightVersion(ug);
|
||||
|
||||
return ug;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
@@ -1163,15 +1163,15 @@ namespace BS.Shared.Services
|
||||
var hoursNotBillableAbsence = 0m;
|
||||
foreach (var iRecord in records.ToList())
|
||||
{
|
||||
if (!iRecord.Start.Value.InBetween(scap.Span, true))
|
||||
{
|
||||
if (doRemoveFromRecordsList)
|
||||
{
|
||||
records.Remove(iRecord);
|
||||
}
|
||||
//if (!iRecord.Start.Value.InBetween(scap.Span, true))
|
||||
//{
|
||||
// if (doRemoveFromRecordsList)
|
||||
// {
|
||||
// records.Remove(iRecord);
|
||||
// }
|
||||
|
||||
continue;
|
||||
}
|
||||
// continue;
|
||||
//}
|
||||
|
||||
var absenceSpan = absenceTimes.FirstOrDefault(i => iRecord.Start.Value.InBetween(i.Key, true)).Key;
|
||||
|
||||
@@ -1208,7 +1208,6 @@ namespace BS.Shared.Services
|
||||
continue;
|
||||
}
|
||||
|
||||
hoursNotBillableAbsence += (rd - absenceTimes[absenceSpan]) / 60;
|
||||
iRecord.End = iRecord.Start.Value.AddMinutes(Convert.ToDouble(absenceTimes[absenceSpan]));
|
||||
|
||||
var minuteInterval = costRates.GetCostRatePeriodForDate(CostRatePeriodType.MinutesIntervall, iRecord.Start.Value);
|
||||
@@ -1219,7 +1218,10 @@ namespace BS.Shared.Services
|
||||
{
|
||||
iRecord.RoundedDuration = GetRoundedDuration((int)minuteInterval.CostRateValue.Value, duration);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
iRecord.RoundedDuration = duration;
|
||||
}
|
||||
absenceTimes[absenceSpan] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user