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

This commit is contained in:
2023-09-15 14:42:25 +02:00
62 changed files with 82971 additions and 134597 deletions

10
.gitignore vendored
View File

@@ -640,3 +640,13 @@ obj
/ReportImp/AWOMuensterlandRecklinghausen/Calculations
/ReportImp/BehindertNaUnd/CustomDataExporter.cs
/ReportImp/BehindertNaUnd/DatevExporter.cs
/BeWoPlanerMobilAllReports.sln
/ReportImp/Lazy/CustomMitarbeiterstundenkontoBerechnung.cs
/ReportImp/Lazy/Lazy.csproj
/ReportImp/Lazy/Mitarbeiterstundenkonto.cs
/ReportImp/Lazy/Mitarbeiterstundenkonto.designer.cs
/ReportImp/Lazy/Mitarbeiterstundenkonto.resx
/ReportImp/Lazy/Properties/AssemblyInfo.cs
/ReportImp/Lazy/Properties/licenses.licx
/TestReportCustomization/Class1.cs
/TestReportCustomization/TestReportCustomization.csproj

View File

@@ -4,9 +4,6 @@ using System.Globalization;
using System.Linq;
using System.Windows.Data;
using System.Windows.Media;
using BeWo.View;
using BS.Shared;
using BS.Shared.Core;
@@ -35,9 +32,9 @@ namespace BeWo.Converter
}
var userRights = iEnumerable.ToList();
userRights.Remove(UserRightType.None);
return userRights.Select(right => EnumTranslations.UserRightType2Translations.Single(right2Translation => right2Translation.Key == right)).OrderBy(right2Translation => right2Translation.Value).ToDictionary(right2Translation => right2Translation.Key, right2Translation => right2Translation.Value);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)

View File

@@ -9031,6 +9031,38 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IReportService/CreateInvoiceListReport", ReplyAction="http://tempuri.org/IReportService/CreateInvoiceListReportResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IReportService/CreateInvoiceListReportBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.IO.MemoryStream CreateInvoiceListReport(System.Collections.Generic.List<long> invoiceBaseOids);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IReportService/CreateCustomerListReport", ReplyAction="http://tempuri.org/IReportService/CreateCustomerListReportResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IReportService/CreateCustomerListReportBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.IO.MemoryStream CreateCustomerListReport(System.Collections.Generic.List<long> oids);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IReportService/CreateSupportConceptListReport", ReplyAction="http://tempuri.org/IReportService/CreateSupportConceptListReportResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IReportService/CreateSupportConceptListReportBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.IO.MemoryStream CreateSupportConceptListReport(System.Collections.Generic.List<long> oids);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IReportService/CreatePersonListReport", ReplyAction="http://tempuri.org/IReportService/CreatePersonListReportResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IReportService/CreatePersonListReportBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.IO.MemoryStream CreatePersonListReport(System.Collections.Generic.List<long> oids);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IReportService/CreateEmployeeListReport", ReplyAction="http://tempuri.org/IReportService/CreateEmployeeListReportResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IReportService/CreateEmployeeListReportBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.IO.MemoryStream CreateEmployeeListReport(System.Collections.Generic.List<long> oids);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IReportService/CreateOrganisationListReport", ReplyAction="http://tempuri.org/IReportService/CreateOrganisationListReportResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IReportService/CreateOrganisationListReportBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.IO.MemoryStream CreateOrganisationListReport(System.Collections.Generic.List<long> oids);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IReportService/CreateTeamListReport", ReplyAction="http://tempuri.org/IReportService/CreateTeamListReportResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IReportService/CreateTeamListReportBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.IO.MemoryStream CreateTeamListReport(System.Collections.Generic.List<long> oids);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IReportService/CreateUserListReport", ReplyAction="http://tempuri.org/IReportService/CreateUserListReportResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IReportService/CreateUserListReportBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.IO.MemoryStream CreateUserListReport(System.Collections.Generic.List<long> oids);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IReportService/CreateUSerGroupListReport", ReplyAction="http://tempuri.org/IReportService/CreateUSerGroupListReportResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IReportService/CreateUSerGroupListReportBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.IO.MemoryStream CreateUSerGroupListReport(System.Collections.Generic.List<long> oids);
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -9151,6 +9183,46 @@ namespace BeWo.ServiceProxy
{
return base.Channel.CreateInvoiceListReport(invoiceBaseOids);
}
public System.IO.MemoryStream CreateCustomerListReport(System.Collections.Generic.List<long> oids)
{
return base.Channel.CreateCustomerListReport(oids);
}
public System.IO.MemoryStream CreateSupportConceptListReport(System.Collections.Generic.List<long> oids)
{
return base.Channel.CreateSupportConceptListReport(oids);
}
public System.IO.MemoryStream CreatePersonListReport(System.Collections.Generic.List<long> oids)
{
return base.Channel.CreatePersonListReport(oids);
}
public System.IO.MemoryStream CreateEmployeeListReport(System.Collections.Generic.List<long> oids)
{
return base.Channel.CreateEmployeeListReport(oids);
}
public System.IO.MemoryStream CreateOrganisationListReport(System.Collections.Generic.List<long> oids)
{
return base.Channel.CreateOrganisationListReport(oids);
}
public System.IO.MemoryStream CreateTeamListReport(System.Collections.Generic.List<long> oids)
{
return base.Channel.CreateTeamListReport(oids);
}
public System.IO.MemoryStream CreateUserListReport(System.Collections.Generic.List<long> oids)
{
return base.Channel.CreateUserListReport(oids);
}
public System.IO.MemoryStream CreateUSerGroupListReport(System.Collections.Generic.List<long> oids)
{
return base.Channel.CreateUSerGroupListReport(oids);
}
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]

View File

@@ -84,7 +84,7 @@ namespace BeWo.View.Controls
c.Foreground = Brushes.Red;
c.Text = "ÜS";
c.ToolTip = (dc == null) ? string.Format("Überstunden:\t{0:0.00}\nAuszahlung:\t{1}\nBemerkung:\t{2}",
info.OverTime.Betrag, info.OverTime.Auszahlungsart.Name, info.OverTime.Notice) : null;
info.OverTime.Betrag, info.OverTime.Auszahlungsart?.Name, info.OverTime.Notice) : null;
if (info.DayOfWeek == DayOfWeek.Saturday || info.DayOfWeek == DayOfWeek.Sunday)
c.Background = new SolidColorBrush(ColorExtensions.FromHexString("EFEFEF"));

View File

@@ -168,6 +168,7 @@
DeleteObject="mainNavigationView_DeleteObject"
ArchiveObject="mainNavigationView_ArchiveObject"
ExcelExport="mainNavigationView_ExcelExport"
Print="mainNavigationView_Print"
DeleteDemands="DeleteAll, CustomerView_Delete"
CreateDemands="CreateAll, CustomerView_Create"
ShowDetailsPanel="True"

View File

@@ -454,5 +454,18 @@ namespace BeWo.View.Navigation
});
});
}
private void mainNavigationView_Print(object sender, EventArgs<IEnumerable<IFilterableDC>> e)
{
var oids = e.Data.Cast<CompactCustomerDC>().Select(c => c.CustomerOid).ToList();
ServiceFacade.DoReportServiceAsync(s => s.CreateCustomerListReport(oids), r =>
{
this.Dispatch(() =>
{
BeWoUtils.ShowReportWindow(r, Translator.Translate("Klienten"));
});
});
}
}
}

View File

@@ -105,6 +105,9 @@
<TextBlock x:Name="textblock_link" VerticalAlignment="Center" Margin="20 0 0 0" FontSize="16">
<Hyperlink x:Name="linkExcelExport" TargetName="newWindow" Foreground="White" RequestNavigate="linkExcelExport_RequestNavigate">Excel Export</Hyperlink>
</TextBlock>
<TextBlock x:Name="textblock_print" VerticalAlignment="Center" Margin="20 0 0 0" FontSize="16">
<Hyperlink x:Name="linkPrint" TargetName="newWindow" Foreground="White" RequestNavigate="linkPrint_RequestNavigate" NavigateUri="http://www.ownsoft.de">Liste drucken</Hyperlink>
</TextBlock>
<!-- ###CB SERIENBRIEF<Button x:Name="MailMergeButton" Content="Serienbrief drucken" Style="{StaticResource NavigationToolbarButtonStyle}" Margin="10,0,0,0" Click="btnMailMerge_Click" /> -->
</StackPanel>
</Grid>

View File

@@ -108,6 +108,8 @@ namespace BeWo.View.Navigation
public event EventHandler<EventArgs<IEnumerable<IFilterableDC>>> ExcelExport;
public event EventHandler<EventArgs<IEnumerable<IFilterableDC>>> Print;
public event OpenObjectDelegate OpenObject;
public event ReloadDataDelegate OnReloadData;
@@ -610,6 +612,13 @@ namespace BeWo.View.Navigation
ExcelExport(this, new EventArgs<IEnumerable<IFilterableDC>>(objectListBox.ItemsSource as IEnumerable<IFilterableDC>));
}
private void linkPrint_RequestNavigate(object sender, RequestNavigateEventArgs e)
{
if (Print != null)
Print(this, new EventArgs<IEnumerable<IFilterableDC>>(objectListBox.ItemsSource as IEnumerable<IFilterableDC>));
e.Handled = true;
}
private void objectHistoryListBox_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
OnOpenObject();

View File

@@ -8,7 +8,7 @@
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<ProjectView>ShowAllFiles</ProjectView>
<WebStackScaffolding_ViewDialogWidth>600</WebStackScaffolding_ViewDialogWidth>
<Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>

View File

@@ -427,6 +427,80 @@ namespace BeWoPlanerMobil.Controllers
return LeerzeichenFuerGetMethoden;
}
#region Bargeldkassen
// GetBargeldkassenName
// SaveBargeldkassenName
// DeleteBargeldkasse
// DownloadBargeldkassenPdf
// DownloadTransactionPdf
// SaveTransactionSignature
[Authorize]
public string GetBargeldkassenName(long oid)
{
if(Model is null)
{
Logout();
return LeerzeichenFuerGetMethoden;
}
var bargeldkassenname = Model.Bargeldkassen.FirstOrDefault(bargeldkasse => bargeldkasse.BargeldkassenOid.HasValue && bargeldkasse.BargeldkassenOid.Value.Equals(oid))?.Kassenname;
return bargeldkassenname ?? LeerzeichenFuerGetMethoden;
}
// ToDo: Erstmal durch Get
[Authorize]
public string SaveBargeldkassenName(string newName, long oid)
{
if(Model is null)
{
Logout();
return LeerzeichenFuerGetMethoden;
}
var bargeldkasse = Model.Bargeldkassen.FirstOrDefault(bk => bk.BargeldkassenOid.HasValue && bk.BargeldkassenOid.Value.Equals(oid));
if(bargeldkasse is null || string.IsNullOrWhiteSpace(newName) || newName.Equals(bargeldkasse.Kassenname) || Model.SelectedCustomerOid is null)
{
return LeerzeichenFuerGetMethoden;
}
bargeldkasse.Kassenname = newName;
OperationsService.UpdateBargeldkasse(bargeldkasse);
Model.Bargeldkassen = OperationsService.LoadBargeldkassenForObject(TableID.Customer, Model.SelectedCustomerOid.Value);
return LeerzeichenFuerGetMethoden;
}
[Authorize]
[HttpPost]
public ActionResult DeleteBargeldkasse(FormCollection formCollection)
{
if(Model is null || !long.TryParse(formCollection["bk-to-delete-oid"], out var bargeldkassenOid) || Model.SelectedCustomerOid is null)
{
return Logout();
}
var bargeldkasse = Model.Bargeldkassen.FirstOrDefault(f => f.BargeldkassenOid.HasValue && f.BargeldkassenOid.Value.Equals(bargeldkassenOid));
if(bargeldkasse?.BargeldkassenVersion is null)
{
return RedirectToActionPermanent("Customer");
}
var bargeldkassenVersion = bargeldkasse.BargeldkassenVersion.Value;
OperationsService.DeactivateBargeldkasse(bargeldkassenOid, bargeldkassenVersion);
Model.Bargeldkassen = OperationsService.LoadBargeldkassenForObject(TableID.Customer, Model.SelectedCustomerOid.Value);
return RedirectToActionPermanent("Customer");
}
#endregion
}
public enum CustomerReportType

View File

