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

This commit is contained in:
Alexandra
2022-06-10 13:38:04 +02:00
36 changed files with 3517 additions and 299 deletions

View File

@@ -535,6 +535,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PflegedienstWessel", "Repor
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HilfeDaheim2", "ReportImp\HilfeDaheim2\HilfeDaheim2.csproj", "{07B34F78-CEAF-4238-813D-449AEAC8BD11}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HilfeDaheimHandInHand", "ReportImp\HilfeDaheimHandInHand\HilfeDaheimHandInHand.csproj", "{F04B733F-02E2-4112-9094-3E36FD90A6C9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -4202,6 +4204,22 @@ Global
{07B34F78-CEAF-4238-813D-449AEAC8BD11}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{07B34F78-CEAF-4238-813D-449AEAC8BD11}.Release|x86.ActiveCfg = Release|Any CPU
{07B34F78-CEAF-4238-813D-449AEAC8BD11}.Release|x86.Build.0 = Release|Any CPU
{F04B733F-02E2-4112-9094-3E36FD90A6C9}.Debug|.NET.ActiveCfg = Debug|Any CPU
{F04B733F-02E2-4112-9094-3E36FD90A6C9}.Debug|.NET.Build.0 = Debug|Any CPU
{F04B733F-02E2-4112-9094-3E36FD90A6C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F04B733F-02E2-4112-9094-3E36FD90A6C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F04B733F-02E2-4112-9094-3E36FD90A6C9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{F04B733F-02E2-4112-9094-3E36FD90A6C9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{F04B733F-02E2-4112-9094-3E36FD90A6C9}.Debug|x86.ActiveCfg = Debug|Any CPU
{F04B733F-02E2-4112-9094-3E36FD90A6C9}.Debug|x86.Build.0 = Debug|Any CPU
{F04B733F-02E2-4112-9094-3E36FD90A6C9}.Release|.NET.ActiveCfg = Release|Any CPU
{F04B733F-02E2-4112-9094-3E36FD90A6C9}.Release|.NET.Build.0 = Release|Any CPU
{F04B733F-02E2-4112-9094-3E36FD90A6C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F04B733F-02E2-4112-9094-3E36FD90A6C9}.Release|Any CPU.Build.0 = Release|Any CPU
{F04B733F-02E2-4112-9094-3E36FD90A6C9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{F04B733F-02E2-4112-9094-3E36FD90A6C9}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{F04B733F-02E2-4112-9094-3E36FD90A6C9}.Release|x86.ActiveCfg = Release|Any CPU
{F04B733F-02E2-4112-9094-3E36FD90A6C9}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -4465,6 +4483,7 @@ Global
{443E3556-DDEC-42DE-A97E-FD394579A1B3} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{F554F781-55B7-41DE-87F5-CEF6C90A9EF9} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{07B34F78-CEAF-4238-813D-449AEAC8BD11} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{F04B733F-02E2-4112-9094-3E36FD90A6C9} = {D8A691C5-146D-4613-86CC-438F02FE9106}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}

View File

@@ -895,9 +895,18 @@ namespace BeWo.View.Report.FLSReport
content.Add(sr.Start.Value.ToShortDateString());
if (sr.Start != null && sr.Start.Value.Second == 0)
{
content.Add(sr.Start.Value.ToShortTimeString());
//content.Add(sr.Start.Value.AddMinutes((double)sr.RoundedDuration).ToShortTimeString());
content.Add(string.Format("TEST DURATIONXXX 7"));
var contentVorher = sr.Start.Value.ToShortTimeString();
content.Add(String.Format("{0:HH:mm}", sr.Start));
content.Add(String.Format("{0:HH:mm}", sr.End));
//lbl.Content = sr.DateTimeRange;
//if (contentVorher != sr.DateTimeRange)
//{
// int test = 0;
//}
}
else
{
@@ -905,9 +914,8 @@ namespace BeWo.View.Report.FLSReport
content.Add(string.Empty);
}
//content.Add(String.Format("{0}", (int)sr.RoundedDuration));
content.Add(string.Format("TEST DURATIONXXX 8"));
content.Add(String.Format("{0}", (int)sr.RoundedDuration));
if (this._FLSOverview.FLSOverviewConfig.ShowOnlyTotalRows)
{
content.Add(sr.GroupName);

View File

@@ -718,6 +718,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MuenchenerAidsHilfeEV", "Re
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PerspektivenEV", "ReportImp\PerspektivenEV\PerspektivenEV.csproj", "{443E3556-DDEC-42DE-A97E-FD394579A1B3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CaritasverbandDuerenJuelichEV", "ReportImp\CaritasverbandDuerenJuelichEV\CaritasverbandDuerenJuelichEV.csproj", "{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -8717,6 +8719,30 @@ Global
{443E3556-DDEC-42DE-A97E-FD394579A1B3}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{443E3556-DDEC-42DE-A97E-FD394579A1B3}.Release|x86.ActiveCfg = Release|Any CPU
{443E3556-DDEC-42DE-A97E-FD394579A1B3}.Release|x86.Build.0 = Release|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.Debug|.NET.ActiveCfg = Debug|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.Debug|.NET.Build.0 = Debug|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.Debug|x86.ActiveCfg = Debug|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.Debug|x86.Build.0 = Debug|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.DebugRemote|.NET.Build.0 = Debug|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.DebugRemote|x86.Build.0 = Debug|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.Release|.NET.ActiveCfg = Release|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.Release|.NET.Build.0 = Release|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.Release|Any CPU.Build.0 = Release|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.Release|x86.ActiveCfg = Release|Any CPU
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -9074,6 +9100,7 @@ Global
{AA0D5E5F-9690-4EDA-B1D8-7C883CC63DE4} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{F781BCF9-647F-441E-A3BD-9DC1FDBCA1A4} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{443E3556-DDEC-42DE-A97E-FD394579A1B3} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB} = {D8A691C5-146D-4613-86CC-438F02FE9106}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}

View File

@@ -115,6 +115,7 @@ namespace BeWo.Report.DefaultReports
this.fieldSumHoliday2 = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldIstArbeitszeit = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldUeberstundenGesamt = new DevExpress.XtraReports.UI.CalculatedField();
this.ruleIstFeiertagOderWE = new DevExpress.XtraReports.UI.FormattingRule();
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
@@ -162,6 +163,7 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell31,
this.xrTableCell67,
this.xrTableCell27});
this.xrTableRowDetail.FormattingRules.Add(this.ruleIstFeiertagOderWE);
this.xrTableRowDetail.Name = "xrTableRowDetail";
this.xrTableRowDetail.Weight = 0.88D;
//
@@ -972,6 +974,13 @@ namespace BeWo.Report.DefaultReports
this.fieldUeberstundenGesamt.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldUeberstundenGesamt.Name = "fieldUeberstundenGesamt";
//
// ruleIstFeiertagOderWE
//
this.ruleIstFeiertagOderWE.Condition = "[IstFeiertag] Or [IstSamstag] Or [IstSonntag]";
this.ruleIstFeiertagOderWE.DataMember = "EmployeeDetailList.Days";
this.ruleIstFeiertagOderWE.Formatting.BackColor = System.Drawing.Color.LightSteelBlue;
this.ruleIstFeiertagOderWE.Name = "ruleIstFeiertagOderWE";
//
// Mitarbeiterarbeitszeitkonto
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -994,6 +1003,8 @@ namespace BeWo.Report.DefaultReports
this.DataSource = this.bindingSource1;
this.DisplayName = "Mitarbeiterstundenkonto";
this.Font = new System.Drawing.Font("Arial", 8F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleIstFeiertagOderWE});
this.Margins = new System.Drawing.Printing.Margins(75, 50, 50, 50);
this.PageHeight = 1169;
this.PageWidth = 827;
@@ -1097,5 +1108,6 @@ namespace BeWo.Report.DefaultReports
private DevExpress.XtraReports.UI.XRTableCell xrTableCell28;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell23;
private DevExpress.XtraReports.UI.CalculatedField fieldUeberstundenGesamt;
private DevExpress.XtraReports.UI.FormattingRule ruleIstFeiertagOderWE;
}
}

View File

