Quittierungsbelege an GkvBegleitzettel

This commit is contained in:
2024-12-04 18:40:49 +01:00
parent dd2ed79d51
commit 8de372662f
10 changed files with 134 additions and 50 deletions

View File

@@ -1305,16 +1305,17 @@ namespace BeWo
foreach (var blubb in openWindowCollection)
{
var abc = (Window)blubb;
var title = abc.Title;
if (!abc.Title.Equals("BeWoPlaner") && blubb.GetType() == typeof(WindowContentHolder))
if (!title.Equals("BeWoPlaner") && blubb.GetType() == typeof(WindowContentHolder))
{
abc.Close();
}
else if (abc.Title.IndexOf("Popup") >= 0)
else if (title.IndexOf("Popup") >= 0)
{
abc.Close();
}
else if (abc.Title.IndexOf("Druckvorschau") >= 0)
else if (title.IndexOf("Druckvorschau") >= 0)
{
abc.Close();
}

View File

@@ -182,7 +182,7 @@
Margin="1"
VerticalAlignment="Center"
IsEnabled="{Binding Row.IsFormularEnabled}"
ToolTip="Formular anzeigen"
ToolTip="Begleitzettel einzeln anzeigen"
Visibility="Visible">
<TextBlock Padding="0">
<Hyperlink
@@ -203,6 +203,34 @@
</Hyperlink>
</TextBlock>
</Button>
<Button
x:Name="btn_report2"
Width="18"
Height="18"
Margin="1"
VerticalAlignment="Center"
IsEnabled="{Binding Row.IsFormularEnabled}"
ToolTip="Begleitzettel mit Quittierungsbelegen anzeigen"
Visibility="Visible">
<TextBlock Padding="0">
<Hyperlink
NavigateUri="{Binding DisplayText, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"
RequestNavigate="Hyperlink_OnRequestNavigate2"
TextDecorations="None"
TargetName="_NewWindow">
<TextBlock
Width="12"
Height="12"
Padding="0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontFamily="Webdings"
FontSize="12"
Foreground="#FFFFFF"
Text="¥" />
</Hyperlink>
</TextBlock>
</Button>
<Button
x:Name="btn_delete"
Width="20"

View File

@@ -382,7 +382,22 @@ namespace BeWo.View.Detail.Accounting
BeWoApp.ShowInfoMessage($"Begleitzettel bitte inklusive der enthaltenen Urbelege ({what2send}) ausdrucken, " +
$"Anzahl der Urbelege noch eintragen und alles zusammen versenden.");
BeWoUtils.NavigateToReportUri(((Hyperlink)sender).NavigateUri.ToString(), "Druckvorschau");
BeWoUtils.NavigateToReportUri(vm.ReportLink, "Druckvorschau");
}
}
private void Hyperlink_OnRequestNavigate2(object sender, RequestNavigateEventArgs e)
{
var vm = datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungVM>();
string what2send = "Leistungsnachweise";
if (vm.Verfahrensstufe != GkvVerfahrensstufe.Echt)
what2send += " und Rechnungen";
BeWoApp.ShowInfoMessage($"Begleitzettel bitte inklusive der enthaltenen Urbelege ({what2send}) ausdrucken, " +
$"Anzahl der Urbelege noch eintragen und alles zusammen versenden.");
BeWoUtils.NavigateToReportUri(vm.ReportLink2, "Druckvorschau");
}
}
}

View File

@@ -342,10 +342,15 @@ namespace BeWo.ViewModel
public bool IsFormularEnabled => LastTransferProtokoll is object;
public GkvAbrechnungReportRequest ReportRequest
=> new GkvAbrechnungReportRequest(DataContract.GkvAbrechnungOid.Value);
=> new GkvAbrechnungReportRequest(DataContract.GkvAbrechnungOid.Value, false);
public string ReportLink
=> BeWoApp.SiteOfOrigin + "/ReportView.aspx" + ReportRequest.GetUrlPathString();
public GkvAbrechnungReportRequest ReportRequest2
=> new GkvAbrechnungReportRequest(DataContract.GkvAbrechnungOid.Value, true);
public string ReportLink2
=> BeWoApp.SiteOfOrigin + "/ReportView.aspx" + ReportRequest2.GetUrlPathString();
public void FirePropertyIsReady2CreateChanged()
=> FirePropertyChanged(nameof(IsReady2Create));
public bool IsReady2Create