@@ -311,33 +311,6 @@ namespace BeWoPlanerMobil.Controllers
Model.ServiceRecordTimeInterval = serviceRecordTimeInterval;
//switch(serviceRecordTimeInterval)
//{
// case ServiceRecordTimeInterval.LastWeek:
// zeitraum = 7;
// break;
// case ServiceRecordTimeInterval.LastMonth:
// zeitraum = 30;
// break;
// case ServiceRecordTimeInterval.Last3Month:
// zeitraum = 90;
// break;
// case ServiceRecordTimeInterval.All:
// zeitraum = 0;
// break;
// case ServiceRecordTimeInterval.ZeitraumWaehlen:
// zeitraum = -1;
// break;
// case ServiceRecordTimeInterval.XTage:
// zeitraum =
// break;
// default:
// zeitraum = 7;
// break;
//}
//Model.Zeitraum = zeitraum;
if(serviceRecordTimeInterval == ServiceRecordTimeInterval.ZeitraumWaehlen && (Model.SelectedZeitraum?.StartDate is null || Model.SelectedZeitraum.EndDate is null))
{
var today = DateTime.Today;
@@ -346,8 +319,6 @@ namespace BeWoPlanerMobil.Controllers
Model.LastSelectedServiceRecordTimeIntervalDays = UserSettingsUtils.GetSettingValueAsInteger(userSettings, SettingsKeys.LastSelectedServiceRecordTimeIntervalDays);
//Model.ServiceRecordTimeInterval = LoadServiceRecordTimeIntervalFromSession();
if(Model.ServiceRecordTimeInterval == ServiceRecordTimeInterval.Monatsauswahl)
{
Model.SelectedZeitraum = new NullableDateTimeSpan(Model.LastSelectedServiceRecordMonth.Date.GetFirstOfMonth(), Model.LastSelectedServiceRecordMonth.Date.GetLastOfMonth());
@@ -2455,7 +2426,7 @@ namespace BeWoPlanerMobil.Controllers
newResult.Message += vr.Message + "<br /><br />";
exitLoop = true;
newResult.KannTrotzdemGespeichertWerden = false;
newResult.KannTrotzdemGespeichertWerden = vr.Allow;
break;
case SignatureExists:
newResult.Message += vr.Message + "<br /><br />";

View File

@@ -249,6 +249,42 @@ function cardHeaderClick(chevronId, cardBodyId) {
}
}
function cardHeaderClick2(element, callback) {
try {
if (element === undefined || element === null) {
return;
}
logInfo("card header geklickt");
var jQElement = $(element);
var icon = jQElement.find("svg.chevron-identifier-class");
var collapse = jQElement.next(".collapse");
if (collapse.length) {
$(collapse).toggle();
}
if (icon.length && collapse.length) {
var isDown = $(collapse).css("display") !== "none";
var chevron = $(icon);
var iconToRemove = isDown ? "fa-chevron-down" : "fa-chevron-up";
var iconToAdd = isDown ? "fa-chevron-up" : "fa-chevron-down";
chevron.removeClass(iconToRemove);
chevron.addClass(iconToAdd);
}
if (typeof callback === "function") {
callback();
}
} catch (error) {
showErrorPopup(error);
}
}
// Muss manuell im onclick-Event des Buttons aufgerufen werden
function cardHeaderButtonClick(cardBodyId) {
try {
@@ -263,18 +299,12 @@ function cardHeaderButtonClick(cardBodyId) {
function toggleChevron(chevronId, cardBodyId) {
try {
var isDown = $(cardBodyId).css("display") !== "none";
logInfo3("toggleChevron: is chevron down. " + isDown);
var chevron = $(chevronId);
logInfo3("toggleChevron: chevron exists: " + (chevron.length > 0));
var iconToRemove = isDown ? "fa-chevron-down" : "fa-chevron-up";
logInfo3("toggleChevron: icon to remove: " + iconToRemove);
var iconToAdd = isDown ? "fa-chevron-up" : "fa-chevron-down";
logInfo3("toggleChevron: icon to add: " + iconToAdd);
chevron.removeClass(iconToRemove);
chevron.addClass(iconToAdd);
logInfo3(`toggleChevron: removed ${iconToRemove} and added ${iconToAdd}`);
} catch (error) {
showErrorPopup(error);
}

View File

@@ -952,7 +952,25 @@
{
<!-- Bargeldkassen -->
<div class="col-12 my-3">
@Html.Partial("CustomerBargeldkassen", Model);
<div class="card w-100 h-100">
<div class="card-header" onclick="cardHeaderClick2(this)">
<div class="d-inline-flex">
<i class="fas fa-chevron-down h-100 text-bewo-customer-card-header" id="chevron-customer-bargeldkassen"></i>
</div>
<div class="d-inline d-inline-flex text-bewo-customer-card-header h-100">
<button type="button" class="btn btn-link text-bewo-customer-card-header" style="font-size: 20px;">
Bargeldkassen
</button>
</div>
</div>
<div class="collapse" id="collapse-customer-bargeldkassen">
<div class="card-body">
<div class="container-fluid">
@Html.Partial("CustomerBargeldkassen", Model)
</div>
</div>
</div>
</div>
</div>
}

View File

@@ -1,24 +1,152 @@
@model BeWoPlanerMobil.Models.CustomerModel
<div class="card w-100 h-100">
<div class="card-header" onclick="cardHeaderClick('#chevron-customer-bargeldkassen', '#collapse-customer-bargeldkassen')">
<div class="d-inline-flex">
<i class="fas fa-chevron-down h-100 text-bewo-customer-card-header" id="chevron-customer-bargeldkassen"></i>
</div>
<div class="d-inline d-inline-flex text-bewo-customer-card-header h-100">
<button type="button" class="btn btn-link text-bewo-customer-card-header" style="font-size: 20px;">
Bargeldkassen
</button>
</div>
</div>
<div class="collapse" id="collapse-customer-bargeldkassen">
<div class="card-body">
<!-- -->
@foreach(var bargeldkasse in Model.Bargeldkassen)
{
<p>@bargeldkasse.Kassenname</p>
}
@*
Name (editierbar)
Button "Zahlung hinzufügen"
Label Kassenbestand
Label Anfangsbestand
Datumsfeld Startdatum
Datumsfeld Enddatum
Link Kassenbuch drucken (Button mit Druckerlogo)
Tabelle "Ein- und Auszahlungen"
Spalte "Datum"
Spalte "Art"
Spalte "Betrag"
Spalte "Belegnummer"
Spalte "Angelgt von"
Spalte "Notiz"
Spalte "Zahlungsbeleg drucken" (Button mit Druckerlogo)
ToDo: In einklappbaren Cards anzeigen
<div class="card w-100 h-100">
<div class="card-header" onclick="cardHeaderClick('#chevron-customer-bargeldkassen', '#collapse-customer-bargeldkassen')">
<div class="d-inline-flex">
<i class="fas fa-chevron-down h-100 text-bewo-customer-card-header" id="chevron-customer-bargeldkassen"></i>
</div>
<div class="d-inline d-inline-flex text-bewo-customer-card-header h-100">
<button type="button" class="btn btn-link text-bewo-customer-card-header" style="font-size: 20px;">
Bargeldkassen
</button>
</div>
</div>
<div class="collapse" id="collapse-customer-bargeldkassen">
<div class="card-body">
ToDo: Liste mit den Einträgen
</div>
</div>
</div>
</div>
*@
<script type="text/javascript">
function resizeButtons() {
try {
var btnGroupMaxWidth = getMaxWidth("bk-btn-group");
if(btnGroupMaxWidth > 0) {
$(".bk-btn-group").width(btnGroupMaxWidth);
}
var dateInputMaxWidth = getMaxWidth("date-input-prepend-group");
if(dateInputMaxWidth > 0) {
$(".date-input-prepend-group").width(dateInputMaxWidth);
}
} catch(error) {
showErrorPopup(error);
}
}
function editBtnClickTest() {
try {
event.stopPropagation();
} catch(error) {
showErrorPopup(error);
}
}
function deleteBtnClickTest() {
try {
event.stopPropagation();
// ToDo: Abfragen, ob wirklich gelöscht werden soll.
} catch(error) {
showErrorPopup(error);
}
}
</script>
@foreach(var bargeldkasse in Model.Bargeldkassen)
{
<!-- Breite < lg -->
<div class="col-sm-12 d-lg-none mx-0 px-0">
<div class="card w-100 h-100">
<div class="card-header" onclick="cardHeaderClick2(this)">
<div class="d-inline-flex">
<i class="fas fa-chevron-down h-100 text-bewo-customer-card-header chevron-identifier-class"></i>
</div>
<div class="d-inline d-inline-flex text-bewo-customer-card-header h-100">
<button class="btn btn-link text-bewo-customer-card-header" type="button">
@bargeldkasse.Kassenname
</button>
</div>
<div class="d-inline d-inline-flex float-right">
<button class="btn btn-primary" type="button" onclick="editBtnClickTest()">
<i class="fas fa-edit"></i>
</button>
<button class="btn btn-danger ml-1" type="button" onclick="deleteBtnClickTest()">
<i class="fas fa-trash-alt"></i>
</button>
</div>
</div>
<div class="collapse">
<div class="card-body">
<div class="container-fluid px-0">
@{
var kassenbestand = "Kommt noch!";
var anfangsbestand = bargeldkasse.Anfangsbestand?.ToString("#.## €") ?? "0,00 €";
}
<div class="row">
<div class="col-auto mr-auto text-secondary">
Kassenbestand:
</div>
<div class="col-auto">
</div>
</div>
<div class="row">
<div class="col-auto mr-auto text-secondary">
Anfangsbestand:
</div>
<div class="col-auto">
@anfangsbestand
</div>
</div>
<div class="row">
<div class="col-auto mr-auto text-secondary">
Startdatum:
</div>
<div class="col-auto">
</div>
</div>
<div class="row">
<div class="col-auto mr-auto text-secondary">
Enddatum:
</div>
<div class="col-auto">
</div>
</div>
<hr/>
</div>
</div>
</div>
</div>
</div>
<!-- Breite >= lg -->
<div class="col-12 d-none d-lg-block mx-0 px-0"></div>
}

View File

@@ -104,5 +104,7 @@ namespace BeWo.Report
public abstract XtraReport CreateVertretungsPlanungReport(DateTime start, int ansicht);
public abstract XtraReport CreateValidationMessageListReport(DateTime startDate, DateTime endDate);
}
public abstract XtraReport CreateCustomerListReport(List<long> oids);
}
}

View File

@@ -1193,6 +1193,15 @@ namespace BeWo.Report
report.SetReportDataSource(ValidationMessageListRO.Create(startDate, endDate, DAOFactory.SearchDAO.GetValidationMessagesForMonth(startDate, endDate).ToList()));
return report as XtraReport;
}
public override XtraReport CreateCustomerListReport(List<long> oids)
{
var ro = CustomerListRO.Create(oids);
IBeWoReport<CustomerListRO> report = FindReportImp<CustomerListRO>();
report.SetReportDataSource(ro);
return report as XtraReport;
}
}

View File

@@ -0,0 +1,335 @@
namespace BeWo.Report.DefaultReports
{
partial class CustomerListReport
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.Einzahlungstextsichtbarkeitsformatierungsregel = new DevExpress.XtraReports.UI.FormattingRule();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.Auszahlungstextsichtbarkeitsformatierungsregel = new DevExpress.XtraReports.UI.FormattingRule();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
//
this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable1});
this.Detail.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Detail.HeightF = 25F;
this.Detail.Name = "Detail";
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.Detail.StylePriority.UseFont = false;
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrTable1
//
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1});
this.xrTable1.SizeF = new System.Drawing.SizeF(700F, 25F);
this.xrTable1.StylePriority.UseFont = false;
//
// xrTableRow1
//
this.xrTableRow1.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)));
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell9,
this.xrTableCell1,
this.xrTableCell2,
this.xrTableCell7});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.StylePriority.UseBorders = false;
this.xrTableRow1.Weight = 0.59999992675782143D;
//
// xrTableCell9
//
this.xrTableCell9.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 0, 0, 0, 100F);
this.xrTableCell9.StylePriority.UseBorders = false;
this.xrTableCell9.StylePriority.UsePadding = false;
this.xrTableCell9.StylePriority.UseTextAlignment = false;
this.xrTableCell9.Text = "Nachname";
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell9.Weight = 0.69230768057016234D;
//
// xrTableCell1
//
this.xrTableCell1.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 0, 0, 0, 100F);
this.xrTableCell1.StylePriority.UseBorders = false;
this.xrTableCell1.StylePriority.UsePadding = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "Vorname";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell1.Weight = 0.69230768057016223D;
//
// xrTableCell2
//
this.xrTableCell2.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 0, 0, 0, 100F);
this.xrTableCell2.StylePriority.UseBorders = false;
this.xrTableCell2.StylePriority.UsePadding = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "Rolle";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell2.Weight = 0.69230769817645732D;
//
// xrTableCell7
//
this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 0, 0, 0, 100F);
this.xrTableCell7.StylePriority.UseBorders = false;
this.xrTableCell7.StylePriority.UsePadding = false;
this.xrTableCell7.StylePriority.UseTextAlignment = false;
this.xrTableCell7.Text = "Notiz";
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell7.Weight = 1.1538461714524488D;
//
// TopMargin
//
this.TopMargin.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.TopMargin.HeightF = 100F;
this.TopMargin.Name = "TopMargin";
this.TopMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.TopMargin.StylePriority.UseFont = false;
this.TopMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLabel1
//
this.xrLabel1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(650F, 37.33331F);
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.Text = "[Employee.FirstName] [Employee.LastName]";
//
// BottomMargin
//
this.BottomMargin.HeightF = 74F;
this.BottomMargin.Name = "BottomMargin";
this.BottomMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.BottomMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail1});
this.DetailReport.DataMember = "CustomerList";
this.DetailReport.DataSource = this.bindingSource1;
this.DetailReport.Level = 0;
this.DetailReport.Name = "DetailReport";
//
// Detail1
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable2});
this.Detail1.HeightF = 25F;
this.Detail1.Name = "Detail1";
//
// xrTable2
//
this.xrTable2.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2});
this.xrTable2.SizeF = new System.Drawing.SizeF(700F, 25F);
this.xrTable2.StylePriority.UseBorders = false;
this.xrTable2.StylePriority.UseFont = false;
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell10,
this.xrTableCell4,
this.xrTableCell5,
this.xrTableCell8});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 0, 3, 0, 100F);
this.xrTableRow2.StylePriority.UsePadding = false;
this.xrTableRow2.Weight = 1D;
//
// xrTableCell10
//
this.xrTableCell10.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CustomerList.Customer.LastName", "{0:dd.MM.yyyy}")});
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.StylePriority.UsePadding = false;
this.xrTableCell10.StylePriority.UseTextAlignment = false;
this.xrTableCell10.Text = "xrTableCell10";
this.xrTableCell10.Weight = 0.69230768057016234D;
//
// xrTableCell4
//
this.xrTableCell4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CustomerList.Customer.FirstName", "{0:c}")});
this.xrTableCell4.FormattingRules.Add(this.Einzahlungstextsichtbarkeitsformatierungsregel);
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.StylePriority.UsePadding = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.Text = "xrTableCell4";
this.xrTableCell4.Weight = 0.69230768057016223D;
//
// Einzahlungstextsichtbarkeitsformatierungsregel
//
this.Einzahlungstextsichtbarkeitsformatierungsregel.Condition = "[Einzahlung] == 0";
this.Einzahlungstextsichtbarkeitsformatierungsregel.DataMember = "Transaktionen";
this.Einzahlungstextsichtbarkeitsformatierungsregel.Formatting.ForeColor = System.Drawing.Color.Transparent;
this.Einzahlungstextsichtbarkeitsformatierungsregel.Name = "Einzahlungstextsichtbarkeitsformatierungsregel";
//
// xrTableCell5
//
this.xrTableCell5.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CustomerList.Rolle", "{0:c}")});
this.xrTableCell5.FormattingRules.Add(this.Auszahlungstextsichtbarkeitsformatierungsregel);
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.StylePriority.UsePadding = false;
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.Text = "xrTableCell5";
this.xrTableCell5.Weight = 0.69230769817645732D;
//
// Auszahlungstextsichtbarkeitsformatierungsregel
//
this.Auszahlungstextsichtbarkeitsformatierungsregel.Condition = "[Auszahlung] == 0";
this.Auszahlungstextsichtbarkeitsformatierungsregel.DataMember = "Transaktionen";
this.Auszahlungstextsichtbarkeitsformatierungsregel.Formatting.ForeColor = System.Drawing.Color.Transparent;
this.Auszahlungstextsichtbarkeitsformatierungsregel.Name = "Auszahlungstextsichtbarkeitsformatierungsregel";
//
// xrTableCell8
//
this.xrTableCell8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CustomerList.Notiz")});
this.xrTableCell8.Multiline = true;
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.StylePriority.UsePadding = false;
this.xrTableCell8.StylePriority.UseTextAlignment = false;
this.xrTableCell8.Weight = 1.1538461714524493D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.CustomerListRO);
//
// xrLabel2
//
this.xrLabel2.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 37.33332F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(650F, 25.66666F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.Text = "Zugeordnete Klient:innen";
//
// GroupHeader1
//
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel2,
this.xrLabel1});
this.GroupHeader1.HeightF = 70F;
this.GroupHeader1.Name = "GroupHeader1";
//
// EmployeeCustomerListReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.TopMargin,
this.BottomMargin,
this.DetailReport,
this.GroupHeader1});
this.DataSource = this.bindingSource1;
this.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.Einzahlungstextsichtbarkeitsformatierungsregel,
this.Auszahlungstextsichtbarkeitsformatierungsregel});
this.Margins = new System.Drawing.Printing.Margins(75, 75, 100, 74);
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
#endregion
private DevExpress.XtraReports.UI.DetailBand Detail;
private DevExpress.XtraReports.UI.TopMarginBand TopMargin;
private DevExpress.XtraReports.UI.BottomMarginBand BottomMargin;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.DetailBand Detail1;
private System.Windows.Forms.BindingSource bindingSource1;
private DevExpress.XtraReports.UI.XRTable xrTable1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTable xrTable2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
private DevExpress.XtraReports.UI.FormattingRule Einzahlungstextsichtbarkeitsformatierungsregel;
private DevExpress.XtraReports.UI.FormattingRule Auszahlungstextsichtbarkeitsformatierungsregel;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader1;
}
}