@@ -11,7 +11,7 @@ using BS.Shared;
using BS.Shared.Core;
using BS.Shared.Extensions;
using DevExpress.XtraCharts.Native;
using BS.Shared.DataContracts;
namespace BeWo.Report.ReportObjects
{
@@ -1603,10 +1603,14 @@ namespace BeWo.Report.ReportObjects
dd.BreakMinutes = 30;
CalculateAbsenceTimesForDay(dd, ed);
dd.Feiertag = GetFeiertagDC(date);
return dd;
}
public virtual void CalculateAbsenceTimesForDay(MitarbeiterstundenkontoRO.DayDetail dd, MitarbeiterstundenkontoRO.EmployeeDetail ed)
public virtual void CalculateAbsenceTimesForDay(MitarbeiterstundenkontoRO.DayDetail dd, MitarbeiterstundenkontoRO.EmployeeDetail ed)
{
var absenceTimes = ed.Employee.AbsenceTimes;
@@ -1615,8 +1619,8 @@ namespace BeWo.Report.ReportObjects
foreach (var absenceTime in absenceTimes)
{
if (IsUrlaubAbsenceTime(absenceTime) || IsKrankheitAbsenceTime(absenceTime))
{
//if (IsUrlaubAbsenceTime(absenceTime) || IsKrankheitAbsenceTime(absenceTime))
//{
DateTimeSpan span = new DateTimeSpan();
span.StartDate = dd.Date;
@@ -1639,97 +1643,107 @@ namespace BeWo.Report.ReportObjects
span.EndDate = absenceTime.End.Value.Date.AddDays(1);
}
}
if (span.EndDate > dd.Date && span.StartDate < dd.Date.AddDays(1))
if (span.EndDate > dd.Date && span.StartDate < dd.Date.AddDays(1))
{
DateTime day = span.StartDate;
var faktor = GetFeiertagsFaktor(day);
if (faktor < 1 && day.DayOfWeek != DayOfWeek.Saturday && day.DayOfWeek != DayOfWeek.Sunday)
{
DateTime day = span.StartDate;
var faktor = GetFeiertagsFaktor(day);
var sollDiesenTag = ed.SollProTag;
if (faktor < 1 && day.DayOfWeek != DayOfWeek.Saturday && day.DayOfWeek != DayOfWeek.Sunday)
var c = ed.Employee.GetValidContractForDate(dd.Date);
if (c != null)
{
var sollDiesenTag = ed.SollProTag;
decimal wth = 0;
int apw = ANZ_WOCHENTAGE;
var c = ed.Employee.GetValidContractForDate(dd.Date);
if (c != null)
{
decimal wth = 0;
int apw = ANZ_WOCHENTAGE;
if (c.WeeklyTotalHours.HasValue)
{
wth = c.WeeklyTotalHours.Value;
}
if (c.WeeklyDays.HasValue && c.WeeklyDays.Value > 0)
{
apw = c.WeeklyDays.Value;
}
sollDiesenTag = wth / apw;
}
if (span.StartDate.Hour > 0 && span.EndDate.Hour > 0)
{
var ts = span.EndDate.Subtract(span.StartDate);
sollDiesenTag -= ts.Hours;
faktor = 1; // Keine halben Feiertag berücksichtigen, wenn die Abwesenheit in Stunden angegeben wurde
}
if (ed.AbsenceTimeDays != null && ed.AbsenceTimeDays.TageProWocheDict != null)
{
if (ed.AbsenceTimeDays.RestStundenProWocheDict == null)
{
ed.AbsenceTimeDays.RestStundenProWocheDict = new Dictionary<DateTimeSpan, decimal>();
}
foreach (var week in ed.AbsenceTimeDays.TageProWocheDict.Keys)
{
if (!ed.AbsenceTimeDays.RestStundenProWocheDict.ContainsKey(week))
{
ed.AbsenceTimeDays.RestStundenProWocheDict.Add(week, ed.SollProWoche);
}
if (day.Date >= week.StartDate && day.Date <= week.EndDate)
{
var rest = ed.AbsenceTimeDays.RestStundenProWocheDict[week];
if (rest < sollDiesenTag)
{
sollDiesenTag = rest;
}
rest -= sollDiesenTag;
if (rest < 0)
{
rest = 0;
}
ed.AbsenceTimeDays.RestStundenProWocheDict[week] = rest;
}
}
}
decimal maxSoll = sollDiesenTag;
if (faktor != 0)
if (c.WeeklyTotalHours.HasValue)
{
sollDiesenTag *= faktor; //halbe Feiertage etc. berücksichtigen
wth = c.WeeklyTotalHours.Value;
}
if (IsKrankheitAbsenceTime(absenceTime))
{ // Vermutlich diese Methode in CustomMitarbeiterStundenKontoBerechnung überschreiben und hier Prüfung machen, ob absenceReason ohne Fortzahlung ist
//und wenn ja, HoursSick oder Soll oder so für den Tag auf 0 setzen
dd.HoursSick = sollDiesenTag;
}
else if (IsUrlaubAbsenceTime(absenceTime))
if (c.WeeklyDays.HasValue && c.WeeklyDays.Value > 0)
{
dd.HoursInVacation = sollDiesenTag;
apw = c.WeeklyDays.Value;
}
if (dd.AbsenceTimes == null)
{
dd.AbsenceTimes = new List<AbsenceTime>();
}
dd.AbsenceTimes.Add(absenceTime);
dd.MinutesTotal += sollDiesenTag * 60;
sollDiesenTag = wth / apw;
}
if (HatArbeitszeitImZeitraum(ed.Employee.Arbeitszeiten, dd.Date, dd.Date))
{
sollDiesenTag = BerechneAlleAbwesenheitsStundenFuerArbeitszeiten(ed.Employee, dd.Date);
}
if (span.StartDate.Hour > 0 && span.EndDate.Hour > 0)
{
var ts = span.EndDate.Subtract(span.StartDate);
sollDiesenTag -= ts.Hours;
if (sollDiesenTag < 0)
{
sollDiesenTag = 0;
}
faktor = 1; // Keine halben Feiertag berücksichtigen, wenn die Abwesenheit in Stunden angegeben wurde
}
if (ed.AbsenceTimeDays != null && ed.AbsenceTimeDays.TageProWocheDict != null)
{
if (ed.AbsenceTimeDays.RestStundenProWocheDict == null)
{
ed.AbsenceTimeDays.RestStundenProWocheDict = new Dictionary<DateTimeSpan, decimal>();
}
foreach (var week in ed.AbsenceTimeDays.TageProWocheDict.Keys)
{
if (!ed.AbsenceTimeDays.RestStundenProWocheDict.ContainsKey(week))
{
ed.AbsenceTimeDays.RestStundenProWocheDict.Add(week, ed.SollProWoche);
}
if (day.Date >= week.StartDate && day.Date <= week.EndDate)
{
var rest = ed.AbsenceTimeDays.RestStundenProWocheDict[week];
if (rest < sollDiesenTag)
{
sollDiesenTag = rest;
}
rest -= sollDiesenTag;
if (rest < 0)
{
rest = 0;
}
ed.AbsenceTimeDays.RestStundenProWocheDict[week] = rest;
}
}
}
decimal maxSoll = sollDiesenTag;
if (faktor != 0)
{
sollDiesenTag *= faktor; //halbe Feiertage etc. berücksichtigen
}
if (IsUrlaubAbsenceTime(absenceTime))
{ // Vermutlich diese Methode in CustomMitarbeiterStundenKontoBerechnung überschreiben und hier Prüfung machen, ob absenceReason ohne Fortzahlung ist
//und wenn ja, HoursSick oder Soll oder so für den Tag auf 0 setzen
dd.HoursInVacation = sollDiesenTag;
}
else if (IsKrankheitAbsenceTime(absenceTime))
{
dd.HoursSick = sollDiesenTag;
}
else
{
}
if (dd.AbsenceTimes == null)
{
dd.AbsenceTimes = new List<AbsenceTime>();
}
dd.AbsenceTimes.Add(absenceTime);
dd.MinutesTotal += sollDiesenTag * 60;
}
}
//}
//}
}
@@ -2858,6 +2872,18 @@ namespace BeWo.Report.ReportObjects
return 0;
}
private FeiertagDC GetFeiertagDC(DateTime date)
{
var feiertage = GetFeiertageDCs(date.Year);
foreach (var ft in feiertage)
{
if (ft.Datum == date)
return ft;
}
return null;
}
public virtual bool IstFeiertag(DateTime start)
{
List<DateTime> feiertage = GetFeiertage(start.Year);
@@ -2870,6 +2896,34 @@ namespace BeWo.Report.ReportObjects
return false;
}
public virtual List<FeiertagDC> GetFeiertageDCs(int year)
{
List<FeiertagDC> list = new List<FeiertagDC>();
list.Add(new FeiertagDC { Datum = new DateTime(year, 1, 1), Name = "Neujahr" });
list.Add(new FeiertagDC { Datum = new DateTime(year, 5, 1), Name = "Tag der Arbeit" });
list.Add(new FeiertagDC { Datum = new DateTime(year, 10, 3), Name = "Tag der Deutschen Einheit" });
list.Add(new FeiertagDC { Datum = new DateTime(year, 11, 1), Name = "Allerheiligen" });
list.Add(new FeiertagDC { Datum = new DateTime(year, 12, 25), Name = "1. Weihnachtstag" });
list.Add(new FeiertagDC { Datum = new DateTime(year, 12, 26), Name = "2. Weihnachtstag" });
if (year == 2017)
{
list.Add(new FeiertagDC { Datum = new DateTime(year, 10, 31), Name = "Reformationstag" });
}
DateTime osterSonntag = GetOsterSonntag(year);
list.Add(new FeiertagDC { Datum = osterSonntag.AddDays(-2), Name = "Karfreitag" });
list.Add(new FeiertagDC { Datum = osterSonntag.AddDays(1), Name = "Ostermontag" });
list.Add(new FeiertagDC { Datum = osterSonntag.AddDays(39), Name = "Christi Himmelfahrt" });
list.Add(new FeiertagDC { Datum = osterSonntag.AddDays(50), Name = "Pfingstmontag" });
list.Add(new FeiertagDC { Datum = osterSonntag.AddDays(60), Name = "Fronleichnam" });
return list;
}
public virtual List<DateTime> GetFeiertage(int year)
{
List<DateTime> list = new List<DateTime>();

View File

@@ -349,9 +349,11 @@ namespace BeWo.Report.ReportObjects
public DateTime Date { get; set; }
public DateTime? StartDateTime1 { get; set; }
public DateTime? EndDateTime1 { get; set; }
public DateTime? StartDateTime2 { get; set; }
public DateTime? EndDateTime2 { get; set; }
public DateTime? StartDateTime3 { get; set; }
@@ -414,7 +416,24 @@ namespace BeWo.Report.ReportObjects
public decimal SpecialHours { get; set; }
public IList<DateTimeSpan> ZusammenhaengendeZeitraeume { get; set; }
public FeiertagDC Feiertag { get; set; }
public bool IstFeiertag
{
get { return Feiertag != null; }
}
public bool IstSamstag
{
get { return Date.DayOfWeek == DayOfWeek.Saturday; }
}
public bool IstSonntag
{
get { return Date.DayOfWeek == DayOfWeek.Sunday; }
}
public IList<DateTimeSpan> ZusammenhaengendeZeitraeume { get; set; }
public String ZeitraeumeString
{
@@ -432,12 +451,15 @@ namespace BeWo.Report.ReportObjects
str += ", ";
}
str += at.AbsenceReason.Description
;
str += at.AbsenceReason.Description;
}
}
}
if (Feiertag != null && !String.IsNullOrEmpty(Feiertag.Name))
{
str = Feiertag.Name;
}
if (ZusammenhaengendeZeitraeume != null)
{
foreach (var dts in ZusammenhaengendeZeitraeume)

View File

@@ -44,6 +44,7 @@ namespace AlphaEv
}
empDetail.FlsIst = empDetail.Custom1 + empDetail.Custom2;
empDetail.FlsSoll = (empDetail.StundenSollOhneUrlaubKrankheit - empDetail.Custom4) * 0.75m;
empDetail.StundenMittelbarIst = empDetail.StundenGesamtIst - empDetail.FlsIst;
empDetail.FlsDiff = empDetail.StundenGesamtIst - empDetail.StundenSollOhneUrlaubKrankheit;
//empDetail.FlsDiff = Math.Round(empDetail.FlsDiff, 2, MidpointRounding.AwayFromZero) * (4m / 3m);
@@ -334,7 +335,11 @@ namespace AlphaEv
empDetail.Custom4 += (item.RoundedDuration / 60);
//}
ath.StundenSonstiges += item.RoundedDuration / 60;
if (item.Start.Value < new DateTime(2022, 1, 1))
{
ath.StundenSonstiges += item.RoundedDuration / 60;
}
}
}
}
@@ -402,6 +407,34 @@ namespace AlphaEv
return sum;
}
public override bool ShouldCreateDayDetails()
{
return true;
}
public override MitarbeiterstundenkontoRO.DayDetail CreateDayDetail(DateTime date, MitarbeiterstundenkontoRO.EmployeeDetail ed)
{
var dd = base.CreateDayDetail(date, ed);
DateTime stichtag = new DateTime(2022, 7, 1);
if (dd.Date >= stichtag)
{
dd.MaxHoursUntilBreak = 6;
dd.MaxHoursUntilBreak2 = 9;
dd.BreakMinutes = 30;
dd.BreakMinutes2 = 15;
}
else
{
dd.MaxHoursUntilBreak = null;
dd.MaxHoursUntilBreak2 = null;
dd.BreakMinutes = null;
dd.BreakMinutes2 = null;
}
return dd;
}
//protected override decimal? BerechneUeberstunden(MitarbeiterstundenkontoRO.EmployeeDetail ed, decimal? ueberstundenStd, Contract contract, DateTime start,
// DateTime ende)
//{