View File

@@ -1,5 +1,5 @@
using System;
using System.Collections.Generic;
using BS.Shared;
namespace BeWo.Data.Entities
@@ -41,7 +41,6 @@ namespace BeWo.Data.Entities
private string _Apikey;
private string _IKLeistungserbringer;
public Mandator()
{
this._Tid = TableID.Mandator;

View File

@@ -31,6 +31,14 @@ namespace BeWo.Report
long? serviceCategoryOid,
int startDay, int endDay, bool nurFehlende);
public XtraReport CreateServiceOverviewSingleCustomerReport(long customerOid, int month, int year,
long orgaOid, long empOid,
long? serviceCategoryOid)
{
var end = DateTime.DaysInMonth(year, month);
return CreateServiceOverviewSingleCustomerReport(customerOid, month, year, orgaOid, empOid, serviceCategoryOid, 1, end);
}
public abstract XtraReport CreateServiceOverviewSingleCustomerReport(long customerOid, int month, int year,
long orgaOid, long empOid,
long? serviceCategoryOid, int startDay,

View File

@@ -21,6 +21,7 @@ using BeWo.Service.Reporting;
using System.Web;
using BeWo.Data.Security;
using BS.Shared.ReportRequests;
using System.Drawing;
namespace BeWo.Report
{
@@ -1789,7 +1790,62 @@ namespace BeWo.Report
var report = FindReportImp<GkvAbrechnungRO>();
report.SetReportDataSource(ro);
return report as XtraReport;
var xtra = report as XtraReport;
if (req.AddUrbelege)
{
AddQuittierungsbelegToReport(xtra, gkvAbrechnung);
}
return report as XtraReport;
}
private void AddQuittierungsbelegToReport(XtraReport xtra, GkvAbrechnung gkvAbrechnung)
{
xtra.CreateDocument();
var dict = new Dictionary<long, HashSet<Point>>();
foreach (var invb in gkvAbrechnung.InvoiceBases)
{
var coid = invb.CostBearer2SupportConcept.SupportConcept.Customer.Oid.Value;
if (!dict.ContainsKey(coid))
dict.Add(coid, new HashSet<Point>());
var points = dict[coid];
var start = invb.AccountingPeriodStart.Value;
var end = invb.AccountingPeriodEnd.Value;
var start_1 = start.AddMonths(1);
var runner = new DateTime(start_1.Year, start_1.Month, 1);
points.Add(new Point(start.Year, start.Month));
while(runner <= end)
{
points.Add(new Point(runner.Year, runner.Month));
runner = runner.AddMonths(1);
}
}
foreach (var kv in dict)
{
var coid = kv.Key;
foreach (var point in kv.Value.OrderBy(x => x.X).ThenBy(x => x.Y))
{
var year = point.X;
var month = point.Y;
var quittierung = CreateServiceOverviewSingleCustomerReport(coid, month, year, 0, 0, null);
quittierung.CreateDocument();
xtra.Pages.AddRange(quittierung.Pages);
}
}
}
}
}

View File