View File

@@ -0,0 +1,23 @@
using System.Linq;
using BeWo.Report.ReportObjects;
namespace BeWo.Report.DefaultReports
{
public partial class CustomerListReport : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<CustomerListRO>
{
public CustomerListReport()
{
InitializeComponent();
}
public void SetReportDataSource(CustomerListRO pRO)
{
//if (pRO.Transaktionen != null)
//{
// pRO.Transaktionen = pRO.Transaktionen.OrderBy(o => o.Belegdatum).ToList();
//}
bindingSource1.DataSource = pRO;
}
}
}

View 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>

View File

@@ -148,6 +148,7 @@ namespace BeWo.Report.DefaultReports
// xrTableCell5
//
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.Text = " ";
this.xrTableCell5.Weight = 1D;
//
// bindingSource1

View File

@@ -136,6 +136,12 @@
<Compile Include="DefaultReports\BudgetnachweisAnhang.Designer.cs">
<DependentUpon>BudgetnachweisAnhang.cs</DependentUpon>
</Compile>
<Compile Include="DefaultReports\CustomerListReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="DefaultReports\CustomerListReport.Designer.cs">
<DependentUpon>CustomerListReport.cs</DependentUpon>
</Compile>
<Compile Include="DefaultReports\RatingReport.cs">
<SubType>Component</SubType>
</Compile>
@@ -431,6 +437,7 @@
<Compile Include="DefaultReportCreator.cs" />
<Compile Include="ReportObjects\AbwesenheitsPrintRO.cs" />
<Compile Include="ReportObjects\BudgetnachweisAnhangRO.cs" />
<Compile Include="ReportObjects\CustomerListRO.cs" />
<Compile Include="ReportObjects\RatingRO.cs" />
<Compile Include="ReportObjects\EmployeeCustomerListRO.cs" />
<Compile Include="ReportObjects\FlsAuslastungsauswertungRO.cs" />
@@ -489,6 +496,10 @@
<DependentUpon>BudgetnachweisAnhang.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DefaultReports\CustomerListReport.resx">
<DependentUpon>CustomerListReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DefaultReports\RatingReport.resx">
<DependentUpon>RatingReport.cs</DependentUpon>
<SubType>Designer</SubType>

View File

@@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BS.Shared.Core;
using BS.Shared.DataContracts.Compact;
namespace BeWo.Report.ReportObjects
{
public class CustomerListRO : AbstractBeWoReportObject<CustomerListRO>
{
public List<CustomerDataRO> CustomerList { get; set; }
public static CustomerListRO Create(List<long> oids)
{
var ro = new CustomerListRO();
ro.CustomerList = new List<CustomerDataRO>();
var customers = DAOFactory.GenericDAO.LoadByIDs<Customer>(oids);
var dclist = MapperFactory.CustomerDC_Customer.MapToNewDCs(customers);
foreach (var item in dclist)
{
var customerRO = CustomerDataRO.Create(item);
ro.CustomerList.Add(customerRO);
}
return ro;
}
}
}

View File

@@ -583,19 +583,24 @@ namespace AWOMuensterlandRecklinghausen.Reporting
fax = kostentraegerKontaktperson.Contacts.FirstOrDefault(c => c.Type == BS.Shared.ContactType.business_Fax);
}
cr.KostentraegerAnsprechpartnerKontaktdaten = new KostentraegerAnsprechpartnerKontaktdaten()
//cr.KostentraegerAnsprechpartnerKontaktdaten = new KostentraegerAnsprechpartnerKontaktdaten()
var ktKontakt = new KostentraegerAnsprechpartnerKontaktdaten();
ktKontakt.Person = kostentraegerKontaktperson;
ktKontakt.LastNameFirstName = kostentraegerKontaktperson.LastName + ", " + kostentraegerKontaktperson.FirstName;
if (kostentraegerKontaktperson.Address != null)
{
Person = kostentraegerKontaktperson,
LastNameFirstName = kostentraegerKontaktperson.LastName + ", " + kostentraegerKontaktperson.FirstName,
Strasse = kostentraegerKontaktperson.Address.Street,
Ort = kostentraegerKontaktperson.Address.Town,
Postleitzahl = kostentraegerKontaktperson.Address.PostalCode,
Mailadresse = mail != null && mail.Value != null ? mail.Value : "",
Telefonnummer = telefon != null && telefon.Value != null ? telefon.Value : "",
Handynummer = mobil != null && mobil.Value != null ? mobil.Value : "",
Fax = fax != null && fax.Value != null ? fax.Value : "",
};
if (kostentraegerKontaktperson.Sex == BS.Shared.Sex.Male)
ktKontakt.Strasse = kostentraegerKontaktperson.Address.Street;
ktKontakt.Ort = kostentraegerKontaktperson.Address.Town;
ktKontakt.Postleitzahl = kostentraegerKontaktperson.Address.PostalCode;
}
ktKontakt.Mailadresse = mail != null && mail.Value != null ? mail.Value : "";
ktKontakt.Telefonnummer = telefon != null && telefon.Value != null ? telefon.Value : "";
ktKontakt.Handynummer = mobil != null && mobil.Value != null ? mobil.Value : "";
ktKontakt.Fax = fax != null && fax.Value != null ? fax.Value : "";
cr.KostentraegerAnsprechpartnerKontaktdaten = ktKontakt;
if(kostentraegerKontaktperson.Sex == BS.Shared.Sex.Male)
{
cr.KostentraegerAnsprechpartnerKontaktdaten.Gender = "m";
}

View File

@@ -111,6 +111,7 @@ namespace AkggMid
{
return true;
}
public override MitarbeiterstundenkontoRO.DayDetail CreateDayDetail(DateTime date, MitarbeiterstundenkontoRO.EmployeeDetail ed)
{
var dd = base.CreateDayDetail(date, ed);
@@ -122,7 +123,8 @@ namespace AkggMid
return dd;
}
public override MitarbeiterstundenkontoRO.EmployeeDetail BerechneUeberstundenBis(MitarbeiterstundenkontoRO.EmployeeDetail edOrig, IList<ServiceRecord> records, DateTime monat, out decimal? ueberstunden, out decimal alteExtraUeberstunden)
public override MitarbeiterstundenkontoRO.EmployeeDetail BerechneUeberstundenBis(MitarbeiterstundenkontoRO.EmployeeDetail edOrig, IList<ServiceRecord> records, DateTime monat, out decimal? ueberstunden, out decimal alteExtraUeberstunden)
{
DateTime stichTag = new DateTime(2023, 9, 1);

View File

@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
@@ -21,10 +22,14 @@ namespace AkggMid
{
var msb = new CustomMitarbeiterstundenkontoBerechnung();
msb.CreateReport(pRO);
foreach (var ed in pRO.EmployeeDetailList)
{
var c = ed.Employee.GetValidContractForDate(pRO.ReportStartDate);
var c = ed.Employee.GetValidContractForDate(pRO.ReportEndDate);
if (c == null)
{
c = ed.Employee.GetValidContractForDate(pRO.ReportStartDate);
}
if (c != null)
{
if (c.MonthlyTotalHours.HasValue)
@@ -42,46 +47,106 @@ namespace AkggMid
// Alles in Custom6 / 7 / 8 / 9 schreiben
foreach (var empDetail in pRO.EmployeeDetailList)
{
var newDayList = new List<MitarbeiterstundenkontoRO.DayDetail>();
foreach (var day in empDetail.Days)
{
if (day.AbsenceTimes != null && day.AbsenceTimes.Count > 0)
{
var hours = day.HoursSick + day.HoursInVacation;
empDetail.StundenGesamtIst += hours;
}
if (day.ServiceRecords != null && day.ServiceRecords.Count > 0)
{
foreach (var sr in day.ServiceRecords)
{
var dd = new MitarbeiterstundenkontoRO.DayDetail();
dd.Date = day.Date;
dd.ServiceRecords = new List<ServiceRecord>();
dd.ServiceRecords.Add(sr);
newDayList.Add(dd);
}
}
else
{
newDayList.Add(day);
}
}
empDetail.Days = newDayList;
foreach (var day in empDetail.Days)
{
string custom6 = "";
string custom7 = "";
string custom8 = "";
string custom9 = "";
if (day.AbsenceTimes != null && day.AbsenceTimes.Count > 0)
{
{
var hours = day.HoursSick + day.HoursInVacation;
custom7 = day.AbsenceTimes[0].AbsenceReason.Description + "\n";
custom9 += string.Format("{0:0.00}\n", hours);
empDetail.StundenGesamtIst += hours;
custom7 = day.AbsenceTimes[0].AbsenceReason.Description;
custom9 += string.Format("{0:0.00}", hours);
}
if (day.ServiceRecords != null)
{
if (day.IstFeiertag)
if (day.IstFeiertag)
{
custom6 = "keine*r";
if (custom7.Length > 0)
{
custom6 += "keine*r\n";
custom7 += day.Feiertag.Name + "\n";
custom8 += "-\n";
}
custom7 += "\n";
}
custom7 += day.Feiertag.Name;
custom8 = "-";
}
if (day.ServiceRecords != null && day.ServiceRecords.Count > 0)
{
foreach (var sr in day.ServiceRecords)
{
if (custom7.Length > 0)
{
custom7 += "\n";
}
custom7 += sr.ServiceDescription.ServiceCategory.Name + "\n";
if (custom8.Length > 0)
{
custom8 += "\n";
}
custom8 += sr.ServiceDescription.Name + "\n";
if (sr.Group != null && sr.GroupRoundedDuration.HasValue && sr.GroupPersonCount.HasValue && sr.GroupPersonCount.Value > 1)
{
foreach (var gsr in sr.Group.ServiceRecordList)
{
{
foreach (var gsr in sr.Group.ServiceRecordList)
{
if (custom6.Length > 0)
{
custom6 += "\n";
}
custom6 += gsr.SupportConcept != null ? gsr.SupportConcept.Customer.Person.FirstNameLastName + "\n" : "";
}
if (custom9.Length > 0)
{
custom9 += "\n";
}
custom9 += string.Format("{0:0.00}\n", sr.GroupRoundedDuration / 60);
}
else
{
{
if (custom6.Length > 0)
{
custom6 += "\n";
}
custom6 += sr.SupportConcept != null ? sr.SupportConcept.Customer.Person.FirstNameLastName + "\n" : "keine*r\n";
if (custom9.Length > 0)
{
custom9 += "\n";
}
custom9 += string.Format("{0:0.00}\n", sr.RoundedDuration / 60);
}
}
@@ -92,7 +157,7 @@ namespace AkggMid
day.Custom8 = custom8;
day.Custom9 = custom9;
}
}
}
this.bindingSource1.DataSource = pRO;
}

View File

@@ -96,6 +96,8 @@ namespace AsbMoenchengladbach
this.lblUnterschriftMitarbeiter = new DevExpress.XtraReports.UI.XRLabel();
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
this.fieldFls = new DevExpress.XtraReports.UI.CalculatedField();
this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo();
this.xrPageInfo2 = new DevExpress.XtraReports.UI.XRPageInfo();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
@@ -726,6 +728,8 @@ namespace AsbMoenchengladbach
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPageInfo2,
this.xrPageInfo1,
this.xrTable1,
this.lblUnterschriftKlient,
this.lblUnterschriftMitarbeiter});
@@ -905,6 +909,24 @@ namespace AsbMoenchengladbach
this.fieldFls.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
this.fieldFls.Name = "fieldFls";
//
// xrPageInfo1
//
this.xrPageInfo1.Format = "{0:dd.MM.yyyy},";
this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 102.2083F);
this.xrPageInfo1.Name = "xrPageInfo1";
this.xrPageInfo1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 96F);
this.xrPageInfo1.PageInfo = DevExpress.XtraPrinting.PageInfo.DateTime;
this.xrPageInfo1.SizeF = new System.Drawing.SizeF(83.33334F, 17.79169F);
//
// xrPageInfo2
//
this.xrPageInfo2.Format = "{0:dd.MM.yyyy},";
this.xrPageInfo2.LocationFloat = new DevExpress.Utils.PointFloat(415.8585F, 102.2083F);
this.xrPageInfo2.Name = "xrPageInfo2";
this.xrPageInfo2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrPageInfo2.PageInfo = DevExpress.XtraPrinting.PageInfo.DateTime;
this.xrPageInfo2.SizeF = new System.Drawing.SizeF(84.14154F, 17.79169F);
//
// Quittierungsbeleg
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -1003,5 +1025,7 @@ namespace AsbMoenchengladbach
private DevExpress.XtraReports.UI.XRTableCell xrTableCell23;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell27;
private DevExpress.XtraReports.UI.CalculatedField fieldFls;
private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo1;
private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo2;
}
}

View File

@@ -74,7 +74,7 @@
<Compile Include="Invoicing\CustomInvoiceCreation.cs" />
<Compile Include="Invoicing\CustomInvoiceFactory.cs" />
<Compile Include="Invoicing\CustomInvoiceNumberGenerator.cs" />
<Compile Include="Invoicing\ChristophorusPoolInvoiceCreation.cs" />
<Compile Include="Invoicing\PoolInvoiceCreation.cs" />
<Compile Include="LeistungsnachweisSbd.cs">
<SubType>Component</SubType>
</Compile>

View File

@@ -24,7 +24,7 @@ namespace AsbRheinErftDuerenSBD.Invoicing
return new CustomInvoiceCreationAldenhoven();
}
else if (sc.CostBearer.Contains("Sozialamt Düren Pools"))
return new ChristophorusPoolInvoiceCreation();
return new PoolInvoiceCreation();
//else if (sc.CostBearer.Contains("Sozialamt Kreis Düren"))
//{
// return new CustomInvoiceCreationAldenhoven();