View File

@@ -54,9 +54,9 @@ namespace AlphaEv
ed.EmployeeDetail.Custom8 = gesamtProzent;
ed.EmployeeDetail.Custom7 = ed.EmployeeDetail.StundenSollOhneUrlaubKrankheit * 0.25m;
ed.EmployeeDetail.Custom11 = (info.Custom2 ?? 0) + (ed.EmployeeDetail.FlsIst + (ed.EmployeeDetail.FlsIst / 0.75m * 0.25m)) - ed.EmployeeDetail.StundenSollOhneUrlaubKrankheit;
//ed.EmployeeDetail.Custom7 = (ed.EmployeeDetail.StundenSollOhneUrlaubKrankheit * 0.25m;
ed.EmployeeDetail.Custom7 = (ed.EmployeeDetail.StundenSollOhneUrlaubKrankheit - ed.EmployeeDetail.Custom4) * 0.25m;
ed.EmployeeDetail.Custom11 = (info.Custom2 ?? 0) + (ed.EmployeeDetail.FlsIst + (ed.EmployeeDetail.FlsIst / 0.75m * 0.25m)) - ed.EmployeeDetail.StundenSollOhneUrlaubKrankheit;
//cellGesamt.Text = String.Format("{0:0.0}%", gesamtProzent);
info.Custom3 = ed.EmployeeDetail.SollProWoche;
info.Custom4 = ed.EmployeeDetail.SollProTag;

View File

@@ -58,6 +58,7 @@
<Compile Include="Export\DiamantExporter.cs" />
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
<Compile Include="Invoicing\DefaultInvoiceCreation.cs" />
<Compile Include="Invoicing\SoziotherapieInvoiceCreation.cs" />
<Compile Include="Mitarbeiterstundenkonto.cs">
<SubType>Component</SubType>
</Compile>

View File

@@ -11,7 +11,20 @@ namespace AwoDortmund.Invoicing
public override InvoiceCreation CreateInvoiceCreator(string specificId, string tenant, Dictionary<CompactSupportConceptDC, List<ServiceRecordDC>> supportConcepts2ServiceRecords)
{
foreach (var list in supportConcepts2ServiceRecords.Values)
{
foreach (var sr in list)
{
var cat = sr.ServiceDescription.Category;
if (!String.IsNullOrEmpty(cat.Name) && cat.Name.ToLower().Contains("soziotherapie"))
{
return new SoziotherapieInvoiceCreation();
}
}
}
return new DefaultInvoiceCreation();
}

View File