@@ -22,77 +22,42 @@ namespace BeWo.Report.ReportObjects
public class ServicesOverviewRO : AbstractBeWoReportObject<ServicesOverviewRO>
{
private List<ServiceDetail> _Services = new List<ServiceDetail>();
private List<ServiceDoubleDetail> _ServicesDouble = new List<ServiceDoubleDetail>();
public long CustomerOid { get; set; }
public string AbsenceTimes { get; set; }
public List<AbsenceTime> Abwesenheiten { get; set; }
public List<EmployeeDetail> AllEmployees { get; set; } = new List<EmployeeDetail>();
public string ApprovedEndDate { get; set; }
public decimal ApprovedFLSPerMonth { get; set; }
public decimal ApprovedFLSPerMonthTotal { get; set; }
public decimal ApprovedFLSPerWeek { get; set; }
public decimal ApprovedFLSPerWeekTotal { get; set; }
public decimal ApprovedFLSTotal { get; set; }
public string ApprovedStartDate { get; set; }
public string ContactEmployee { get; set; }
public string Costbearer { get; set; }
public DateTime? CustomerBirthday { get; set; }
public string CustomerCity { get; set; }
public string CustomerFirstName { get; set; }
public string CustomerLastName { get; set; }
public string CustomerName { get; set; }
public string CustomerPostalCode { get; set; }
public string CustomerStreet { get; set; }
public string CustomerInsuranceNumer { get; set; }
public DateTime EndDate { get; set; }
public decimal? FreeMinutesThisMonth { get; set; }
public decimal MinutenGeleistetGesamt { get; set; }
public decimal MinutenSollGesamt { get; set; }
public string MainAttendant { get; set; }
public string MainAttendantCommaSeperated { get; set; }
public string Month { get; set; }
public string ReferenceNumber { get; set; }
public string RequestedEndDate { get; set; }
public string RequestedStartDate { get; set; }
public string Salutation { get; set; }
public decimal RateFactor { get; set; }
public decimal MinutenGeleistetBisVormonat { get; set; }
public decimal MinutenSollBisVormonat { get; set; }
public List<ServiceDetail> Services

View File

@@ -50,7 +50,7 @@ namespace BeWo.Service.Plugins
//t = "2499262621"; // HPH Bersenbrück
//t = "4950382346"; // Holsinger
//t = "5973016645"; // Verein Lebensgestaltung Hanau
//t = "7375324044"; // Diakonie KK Kleve
t = "7375324044"; // Diakonie KK Kleve
//t = "1441747891"; // BeWo Mobil Köln
//t = "5120047701"; // Trialog
//t = "3629696651"; // Soziale Dienste Niederrhein (SDN)
@@ -116,7 +116,7 @@ namespace BeWo.Service.Plugins
//t = "4982295287"; // ASB Hamm
//t = "3890031575"; // Die Wohnhelfer Kuhrau
//t = "3536719736"; // BeWo Stefanie Schäfer (BeWoKerpen)
t = "7739670213"; // SPZ Leverkusen
//t = "7739670213"; // SPZ Leverkusen
//t = "3341456098"; // Hilfe Daheim (früher BeWo Schillinger)
//t = "4271389563"; // Komm Mit
//t = "5430005891"; // Marienhospital Eickel
@@ -392,7 +392,7 @@ namespace BeWo.Service.Plugins
//t = "7653029063"; // SkF Leverkusen JuHi
//t = "1453324901"; // Akkurat
//t = "5000000000";
t = "5564670353"; // Mittelpunkt GbR
//t = "5564670353"; // Mittelpunkt GbR
//t = "3788859817"; // Zukunft Leben (Stephan Hekermann)
//t = "2663321234"; // Aachener Laienhelfer Initiative e.V.
//t = "6290975576"; // Caritasverband Kelheim

View File

@@ -11,23 +11,27 @@ namespace BS.Shared.ReportRequests
public class GkvAbrechnungReportRequest : AbstractReportRequest
{
public const string PropertyStringOid = "oid";
public const string PropertyStringUrbelege = "urb";
public long Oid { get; set; }
public bool AddUrbelege { get; set; }
private GkvAbrechnungReportRequest() : base(ReportTypes.GkvAbrechnung)
{
}
public GkvAbrechnungReportRequest(long poid) : this()
public GkvAbrechnungReportRequest(long poid, bool urbelege) : this()
{
Oid = poid;
AddUrbelege = urbelege;
}
internal override NameValueCollection GetParameters() =>
new NameValueCollection()
{
{PropertyStringOid, Oid.ToString() }
{PropertyStringOid, Oid.ToString() },
{PropertyStringUrbelege, AddUrbelege.ToString() },
};
public static GkvAbrechnungReportRequest Parse(NameValueCollection collection)
@@ -43,6 +47,9 @@ namespace BS.Shared.ReportRequests
case PropertyStringOid:
rtn.Oid = long.Parse(value);
break;
case PropertyStringUrbelege:
rtn.AddUrbelege = bool.Parse(value);
break;
default:
break;
}