View File

@@ -10,7 +10,7 @@ using System.Linq;
namespace AsbRheinErftDuerenSBD.Invoicing
{
public class ChristophorusPoolInvoiceCreation : InvoiceCreation
public class PoolInvoiceCreation : InvoiceCreation
{
public override void SetInvoiceId(ServiceInvoice invoice)
{
@@ -42,11 +42,11 @@ namespace AsbRheinErftDuerenSBD.Invoicing
if (team == null)
return;
var anzFK = 0;
decimal anzFK = 0;
var preiseFK = DAOFactory.GenericDAO.GetAllActive<ServiceCategory>().FirstOrDefault(sc => sc.Name == "Pool - Fachkraft (FK)").CostRatePeriods.ToList();
var anzHK = 0;
decimal anzHK = 0;
var preiseHK = DAOFactory.GenericDAO.GetAllActive<ServiceCategory>().FirstOrDefault(sc => sc.Name == "Pool-Nichtfachkraft (HK)").CostRatePeriods.ToList();
var anzHKTeilzeit = 0;
decimal anzHKTeilzeit = 0;
var preiseHKTeilzeit = DAOFactory.GenericDAO.GetAllActive<ServiceCategory>().FirstOrDefault(sc => sc.Name == "Pool-Nichtfachkraft(HK)").CostRatePeriods.ToList();
var employee = MapperFactory.EmployeeDC_Employee.MapToNewDCs(DAOFactory.GenericDAO.GetActiveByIDs<Employee>(team.Member.Select(m => m.EmployeeOid).ToList()));
@@ -55,16 +55,26 @@ namespace AsbRheinErftDuerenSBD.Invoicing
foreach (var e in employee)
{
if (allServiceRecords.Any(s => s.EmployeeOid == e.EmployeeOid && s.ServiceDescription.ServiceCategory.Name.ToLower().Contains("poolpauschale")))
var sr = allServiceRecords.FirstOrDefault(s => s.EmployeeOid == e.EmployeeOid && s.ServiceDescription.ServiceCategory.Name.ToLower().Contains("poolpauschale"));
if (sr != null)
{
serviceInvoicePeriod.Notice += e.FirstName + " " + e.LastName + ", ";
// Wenn Mitarbeiter erst Mitte oder 3/4 des Monats angefangen hat, wird der Anteil um 50 bzw 75% verringert
if (e.LastName.Contains("Bugla") && e.FirstName.Contains("Frank")) // Hier Ausnahme, also Teilzeit-MA, einfügen
anzHKTeilzeit++;
{
anzHKTeilzeit += VerringerungUeberpruefen(sr);
}
else if (e.IsQualified.HasValue && e.IsQualified.Value)
anzFK++;
{
anzFK += VerringerungUeberpruefen(sr);
}
else if (!e.IsQualified.HasValue || e.IsQualified.HasValue && !e.IsQualified.Value)
anzHK++;
{
anzHK += VerringerungUeberpruefen(sr);
}
}
}
if (!serviceInvoicePeriod.Notice.IsNullOrEmpty())
@@ -126,6 +136,16 @@ namespace AsbRheinErftDuerenSBD.Invoicing
}
}
private decimal VerringerungUeberpruefen(ServiceRecord sr)
{
if (sr.ServiceDescription.Name.Contains("50%"))
return 0.5m;
else if (sr.ServiceDescription.Name.Contains("25%"))
return 0.25m;
else
return 1m;
}
private static decimal GetPreis(DateTime datum, List<CostRatePeriod> preise)
{
var preis = 0.0m;

File diff suppressed because it is too large Load Diff

View File

@@ -12,6 +12,8 @@ using DevExpress.XtraReports.UI;
using BeWo.Report.ReportObjects;
using BS.Shared.Extensions;
using BeWo.Service.DCEntityMapper;
using System.Collections.Generic;
using BS.Shared.DataContracts;
namespace BeWo.HPHBersenbrueck
{
@@ -62,52 +64,59 @@ namespace BeWo.HPHBersenbrueck
lblBetreuerRolle.Text = hauptbetreuer.RelationRole.DisplayName;
lblBetreuerName.Text = hauptbetreuer.Person.FullName;
lblBetreuerStraße.Text = person.Address.Street;
lblBetreuerPlzOrt.Text = person.Address.PostalCode + " " + person.Address.Town;
lblBetreuerTelefon.Text = phone != null ? phone.Value : "-";
lblBetreuerHandy.Text = mobile != null ? mobile.Value : "-";
}
if (pRO.EnvironmentPersons.Count >= 1)
// Hier zwei Angehörige holen, die NICHT Gesetzlicher Vertreter, Allgemeinmediziner und Arzt sind. 2. Angehöriger zustätzl. != erster AngehörigerB
var angehoeriger1 = pRO.EnvironmentPersons.FirstOrDefault(p => !p.RelationRole.TypeDescription.ToLower().Contains("gesetzlicher vertreter")
&& !p.RelationRole.DisplayName.ToLower().Contains("allgemeinmediziner") && !p.RelationRole.DisplayName.ToLower().Contains("arzt"));
if (angehoeriger1 != null)
{
var p1 = pRO.EnvironmentPersons[0];
lblAngehoeriger1Verhaeltnis.Text = angehoeriger1.RelationRole.DisplayName;
lblAngehoeriger1Name.Text = angehoeriger1.Person.FullName;
lblAngehoeriger1Straße.Text = angehoeriger1.Person.Street;
lblAngehoeriger1PlzOrt.Text = angehoeriger1.Person.PostalCode + " " + angehoeriger1.Person.Town;
lblAngehoeriger1Telefon.Text = !angehoeriger1.Person.Communication1.IsNullOrEmpty() ? angehoeriger1.Person.Communication1 : "-";
lblAngehoeriger1Handy.Text = !angehoeriger1.Person.Communication2.IsNullOrEmpty() ? angehoeriger1.Person.Communication2 : "-";
lblAngehoeriger1Verhaeltnis.Text = p1.RelationRole.DisplayName;
lblAngehoeriger1Name.Text = p1.Person.FullName;
lblAngehoeriger1Straße.Text = p1.Person.Street;
lblAngehoeriger1PlzOrt.Text = p1.Person.PostalCode + " " + p1.Person.Town;
lblAngehoeriger1Telefon.Text = !p1.Person.Communication1.IsNullOrEmpty() ? p1.Person.Communication1 : "-";
lblAngehoeriger1Handy.Text = !p1.Person.Communication2.IsNullOrEmpty() ? p1.Person.Communication2 : "-";
}
if (pRO.EnvironmentPersons.Count >= 2)
{
var p2 = pRO.EnvironmentPersons[1];
var angehoeriger2 = pRO.EnvironmentPersons.FirstOrDefault(p => !p.RelationRole.TypeDescription.ToLower().Contains("gesetzlicher vertreter")
&& !p.RelationRole.DisplayName.ToLower().Contains("allgemeinmediziner") && !p.RelationRole.DisplayName.ToLower().Contains("arzt") && p.Customer2PersonOid != angehoeriger1.Customer2PersonOid);
if (angehoeriger2 != null)
{
var p2 = pRO.EnvironmentPersons[1];
lblAngehoeriger2Verhaeltnis.Text = p2.RelationRole.DisplayName;
lblAngehoeriger2Name.Text = p2.Person.FullName;
lblAngehoeriger2Straße.Text = p2.Person.Street;
lblAngehoeriger2PlzOrt.Text = p2.Person.PostalCode + " " + p2.Person.Town;
lblAngehoeriger2Telefon.Text = !p2.Person.Communication1.IsNullOrEmpty() ? p2.Person.Communication1 : "-";
lblAngehoeriger2Handy.Text = !p2.Person.Communication2.IsNullOrEmpty() ? p2.Person.Communication2 : "-";
lblAngehoeriger2Verhaeltnis.Text = p2.RelationRole.DisplayName;
lblAngehoeriger2Name.Text = p2.Person.FullName;
lblAngehoeriger2Straße.Text = p2.Person.Street;
lblAngehoeriger2PlzOrt.Text = p2.Person.PostalCode + " " + p2.Person.Town;
lblAngehoeriger2Telefon.Text = !p2.Person.Communication1.IsNullOrEmpty() ? p2.Person.Communication1 : "-";
lblAngehoeriger2Handy.Text = !p2.Person.Communication2.IsNullOrEmpty() ? p2.Person.Communication2 : "-";
}
}
var allgmemeinmediziner = pRO.EnvironmentPersons.FirstOrDefault(p => p.RelationRole.DisplayName.ToLower() == "allgemeinmediziner");
if (allgmemeinmediziner != null)
List<CustomerPersonRelationDC> c2pList = new List<CustomerPersonRelationDC>();
c2pList.AddRange(pRO.EnvironmentPersons.Where(p => p.RelationRole.DisplayName.ToLower() == "allgemeinmediziner" || p.RelationRole.DisplayName.ToLower().Contains("arzt")));
//var allgmemeinmediziner = pRO.EnvironmentPersons.FirstOrDefault(p => p.RelationRole.DisplayName.ToLower() == "allgemeinmediziner");
if (c2pList.Count >= 1)
{
lblAerztlVersorgung1Verhaeltnis.Text = allgmemeinmediziner.RelationRole.DisplayName;
lblAerztlVersorgung1Name.Text = allgmemeinmediziner.Person.FullName;
lblAerztlVersorgung1Straße.Text = allgmemeinmediziner.Person.Street;
lblAerztlVersorgung1PlzOrt.Text = allgmemeinmediziner.Person.PostalCode + " " + allgmemeinmediziner.Person.Town;
lblAerztlVersorgung1Telefon.Text = allgmemeinmediziner.Person.Communication1 != null ? allgmemeinmediziner.Person.Communication1 : "-";
lblAerztlVersorgung1Verhaeltnis.Text = c2pList[0].RelationRole.DisplayName;
lblAerztlVersorgung1Name.Text = c2pList[0].Person.FullName;
lblAerztlVersorgung1Straße.Text = c2pList[0].Person.Street;
lblAerztlVersorgung1PlzOrt.Text = c2pList[0].Person.PostalCode + " " + c2pList[0].Person.Town;
lblAerztlVersorgung1Telefon.Text = c2pList[0].Person.Communication1 != null ? c2pList[0].Person.Communication1 : "-";
}
var arzt = pRO.EnvironmentPersons.FirstOrDefault(p => p.RelationRole.DisplayName.ToLower().Contains("arzt"));
if (arzt != null)
//var arzt = pRO.EnvironmentPersons.FirstOrDefault(p => p.RelationRole.DisplayName.ToLower().Contains("arzt"));
if (c2pList.Count >= 1)
{
lblAerztlVersorgung2Verhaeltnis.Text = arzt.RelationRole.DisplayName;
lblAerztlVersorgung2Name.Text = arzt.Person.FullName;
lblAerztlVersorgung2Straße.Text = arzt.Person.Street;
lblAerztlVersorgung2PlzOrt.Text = arzt.Person.PostalCode + " " + arzt.Person.Town;
lblAerztlVersorgung2Telefon.Text = arzt.Person.Communication1 != null ? arzt.Person.Communication1 : "-";
lblAerztlVersorgung2Verhaeltnis.Text = c2pList[1].RelationRole.DisplayName;
lblAerztlVersorgung2Name.Text = c2pList[1].Person.FullName;
lblAerztlVersorgung2Straße.Text = c2pList[1].Person.Street;
lblAerztlVersorgung2PlzOrt.Text = c2pList[1].Person.PostalCode + " " + c2pList[1].Person.Town;
lblAerztlVersorgung2Telefon.Text = c2pList[1].Person.Communication1 != null ? c2pList[1].Person.Communication1 : "-";
}
}
//if (pRO.Customer.AssistanceBegin.HasValue)
@@ -116,11 +125,27 @@ namespace BeWo.HPHBersenbrueck
private void SetSupportConceptValue(CustomerDataRO pRO)
{
var sc = MapperFactory.SupportConceptDC_SupportConcept.MapToNewDCs(DAOFactory.SearchDAO.FindSupportConcept(pRO.FirstName, pRO.LastName, pRO.ReferenceNumber,
var allSCs = MapperFactory.SupportConceptDC_SupportConcept.MapToNewDCs(DAOFactory.SearchDAO.FindSupportConcept(pRO.FirstName, pRO.LastName, pRO.ReferenceNumber,
null, null).Where(s => s.IsActive == ActivationTypeId.Active).ToList());
if (sc != null && sc.Count > 0)
if (allSCs != null && allSCs.Count > 0)
{
var supportConcept = sc[0];
var supportConcept = allSCs[0];
// Hilfeplan raussuchen, der Direkte Leistung als Bewilligung hat, sonst den ersten
foreach (var sc in allSCs)
{
if (sc.CostBearerRelations != null && sc.CostBearerRelations.Count > 0)
{
foreach (var rel in sc.CostBearerRelations)
{
if (rel.ApprovalPeriodList != null && rel.ApprovalPeriodList.Count > 0)
{
if (rel.ApprovalPeriodList.Any(ap => ap.ServiceCategory != null && ap.ServiceCategory.Name.ToLower().Contains("direkte leistung")))
supportConcept = sc;
}
}
}
}
lblWichtigeInfosAktenzeichen.Text = supportConcept.Customer.CostBearerReferenceNumbers != null || supportConcept.Customer.CostBearerReferenceNumbers.Count > 0 ?
supportConcept.Customer.CostBearerReferenceNumbers.ElementAt(0).Value : "-";
@@ -137,7 +162,7 @@ namespace BeWo.HPHBersenbrueck
DateTime? enddate = null;
foreach (var ap in cbr.ApprovalPeriodList)
{
if (ap.ServiceCategory != null && ap.ServiceCategory.Name == "Direkte Leistung")
if (ap.ServiceCategory != null && ap.ServiceCategory.Name.ToLower().Contains("direkte leistung"))
{
startdate = ap.StartDate;
enddate = ap.EndDate;

View File

@@ -47,7 +47,18 @@ namespace KcmGmbH.Invoicing
var factorInSpanList = relDC.CostBearer.CostRatePeriods.GetSpans(CostRatePeriodType.RateFactor, start, end).ToList();
if (factorInSpanList.Count > 1)
return false;
return true;
foreach (var sr in GetBillableServiceRecords(c2s))
{
if (IsServiceRecordBillable(sr) && sr.DurationMinutes > 0)
{
if (sr.ServiceDescription.Name.ToLower().Contains("fehlkontakt") || (sr.ServiceDescription.ProzentAbrechnung.HasValue && sr.ServiceDescription.ProzentAbrechnung.Value < 100))
{
return false;
}
}
}
return true;
}
public override bool IsServiceRecordBillable(ServiceRecord iRecord)

View File

@@ -84,6 +84,12 @@
<Compile Include="SettlementReport.Designer.cs">
<DependentUpon>SettlementReport.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">
@@ -125,6 +131,10 @@
<DependentUpon>SettlementReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="SettlementReport2.resx">
<DependentUpon>SettlementReport2.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,56 @@
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using DevExpress.XtraReports.UI;
using BeWo.Report.ReportObjects;
using BeWo.Report;
using System.Text.RegularExpressions;
using BS.Shared.Extensions;
namespace BeWo.Report.DefaultReports
{
public partial class Spitzabrechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<Settlement2RO>
{
public Spitzabrechnung()
{
InitializeComponent();
}
public void SetReportDataSource(Settlement2RO pRO)
{
if (String.IsNullOrEmpty(pRO.Notice))
{
lblNotice.Visible = false;
}
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;
//if (!ii.ItemDescription.IsNullOrEmpty())
//{
//ii.AbrechnungsText = Regex.Replace(ii.DetailDescription, ii.ItemDescription, "Fehlkontakte");
//}
ii.AbrechnungsText = ii.AbrechnungsText.Replace("FLS", "Std.");
ii.ItemDescription = "Fehlkontakte";
}
else if (ii.ItemDescription.IsNullOrEmpty())
{
ii.ItemDescription = "Fachleistungsstunden";
}
}
pRO.RateFactor = (double)rateFactor;
this.bindingSource1.DataSource = pRO;
}
}
}

View File

@@ -0,0 +1,306 @@
<?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>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="xrPictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
/w00RSp1K+lA2AAAAABJRU5ErkJggg==
</value>
</data>
<data name="xrLabel6.Text" xml:space="preserve">
<value>anbei sende ich Ihnen die unterschriebenen Nachweise über die im Rahmen des Betreuten Wohnens für [Salutation2] [CustomerFirstName] [CustomerLastName] erbrachten Leistungen zu. Nach unserer Berechnung ergeben sich für den Betreuungszeitraum [AccountingPeriod] hieraus:
</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>
</root>

View File

@@ -1,174 +1,177 @@
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BeWo.Service.DCEntityMapper;
using BS.Shared.DataContracts;
using DevExpress.XtraReports.UI;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MobileEV
{
public class CustomReportCreator : DefaultReportCreator
using DevExpress.XtraReports.UI;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MobileEV
{
public class CustomReportCreator : DefaultReportCreator
{
public override XtraReport CreateSettlementReport(string dcId, long? invoiceBaseOid)
{
long result;
Settlement2DC lSettlementDC;
string cbName;
if (invoiceBaseOid.HasValue && invoiceBaseOid.Value > 0)
{
long invoiceOid = invoiceBaseOid.Value;
var ib = DAOFactory.GenericDAO.LoadByID<InvoiceBase>(invoiceOid);
cbName = ib.CostBearer2SupportConcept.CostBearer.Organisation.Name;
}
else
{
Int64.TryParse(dcId, out result);
lSettlementDC = MapperFactory.SettlementDC_SettlementInvoice.MapToNewDC(DAOFactory.GenericDAO.LoadByID<SettlementInvoice>(result));
cbName = lSettlementDC.RecipientOrganisation;
public override XtraReport CreateSettlementReport(string dcId, long? invoiceBaseOid)
{
long result;
Settlement2DC lSettlementDC;
string cbName;
if (invoiceBaseOid.HasValue && invoiceBaseOid.Value > 0)
{
long invoiceOid = invoiceBaseOid.Value;
var ib = DAOFactory.GenericDAO.LoadByID<InvoiceBase>(invoiceOid);
cbName = ib.CostBearer2SupportConcept.CostBearer.Organisation.Name;
}
else
{
Int64.TryParse(dcId, out result);
lSettlementDC = MapperFactory.SettlementDC_SettlementInvoice.MapToNewDC(DAOFactory.GenericDAO.LoadByID<SettlementInvoice>(result));
cbName = lSettlementDC.RecipientOrganisation;
}
if (cbName.Contains("Landschaftsverband Westfalen-Lippe") || cbName == "LWL")
return base.CreateSettlementReport(dcId, invoiceBaseOid, true);
return base.CreateSettlementReport(dcId, invoiceBaseOid, false);
}
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);
if (lROs.Count > 0)
{
var rootReport = CreateServicesOverviewReportForRo(lROs[0], serviceCategoryOid);
if (!lROs[0].Costbearer.Contains("Stadt Dortmund"))
rootReport.CreateDocument();
for (int i = 1; i < lROs.Count; i++)
{
var lNext = CreateServicesOverviewReportForRo(lROs[i], serviceCategoryOid);
if (!lROs[i].Costbearer.Contains("Stadt Dortmund"))
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);
}
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);
}
}
if (roList.Count > 0)
{
var rootReport = CreateServicesOverviewReportForRo(roList[0], serviceCategoryOid);
if (!roList[0].Costbearer.Contains("Stadt Dortmund"))
rootReport.CreateDocument();
for (int i = 1; i < roList.Count; i++)
{
var lNext = CreateServicesOverviewReportForRo(roList[i], serviceCategoryOid);
if (!roList[i].Costbearer.Contains("Stadt Dortmund"))
lNext.CreateDocument();
rootReport.Pages.AddRange(lNext.Pages);
}
return rootReport;
}
return new XtraReport();
}
private XtraReport CreateServicesOverviewReportForRo(ServicesOverviewRO ro, long? serviceCategoryOid)
{
//IBeWoReport<ServicesOverviewRO> report = null;
String kt = "";
if (!String.IsNullOrWhiteSpace(ro.Costbearer))
kt = ro.Costbearer.Trim();
if (kt == "Stadt Dortmund")
{
XtraReport report = null;
var leistungsnachweisRO = ServicesOverviewRO.CopyFromRO(ro);
leistungsnachweisRO.Services = ro.Services;
var taetigkeitsnachweisRO = ServicesOverviewRO.CopyFromRO(ro);
taetigkeitsnachweisRO.Services = ro.Services;
report = AddReportToReport<Leistungsnachweis>(report, leistungsnachweisRO);
report = AddReportToReport<Taetigkeitsnachweis>(report, taetigkeitsnachweisRO);
//report = new Leistungsnachweis();
//var xReport = report as XtraReport;
//var taetigkeitsnachweis = new Taetigkeitsnachweis();
//taetigkeitsnachweis.SetReportDataSource(taetigkeitsnachweisRO);
//xReport.Pages.AddRange((taetigkeitsnachweis as XtraReport).Pages);
//xReport.CreateDocument();
return report;
}
else
{
IBeWoReport<ServicesOverviewRO> report = null;
if (report == null)
report = new Quittierungsbeleg();
report.SetReportDataSource(ro);
return report as XtraReport;
}
}
private XtraReport AddReportToReport<T>(XtraReport report, ServicesOverviewRO ro) where T : XtraReport, IBeWoReport<ServicesOverviewRO>, new()
{
if (ro.Services.Count > 0)
{
if (report == null)
{
report = new T();
((T)report).SetReportDataSource(ro);
}
else
{
if (report.Pages.Count == 0)
report.CreateDocument();
XtraReport newReport = new T();
((T)newReport).SetReportDataSource(ro);
newReport.CreateDocument();
report.Pages.AddRange(newReport.Pages);
}
}
return report;
}
}
}
if (cbName.Contains("Landschaftsverband Westfalen-Lippe") || cbName == "LWL")
return base.CreateSettlementReport(dcId, invoiceBaseOid, true);
return base.CreateSettlementReport(dcId, invoiceBaseOid, false);
}
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);
if (lROs.Count > 0)
{
var rootReport = CreateServicesOverviewReportForRo(lROs[0], serviceCategoryOid);
if (!lROs[0].Costbearer.Contains("Stadt Dortmund") && !lROs[0].Costbearer.Contains("Stadt Bergkamen"))
rootReport.CreateDocument();
for (int i = 1; i < lROs.Count; i++)
{
var lNext = CreateServicesOverviewReportForRo(lROs[i], serviceCategoryOid);
if (!lROs[i].Costbearer.Contains("Stadt Dortmund") && !lROs[i].Costbearer.Contains("Stadt Bergkamen"))
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);
}
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);
}
}
if (roList.Count > 0)
{
var rootReport = CreateServicesOverviewReportForRo(roList[0], serviceCategoryOid);
if (!roList[0].Costbearer.Contains("Stadt Dortmund") && !roList[0].Costbearer.Contains("Stadt Bergkamen"))
rootReport.CreateDocument();
for (int i = 1; i < roList.Count; i++)
{
var lNext = CreateServicesOverviewReportForRo(roList[i], serviceCategoryOid);
if (!roList[i].Costbearer.Contains("Stadt Dortmund") && !roList[i].Costbearer.Contains("Stadt Bergkamen"))
lNext.CreateDocument();
rootReport.Pages.AddRange(lNext.Pages);
}
return rootReport;
}
return new XtraReport();
}
private XtraReport CreateServicesOverviewReportForRo(ServicesOverviewRO ro, long? serviceCategoryOid)
{
//IBeWoReport<ServicesOverviewRO> report = null;
String kt = "";
if (!String.IsNullOrWhiteSpace(ro.Costbearer))
kt = ro.Costbearer.Trim();
if (kt == "Stadt Dortmund" || kt == "Stadt Bergkamen")
{
XtraReport report = null;
var leistungsnachweisRO = ServicesOverviewRO.CopyFromRO(ro);
leistungsnachweisRO.Services = ro.Services;
var taetigkeitsnachweisRO = ServicesOverviewRO.CopyFromRO(ro);
taetigkeitsnachweisRO.Services = ro.Services;
report = AddReportToReport<Leistungsnachweis>(report, leistungsnachweisRO);
if(ro.StartDate >= new DateTime(2023, 09, 01))
report = AddReportToReport<TaetigkeitsnachweisAbSept2023>(report, taetigkeitsnachweisRO);
else
report = AddReportToReport<Taetigkeitsnachweis>(report, taetigkeitsnachweisRO);
//report = new Leistungsnachweis();
//var xReport = report as XtraReport;
//var taetigkeitsnachweis = new Taetigkeitsnachweis();
//taetigkeitsnachweis.SetReportDataSource(taetigkeitsnachweisRO);
//xReport.Pages.AddRange((taetigkeitsnachweis as XtraReport).Pages);
//xReport.CreateDocument();
return report;
}
else
{
IBeWoReport<ServicesOverviewRO> report = null;
if (report == null)
report = new Quittierungsbeleg();
report.SetReportDataSource(ro);
return report as XtraReport;
}
}
private XtraReport AddReportToReport<T>(XtraReport report, ServicesOverviewRO ro) where T : XtraReport, IBeWoReport<ServicesOverviewRO>, new()
{
if (ro.Services.Count > 0)
{
if (report == null)
{
report = new T();
((T)report).SetReportDataSource(ro);
}
else
{
if (report.Pages.Count == 0)
report.CreateDocument();
XtraReport newReport = new T();
((T)newReport).SetReportDataSource(ro);
newReport.CreateDocument();
report.Pages.AddRange(newReport.Pages);
}
}
return report;
}
}
}