@@ -17,6 +17,32 @@ namespace AwoDortmund.Invoicing
{
public class DefaultInvoiceCreation : InvoiceCreation
{
public override void CreateFixedAmounts(ServiceInvoicePeriod serviceInvoicePeriod, SupportConceptApprovalPeriodDC supportConceptApprovalPeriod, CostBearer2SupportConcept cb2sc)
{
var calc = PluginLoader.FindClass<Calculations>(_SpecificID) ?? Calculations.GetInstance(_SpecificID);
var data = calc.GetFixedBillingData(supportConceptApprovalPeriod, serviceInvoicePeriod.Start, serviceInvoicePeriod.End);
foreach (var billingData in data)
{
var ii = new InvoiceItem
{
AmountTotal = billingData.AmountTotal,
GrossAmountTotal = billingData.GrossAmountTotal,
ItemPeriodStart = billingData.BillingPeriodStart,
ItemPeriodEnd = billingData.BillingPeriodEnd,
AccountingInterval = billingData.AccountingInterval,
AmountPerUnit = billingData.AmountPerUnit,
UnitCount = billingData.UnitCount
};
if (supportConceptApprovalPeriod.ServiceCategory != null)
{
ii.ItemDescription = supportConceptApprovalPeriod.ServiceCategory.Name;
ii.UnitCount = null;
}
serviceInvoicePeriod.InvoiceItemList.Add(ii);
}
}
public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, Calculations calc, bool summaryPerMonth)
{

View File

@@ -0,0 +1,219 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Invoicing;
using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.Shared.Services;
namespace AwoDortmund.Invoicing
{
public class SoziotherapieInvoiceCreation : InvoiceCreation
{
private decimal preisSoziotherapie60min = 0;
private decimal preisSoziotherapie30min = 0;
public override void SetInvoiceId(ServiceInvoice invoice)
{
invoice.InvoiceBase.InvoiceId = "RechnungSoziotherapie";
invoice.InvoiceBase.InvoiceTypeText = "Soziotherapie";
}
//public override ServiceInvoice CreateSingleInvoice(int invoiceCounter, CostBearer costBearer, DateTimeSpan invoicePeriod, CompactSupportConceptDC supportConcept, List<ServiceRecordDC> serviceRecords)
//{
// var invoice = base.CreateSingleInvoice(invoiceCounter, costBearer, invoicePeriod, supportConcept, serviceRecords);
// if (invoicePeriod != null)
// {
// SetAmountEquityContribution(invoice);
// }
// return invoice;
//}
//public override void SetAmountEquityContribution(ServiceInvoice invoice)
//{
// decimal equity = 0;
// IList<InvoiceBase> EquityInvoiceList = DAOFactory.SearchDAO.GetInvoiceBaseByTypeAndSupportConceptOid(InvoiceType.CustomerEquity, invoice.InvoiceBase.SupportConceptOid.Value);
// EquityInvoiceList = EquityInvoiceList.Where(i =>
// {
// if (i.AccountingPeriodEnd >= invoice.InvoiceBase.AccountingPeriodStart && i.AccountingPeriodStart <= invoice.InvoiceBase.AccountingPeriodEnd)
// {
// return true;
// }
// return false;
// }).ToList();
// foreach (InvoiceBase iEquityInvoice in EquityInvoiceList)
// {
// foreach (InvoiceItem item in iEquityInvoice.InvoiceItems)
// {
// if (item.AmountTotal != null)
// {
// equity += item.AmountTotal.Value;
// }
// }
// }
// invoice.AmountEquityContribution = equity;
//}
public override void SetInvoiceItems(ServiceInvoice invoice,
ServiceInvoicePeriod serviceInvoicePeriod,
SupportConceptApprovalPeriodDC supportConceptApprovalPeriod,
CostBearer2SupportConcept cb2sc,
DateTimeSpan invoicePeriod,
List<ServiceRecordDC> serviceRecords)
{
Calculations calc = PluginLoader.FindClass<Calculations>(_SpecificID) ?? Calculations.GetInstance(_SpecificID);
List<ServiceRecordDC> serviceRecordsInPeriod = serviceRecords.Where(
i =>
{
bool valid = i.Start.Value.InBetween(serviceInvoicePeriod.Start.Value,
serviceInvoicePeriod.End.Value, true);
if (valid && serviceInvoicePeriod.SupportConceptApprovalPeriod != null && serviceInvoicePeriod.SupportConceptApprovalPeriod.ServiceCategory != null)
valid = serviceInvoicePeriod.SupportConceptApprovalPeriod.ServiceCategory.Oid ==
i.ServiceDescription.Category.ServiceCategoryOid;
return valid;
}).ToList();
var itemList = CreateInvoiceItems(serviceRecordsInPeriod, invoicePeriod, serviceInvoicePeriod.SupportConceptApprovalPeriod, calc);
serviceInvoicePeriod.InvoiceItemList.AddRange(itemList);
}
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc)
{
var ii = base.CreateInvoiceItem(iServiceRecord, scap, calc);
//if (ii.ItemDescription.ToLower().Contains("probe"))
//{
// ii.UnitDescription = "GPos: 2001607";
//}
//else if (ii.ItemDescription.ToLower().Contains("telefon"))
//{
// if (iServiceRecord.RoundedDuration <= 30)
// {
// ii.UnitDescription = "GPos: 2001618";
// }
// else if (iServiceRecord.RoundedDuration > 30)
// {
// ii.UnitDescription = "GPos: 2001617";
// }
//}
//else
//{
//if (iServiceRecord.RoundedDuration <= 30)
//{
// ii.AmountPerUnit = preisSoziotherapie30min;
// ii.ItemDescription = "Soziotherapie 30 min.";
//}
//else if (iServiceRecord.RoundedDuration > 30)
//{
// ii.AmountPerUnit = preisSoziotherapie60min;
// ii.ItemDescription = "Soziotherapie 60 min.";
//}
ii.AmountPerUnit = preisSoziotherapie60min;
ii.ItemDescription = "Soziotherapie";
ii.RateFactor = null;
ii.AmountTotal = ii.AmountPerUnit * ii.UnitCount;
ii.GrossAmountTotal = ii.AmountTotal;
//}
return ii;
}
public override IList<InvoiceItem> CreateInvoiceItems(List<ServiceRecordDC> serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap,
Calculations calc)
{
var preise = DAOFactory.GenericDAO.GetAllActive<Preis>();
preisSoziotherapie60min = GetPreis(preise, "Soziotherapie 60 min", invoicePeriod.StartDate);
preisSoziotherapie30min = GetPreis(preise, "Soziotherapie 30 min", invoicePeriod.StartDate);
var list = base.CreateInvoiceItems(serviceRecordsInPeriod, invoicePeriod, scap, calc);
var ii = CreateHausbesuchspauschale(serviceRecordsInPeriod, invoicePeriod, scap);
list.AddRange(ii);
return list;
}
private static decimal GetPreis(IList<Preis> allePreise, String name, DateTime datum)
{
var tagessatz = allePreise.Where(p => p.Name.Contains(name)).FirstOrDefault();
if (tagessatz != null)
{
var crlist = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(tagessatz.CostRatePeriods);
var cr = crlist.GetCostRatePeriodForDate(CostRatePeriodType.AmountOfMoney, datum);
if (cr != null && cr.CostRateValue.HasValue)
{
return cr.CostRateValue.Value;
}
}
return 0;
}
public virtual IList<InvoiceItem> CreateHausbesuchspauschale(List<ServiceRecordDC> serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap)
{
//Dictionary<String, int> differentDays = new Dictionary<string, int>();
IList<InvoiceItem> items = new List<InvoiceItem>();
decimal hausbesuchspauschale = 7.8m;
int countHausbesuch = 0;
foreach (var sr in serviceRecordsInPeriod)
{
if (sr.ServiceDescription.Name.ToLower().Contains("hausbesuch"))
{
countHausbesuch++;
}
}
if (countHausbesuch > 0)
{
var invoiceItem = new InvoiceItem();
//decimal anzahlHausbesuche = differentDays.Count;
decimal anzahlHausbesuche = countHausbesuch;
invoiceItem.AmountPerUnit = hausbesuchspauschale;
invoiceItem.UnitCount = anzahlHausbesuche;
invoiceItem.AmountTotal = anzahlHausbesuche * hausbesuchspauschale;
invoiceItem.ItemPeriodStart = invoicePeriod.StartDate;
invoiceItem.ItemPeriodEnd = invoicePeriod.EndDate;
invoiceItem.RateFactor = null;
invoiceItem.GrossAmountTotal = invoiceItem.AmountTotal;
invoiceItem.ItemDescription = "Hausbesuchspauschale";
//invoiceItem.UnitDescription = "GPos: 2002672";
if (scap != null)
invoiceItem.SupportConceptApprovalPeriodOid = scap.Oid;
items.Add(invoiceItem);
}
return items;
}
public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, Calculations calc, bool summaryPerMonth, bool addRateFactorToUnitCount)
{
return base.CreateSummaryInvoiceItems(itemList, invoicePeriod, scap, calc, true, true);
}
}
}

View File