View File

@@ -64,6 +64,12 @@
<Compile Include="Sammelrechnung.Designer.cs">
<DependentUpon>Sammelrechnung.cs</DependentUpon>
</Compile>
<Compile Include="TaetigkeitsnachweisAbSept2023.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="TaetigkeitsnachweisAbSept2023.Designer.cs">
<DependentUpon>TaetigkeitsnachweisAbSept2023.cs</DependentUpon>
</Compile>
<Compile Include="Taetigkeitsnachweis.cs">
<SubType>Component</SubType>
</Compile>
@@ -128,6 +134,10 @@
<EmbeddedResource Include="Sammelrechnung.resx">
<DependentUpon>Sammelrechnung.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="TaetigkeitsnachweisAbSept2023.resx">
<DependentUpon>TaetigkeitsnachweisAbSept2023.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Taetigkeitsnachweis.resx">
<DependentUpon>Taetigkeitsnachweis.cs</DependentUpon>
<SubType>Designer</SubType>

View File

@@ -246,9 +246,9 @@ namespace MobileEV
this.picSignature.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.picSignature.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Tag", null, "Services.Signature")});
this.picSignature.LocationFloat = new DevExpress.Utils.PointFloat(37.22203F, 3.178914E-05F);
this.picSignature.LocationFloat = new DevExpress.Utils.PointFloat(6.357829E-05F, 3.178914E-05F);
this.picSignature.Name = "picSignature";
this.picSignature.SizeF = new System.Drawing.SizeF(407.0374F, 36.66667F);
this.picSignature.SizeF = new System.Drawing.SizeF(229F, 36.66667F);
this.picSignature.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
this.picSignature.StylePriority.UseBorders = false;
this.picSignature.BeforePrint += new System.Drawing.Printing.PrintEventHandler(this.picSignature_BeforePrint);

View File

@@ -0,0 +1,901 @@
using BeWo.Report.ReportObjects;
namespace MobileEV
{
partial class TaetigkeitsnachweisAbSept2023
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow6 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
this.picSignature = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrTableCell39 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow9 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell33 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell32 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell34 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell36 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell38 = 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.xrLabel27 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel28 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel26 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel25 = new DevExpress.XtraReports.UI.XRLabel();
this.formattingRuleServiceDesc = new DevExpress.XtraReports.UI.FormattingRule();
this.formattingRuleCostBearer = new DevExpress.XtraReports.UI.FormattingRule();
this.formattingRuleEmployeeName = new DevExpress.XtraReports.UI.FormattingRule();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel20 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel21 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel23 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel22 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel24 = new DevExpress.XtraReports.UI.XRLabel();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell41 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell42 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell44 = new DevExpress.XtraReports.UI.XRTableCell();
this.lblUnterschriftKlient = new DevExpress.XtraReports.UI.XRLabel();
this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
//
this.Detail.Expanded = false;
this.Detail.HeightF = 0F;
this.Detail.Name = "Detail";
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail1,
this.GroupHeader1});
this.DetailReport.DataMember = "Services";
this.DetailReport.DataSource = this.bindingSource1;
this.DetailReport.Level = 0;
this.DetailReport.Name = "DetailReport";
this.DetailReport.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.DetailReport.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// Detail1
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable2});
this.Detail1.HeightF = 36.66669F;
this.Detail1.Name = "Detail1";
this.Detail1.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.Detail1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrTable2
//
this.xrTable2.BorderColor = System.Drawing.Color.Black;
this.xrTable2.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable2.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow6});
this.xrTable2.SizeF = new System.Drawing.SizeF(1097.792F, 36.66669F);
this.xrTable2.StylePriority.UseFont = false;
this.xrTable2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrTableRow6
//
this.xrTableRow6.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell2,
this.xrTableCell10,
this.xrTableCell12,
this.xrTableCell13,
this.xrTableCell14,
this.xrTableCell15,
this.xrTableCell39});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableRow6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableRow6.Weight = 1D;
//
// xrTableCell2
//
this.xrTableCell2.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.StartDate", "{0:dd.MM.yy}")});
this.xrTableCell2.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 0, 100F);
this.xrTableCell2.StylePriority.UseBorders = false;
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UsePadding = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell2.Weight = 0.094696981389528381D;
//
// xrTableCell10
//
this.xrTableCell10.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell10.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.StartDateMinutes", "{0:HH:mm\' Uhr\'}")});
this.xrTableCell10.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell10.Multiline = true;
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 0, 100F);
this.xrTableCell10.StylePriority.UseBorders = false;
this.xrTableCell10.StylePriority.UseFont = false;
this.xrTableCell10.StylePriority.UsePadding = false;
this.xrTableCell10.StylePriority.UseTextAlignment = false;
this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell10.Weight = 0.10404207673618091D;
//
// xrTableCell12
//
this.xrTableCell12.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.EndDateMinutes", "{0:HH:mm\' Uhr\'}")});
this.xrTableCell12.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell12.Multiline = true;
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 0, 100F);
this.xrTableCell12.StylePriority.UseBorders = false;
this.xrTableCell12.StylePriority.UseFont = false;
this.xrTableCell12.StylePriority.UsePadding = false;
this.xrTableCell12.StylePriority.UseTextAlignment = false;
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell12.Weight = 0.10404207673618091D;
//
// xrTableCell13
//
this.xrTableCell13.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell13.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.Minutes", "{0:0.00}")});
this.xrTableCell13.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 0, 100F);
this.xrTableCell13.StylePriority.UseBorders = false;
this.xrTableCell13.StylePriority.UseFont = false;
this.xrTableCell13.StylePriority.UsePadding = false;
this.xrTableCell13.StylePriority.UseTextAlignment = false;
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell13.Weight = 0.10404207673618091D;
//
// xrTableCell14
//
this.xrTableCell14.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.ServiceDescription")});
this.xrTableCell14.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 0, 100F);
this.xrTableCell14.StylePriority.UseBorders = false;
this.xrTableCell14.StylePriority.UseFont = false;
this.xrTableCell14.StylePriority.UsePadding = false;
this.xrTableCell14.StylePriority.UseTextAlignment = false;
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell14.Weight = 0.21099152472336874D;
//
// xrTableCell15
//
this.xrTableCell15.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell15.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.picSignature});
this.xrTableCell15.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell15.Name = "xrTableCell15";
this.xrTableCell15.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 0, 100F);
this.xrTableCell15.StylePriority.UseBorders = false;
this.xrTableCell15.StylePriority.UseFont = false;
this.xrTableCell15.StylePriority.UsePadding = false;
this.xrTableCell15.StylePriority.UseTextAlignment = false;
this.xrTableCell15.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell15.Weight = 0.2382376505443205D;
//
// picSignature
//
this.picSignature.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.picSignature.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Tag", null, "Services.Signature")});
this.picSignature.LocationFloat = new DevExpress.Utils.PointFloat(37.22203F, 3.178914E-05F);
this.picSignature.Name = "picSignature";
this.picSignature.SizeF = new System.Drawing.SizeF(407.0374F, 36.66667F);
this.picSignature.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
this.picSignature.StylePriority.UseBorders = false;
this.picSignature.BeforePrint += new System.Drawing.Printing.PrintEventHandler(this.picSignature_BeforePrint);
//
// xrTableCell39
//
this.xrTableCell39.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell39.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell39.Name = "xrTableCell39";
this.xrTableCell39.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 0, 100F);
this.xrTableCell39.StylePriority.UseBorders = false;
this.xrTableCell39.StylePriority.UseFont = false;
this.xrTableCell39.StylePriority.UsePadding = false;
this.xrTableCell39.StylePriority.UseTextAlignment = false;
this.xrTableCell39.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell39.Weight = 0.2382376505443205D;
//
// GroupHeader1
//
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable1});
this.GroupHeader1.HeightF = 36.66669F;
this.GroupHeader1.Name = "GroupHeader1";
this.GroupHeader1.RepeatEveryPage = true;
//
// xrTable1
//
this.xrTable1.BorderColor = System.Drawing.Color.Black;
this.xrTable1.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable1.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow9});
this.xrTable1.SizeF = new System.Drawing.SizeF(1097.792F, 36.66669F);
this.xrTable1.StylePriority.UseFont = false;
this.xrTable1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrTableRow9
//
this.xrTableRow9.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell33,
this.xrTableCell32,
this.xrTableCell34,
this.xrTableCell35,
this.xrTableCell36,
this.xrTableCell37,
this.xrTableCell38});
this.xrTableRow9.Name = "xrTableRow9";
this.xrTableRow9.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableRow9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableRow9.Weight = 1D;
//
// xrTableCell33
//
this.xrTableCell33.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell33.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell33.Name = "xrTableCell33";
this.xrTableCell33.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 0, 100F);
this.xrTableCell33.StylePriority.UseBorders = false;
this.xrTableCell33.StylePriority.UseFont = false;
this.xrTableCell33.StylePriority.UsePadding = false;
this.xrTableCell33.StylePriority.UseTextAlignment = false;
this.xrTableCell33.Text = "Datum";
this.xrTableCell33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell33.Weight = 0.094696981389528381D;
//
// xrTableCell32
//
this.xrTableCell32.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell32.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell32.Multiline = true;
this.xrTableCell32.Name = "xrTableCell32";
this.xrTableCell32.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 0, 100F);
this.xrTableCell32.StylePriority.UseBorders = false;
this.xrTableCell32.StylePriority.UseFont = false;
this.xrTableCell32.StylePriority.UsePadding = false;
this.xrTableCell32.StylePriority.UseTextAlignment = false;
this.xrTableCell32.Text = "Uhrzeit\r\nvon";
this.xrTableCell32.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell32.Weight = 0.10404207673618091D;
//
// xrTableCell34
//
this.xrTableCell34.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell34.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell34.Multiline = true;
this.xrTableCell34.Name = "xrTableCell34";
this.xrTableCell34.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 0, 100F);
this.xrTableCell34.StylePriority.UseBorders = false;
this.xrTableCell34.StylePriority.UseFont = false;
this.xrTableCell34.StylePriority.UsePadding = false;
this.xrTableCell34.StylePriority.UseTextAlignment = false;
this.xrTableCell34.Text = "\r\nbis";
this.xrTableCell34.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell34.Weight = 0.10404207673618091D;
//
// xrTableCell35
//
this.xrTableCell35.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell35.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell35.Name = "xrTableCell35";
this.xrTableCell35.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 0, 100F);
this.xrTableCell35.StylePriority.UseBorders = false;
this.xrTableCell35.StylePriority.UseFont = false;
this.xrTableCell35.StylePriority.UsePadding = false;
this.xrTableCell35.StylePriority.UseTextAlignment = false;
this.xrTableCell35.Text = "Geleistete FLS";
this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell35.Weight = 0.10404207673618091D;
//
// xrTableCell36
//
this.xrTableCell36.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell36.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell36.Name = "xrTableCell36";
this.xrTableCell36.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 0, 100F);
this.xrTableCell36.StylePriority.UseBorders = false;
this.xrTableCell36.StylePriority.UseFont = false;
this.xrTableCell36.StylePriority.UsePadding = false;
this.xrTableCell36.StylePriority.UseTextAlignment = false;
this.xrTableCell36.Text = "Tätigkeit *";
this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell36.Weight = 0.21099152472336874D;
//
// xrTableCell37
//
this.xrTableCell37.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell37.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell37.Name = "xrTableCell37";
this.xrTableCell37.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 0, 100F);
this.xrTableCell37.StylePriority.UseBorders = false;
this.xrTableCell37.StylePriority.UseFont = false;
this.xrTableCell37.StylePriority.UsePadding = false;
this.xrTableCell37.Text = "Unterschrift Personen-sorgeberechtigte/r **";
this.xrTableCell37.Weight = 0.2382376505443205D;
//
// xrTableCell38
//
this.xrTableCell38.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell38.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell38.Name = "xrTableCell38";
this.xrTableCell38.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 0, 100F);
this.xrTableCell38.StylePriority.UseBorders = false;
this.xrTableCell38.StylePriority.UseFont = false;
this.xrTableCell38.StylePriority.UsePadding = false;
this.xrTableCell38.Text = "Name und Unterschrift der Fachkraft";
this.xrTableCell38.Weight = 0.2382376505443205D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServicesOverviewRO);
//
// formattingRuleStartDate
//
this.formattingRuleStartDate.Condition = "[StartDate2] < [StartDate]";
this.formattingRuleStartDate.DataMember = "ServicesDouble";
this.formattingRuleStartDate.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.formattingRuleStartDate.Name = "formattingRuleStartDate";
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel27,
this.xrLabel28,
this.xrLabel26,
this.xrLabel25});
this.ReportHeader.HeightF = 31.45835F;
this.ReportHeader.Name = "ReportHeader";
//
// xrLabel27
//
this.xrLabel27.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrLabel27.ForeColor = System.Drawing.Color.Black;
this.xrLabel27.LocationFloat = new DevExpress.Utils.PointFloat(533.889F, 0F);
this.xrLabel27.Multiline = true;
this.xrLabel27.Name = "xrLabel27";
this.xrLabel27.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel27.SizeF = new System.Drawing.SizeF(169.9999F, 20F);
this.xrLabel27.StylePriority.UseFont = false;
this.xrLabel27.StylePriority.UseForeColor = false;
this.xrLabel27.StylePriority.UseTextAlignment = false;
this.xrLabel27.Text = "Aktenzeichen JHD";
this.xrLabel27.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLabel28
//
this.xrLabel28.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel28.BorderWidth = 2F;
this.xrLabel28.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrLabel28.ForeColor = System.Drawing.Color.Black;
this.xrLabel28.LocationFloat = new DevExpress.Utils.PointFloat(703.889F, 0F);
this.xrLabel28.Multiline = true;
this.xrLabel28.Name = "xrLabel28";
this.xrLabel28.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel28.SizeF = new System.Drawing.SizeF(265.1387F, 20F);
this.xrLabel28.StylePriority.UseBorders = false;
this.xrLabel28.StylePriority.UseBorderWidth = false;
this.xrLabel28.StylePriority.UseFont = false;
this.xrLabel28.StylePriority.UseForeColor = false;
this.xrLabel28.StylePriority.UseTextAlignment = false;
this.xrLabel28.Text = "[ReferenceNumber]";
this.xrLabel28.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLabel26
//
this.xrLabel26.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel26.BorderWidth = 2F;
this.xrLabel26.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrLabel26.ForeColor = System.Drawing.Color.Black;
this.xrLabel26.LocationFloat = new DevExpress.Utils.PointFloat(170.0001F, 0F);
this.xrLabel26.Multiline = true;
this.xrLabel26.Name = "xrLabel26";
this.xrLabel26.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel26.SizeF = new System.Drawing.SizeF(265.1387F, 20F);
this.xrLabel26.StylePriority.UseBorders = false;
this.xrLabel26.StylePriority.UseBorderWidth = false;
this.xrLabel26.StylePriority.UseFont = false;
this.xrLabel26.StylePriority.UseForeColor = false;
this.xrLabel26.StylePriority.UseTextAlignment = false;
this.xrLabel26.Text = "[CustomerLastName], [CustomerFirstName]";
this.xrLabel26.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLabel25
//
this.xrLabel25.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrLabel25.ForeColor = System.Drawing.Color.Black;
this.xrLabel25.LocationFloat = new DevExpress.Utils.PointFloat(9.536743E-05F, 0F);
this.xrLabel25.Multiline = true;
this.xrLabel25.Name = "xrLabel25";
this.xrLabel25.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel25.SizeF = new System.Drawing.SizeF(169.9999F, 20F);
this.xrLabel25.StylePriority.UseFont = false;
this.xrLabel25.StylePriority.UseForeColor = false;
this.xrLabel25.StylePriority.UseTextAlignment = false;
this.xrLabel25.Text = "Klient: Name, Vorname";
this.xrLabel25.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// formattingRuleServiceDesc
//
this.formattingRuleServiceDesc.Condition = "[StartDate2] < [StartDate]";
this.formattingRuleServiceDesc.DataMember = "ServicesDouble";
this.formattingRuleServiceDesc.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.formattingRuleServiceDesc.Name = "formattingRuleServiceDesc";
//
// formattingRuleCostBearer
//
this.formattingRuleCostBearer.Condition = "[StartDate2] < [StartDate]";
this.formattingRuleCostBearer.DataMember = "ServicesDouble";
this.formattingRuleCostBearer.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.formattingRuleCostBearer.Name = "formattingRuleCostBearer";
//
// formattingRuleEmployeeName
//
this.formattingRuleEmployeeName.Condition = "[StartDate2] < [StartDate]";
this.formattingRuleEmployeeName.DataMember = "ServicesDouble";
this.formattingRuleEmployeeName.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
this.formattingRuleEmployeeName.Name = "formattingRuleEmployeeName";
//
// topMarginBand1
//
this.topMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel2,
this.xrLabel20,
this.xrLabel21,
this.xrLabel23,
this.xrLabel22,
this.xrLabel24});
this.topMarginBand1.HeightF = 100F;
this.topMarginBand1.Name = "topMarginBand1";
//
// xrLabel2
//
this.xrLabel2.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel2.ForeColor = System.Drawing.Color.Black;
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(6.357829E-05F, 29.99999F);
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(435.1387F, 20F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.StylePriority.UseForeColor = false;
this.xrLabel2.StylePriority.UseTextAlignment = false;
this.xrLabel2.Text = "Tätigkeitsnachweis Ambulante Hilfen";
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLabel20
//
this.xrLabel20.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel20.ForeColor = System.Drawing.Color.Black;
this.xrLabel20.LocationFloat = new DevExpress.Utils.PointFloat(435.1388F, 29.99997F);
this.xrLabel20.Multiline = true;
this.xrLabel20.Name = "xrLabel20";
this.xrLabel20.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel20.SizeF = new System.Drawing.SizeF(46.87515F, 20.00001F);
this.xrLabel20.StylePriority.UseFont = false;
this.xrLabel20.StylePriority.UseForeColor = false;
this.xrLabel20.StylePriority.UseTextAlignment = false;
this.xrLabel20.Text = "Monat:";
this.xrLabel20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLabel21
//
this.xrLabel21.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel21.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Month")});
this.xrLabel21.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel21.ForeColor = System.Drawing.Color.Black;
this.xrLabel21.LocationFloat = new DevExpress.Utils.PointFloat(482.0139F, 29.99997F);
this.xrLabel21.Multiline = true;
this.xrLabel21.Name = "xrLabel21";
this.xrLabel21.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel21.SizeF = new System.Drawing.SizeF(159.3751F, 20.00001F);
this.xrLabel21.StylePriority.UseBorders = false;
this.xrLabel21.StylePriority.UseFont = false;
this.xrLabel21.StylePriority.UseForeColor = false;
this.xrLabel21.StylePriority.UseTextAlignment = false;
this.xrLabel21.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLabel23
//
this.xrLabel23.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrLabel23.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Year")});
this.xrLabel23.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel23.ForeColor = System.Drawing.Color.Black;
this.xrLabel23.LocationFloat = new DevExpress.Utils.PointFloat(703.889F, 29.99997F);
this.xrLabel23.Multiline = true;
this.xrLabel23.Name = "xrLabel23";
this.xrLabel23.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel23.SizeF = new System.Drawing.SizeF(159.3751F, 20.00001F);
this.xrLabel23.StylePriority.UseBorders = false;
this.xrLabel23.StylePriority.UseFont = false;
this.xrLabel23.StylePriority.UseForeColor = false;
this.xrLabel23.StylePriority.UseTextAlignment = false;
this.xrLabel23.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLabel22
//
this.xrLabel22.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel22.ForeColor = System.Drawing.Color.Black;
this.xrLabel22.LocationFloat = new DevExpress.Utils.PointFloat(657.0139F, 29.99997F);
this.xrLabel22.Multiline = true;
this.xrLabel22.Name = "xrLabel22";
this.xrLabel22.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel22.SizeF = new System.Drawing.SizeF(46.87515F, 20.00001F);
this.xrLabel22.StylePriority.UseFont = false;
this.xrLabel22.StylePriority.UseForeColor = false;
this.xrLabel22.StylePriority.UseTextAlignment = false;
this.xrLabel22.Text = "Jahr:";
this.xrLabel22.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLabel24
//
this.xrLabel24.Font = new System.Drawing.Font("Arial", 9F);
this.xrLabel24.ForeColor = System.Drawing.Color.Black;
this.xrLabel24.LocationFloat = new DevExpress.Utils.PointFloat(9.28243E-05F, 50F);
this.xrLabel24.Multiline = true;
this.xrLabel24.Name = "xrLabel24";
this.xrLabel24.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel24.SizeF = new System.Drawing.SizeF(1099F, 20.00001F);
this.xrLabel24.StylePriority.UseFont = false;
this.xrLabel24.StylePriority.UseForeColor = false;
this.xrLabel24.StylePriority.UseTextAlignment = false;
this.xrLabel24.Text = "MOBILE Selbstbestimmtes Leben Behinderter e. V., Märkische Str. 239 a, 44141 Do" +
"rtmund";
this.xrLabel24.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomCenter;
//
// bottomMarginBand1
//
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel4,
this.xrLabel3,
this.xrLabel1});
this.bottomMarginBand1.HeightF = 80.90678F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// xrLabel4
//
this.xrLabel4.Font = new System.Drawing.Font("Arial", 9F);
this.xrLabel4.ForeColor = System.Drawing.Color.Black;
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(9.202121E-05F, 43.42103F);
this.xrLabel4.Multiline = true;
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel4.SizeF = new System.Drawing.SizeF(1089F, 16.71051F);
this.xrLabel4.StylePriority.UseFont = false;
this.xrLabel4.StylePriority.UseForeColor = false;
this.xrLabel4.StylePriority.UseTextAlignment = false;
this.xrLabel4.Text = " ** Sollte der/die Personensorgeberechtigte den Termin nicht gegenzeichnen, sollt" +
"e dies mit der angegebenen Begründung der Eltern separat dokumentiert werden. \r\n" +
" \r\n";
this.xrLabel4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLabel3
//
this.xrLabel3.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel3.ForeColor = System.Drawing.Color.Black;
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 26.71051F);
this.xrLabel3.Multiline = true;
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(1089F, 16.71051F);
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.StylePriority.UseForeColor = false;
this.xrLabel3.StylePriority.UseTextAlignment = false;
this.xrLabel3.Text = " Nach vorheriger Vereinbarung: Gruppenangebot, Kontakt Jugendamt, Kontakt Kita" +
"/Schule, Kontakt medizinische/therapeutische Fachkräfte, Kontakt Ämter/Behörden";
this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrLabel1
//
this.xrLabel1.Font = new System.Drawing.Font("Arial", 9F);
this.xrLabel1.ForeColor = System.Drawing.Color.Black;
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 9.999995F);
this.xrLabel1.Multiline = true;
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(1089F, 16.71051F);
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.StylePriority.UseForeColor = false;
this.xrLabel1.StylePriority.UseTextAlignment = false;
this.xrLabel1.Text = " * Persönlicher Klientenkontakt, (video)telefonischer Klientenkontakt, Hilfeplan" +
"ung, Fehlkontakt\r\n \r\n";
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPictureBox1,
this.xrTable3,
this.lblUnterschriftKlient});
this.GroupFooter1.HeightF = 142.2562F;
this.GroupFooter1.KeepTogether = true;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrPictureBox1
//
this.xrPictureBox1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Image", null, "EmployeeSignature")});
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(9.536743E-05F, 85.00182F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(271.8471F, 37.25439F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
//
// xrTable3
//
this.xrTable3.BorderColor = System.Drawing.Color.Black;
this.xrTable3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable3.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable3.Name = "xrTable3";
this.xrTable3.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow10});
this.xrTable3.SizeF = new System.Drawing.SizeF(408.1251F, 36.66669F);
this.xrTable3.StylePriority.UseFont = false;
this.xrTable3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// xrTableRow10
//
this.xrTableRow10.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell40,
this.xrTableCell41,
this.xrTableCell42,
this.xrTableCell44});
this.xrTableRow10.Name = "xrTableRow10";
this.xrTableRow10.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.xrTableRow10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableRow10.Weight = 1D;
//
// xrTableCell40
//
this.xrTableCell40.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell40.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell40.Name = "xrTableCell40";
this.xrTableCell40.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 4, 100F);
this.xrTableCell40.StylePriority.UseBorders = false;
this.xrTableCell40.StylePriority.UseFont = false;
this.xrTableCell40.StylePriority.UsePadding = false;
this.xrTableCell40.StylePriority.UseTextAlignment = false;
this.xrTableCell40.Text = "Summe";
this.xrTableCell40.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
this.xrTableCell40.Weight = 0.094696981389528381D;
//
// xrTableCell41
//
this.xrTableCell41.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrTableCell41.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell41.Multiline = true;
this.xrTableCell41.Name = "xrTableCell41";
this.xrTableCell41.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 0, 100F);
this.xrTableCell41.StylePriority.UseBorders = false;
this.xrTableCell41.StylePriority.UseFont = false;
this.xrTableCell41.StylePriority.UsePadding = false;
this.xrTableCell41.StylePriority.UseTextAlignment = false;
this.xrTableCell41.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell41.Weight = 0.10404207673618091D;
//
// xrTableCell42
//
this.xrTableCell42.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell42.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell42.Multiline = true;
this.xrTableCell42.Name = "xrTableCell42";
this.xrTableCell42.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 0, 100F);
this.xrTableCell42.StylePriority.UseBorders = false;
this.xrTableCell42.StylePriority.UseFont = false;
this.xrTableCell42.StylePriority.UsePadding = false;
this.xrTableCell42.StylePriority.UseTextAlignment = false;
this.xrTableCell42.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell42.Weight = 0.10404207673618091D;
//
// xrTableCell44
//
this.xrTableCell44.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell44.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalFLMBillable", "{0:0.00}")});
this.xrTableCell44.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell44.Name = "xrTableCell44";
this.xrTableCell44.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 0, 2, 4, 100F);
this.xrTableCell44.StylePriority.UseBorders = false;
this.xrTableCell44.StylePriority.UseFont = false;
this.xrTableCell44.StylePriority.UsePadding = false;
this.xrTableCell44.StylePriority.UseTextAlignment = false;
this.xrTableCell44.TextAlignment = DevExpress.XtraPrinting.TextAlignment.BottomLeft;
this.xrTableCell44.Weight = 0.10404207673618091D;
//
// lblUnterschriftKlient
//
this.lblUnterschriftKlient.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.lblUnterschriftKlient.Font = new System.Drawing.Font("Arial", 10F);
this.lblUnterschriftKlient.LocationFloat = new DevExpress.Utils.PointFloat(0F, 122.2562F);
this.lblUnterschriftKlient.Name = "lblUnterschriftKlient";
this.lblUnterschriftKlient.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.lblUnterschriftKlient.SizeF = new System.Drawing.SizeF(271.8472F, 20F);
this.lblUnterschriftKlient.StylePriority.UseBackColor = false;
this.lblUnterschriftKlient.StylePriority.UseBorders = false;
this.lblUnterschriftKlient.StylePriority.UseFont = false;
this.lblUnterschriftKlient.StylePriority.UsePadding = false;
this.lblUnterschriftKlient.StylePriority.UseTextAlignment = false;
this.lblUnterschriftKlient.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// fieldKontaktArt
//
this.fieldKontaktArt.DataMember = "Services";
this.fieldKontaktArt.Expression = "Iif([IsGroup], \'GR\', \'E\')";
this.fieldKontaktArt.FieldType = DevExpress.XtraReports.UI.FieldType.String;
this.fieldKontaktArt.Name = "fieldKontaktArt";
//
// TaetigkeitsnachweisAbSept2023
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.DetailReport,
this.ReportHeader,
this.topMarginBand1,
this.bottomMarginBand1,
this.GroupFooter1});
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.fieldKontaktArt});
this.DataSource = this.bindingSource1;
this.Font = new System.Drawing.Font("Arial", 10F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.formattingRuleStartDate,
this.formattingRuleServiceDesc,
this.formattingRuleCostBearer,
this.formattingRuleEmployeeName});
this.Margins = new System.Drawing.Printing.Margins(36, 34, 100, 81);
this.PageHeight = 827;
this.PageWidth = 1169;
this.PaperKind = System.Drawing.Printing.PaperKind.A4Rotated;
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
#endregion
private DevExpress.XtraReports.UI.DetailBand Detail;
private System.Windows.Forms.BindingSource bindingSource1;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
private DevExpress.XtraReports.UI.DetailBand Detail1;
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
private DevExpress.XtraReports.UI.FormattingRule formattingRuleStartDate;
private DevExpress.XtraReports.UI.FormattingRule formattingRuleServiceDesc;
private DevExpress.XtraReports.UI.FormattingRule formattingRuleCostBearer;
private DevExpress.XtraReports.UI.FormattingRule formattingRuleEmployeeName;
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader1;
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
private DevExpress.XtraReports.UI.CalculatedField fieldKontaktArt;
private DevExpress.XtraReports.UI.XRLabel lblUnterschriftKlient;
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.XRLabel xrLabel20;
private DevExpress.XtraReports.UI.XRLabel xrLabel21;
private DevExpress.XtraReports.UI.XRLabel xrLabel23;
private DevExpress.XtraReports.UI.XRLabel xrLabel22;
private DevExpress.XtraReports.UI.XRLabel xrLabel24;
private DevExpress.XtraReports.UI.XRLabel xrLabel25;
private DevExpress.XtraReports.UI.XRLabel xrLabel26;
private DevExpress.XtraReports.UI.XRLabel xrLabel27;
private DevExpress.XtraReports.UI.XRLabel xrLabel28;
private DevExpress.XtraReports.UI.XRTable xrTable1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow9;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell33;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell32;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell34;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell35;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell36;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell37;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell38;
private DevExpress.XtraReports.UI.XRTable xrTable2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell14;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell15;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell39;
private DevExpress.XtraReports.UI.XRTable xrTable3;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow10;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell40;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell41;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell42;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell44;
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
private DevExpress.XtraReports.UI.XRPictureBox picSignature;
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1;
}
}