@@ -34,8 +34,8 @@ namespace AwoDortmund
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
@@ -76,9 +76,9 @@ namespace AwoDortmund
this.xrTableCell46 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell43 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.GroupFooter2 = new DevExpress.XtraReports.UI.GroupFooterBand();
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
@@ -113,6 +113,14 @@ namespace AwoDortmund
this.topMarginBand1.HeightF = 202.2917F;
this.topMarginBand1.Name = "topMarginBand1";
//
// xrPictureBox1
//
this.xrPictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox1.Image")));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(421.0002F, 40.8333F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(214.5833F, 161.4584F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// xrLabel6
//
this.xrLabel6.BackColor = System.Drawing.Color.Transparent;
@@ -128,14 +136,6 @@ namespace AwoDortmund
this.xrLabel6.Text = "Arbeiterwohlfahrt\r\nUnterbezirk Dortmund\r\n";
this.xrLabel6.WordWrap = false;
//
// xrPictureBox1
//
this.xrPictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox1.Image")));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(421.0002F, 40.8333F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(214.5833F, 161.4584F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// bottomMarginBand1
//
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -171,6 +171,7 @@ namespace AwoDortmund
// Page1
//
this.Page1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable5,
this.xrLabel6,
this.xrRichText2,
this.xrLabel7,
@@ -180,7 +181,7 @@ namespace AwoDortmund
this.xrLabel5,
this.xrLabel8,
this.lblAbrechnungszeitraum});
this.Page1.HeightF = 354.0833F;
this.Page1.HeightF = 379.0833F;
this.Page1.Name = "Page1";
this.Page1.StylePriority.UseFont = false;
//
@@ -280,7 +281,7 @@ namespace AwoDortmund
//
// xrLabel15
//
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(0F, 114.5833F);
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(2.041829F, 114.5833F);
this.xrLabel15.Name = "xrLabel15";
this.xrLabel15.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel15.SizeF = new System.Drawing.SizeF(175F, 17F);
@@ -289,7 +290,7 @@ namespace AwoDortmund
//
// xrTable4
//
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 68.75F);
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(2.041829F, 68.75F);
this.xrTable4.Name = "xrTable4";
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow10,
@@ -330,7 +331,7 @@ namespace AwoDortmund
//
this.xrLabel14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CreatorName")});
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0F, 189.5833F);
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(2.041829F, 189.5833F);
this.xrLabel14.Name = "xrLabel14";
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel14.SizeF = new System.Drawing.SizeF(225F, 17F);
@@ -340,7 +341,7 @@ namespace AwoDortmund
// xrLabel9
//
this.xrLabel9.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 43.75F);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(2.041829F, 43.75F);
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel9.SizeF = new System.Drawing.SizeF(250F, 17F);
@@ -359,14 +360,12 @@ namespace AwoDortmund
//
// Detail1
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable5});
this.Detail1.HeightF = 25F;
this.Detail1.HeightF = 0F;
this.Detail1.Name = "Detail1";
//
// xrTable5
//
this.xrTable5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 354.0833F);
this.xrTable5.Name = "xrTable5";
this.xrTable5.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow23});
@@ -495,13 +494,11 @@ namespace AwoDortmund
// DetailReport2
//
this.DetailReport2.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail3,
this.GroupFooter1});
this.Detail3});
this.DetailReport2.DataMember = "ServiceInvoicePeriods.ServiceInvoiceItems";
this.DetailReport2.DataSource = this.bindingSource1;
this.DetailReport2.Level = 0;
this.DetailReport2.Name = "DetailReport2";
this.DetailReport2.PageBreak = DevExpress.XtraReports.UI.PageBreak.AfterBand;
//
// Detail3
//
@@ -630,23 +627,12 @@ namespace AwoDortmund
this.xrTableCell47.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell47.Weight = 0.39881829732987356D;
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel1,
this.xrLabel9,
this.xrTable4,
this.xrLabel14,
this.xrLabel15});
this.GroupFooter1.HeightF = 206.5833F;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrLabel1
//
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim", "Gesamtsumme: {0}")});
this.xrLabel1.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(392.1249F, 0F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(394.1667F, 0F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(255.8333F, 25F);
@@ -660,6 +646,17 @@ namespace AwoDortmund
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// GroupFooter2
//
this.GroupFooter2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel15,
this.xrLabel9,
this.xrTable4,
this.xrLabel14,
this.xrLabel1});
this.GroupFooter2.HeightF = 206.5833F;
this.GroupFooter2.Name = "GroupFooter2";
//
// ServiceInvoiceReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -668,7 +665,8 @@ namespace AwoDortmund
this.topMarginBand1,
this.bottomMarginBand1,
this.Page1,
this.DetailReport});
this.DetailReport,
this.GroupFooter2});
this.DataSource = this.bindingSource1;
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
this.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
@@ -731,12 +729,12 @@ namespace AwoDortmund
private DevExpress.XtraReports.UI.XRTableCell xrTableCell46;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell47;
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1;
private DevExpress.XtraReports.UI.XRLabel xrLabel11;
private DevExpress.XtraReports.UI.XRLabel xrLabel10;
private DevExpress.XtraReports.UI.XRRichText xrRichText2;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter2;
}
}

View File

@@ -15,7 +15,15 @@ namespace AwoDortmund
public void SetReportDataSource(ServiceInvoiceRO pRO)
{
DateTime start = pRO.AccountingPeriodStart;
if (!String.IsNullOrEmpty(pRO.CustomerName))
{
pRO.CustomerName = pRO.CustomerName.Replace("_", "");
}
if (!String.IsNullOrEmpty(pRO.CustomerSalutation) && pRO.CustomerSalutation == "Herr")
{
pRO.CustomerSalutation = "Herrn";
}
DateTime start = pRO.AccountingPeriodStart;
DateTime end = pRO.AccountingPeriodEnd;
if (start.Month == end.Month && start.Year == end.Year)
{

View File

@@ -196,6 +196,12 @@ namespace BloemelingUndTeckhaus
this.xrTableRow19 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell136 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellIKNr = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow18 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.lblBuchungsnummer = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow20 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell123 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow14 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell134 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell135 = new DevExpress.XtraReports.UI.XRTableCell();
@@ -220,12 +226,6 @@ namespace BloemelingUndTeckhaus
this.xrTableCell125 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrTableRow18 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow20 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell123 = new DevExpress.XtraReports.UI.XRTableCell();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
@@ -533,7 +533,7 @@ namespace BloemelingUndTeckhaus
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(430.0001F, 175F);
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(246.3053F, 20F);
this.xrLabel10.SizeF = new System.Drawing.SizeF(246.4724F, 18F);
this.xrLabel10.StylePriority.UseBackColor = false;
this.xrLabel10.StylePriority.UseFont = false;
this.xrLabel10.StylePriority.UseTextAlignment = false;
@@ -2098,6 +2098,52 @@ namespace BloemelingUndTeckhaus
this.cellIKNr.Text = "490 534 083";
this.cellIKNr.Weight = 1.84D;
//
// xrTableRow18
//
this.xrTableRow18.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell5,
this.lblBuchungsnummer});
this.xrTableRow18.Name = "xrTableRow18";
this.xrTableRow18.Weight = 0.64D;
//
// xrTableCell5
//
this.xrTableCell5.Font = new System.Drawing.Font("Arial", 9F);
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.StylePriority.UseFont = false;
this.xrTableCell5.Text = "Buchungsnummer:";
this.xrTableCell5.Weight = 1.2583322143554687D;
//
// lblBuchungsnummer
//
this.lblBuchungsnummer.Name = "lblBuchungsnummer";
this.lblBuchungsnummer.Weight = 1.84D;
//
// xrTableRow20
//
this.xrTableRow20.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell19,
this.xrTableCell123});
this.xrTableRow20.Name = "xrTableRow20";
this.xrTableRow20.Weight = 0.64D;
//
// xrTableCell19
//
this.xrTableCell19.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Bold);
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.StylePriority.UseFont = false;
this.xrTableCell19.Text = "KGNR:";
this.xrTableCell19.Weight = 1.2583322143554687D;
//
// xrTableCell123
//
this.xrTableCell123.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "DebitorNumber")});
this.xrTableCell123.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Bold);
this.xrTableCell123.Name = "xrTableCell123";
this.xrTableCell123.StylePriority.UseFont = false;
this.xrTableCell123.Weight = 1.84D;
//
// xrTableRow14
//
this.xrTableRow14.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
@@ -2307,48 +2353,6 @@ namespace BloemelingUndTeckhaus
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// xrTableRow18
//
this.xrTableRow18.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell5,
this.xrTableCell12});
this.xrTableRow18.Name = "xrTableRow18";
this.xrTableRow18.Weight = 0.64D;
//
// xrTableCell5
//
this.xrTableCell5.Font = new System.Drawing.Font("Arial", 9F);
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.StylePriority.UseFont = false;
this.xrTableCell5.Text = "Buchungsnummer:";
this.xrTableCell5.Weight = 1.2583322143554687D;
//
// xrTableCell12
//
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.Weight = 1.84D;
//
// xrTableRow20
//
this.xrTableRow20.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell19,
this.xrTableCell123});
this.xrTableRow20.Name = "xrTableRow20";
this.xrTableRow20.Weight = 0.64D;
//
// xrTableCell19
//
this.xrTableCell19.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Bold);
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.StylePriority.UseFont = false;
this.xrTableCell19.Text = "KGNR:";
this.xrTableCell19.Weight = 1.2583322143554687D;
//
// xrTableCell123
//
this.xrTableCell123.Name = "xrTableCell123";
this.xrTableCell123.Weight = 1.84D;
//
// ServiceInvoiceReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -2575,7 +2579,7 @@ namespace BloemelingUndTeckhaus
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow18;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
private DevExpress.XtraReports.UI.XRTableCell lblBuchungsnummer;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow20;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell19;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell123;

View File

@@ -103,7 +103,13 @@ namespace BloemelingUndTeckhaus
SetAnbieterFields(pRO);
SetVarFields(pRO);
SetZwischenEndabrechnung(pRO);
bindingSource1.DataSource = pRO;
if (pRO.CreatorName.ToLower().Contains("bloemeling") || pRO.CreatorName.ToLower().Contains("blömeling"))
lblBuchungsnummer.Text = "8111";
else if (pRO.CreatorName.ToLower().Contains("teckhaus"))
lblBuchungsnummer.Text = "8112";
bindingSource1.DataSource = pRO;
}
private void SetZwischenEndabrechnung(ServiceInvoiceRO pRO)

View File