View File

@@ -0,0 +1,83 @@
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 MobileEV
{
public partial class TaetigkeitsnachweisAbSept2023 : XtraReport, IBeWoReport<ServicesOverviewRO>
{
public TaetigkeitsnachweisAbSept2023()
{
InitializeComponent();
}
public void SetReportDataSource(ServicesOverviewRO pRO)
{
// Get calling method name
//StackTrace stackTrace = new StackTrace();
//Debug.WriteLine(stackTrace.GetFrame(1).GetMethod().Name);
bool hatGruppen = false;
//if (pRO == null)
// return;
if (pRO.Services != null)
{
List<ServicesOverviewRO.ServiceDetail> servicesBillable = new List<ServicesOverviewRO.ServiceDetail>();
pRO.TotalFLMBillable = 0;
foreach (var sd in pRO.Services)
{
if (sd.IsBillable && sd.ServiceCategory == "SPFH 1" || sd.IsBillable && sd.ServiceCategory == "SPFH 2")
{
sd.Minutes /= 60;
pRO.TotalFLMBillable += sd.Minutes;
ServicesOverviewRO.CreateSignatureString(sd);
if (sd.IsGroup)
{
//sd.Notice5 = String.Format("{0} Teilnehmer", sd.CustomerCount);
hatGruppen = true;
}
servicesBillable.Add(sd);
}
}
pRO.Services = servicesBillable;
}
bindingSource1.DataSource = pRO;
}
private void picSignature_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
XRPictureBox xrBox = sender as XRPictureBox;
//var test = this.GetCurrent
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)
{
using(var memoryStream = new MemoryStream(byteArrayIn))
{
return Image.FromStream(memoryStream);
}
}
}
}