@@ -38,10 +38,7 @@ namespace BeWo.BloemelingUndTeckhaus.Alt
this.xrTableRow9 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow11 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
this.rowErbrachteLeistung = new DevExpress.XtraReports.UI.XRTableRow();
@@ -75,13 +72,13 @@ namespace BeWo.BloemelingUndTeckhaus.Alt
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable5 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow15 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow30 = new DevExpress.XtraReports.UI.XRTableRow();
@@ -102,12 +99,12 @@ namespace BeWo.BloemelingUndTeckhaus.Alt
this.xrTableRow36 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell57 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell58 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel7 = 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.xrTable5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
@@ -155,10 +152,9 @@ namespace BeWo.BloemelingUndTeckhaus.Alt
this.xrTable1.Name = "xrTable1";
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow9,
this.xrTableRow10,
this.xrTableRow11,
this.rowErbrachteLeistung});
this.xrTable1.SizeF = new System.Drawing.SizeF(650F, 68F);
this.xrTable1.SizeF = new System.Drawing.SizeF(650F, 51F);
this.xrTable1.StylePriority.UseBorderColor = false;
//
// xrTableRow9
@@ -198,50 +194,12 @@ namespace BeWo.BloemelingUndTeckhaus.Alt
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell6.Weight = 0.21685899000901443D;
//
// xrTableRow10
//
this.xrTableRow10.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell20,
this.xrTableCell7});
this.xrTableRow10.FormattingRules.Add(this.ruleRateFactorNull);
this.xrTableRow10.Name = "xrTableRow10";
this.xrTableRow10.Weight = 0.085D;
//
// xrTableCell20
//
this.xrTableCell20.BorderColor = System.Drawing.SystemColors.ControlLight;
this.xrTableCell20.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell20.FormattingRules.Add(this.ruleRateFactorNull);
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell20.StylePriority.UseBorderColor = false;
this.xrTableCell20.StylePriority.UseBorders = false;
this.xrTableCell20.StylePriority.UseFont = false;
this.xrTableCell20.Text = "- zzgl. Faktor [RateFactorText2]:";
this.xrTableCell20.Weight = 0.78314100999098568D;
//
// ruleRateFactorNull
//
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
//
// xrTableCell7
//
this.xrTableCell7.BorderColor = System.Drawing.SystemColors.ControlLight;
this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell7.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold);
this.xrTableCell7.FormattingRules.Add(this.ruleRateFactorNull);
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableCell7.StylePriority.UseBorderColor = false;
this.xrTableCell7.StylePriority.UseBorders = false;
this.xrTableCell7.StylePriority.UseFont = false;
this.xrTableCell7.StylePriority.UseTextAlignment = false;
this.xrTableCell7.Text = "[ApprovedFLSWithFactor]";
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell7.Weight = 0.21685899000901443D;
//
// xrTableRow11
//
this.xrTableRow11.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
@@ -569,10 +527,20 @@ namespace BeWo.BloemelingUndTeckhaus.Alt
this.xrTable1,
this.xrLabel8});
this.GroupHeader1.Font = new System.Drawing.Font("Arial", 11F);
this.GroupHeader1.HeightF = 448.5416F;
this.GroupHeader1.HeightF = 430.5833F;
this.GroupHeader1.Name = "GroupHeader1";
this.GroupHeader1.StylePriority.UseFont = false;
//
// xrLabel7
//
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(367F, 173.25F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(283F, 23F);
this.xrLabel7.StylePriority.UseTextAlignment = false;
this.xrLabel7.Text = "GP-Nr.: 2000229078";
this.xrLabel7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -643,10 +611,6 @@ namespace BeWo.BloemelingUndTeckhaus.Alt
this.xrTableCell23.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell23.Weight = 0.21685899000901443D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.SettlementRO);
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -862,15 +826,9 @@ namespace BeWo.BloemelingUndTeckhaus.Alt
this.xrTableCell58.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.xrTableCell58.Weight = 0.21685899000901443D;
//
// xrLabel7
// bindingSource1
//
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(367F, 173.25F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(283F, 23F);
this.xrLabel7.StylePriority.UseTextAlignment = false;
this.xrLabel7.Text = "GP-Nr.: 2000229078";
this.xrLabel7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.SettlementRO);
//
// Spitzabrechnung
//
@@ -895,8 +853,8 @@ namespace BeWo.BloemelingUndTeckhaus.Alt
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
@@ -923,9 +881,6 @@ namespace BeWo.BloemelingUndTeckhaus.Alt
private DevExpress.XtraReports.UI.XRTable xrTable1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow9;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell19;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow10;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell20;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow11;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell21;
private DevExpress.XtraReports.UI.XRTableRow rowErbrachteLeistung;

View File

@@ -25,16 +25,71 @@ namespace FreundeskreisSuchthilfe.Alt
return dd;
}
public override bool AddServiceRecordToDuration(ServiceRecord item)
//public override bool AddServiceRecordToDuration(ServiceRecord item)
//{
// if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null)
// {
// if (item.ServiceDescription.ServiceCategory.Name == "Dienstzeiten")
// {
// return true;
// }
// }
// return false;
//}
protected override ServiceRecordSummary BerechneStunden(MitarbeiterstundenkontoRO.EmployeeDetail empDetail, IList<ServiceRecord> groupFilteredRecords, DateTime berichtsAnfang,
DateTime berichtsEnde)
{
if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null)
decimal flsGesamt = 0;
decimal arbeitszeit = 0;
var sum = new ServiceRecordSummary();
sum.RecordsImBerichtszeitraum = new List<ServiceRecord>();
//base.CorrectOverlappingTimes(groupFilteredRecords);
foreach (var item in groupFilteredRecords)
{
if (item.ServiceDescription.ServiceCategory.Name == "Dienstzeiten")
if (!IsServiceRecordFehlzeit(item))
{
return true;
if (item.Start.Value >= berichtsAnfang && item.Start.Value < berichtsEnde)
{
//if (AddServiceRecordToDuration(item))
//{
decimal duration = 0;
if (item.GroupRoundedDuration.HasValue)
{
duration = item.GroupRoundedDuration.Value;
}
else
{
duration = item.RoundedDuration;
}
if (item.ServiceDescription != null &&
item.ServiceDescription.ServiceCategory != null)
{
if (item.ServiceDescription.ServiceCategory.Name == "Dienstzeiten")
{
arbeitszeit += duration;
}
else if (item.ServiceDescription.ServiceCategory.IsBillable)
{
flsGesamt += duration;
}
}
sum.RecordsImBerichtszeitraum.Add(item);
}
}
}
return false;
sum.IstAbrechenbar = flsGesamt;
sum.IstNichtAbrechenbar = arbeitszeit - flsGesamt;
return sum;
}
}
}

View File

@@ -11,7 +11,7 @@ namespace FreundeskreisSuchthilfe.Alt
{
public class CustomMitarbeiterstundenkontoBerechnungMonate : MitarbeiterstundenkontoBerechnungMonate
{
public override MitarbeiterstundenkontoBerechnung CreateMitarbeiterstundenkontoBerechnung()
{
return new CustomMitarbeiterstundenkontoBerechnung();

View File

@@ -134,6 +134,7 @@
<DependentUpon>Teamstundenkonto.cs</DependentUpon>
</Compile>
<Compile Include="Translation\TranslationDictionary.cs" />
<Compile Include="Validation\ServiceRecordValidator.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Data\Data.csproj">

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.Shared.Services;
namespace FreundeskreisSuchthilfe
{
public class CustomServiceRecordValidator : ServiceRecordValidator
{
public override string[] GetIgnoreCategoriesForOverlappingCheck()
{
return new[] { "Dienstzeiten" };
}
}
}

View File

@@ -0,0 +1,84 @@
<?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>{F04B733F-02E2-4112-9094-3E36FD90A6C9}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>KundeXyz</RootNamespace>
<AssemblyName>3341456098_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>..\..\Host\bin\</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>..\..\Host\bin\</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="Properties\AssemblyInfo.cs" />
<Compile Include="SettlementReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="SettlementReport.Designer.cs">
<DependentUpon>SettlementReport.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>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="SettlementReport.resx">
<DependentUpon>SettlementReport.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -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("KundeXyz")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("KundeXyz")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[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")]

View File

@@ -0,0 +1 @@
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,240 @@
using System;
using System.Collections.Generic;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared.DataContracts;
namespace HilfeDaheimHandInHand
{
public partial class Spitzabrechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<SettlementRO>
{
public Spitzabrechnung()
{
InitializeComponent();
}
public void SetReportDataSource(SettlementRO pRO)
{
bool isDefaultSpitzabrechnung = false;
if (String.IsNullOrEmpty(pRO.Notice))
{
//lblNotice.Visible = false;
}
if (pRO.InvoiceItems != null && pRO.InvoiceItems.Count == 1)
{
var ii = pRO.InvoiceItems[0];
if ((ii.ItemDescription == "Spitzabrechung" || ii.ItemDescription == "Spitzabrechnung") && ii.GrossAmountTotal == null && ii.RateFactor == null)
{
isDefaultSpitzabrechnung = true;
}
}
if (!isDefaultSpitzabrechnung)
{
if (pRO.DifferentHourlyRateCount > 0 && pRO.HourlyRateNew.HasValue)
{
isDefaultSpitzabrechnung = true;
}
}
if (isDefaultSpitzabrechnung)
{
//UpdateAbrechnungsFelder(pRO);
pRO.InvoiceItems = CreateDefaultSpitzabrechnungInvoiceItems(pRO);
}
else
{
var id = GetCustomerId(pRO);
if (id == "LWLNEU")
{
pRO.RateFactorText = null;
pRO.RateFactorText2 = null;
if (pRO.InvoiceItems != null)
{
foreach (var ii in pRO.InvoiceItems)
{
ii.ItemDescription = String.Format("{0:dd.MM.yyyy} bis {1:dd.MM.yyyy}: {2:0.##} FLS x {3:c}",
ii.ItemPeriodStart, ii.ItemPeriodEnd, ii.UnitCount, ii.AmountPerUnit);
}
}
}
else
{
if (pRO.InvoiceItems != null)
{
foreach (var ii in pRO.InvoiceItems)
{
ii.ItemDescription = String.Format("{0:dd.MM.yyyy} bis {1:dd.MM.yyyy}: {2:0.##} FLS {3}x {4:c}",
ii.ItemPeriodStart, ii.ItemPeriodEnd,
ii.UnitCount, ii.RateFactor == 0 ? "" : "x " + pRO.RateFactorText2 + " ",
ii.AmountPerUnit);
}
}
}
}
if (pRO.TerminationDate == null)
{
lblStammdaten.Text = lblStammdaten.Text.Remove(lblStammdaten.Text.Length - 34, 34);
}
var claim = pRO.Claim.Split(' ');
if (Convert.ToDecimal(claim[0]) > 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;
}
private String GetCustomerId(SettlementRO pRO)
{
var cb2sc = DAOFactory.GenericDAO.LoadByID<CostBearer2SupportConcept>(pRO.CostBearer2SupportConceptOid);
return cb2sc.CostBearer.ID;
}
private IList<InvoiceItemDC> CreateDefaultSpitzabrechnungInvoiceItems(SettlementRO pRO)
{
IList<InvoiceItemDC> itemList = new List<InvoiceItemDC>();
if (pRO.DifferentHourlyRateCount == 3)
{
itemList.Add(new InvoiceItemDC
{
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
pRO.AccountingStartDateString, pRO.HourlyRate3EndDateString,
pRO.GeleisteteFLSMitStundensatz3, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRate3),
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatz3 * pRO.RateFactor * pRO.HourlyRate3
});
itemList.Add(new InvoiceItemDC
{
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
pRO.HourlyRateOldStartDateString, pRO.HourlyRateOldEndDateString,
pRO.GeleisteteFLSMitStundensatzAlt, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateOld),
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAlt * pRO.RateFactor * pRO.HourlyRateOld
});
itemList.Add(new InvoiceItemDC
{
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
pRO.HourlyRateNewStartDateString, pRO.AccountingEndDateString,
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew),
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAktuell * pRO.RateFactor * pRO.HourlyRateNew
});
}
else if (pRO.DifferentHourlyRateCount == 2)
{
itemList.Add(new InvoiceItemDC
{
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
pRO.AccountingStartDateString, pRO.HourlyRateOldEndDateString,
pRO.GeleisteteFLSMitStundensatzAlt, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateOld),
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAlt * (decimal)pRO.RateFactor * pRO.HourlyRateOld
});
itemList.Add(new InvoiceItemDC
{
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
pRO.HourlyRateNewStartDateString, pRO.AccountingEndDateString,
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew),
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAktuell * pRO.RateFactor * pRO.HourlyRateNew
});
}
else
{
itemList.Add(new InvoiceItemDC
{
ItemDescription = String.Format("{0} bis {1}: {2:0.##} FLS {3}x {4:c}",
pRO.AccountingStartDateString, pRO.AccountingEndDateString,
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew),
GrossAmountTotal = pRO.GeleisteteFLSMitStundensatzAktuell * pRO.RateFactor * pRO.HourlyRateNew
});
}
return itemList;
}
private void UpdateAbrechnungsFelder(SettlementRO pRO)
{
if (pRO.DifferentHourlyRateCount == 3)
{
//Erbrachte Leistungen (FLS) - bis [HourlyRateOldEndDateString] à [HourlyRateOldString] €
pRO.Abrechnungstext1 = String.Format("{0} bis {1}",
pRO.AccountingStartDateString, pRO.HourlyRate3EndDateString);
pRO.Abrechnungstext1 += String.Format(": {0:0.##} FLS {1}x {2:c}",
pRO.GeleisteteFLSMitStundensatz3, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRate3);
//[AccountingStartDateString] - [HourlyRate3EndDateString] sind [RecordedFLSWithHourlyRate3String] Std. x [HourlyRate3String] € =";
pRO.Betrag1 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatz3 * (decimal)pRO.RateFactor * pRO.HourlyRate3);
pRO.Abrechnungstext2 = String.Format("{0} bis {1}",
pRO.HourlyRateOldStartDateString, pRO.HourlyRateOldEndDateString);
pRO.Abrechnungstext2 += String.Format(": {0:0.##} FLS {1}x {2:c}",
pRO.GeleisteteFLSMitStundensatzAlt, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateOld);
pRO.Betrag2 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAlt * (decimal)pRO.RateFactor * pRO.HourlyRateOld);
pRO.Abrechnungstext3 = String.Format("{0} bis {1}",
pRO.HourlyRateNewStartDateString, pRO.AccountingEndDateString);
pRO.Abrechnungstext3 += String.Format(": {0:0.##} FLS {1}x {2:c}",
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew);
pRO.Betrag3 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAktuell * (decimal)pRO.RateFactor * pRO.HourlyRateNew);
}
else if (pRO.DifferentHourlyRateCount == 2)
{
pRO.Abrechnungstext2 = String.Format("{0} bis {1}",
pRO.AccountingStartDateString, pRO.HourlyRateOldEndDateString);
pRO.Abrechnungstext2 += String.Format(": {0:0.##} FLS {1}x {2:c}",
pRO.GeleisteteFLSMitStundensatzAlt, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateOld);
pRO.Betrag2 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAlt * (decimal)pRO.RateFactor * pRO.HourlyRateOld);
pRO.Abrechnungstext3 = String.Format("{0} bis {1}",
pRO.HourlyRateNewStartDateString, pRO.AccountingEndDateString);
pRO.Abrechnungstext3 += String.Format(": {0:0.##} FLS {1}x {2:c}",
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew);
pRO.Betrag3 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAktuell * (decimal)pRO.RateFactor * pRO.HourlyRateNew);
}
else
{
pRO.Abrechnungstext3 = String.Format("{0} bis {1}",
pRO.AccountingStartDateString, pRO.AccountingEndDateString);
pRO.Abrechnungstext3 += String.Format(": {0:0.##} FLS {1}x {2:c}",
pRO.GeleisteteFLSMitStundensatzAktuell, pRO.RateFactor == 1 ? "" : "x " + pRO.RateFactorText2 + " ", pRO.HourlyRateNew);
pRO.Betrag3 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAktuell * (decimal)pRO.RateFactor * pRO.HourlyRateNew);
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 69 KiB

View File