View 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>21, 17</value>
</metadata>
</root>

View File

@@ -651,6 +651,7 @@ namespace PerspektivenEV
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.Version = "17.1";
this.Watermark.Image = ((System.Drawing.Image)(resources.GetObject("Sammelrechnung.Watermark.Image")));
this.Watermark.ImageViewMode = DevExpress.XtraPrinting.Drawing.ImageViewMode.Zoom;
this.Watermark.PageRange = "1";
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 751 KiB

View File

@@ -106,6 +106,18 @@
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Service\CustomHomeContentGenerator.cs" />
<Compile Include="Service\CustomGroupDurationCalculator.cs" />
<Compile Include="SettlementReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="SettlementReport.Designer.cs">
<DependentUpon>SettlementReport.cs</DependentUpon>
</Compile>
<Compile Include="SettlementReport2.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="SettlementReport2.Designer.cs">
<DependentUpon>SettlementReport2.cs</DependentUpon>
</Compile>
<Compile Include="Validation\DefaultSaveInterceptor.cs" />
</ItemGroup>
<ItemGroup>
@@ -154,6 +166,14 @@
<DependentUpon>ServiceRecordListReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="SettlementReport.resx">
<DependentUpon>SettlementReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="SettlementReport2.resx">
<DependentUpon>SettlementReport2.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<Folder Include="Plugins\" />

View File

@@ -597,6 +597,7 @@ namespace PerspektivenEV
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.Version = "17.1";
this.Watermark.Image = ((System.Drawing.Image)(resources.GetObject("SelbstzahlerInvoiceReport.Watermark.Image")));
this.Watermark.ImageViewMode = DevExpress.XtraPrinting.Drawing.ImageViewMode.Zoom;
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();

File diff suppressed because it is too large Load Diff

View File

@@ -28,7 +28,6 @@ namespace PerspektivenEV
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ServiceInvoiceReport));
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
@@ -68,8 +67,8 @@ namespace PerspektivenEV
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.lblUeberweisung = new DevExpress.XtraReports.UI.XRLabel();
this.lblAnlage = 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();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
@@ -566,15 +565,15 @@ namespace PerspektivenEV
this.lblAnlage.Text = "Anlage: Betreuungsnachweis";
this.lblAnlage.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// 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[] {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,222 @@
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 BeWo.Report.DefaultReports.Alt
{
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);
}
}
}
}
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

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,56 @@
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using DevExpress.XtraReports.UI;
using BeWo.Report.ReportObjects;
using BeWo.Report;
using System.Text.RegularExpressions;
using BS.Shared.Extensions;
namespace BeWo.Report.DefaultReports
{
public partial class Spitzabrechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<Settlement2RO>
{
public Spitzabrechnung()
{
InitializeComponent();
}
public void SetReportDataSource(Settlement2RO pRO)
{
if (String.IsNullOrEmpty(pRO.Notice))
{
lblNotice.Visible = false;
}
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;
//if (!ii.ItemDescription.IsNullOrEmpty())
//{
//ii.AbrechnungsText = Regex.Replace(ii.DetailDescription, ii.ItemDescription, "Fehlkontakte");
//}
ii.AbrechnungsText = ii.AbrechnungsText.Replace("FLS", "Std.");
ii.ItemDescription = "Fehlkontakte";
}
else if (ii.ItemDescription.IsNullOrEmpty())
{
ii.ItemDescription = "Fachleistungsstunden";
}
}
pRO.RateFactor = (double)rateFactor;
this.bindingSource1.DataSource = pRO;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -82,5 +82,38 @@ namespace ReportingService.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
MemoryStream CreateInvoiceListReport(List<long> invoiceBaseOids);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
MemoryStream CreateCustomerListReport(List<long> oids);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
MemoryStream CreateSupportConceptListReport(List<long> oids);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
MemoryStream CreatePersonListReport(List<long> oids);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
MemoryStream CreateEmployeeListReport(List<long> oids);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
MemoryStream CreateOrganisationListReport(List<long> oids);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
MemoryStream CreateTeamListReport(List<long> oids);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
MemoryStream CreateUserListReport(List<long> oids);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
MemoryStream CreateUSerGroupListReport(List<long> oids);
}
}

View File

@@ -131,6 +131,9 @@ namespace ReportingService.ServiceImplementations
private static MemoryStream CreateReportStream(XtraReport pReport)
{
if (pReport == null)
return null;
pReport.CreateDocument();
var resultStream = new MemoryStream();
@@ -333,5 +336,46 @@ namespace ReportingService.ServiceImplementations
{
return null;
}
public MemoryStream CreateCustomerListReport(List<long> oids)
{
var reportCreator = GetReportCreator();
return CreateReportStream(reportCreator.CreateCustomerListReport(oids));
}
public MemoryStream CreateSupportConceptListReport(List<long> oids)
{
return null;
}
public MemoryStream CreatePersonListReport(List<long> oids)
{
return null;
}
public MemoryStream CreateEmployeeListReport(List<long> oids)
{
return null;
}
public MemoryStream CreateOrganisationListReport(List<long> oids)
{
return null;
}
public MemoryStream CreateTeamListReport(List<long> oids)
{
return null;
}
public MemoryStream CreateUserListReport(List<long> oids)
{
return null;
}
public MemoryStream CreateUSerGroupListReport(List<long> oids)
{
return null;
}
}
}

View File

@@ -865,85 +865,88 @@ namespace BeWo.Service.Dienstplanung
var abs = urlaubKrankheitMonat[i];
var contract = GetContract(employee.Contracts, abs.Start.Value);
////////////////////////////////////////////////////////////////////////////////////////////
var weeklyDays = contract.WeeklyDays;
vorherigeWeeklyDays = vorherigeWeeklyDays == 0 ? weeklyDays : vorherigeWeeklyDays;
bool skipAbsenceTime = false;
//if (berechnung.IstAnrechenbareAbsenceTime(DAOFactory.GenericDAO.GetByID<AbsenceTime>(abs.AbsenceTimeOid.Value)))
// skipAbsenceTime = true;
// Falls der Vertrag sich NICHT innerhalb einer Woche ändert
if (weeklyDays == vorherigeWeeklyDays)
if (contract != null)
{
var wochentag = abs.Start.Value.DayOfWeek;
if (!abs.End.HasValue)
abs.End = new DateTime(date.Year, 12, 31, 23, 59, 59);
if (wochentag == DayOfWeek.Monday || vorherigeKW != myCal.GetWeekOfYear(abs.Start.Value.Date, myCWR, myFirstDOW))
var weeklyDays = contract.WeeklyDays;
vorherigeWeeklyDays = vorherigeWeeklyDays == 0 ? weeklyDays : vorherigeWeeklyDays;
bool skipAbsenceTime = false;
//if (berechnung.IstAnrechenbareAbsenceTime(DAOFactory.GenericDAO.GetByID<AbsenceTime>(abs.AbsenceTimeOid.Value)))
// skipAbsenceTime = true;
// Falls der Vertrag sich NICHT innerhalb einer Woche ändert
if (weeklyDays == vorherigeWeeklyDays)
{
tageInEinerWoche = 0;
wochentageVergangen = 0;
abzuziehendeTage = 0;
var wochentag = abs.Start.Value.DayOfWeek;
if (!abs.End.HasValue)
abs.End = new DateTime(date.Year, 12, 31, 23, 59, 59);
if (wochentag == DayOfWeek.Monday || vorherigeKW != myCal.GetWeekOfYear(abs.Start.Value.Date, myCWR, myFirstDOW))
{
tageInEinerWoche = 0;
wochentageVergangen = 0;
abzuziehendeTage = 0;
}
if (wochentageVergangen >= weeklyDays || tageInEinerWoche >= weeklyDays)
{
// Hier ausprogrammieren, dass die absTime dann übersprungen wird
skipAbsenceTime = true;
}
else if (wochentageVergangen + (abs.End.Value - abs.Start.Value).TotalDays + 1 >= weeklyDays)
{
// Hier das Ende der absTime dann so setzen, dass weeklyDays voll werden. HALBE TAGE NICHT VERGESSEN
var diff = weeklyDays - wochentageVergangen;
}
}
if (wochentageVergangen >= weeklyDays || tageInEinerWoche >= weeklyDays)
vorherigeWeeklyDays = weeklyDays;
/////////////////////////////////////////////////////////////////////////////////////////
// Wenn die Abwesenheit über den Monat hinausgeht, Start und ende Ende auf Start und Ende des Monats setzen
if (abs.Start.Value.Month != date.Month)
abs.Start = new DateTime(date.Year, date.Month, 1);
if (abs.End != null)
{
// Hier ausprogrammieren, dass die absTime dann übersprungen wird
skipAbsenceTime = true;
if (abs.End.Value.Month != date.Month)
abs.End = new DateTime(date.Year, date.Month, DateTime.DaysInMonth(date.Year, date.Month));
}
else if (wochentageVergangen + (abs.End.Value - abs.Start.Value).TotalDays + 1 >= weeklyDays)
{
// Hier das Ende der absTime dann so setzen, dass weeklyDays voll werden. HALBE TAGE NICHT VERGESSEN
var diff = weeklyDays - wochentageVergangen;
}
}
vorherigeWeeklyDays = weeklyDays;
/////////////////////////////////////////////////////////////////////////////////////////
// Wenn die Abwesenheit über den Monat hinausgeht, Start und ende Ende auf Start und Ende des Monats setzen
if (abs.Start.Value.Month != date.Month)
abs.Start = new DateTime(date.Year, date.Month, 1);
if (abs.End != null)
{
if (abs.End.Value.Month != date.Month)
else
abs.End = new DateTime(date.Year, date.Month, DateTime.DaysInMonth(date.Year, date.Month));
}
else
abs.End = new DateTime(date.Year, date.Month, DateTime.DaysInMonth(date.Year, date.Month));
if (!skipAbsenceTime)
{
decimal dauerAbwesenheit = vs.BerechneAnzahlUrlaubstageMitWeeklyDays(abs, date.Year, contract.WeeklyDays);
//var dauerAbwesenheit = vs.BerechneAnzahlUrlaubstage(null, abs, date.Year);
if (abs.Reason.Description.ToLower().Contains("urlaub"))
dc.TageUrlaub += dauerAbwesenheit; //BP
else if (abs.Reason.Description.ToLower().Contains("krank"))
dc.TageKrank += dauerAbwesenheit; //BP
//dauer += dauerAbwesenheit;
dauer += dauerAbwesenheit;
tageInEinerWoche += dauerAbwesenheit;
wochentageVergangen += Convert.ToInt32(Math.Ceiling((abs.End.Value - abs.Start.Value).TotalDays) + 1);
//Dienste an einem ganzen Abwesenheitstag von den Stunden abziehen
foreach (var e in eintraegeFuerMitarbeiterMonat)
if (!skipAbsenceTime)
{
if (abs.AbsenceSpan.ContainsDate(e.Datum.Date))
decimal dauerAbwesenheit = vs.BerechneAnzahlUrlaubstageMitWeeklyDays(abs, date.Year, weeklyDays);
//var dauerAbwesenheit = vs.BerechneAnzahlUrlaubstage(null, abs, date.Year);
if (abs.Reason.Description.ToLower().Contains("urlaub"))
dc.TageUrlaub += dauerAbwesenheit; //BP
else if (abs.Reason.Description.ToLower().Contains("krank"))
dc.TageKrank += dauerAbwesenheit; //BP
//dauer += dauerAbwesenheit;
dauer += dauerAbwesenheit;
tageInEinerWoche += dauerAbwesenheit;
wochentageVergangen += Convert.ToInt32(Math.Ceiling((abs.End.Value - abs.Start.Value).TotalDays) + 1);
//Dienste an einem ganzen Abwesenheitstag von den Stunden abziehen
foreach (var e in eintraegeFuerMitarbeiterMonat)
{
if (dauerAbwesenheit > 0.5m)
stunden -= Convert.ToDecimal(e.DauerInStunden);
if (abs.AbsenceSpan.ContainsDate(e.Datum.Date))
{
if (dauerAbwesenheit > 0.5m)
stunden -= Convert.ToDecimal(e.DauerInStunden);
}
}
foreach (var v in vertretungenFuerMitarbeiterMonat)
{
if (abs.AbsenceSpan.ContainsDate(v.Datum.Date))
{
if (dauerAbwesenheit > 0.5m)
stunden -= Convert.ToDecimal(v.DauerInStunden);
}
}
}
foreach (var v in vertretungenFuerMitarbeiterMonat)
{
if (abs.AbsenceSpan.ContainsDate(v.Datum.Date))
{
if (dauerAbwesenheit > 0.5m)
stunden -= Convert.ToDecimal(v.DauerInStunden);
}
}
}
vorherigeKW = myCal.GetWeekOfYear(abs.Start.Value.Date, myCWR, myFirstDOW);
if (tageInEinerWoche > weeklyDays && vorherigeKW == myCal.GetWeekOfYear(abs.End.Value.Date, myCWR, myFirstDOW))
abzuziehendeTage += tageInEinerWoche - weeklyDays;
vorherigeKW = myCal.GetWeekOfYear(abs.Start.Value.Date, myCWR, myFirstDOW);
if (tageInEinerWoche > weeklyDays && vorherigeKW == myCal.GetWeekOfYear(abs.End.Value.Date, myCWR, myFirstDOW))
abzuziehendeTage += tageInEinerWoche - weeklyDays;
}
}
stunden += dauer * item.SollProTag - abzuziehendeTage * item.SollProTag;
}

View File

@@ -82,7 +82,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
@@ -220,7 +220,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
@@ -346,7 +346,7 @@ namespace BeWo.Service.Plugins
//t = "3226307161"; // Roman Roger Puth
//todo t = "3522103738"; // AWO Münsterland-Recklinghausen
//t = "5592509446"; // Kontakt Verein für psychosoziale Hilfen e.V
t = "5344902949"; // SHK Service GmbH SBD
//t = "5344902949"; // SHK Service GmbH SBD
//t = "1422963536"; // Malteser-Johanniter-Johanneshaus gGmbH
//t = "5433105975"; // aha e.V.
//t = "1701920223"; // SKFM Monheim

View File

@@ -1,16 +1,10 @@
using System;
using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
namespace BeWo.Service.Plugins
{