@@ -340,23 +340,12 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung
return 0;
}
private decimal? GetPreisVonServiceDescription(ServiceDescription serviceDescription, DateTime monat)
{
if (serviceDescription != null && serviceDescription.CostRatePeriods != null)
{
var crpDcList = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(serviceDescription.CostRatePeriods);
var crp = crpDcList.GetCostRatePeriodForDate(CostRatePeriodType.AmountOfMoney, monat);
if (crp != null)
{
return crp.CostRateValue;
}
}
return null;
public override string GetSummaryItemKey(SupportConceptApprovalPeriod scap, InvoiceItem iitem, bool summaryPerMonth)
{
return String.Format("{0}_{1}_{2:yyyyMM}_{3}", iitem.AmountPerUnit, iitem.RateFactor, iitem.ItemP eriodStart, iitem.ItemDescription);
}
}
}
public class AbrechnungsInfos
{

View File

@@ -82,6 +82,7 @@ namespace HphBersenbrueckFreizeitUndReisen
this.lblAnzahl = new DevExpress.XtraReports.UI.XRTableCell();
this.lblBetrag = new DevExpress.XtraReports.UI.XRTableCell();
this.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand();
this.lblAbschlusssatz = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel20 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel();
@@ -89,7 +90,6 @@ namespace HphBersenbrueckFreizeitUndReisen
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail2 = new DevExpress.XtraReports.UI.DetailBand();
this.lblAbschlusssatz = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
@@ -543,7 +543,7 @@ namespace HphBersenbrueckFreizeitUndReisen
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 40F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(686.9999F, 2.000002F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(699.7083F, 2F);
this.xrLabel1.StylePriority.UseBorderColor = false;
this.xrLabel1.StylePriority.UseBorders = false;
this.xrLabel1.StylePriority.UseFont = false;
@@ -753,6 +753,20 @@ namespace HphBersenbrueckFreizeitUndReisen
this.ReportFooter.StylePriority.UseBorderWidth = false;
this.ReportFooter.StylePriority.UseFont = false;
//
// lblAbschlusssatz
//
this.lblAbschlusssatz.BackColor = System.Drawing.Color.Transparent;
this.lblAbschlusssatz.Font = new System.Drawing.Font("Arial", 8F);
this.lblAbschlusssatz.LocationFloat = new DevExpress.Utils.PointFloat(2.291667F, 60F);
this.lblAbschlusssatz.Multiline = true;
this.lblAbschlusssatz.Name = "lblAbschlusssatz";
this.lblAbschlusssatz.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblAbschlusssatz.SizeF = new System.Drawing.SizeF(699.7083F, 27.00003F);
this.lblAbschlusssatz.StylePriority.UseBackColor = false;
this.lblAbschlusssatz.StylePriority.UseFont = false;
this.lblAbschlusssatz.StylePriority.UseTextAlignment = false;
this.lblAbschlusssatz.WordWrap = false;
//
// xrLabel20
//
this.xrLabel20.BackColor = System.Drawing.Color.Transparent;
@@ -850,20 +864,6 @@ namespace HphBersenbrueckFreizeitUndReisen
this.Detail2.HeightF = 25F;
this.Detail2.Name = "Detail2";
//
// lblAbschlusssatz
//
this.lblAbschlusssatz.BackColor = System.Drawing.Color.Transparent;
this.lblAbschlusssatz.Font = new System.Drawing.Font("Arial", 8F);
this.lblAbschlusssatz.LocationFloat = new DevExpress.Utils.PointFloat(2.291667F, 60F);
this.lblAbschlusssatz.Multiline = true;
this.lblAbschlusssatz.Name = "lblAbschlusssatz";
this.lblAbschlusssatz.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblAbschlusssatz.SizeF = new System.Drawing.SizeF(699.7083F, 27.00003F);
this.lblAbschlusssatz.StylePriority.UseBackColor = false;
this.lblAbschlusssatz.StylePriority.UseFont = false;
this.lblAbschlusssatz.StylePriority.UseTextAlignment = false;
this.lblAbschlusssatz.WordWrap = false;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);

View File

@@ -97,7 +97,6 @@ namespace LebenshilfeDuisburg.Stundenkonto
this.xrTableCell26 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.Title = new DevExpress.XtraReports.UI.XRControlStyle();
this.FieldCaption = new DevExpress.XtraReports.UI.XRControlStyle();
this.PageInfo = new DevExpress.XtraReports.UI.XRControlStyle();
@@ -115,6 +114,8 @@ namespace LebenshilfeDuisburg.Stundenkonto
this.fieldSumHoliday2 = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldIstArbeitszeit = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldUeberstundenGesamt = new DevExpress.XtraReports.UI.CalculatedField();
this.ruleIstFeiertagOderWE = new DevExpress.XtraReports.UI.FormattingRule();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
@@ -162,6 +163,7 @@ namespace LebenshilfeDuisburg.Stundenkonto
this.xrTableCell31,
this.xrTableCell67,
this.xrTableCell27});
this.xrTableRowDetail.FormattingRules.Add(this.ruleIstFeiertagOderWE);
this.xrTableRowDetail.Name = "xrTableRowDetail";
this.xrTableRowDetail.Weight = 0.88D;
//
@@ -839,10 +841,6 @@ namespace LebenshilfeDuisburg.Stundenkonto
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell14.Weight = 0.080942614161178317D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO);
//
// Title
//
this.Title.BackColor = System.Drawing.Color.White;
@@ -972,6 +970,17 @@ namespace LebenshilfeDuisburg.Stundenkonto
this.fieldUeberstundenGesamt.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldUeberstundenGesamt.Name = "fieldUeberstundenGesamt";
//
// ruleIstFeiertagOderWE
//
this.ruleIstFeiertagOderWE.Condition = "[IstFeiertag] Or [IstSamstag] Or [IstSonntag]";
this.ruleIstFeiertagOderWE.DataMember = "EmployeeDetailList.Days";
this.ruleIstFeiertagOderWE.Formatting.BackColor = System.Drawing.Color.LightSteelBlue;
this.ruleIstFeiertagOderWE.Name = "ruleIstFeiertagOderWE";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO);
//
// Mitarbeiterarbeitszeitkonto
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -994,6 +1003,8 @@ namespace LebenshilfeDuisburg.Stundenkonto
this.DataSource = this.bindingSource1;
this.DisplayName = "Mitarbeiterstundenkonto";
this.Font = new System.Drawing.Font("Arial", 8F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleIstFeiertagOderWE});
this.Margins = new System.Drawing.Printing.Margins(75, 50, 50, 50);
this.PageHeight = 1169;
this.PageWidth = 827;
@@ -1097,5 +1108,6 @@ namespace LebenshilfeDuisburg.Stundenkonto
private DevExpress.XtraReports.UI.XRTableCell xrTableCell28;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell23;
private DevExpress.XtraReports.UI.CalculatedField fieldUeberstundenGesamt;
private DevExpress.XtraReports.UI.FormattingRule ruleIstFeiertagOderWE;
}
}

View File

@@ -11,7 +11,6 @@ namespace LebenshilfeDuisburg.Stundenkonto
{
public class CustomMitarbeiterstundenkontoBerechnungMonate : MitarbeiterstundenkontoBerechnungMonate
{
public override MitarbeiterstundenkontoBerechnung CreateMitarbeiterstundenkontoBerechnung()
{
return new CustomMitarbeiterstundenkontoBerechnungTagesansicht();

View File

@@ -118,7 +118,6 @@
<EmbeddedResource Include="CollectiveBillingReportTab.resx">
<DependentUpon>CollectiveBillingReportTab.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="Quittierungsbeleg.resx">
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
<SubType>Designer</SubType>

View File

@@ -270,7 +270,11 @@ namespace PraxisPusteblume
{
preisTeam = 11.63m;
}
if (pRO.AccountingPeriodStart >= new DateTime(2022, 5, 1))
{
preisTeam = 11.77m;
preisGruppe = 35.22m;
}
if (DateTime.Now >= new DateTime(2021, 8, 17))
{
preisInvest = 6.86m;

View File

@@ -163,6 +163,10 @@ namespace PraxisPusteblume.Invoicing
{
betrag = 11.63m;
}
if (invoicePeriod.StartDateTime >= new DateTime(2022, 5, 1))
{
betrag = 11.77m;
}
var invoiceItem = new InvoiceItem();
invoiceItem.AmountPerUnit = betrag;

View File

@@ -90,7 +90,7 @@ namespace BeWo.Service.Plugins
//t = "5700328131"; // Betreutes Wohnen St. Ludgerus Essen-Werden
//t = "1907984777"; // Soziale Dienste Katrin Schmidt
//t = "9033246467"; // SKM Menden
t = "9290510010"; // Soziale Dienste Schilling (ehemals BeWo Schilling)
//t = "9290510010"; // Soziale Dienste Schilling (ehemals BeWo Schilling)
//t = "5251218094"; // KOMO e.V.
//t = "3529871747"; // Vivat gemeinnützige GmbH
//t = "8561513464"; // Caritasverband Wuppertal/Solingen
@@ -133,7 +133,7 @@ namespace BeWo.Service.Plugins
//t = "3227700467"; // Psychosozialer Trägerverein
//t = "4378753169"; // Die Wohnhelfer Köln
//t = "2214258555"; // Betreuungsbüro Baak
//t = "4525013596"; // Hph Bersenbrück Freizeit und Reisen
t = "4525013596"; // Hph Bersenbrück Freizeit und Reisen
//t = "1609455614"; // Hph Bersenbrück Aph
//t = "7852961459"; // B&B Betreutes Wohnen
//t = "8719930557"; // Lebenshilfe Rhein-Sieg
@@ -169,7 +169,7 @@ namespace BeWo.Service.Plugins
//t = "3614251071"; // Pusteblume
//t = "7755740484"; // Sawo
//t = "8275654834"; // Twg Jonathan
t = "6586058528"; // Freundeskreis Suchtkrankenhilfe e.V.
//t = "6586058528"; // Freundeskreis Suchtkrankenhilfe e.V.
//t = "2632162696"; // Hand in Hand (ehemals Pro BeWo Düren)
//t = "6586058528"; // Freundeskreis Suchtkrankenhilfe e.V.
//t = "2632162696"; // Pro BeWo Düren
@@ -282,7 +282,8 @@ namespace BeWo.Service.Plugins
//t = "8283849714"; // Forum e.V. (proviel GmbH)
//t = "3915346496"; // Sprungbrett 2. DB (Haus Theresia)
//t = "2387527289"; // Lebenshilfe Duisburg HPFH
t = "5595701056"; // Domiziel Ansbach
//t = "2314784470"; // Lebenshilfe Duisburg BeWo
//t = "5595701056"; // Domiziel Ansbach
//t = "9430188510"; // Pro INTEGRA
//t = "4820371076"; // Zuhause Wohnen Iris Thimm
//t = "1078667960"; // FAM Rhein-Sieg Gbr
@@ -329,6 +330,7 @@ namespace BeWo.Service.Plugins
//t = "9094672461"; // Toprak GmbH
//t = "9008813932"; // Aids Hilfe Giessen
//t = "4052216789"; // Perspektiven e.V.
t = "3341456098"; // Hilfe Daheim (Hand in Hand)
return t;
#else