GkvAbrechnung View erweitert

Service für app8 gebaut
BeWoWindowBuilder Einführung: Zentraler Ort für generische, kleine Fenster, wie Text Viewer, Text Editor, Picture Shower, etc.
Alte Gkv Abrechnungsansicht deaktiviert
This commit is contained in:
2024-04-17 16:33:19 +02:00
parent 89a347c7b9
commit 75d59e3c40
35 changed files with 1239 additions and 644 deletions

View File

@@ -1051,6 +1051,7 @@
<Compile Include="ViewModel\OrganisationPersonRelationVM.cs" />
<Compile Include="ViewModel\TextModuleVM.cs" />
<Compile Include="ViewModel\VerordnungslistenVM.cs" />
<Compile Include="View\BeWoWindowBuilder.cs" />
<Compile Include="View\Controls\DPCtrlEmployeeContractTooltip.xaml.cs">
<DependentUpon>DPCtrlEmployeeContractTooltip.xaml</DependentUpon>
</Compile>

View File

@@ -1860,6 +1860,10 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.ValueListEntryDC, System.Collections.Generic.List<BS.Shared.DataContracts.ResourceDC>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<System.DateTime, System.Collections.Generic.List<BS.Shared.Core.DateTimeSpan>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<string, System.Collections.Generic.List<string>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.BargeldtransaktionshistoryDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.BargeldtransaktionshistoryDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.SignatureDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SignatureDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ConfirmationReceiptSignatureDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ConfirmationReceiptSignatureDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.VorlagentabelleDC>))]
@@ -1888,7 +1892,6 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.RatingTypeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceRecordValidationResultDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SbdConfigDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SignatureDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.BudgetDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.PreisDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.PreisDC))]
@@ -1979,16 +1982,16 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.FLSAnalysisDataDetailDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FLSAnalysisDataDetailDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactTokenDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.StatementType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SignatureStateType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Zahlungstyp))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SignatureType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ServiceRecordValidationResult))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.HomeViewPanelType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Auszahlungsintervall))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Zahlungstyp))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.VertretungsStatus))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SchulbegleitenderZugehoerigkeitsTyp))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.MessageType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.StatementType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SignatureStateType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.ServiceRecordValidationResult>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.UiElementType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.SignatureType, System.Collections.Generic.List<long>>))]
@@ -2045,6 +2048,8 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceNumberDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.GkvAbrechnungDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnungDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnungViewFilterDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnungFilterDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.InvoiceType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.IO.MemoryStream))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.IO.Stream))]
@@ -5274,6 +5279,21 @@ namespace BeWo.ServiceProxy
"aultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> FindServiceRecordsForLastDaysPaginated(out int rowCount, System.Nullable<long> costbearer2SupportConceptOid, int days, System.Nullable<long> employeeOid, int firstResult, int maxResults);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/LoadBargeldtransaktionshistoryEntries", ReplyAction="http://tempuri.org/IOperationsService/LoadBargeldtransaktionshistoryEntriesRespon" +
"se")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/LoadBargeldtransaktionshistoryEntriesBeWoFa" +
"ultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.BargeldtransaktionshistoryDC> LoadBargeldtransaktionshistoryEntries(long transaktionsOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeleteBargeldtransaktionSignature", ReplyAction="http://tempuri.org/IOperationsService/DeleteBargeldtransaktionSignatureResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeleteBargeldtransaktionSignatureBeWoFaultF" +
"ault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void DeleteBargeldtransaktionSignature(long signatureOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetAllSignatures", ReplyAction="http://tempuri.org/IOperationsService/GetAllSignaturesResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetAllSignaturesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.SignatureDC> GetAllSignatures();
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeleteCertainDienstEintragOutOfTable", ReplyAction="http://tempuri.org/IOperationsService/DeleteCertainDienstEintragOutOfTableRespons" +
"e")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeleteCertainDienstEintragOutOfTableBeWoFau" +
@@ -5840,6 +5860,10 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.DataContracts.ValueListEntryDC, System.Collections.Generic.List<BS.Shared.DataContracts.ResourceDC>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<System.DateTime, System.Collections.Generic.List<BS.Shared.Core.DateTimeSpan>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<string, System.Collections.Generic.List<string>>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.BargeldtransaktionshistoryDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.BargeldtransaktionshistoryDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.SignatureDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SignatureDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.ConfirmationReceiptSignatureDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ConfirmationReceiptSignatureDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.VorlagentabelleDC>))]
@@ -5868,7 +5892,6 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.RatingTypeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ServiceRecordValidationResultDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SbdConfigDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.SignatureDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.BudgetDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.PreisDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.PreisDC))]
@@ -5959,16 +5982,16 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.FLSAnalysisDataDetailDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.FLSAnalysisDataDetailDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactTokenDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.StatementType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SignatureStateType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Zahlungstyp))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SignatureType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.ServiceRecordValidationResult))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.HomeViewPanelType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Auszahlungsintervall))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.Zahlungstyp))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.VertretungsStatus))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SchulbegleitenderZugehoerigkeitsTyp))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.MessageType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.StatementType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.SignatureStateType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.ServiceRecordValidationResult>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.UiElementType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<BS.Shared.SignatureType, System.Collections.Generic.List<long>>))]
@@ -6025,6 +6048,8 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceNumberDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.GkvAbrechnungDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnungDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnungViewFilterDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GkvAbrechnungFilterDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.InvoiceType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.IO.MemoryStream))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.IO.Stream))]
@@ -7241,6 +7266,21 @@ namespace BeWo.ServiceProxy
return base.Channel.FindServiceRecordsForLastDaysPaginated(out rowCount, costbearer2SupportConceptOid, days, employeeOid, firstResult, maxResults);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.BargeldtransaktionshistoryDC> LoadBargeldtransaktionshistoryEntries(long transaktionsOid)
{
return base.Channel.LoadBargeldtransaktionshistoryEntries(transaktionsOid);
}
public void DeleteBargeldtransaktionSignature(long signatureOid)
{
base.Channel.DeleteBargeldtransaktionSignature(signatureOid);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.SignatureDC> GetAllSignatures()
{
return base.Channel.GetAllSignatures();
}
public void DeleteCertainDienstEintragOutOfTable(long dienstEintragOid)
{
base.Channel.DeleteCertainDienstEintragOutOfTable(dienstEintragOid);
@@ -9334,6 +9374,22 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccountingService/InsertNewGkvAbrechnungen", ReplyAction="http://tempuri.org/IAccountingService/InsertNewGkvAbrechnungenResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IAccountingService/InsertNewGkvAbrechnungenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<long> InsertNewGkvAbrechnungen(System.Collections.Generic.List<BS.Shared.DataContracts.GkvAbrechnungDC> dc);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccountingService/GetGkvAbrechnung", ReplyAction="http://tempuri.org/IAccountingService/GetGkvAbrechnungResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IAccountingService/GetGkvAbrechnungBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.GkvAbrechnungDC GetGkvAbrechnung(long oid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccountingService/GetAllGkvAbrechnungen", ReplyAction="http://tempuri.org/IAccountingService/GetAllGkvAbrechnungenResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IAccountingService/GetAllGkvAbrechnungenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.GkvAbrechnungDC> GetAllGkvAbrechnungen();
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccountingService/GetFilteredGkvAbrechnungen", ReplyAction="http://tempuri.org/IAccountingService/GetFilteredGkvAbrechnungenResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IAccountingService/GetFilteredGkvAbrechnungenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.GkvAbrechnungDC> GetFilteredGkvAbrechnungen(BS.Shared.DataContracts.GkvAbrechnungViewFilterDC gkvAbrechnungViewFilter);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccountingService/MakeNewGkvAbrechnung", ReplyAction="http://tempuri.org/IAccountingService/MakeNewGkvAbrechnungResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IAccountingService/MakeNewGkvAbrechnungBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.GkvAbrechnungDC MakeNewGkvAbrechnung(BS.Shared.DataContracts.GkvAbrechnungFilterDC abrechnungFilterDC);
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -9529,6 +9585,26 @@ namespace BeWo.ServiceProxy
{
return base.Channel.InsertNewGkvAbrechnungen(dc);
}
public BS.Shared.DataContracts.GkvAbrechnungDC GetGkvAbrechnung(long oid)
{
return base.Channel.GetGkvAbrechnung(oid);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.GkvAbrechnungDC> GetAllGkvAbrechnungen()
{
return base.Channel.GetAllGkvAbrechnungen();
}
public System.Collections.Generic.List<BS.Shared.DataContracts.GkvAbrechnungDC> GetFilteredGkvAbrechnungen(BS.Shared.DataContracts.GkvAbrechnungViewFilterDC gkvAbrechnungViewFilter)
{
return base.Channel.GetFilteredGkvAbrechnungen(gkvAbrechnungViewFilter);
}
public BS.Shared.DataContracts.GkvAbrechnungDC MakeNewGkvAbrechnung(BS.Shared.DataContracts.GkvAbrechnungFilterDC abrechnungFilterDC)
{
return base.Channel.MakeNewGkvAbrechnung(abrechnungFilterDC);
}
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]

View File

@@ -8,7 +8,7 @@ namespace BeWo.View
/// <summary>
/// Interaktionslogik für BeWoWindow.xaml
/// </summary>
public partial class BeWoWindow : Window
public partial class BeWoWindow : System.Windows.Window
{
private object _GroupBoxContent;
public object GroupBoxContent

View File

@@ -0,0 +1,48 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
namespace BeWo.View
{
public static class BeWoWindowBuilder
{
public static BeWoWindow GetTextViewer(string title, string text, bool fixed_size = false, double height = 600, double width = 400)
{
if (fixed_size)
return GetTextViewer(title, text, height, height, height, width, width, width);
return GetTextViewer(title, text, 300, height, 1000, 200, width, 1900);
}
public static BeWoWindow GetTextViewer(string title, string text, double min_height, double height, double max_height, double min_width, double width, double max_width)
{
var control = new TextBlock();
control.Text = text;
var scrollviewer = new ScrollViewer();
scrollviewer.Content = control;
var beWoWindow = new BeWoWindow();
beWoWindow.Height = height;
beWoWindow.MinHeight = min_height;
beWoWindow.MaxHeight= max_height;
beWoWindow.Width = width;
beWoWindow.MinWidth = min_width;
beWoWindow.MaxHeight = max_width;
beWoWindow.WindowStartupLocation = WindowStartupLocation.CenterOwner;
beWoWindow.GroupBoxContent = scrollviewer;
beWoWindow.Owner = BeWoApp.CurrentBeWo.MainWindow;
beWoWindow.rootGroupBox.Header = title;
return beWoWindow;
}
}
}

View File

@@ -1,144 +1,144 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Media;
using System.Windows.Navigation;
using System.Windows.Threading;
using BeWo.Core;
using BeWo.ServiceProxy;
using BeWo.ViewModel;
using BeWo.ViewModel.ListViewModel;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Grid;
using Microsoft.Win32;
namespace BeWo.View.Detail.Accounting
{
public partial class DigitalInvoiceOverview : BeWoView
{
private readonly EquityInvoiceItemEditView _EquityInvoiceItemEditView;
private readonly GeneralInvoiceItemEditView _GeneralInvoiceItemEditView;
private readonly SettlementInvoiceItemEditView _SettlementInvoiceItemEditView;
private readonly SettlementInvoiceItemEditView2 _SettlementInvoiceItemEditView2;
private readonly ServiceInvoiceItemEditView _ServiceInvoiceItemEditView;
private InvoiceBaseListVM _Viewmodel;
public DigitalInvoiceOverview()
{
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Media;
using System.Windows.Navigation;
using System.Windows.Threading;
using BeWo.Core;
using BeWo.ServiceProxy;
using BeWo.ViewModel;
using BeWo.ViewModel.ListViewModel;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Grid;
using Microsoft.Win32;
namespace BeWo.View.Detail.Accounting
{
public partial class DigitalInvoiceOverview : BeWoView
{
private readonly EquityInvoiceItemEditView _EquityInvoiceItemEditView;
private readonly GeneralInvoiceItemEditView _GeneralInvoiceItemEditView;
private readonly SettlementInvoiceItemEditView _SettlementInvoiceItemEditView;
private readonly SettlementInvoiceItemEditView2 _SettlementInvoiceItemEditView2;
private readonly ServiceInvoiceItemEditView _ServiceInvoiceItemEditView;
private InvoiceBaseListVM _Viewmodel;
public DigitalInvoiceOverview()
{
this.InitializeComponent();
this.ViewModel = new InvoiceBaseListVM(null);
RefreshInvoiceList();
}
private void RefreshInvoiceList()
{
DateTime? start = null;
DateTime? end = null;
if (ViewModel.DateTimeSpanFilter != null)
{
start = ViewModel.DateTimeSpanFilter.StartDate;
end = ViewModel.DateTimeSpanFilter.EndDate;
}
RefreshInvoiceList();
}
private void RefreshInvoiceList()
{
DateTime? start = null;
DateTime? end = null;
if (ViewModel.DateTimeSpanFilter != null)
{
start = ViewModel.DateTimeSpanFilter.StartDate;
end = ViewModel.DateTimeSpanFilter.EndDate;
}
else
{
start = new DateTime(2023, 1, 1);
end = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
}
ServiceFacade.DoAccountingServiceAsync(s => s.GetInvoiceBases(start, end), UpdateInvoiceList);
}
private void UpdateInvoiceList(IList<InvoiceBaseDC> dcList)
{
this.Dispatcher.BeginInvoke(
DispatcherPriority.Normal,
(Action)delegate
{
ViewModel.UpdateList(dcList.Where(x => true).ToList());
this.gridView.BestFitColumns();
});
}
private InvoiceBaseListVM ViewModel
{
get
{
return this._Viewmodel;
}
set
{
this.DataContext = value;
this._Viewmodel = value;
}
}
private void RefreshItemInList(InvoiceBaseDC cb)
{
this.Dispatch(
delegate
{
var old = this.ViewModel.VMList.Single(i => i.DataContract.InvoiceBaseOid.Equals(cb.InvoiceBaseOid));
var lNew = new InvoiceBaseVM(cb);
this.ViewModel.VMList.Remove(old);
this.ViewModel.VMList.Add(lNew);
this.datagrid_invoices.RefreshData();
this.gridView.FocusedRow = lNew;
});
}
private void gridView_Loaded(object sender, RoutedEventArgs e)
{
this.gridView.BestFitColumns();
}
private void gridView_ShownEditor(object sender, EditorEventArgs e)
{
if (e.Editor is CheckEdit)
{
var ed = (CheckEdit)e.Editor;
ed.Tag = e.Row;
}
}
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
{
var uri = ((Hyperlink)sender).NavigateUri;
string dcid = HttpUtility.ParseQueryString(uri.Query).Get("ibid");
var schaarf = ServiceFacade.DoOperationsServiceSync(x => x.GetDakotaFileFormat(dcid));
Output.Text = schaarf;
}
private void ReloadButton_OnClick(object sender, RoutedEventArgs e)
{
RefreshInvoiceList();
}
private void YearMonthFilter_FilterSpanChanged(object sender, EventArgs<DateTimeSpan> e)
{
this.ViewModel.DateTimeSpanFilter = e.Data;
RefreshInvoiceList();
}
}
ServiceFacade.DoAccountingServiceAsync(s => s.GetInvoiceBases(start, end), UpdateInvoiceList);
}
private void UpdateInvoiceList(IList<InvoiceBaseDC> dcList)
{
this.Dispatcher.BeginInvoke(
DispatcherPriority.Normal,
(Action)delegate
{
ViewModel.UpdateList(dcList.Where(x => true).ToList());
this.gridView.BestFitColumns();
});
}
private InvoiceBaseListVM ViewModel
{
get
{
return this._Viewmodel;
}
set
{
this.DataContext = value;
this._Viewmodel = value;
}
}
private void RefreshItemInList(InvoiceBaseDC cb)
{
this.Dispatch(
delegate
{
var old = this.ViewModel.VMList.Single(i => i.DataContract.InvoiceBaseOid.Equals(cb.InvoiceBaseOid));
var lNew = new InvoiceBaseVM(cb);
this.ViewModel.VMList.Remove(old);
this.ViewModel.VMList.Add(lNew);
this.datagrid_invoices.RefreshData();
this.gridView.FocusedRow = lNew;
});
}
private void gridView_Loaded(object sender, RoutedEventArgs e)
{
this.gridView.BestFitColumns();
}
private void gridView_ShownEditor(object sender, EditorEventArgs e)
{
if (e.Editor is CheckEdit)
{
var ed = (CheckEdit)e.Editor;
ed.Tag = e.Row;
}
}
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
{
var uri = ((Hyperlink)sender).NavigateUri;
string dcid = HttpUtility.ParseQueryString(uri.Query).Get("ibid");
var schaarf = ServiceFacade.DoOperationsServiceSync(x => x.GetDakotaFileFormat(dcid));
Output.Text = schaarf;
}
private void ReloadButton_OnClick(object sender, RoutedEventArgs e)
{
RefreshInvoiceList();
}
private void YearMonthFilter_FilterSpanChanged(object sender, EventArgs<DateTimeSpan> e)
{
this.ViewModel.DateTimeSpanFilter = e.Data;
RefreshInvoiceList();
}
}
}

View File

@@ -1,4 +1,13 @@
<localView:BeWoView x:Class="BeWo.View.Detail.Accounting.GkvAbrechnungOverview" xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:localView="clr-namespace:BeWo.View" xmlns:localViewModel="clr-namespace:BeWo.ViewModel" xmlns:localViewDetail="clr-namespace:BeWo.View.Detail.Accounting" xmlns:val="clr-namespace:BeWo.Validation" xmlns:proxy="clr-namespace:BeWo.ServiceProxy" xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" Height="Auto" Width="Auto" HorizontalAlignment="Stretch" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:r="clr-namespace:BeWo.Security" VerticalAlignment="Stretch" Focusable="True" xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic">
<localView:BeWoView x:Class="BeWo.View.Detail.Accounting.GkvAbrechnungOverview"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:localViewModel="clr-namespace:BeWo.ViewModel"
xmlns:localViewDetail="clr-namespace:BeWo.View.Detail.Accounting"
xmlns:val="clr-namespace:BeWo.Validation"
xmlns:proxy="clr-namespace:BeWo.ServiceProxy"
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" Height="Auto" Width="Auto" HorizontalAlignment="Stretch" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:r="clr-namespace:BeWo.Security" VerticalAlignment="Stretch" Focusable="True" xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic">
<Grid>
<GroupBox x:Name="groupbox_editArea" Grid.Row="0" Header="GKV-Abrechnungen" Style="{DynamicResource ObjectEditGroupBox}">
@@ -27,7 +36,7 @@
<dxg:GridControl Margin="3" Grid.ColumnSpan="3" Grid.Row="1" DataSource="{Binding VMList}" x:Name="datagrid_gkvAbrechnungen" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<dxg:GridControl.Columns>
<dxg:GridColumn x:Name="ColumnChecked" FieldName="IsChecked" Header=" " MinWidth="30"></dxg:GridColumn>
<dxg:GridColumn x:Name="ColumnButtons" AllowEditing="False" MinWidth="90" FieldName="ReportLink" Header=" ">
<dxg:GridColumn x:Name="ColumnButtons" AllowEditing="False" MinWidth="135" FieldName="ReportLink" Header=" ">
<dxg:GridColumn.DisplayTemplate>
<ControlTemplate>
<StackPanel Orientation="Horizontal">
@@ -41,22 +50,26 @@
<Button Click="btn_edit_Click" Content="@" Padding="0" Margin="1" ToolTip="Editieren" Foreground="#FFFFFF" FontSize="13" FontFamily="Webdings" x:Name="btn_edit" Height="20" Width="20" VerticalAlignment="Center" />
<Button Click="btn_storno_Click" Content="S" Padding="0" Margin="1" ToolTip="Stornieren" Foreground="#FFFFFF" FontSize="13" x:Name="btn_storno" Height="20" Width="20" VerticalAlignment="Center" Initialized="btn_storno_Initialized"/>
<Button Click="btn_delete_Click" Content="r" Padding="0" Margin="1" ToolTip="Löschen" Foreground="#FF0000" FontSize="13" FontFamily="Webdings" x:Name="btn_delete" Height="20" Width="20" VerticalAlignment="Center" />
<Button Click="btn_nutz_Click" Content="sh" Padding="0" Margin="1" ToolTip="Nutzdatendatei" Foreground="#00FF00" FontSize="13" FontFamily="Webdings" x:Name="btn_nutz" Height="20" Width="20" VerticalAlignment="Center" />
<Button Click="btn_auf_Click" Content="sh" Padding="0" Margin="1" ToolTip="Auftragsdatei" Foreground="#00FF00" FontSize="13" FontFamily="Webdings" x:Name="btn_auf" Height="20" Width="20" VerticalAlignment="Center" />
</StackPanel>
</ControlTemplate>
</dxg:GridColumn.DisplayTemplate>
</dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="IKDatenannahmestelle" Header="IKDatenannahmestelle" Width="130" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="IKEmpfang" Header="IKEmpfang" Width="130" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="IKLeistungserbringer" Header="IKLeistungserbringer" Width="130" />
</dxg:GridColumn>
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="IKDatenannahmestelle" Header="Datenannahmestelle" Width="130" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="IKKostenträger" Header="Kostenträger" Width="130" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="IKVersichertenKarte" Header="VersichertenKarte" Width="130" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="IKLeistungserbringer" Header="Leistungserbringer" Width="130" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="AbrechnungsZeitraum" SortFieldName="AbrechnungsZeitraumStart" Header="Zeitraum" Width="120" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="Nutzdatendatei" Header="Nutzdatendatei" Width="80" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="Auftragsdatei" Header="Auftragsdatei" Width="80" />
<!--<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="Nutzdatendatei" Header="Nutzdatendatei" Width="80" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="Auftragsdatei" Header="Auftragsdatei" Width="80" />-->
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="Transfername" Header="Transfername" Width="80" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="ErstelltAm" Header="Erstellt" Width="80" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="VerschluesseltAm" Header="Verschlüsselt" Width="80" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="UebertragenAm" Header="Übertragen" Width="80" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="AntwortErhaltenAm" Header="Antwort erhalten" Width="80" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="AntwortEntschluesseltAm" Header="Antwort entschlüsselt" Width="80" />
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="TotalAmount" Header="Betrag" MinWidth="70">
<dxg:GridColumn ReadOnly="True" AllowEditing="False" FieldName="Betrag" Header="Betrag" MinWidth="70">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings DisplayFormat="c" Mask="c" MaskType="Numeric"></dxe:TextEditSettings>
</dxg:GridColumn.EditSettings>

View File

@@ -1,4 +1,5 @@
using System;
using System.Activities.Statements;
using System.Collections.Generic;
using System.IO;
using System.Linq;
@@ -58,7 +59,19 @@ namespace BeWo.View.Detail.Accounting
this._NewGkvAbrechnungPopUpView.CreateButtonClicked += (s, e) =>
{
this.MainControl.CloseCurrentPopUp();
ServiceFacade.DoAccountingServiceSync(svc => svc.InsertNewGkvAbrechnungen(e.Data));
var checked_invoice_bases = _NewGkvAbrechnungPopUpView.ViewModel.InvoiceBases.Where(x => x.IsChecked).Select(x => x.DataContract.InvoiceBaseOid.Value).ToList();
var gkv_abrechnung = e.Data.First();
var gkv_filter = new GkvAbrechnungFilterDC(gkv_abrechnung);
gkv_abrechnung.InvoiceBaseOids = checked_invoice_bases;
ServiceFacade.DoAccountingServiceAsync(
svc => svc.MakeNewGkvAbrechnung(gkv_filter),
() => Dispatcher.BeginInvoke(DispatcherPriority.Normal,
(Action)delegate
{
RefreshGkvAbrechnungenList();
}));
};
this._EquityInvoiceItemEditView = new EquityInvoiceItemEditView();
@@ -82,19 +95,22 @@ namespace BeWo.View.Detail.Accounting
}
private void RefreshGkvAbrechnungenList()
{
DateTime? start = null;
DateTime? end = null;
if (ViewModel.DateTimeSpanFilter != null)
{
start = ViewModel.DateTimeSpanFilter.StartDate;
end = ViewModel.DateTimeSpanFilter.EndDate;
}
bool filterByInvoiceDate = radioFilterByInvoiceDate.IsChecked.Value;
//ServiceFacade.DoAccountingServiceAsync(s => s.GetInvoiceBases2(start, end, filterByInvoiceDate), UpdateGkvAbrechnungList);
{
if (ViewModel.DateTimeSpanFilter == null)
{
ServiceFacade.DoAccountingServiceAsync(x => x.GetAllGkvAbrechnungen(), UpdateGkvAbrechnungList);
return;
}
var filter = new GkvAbrechnungViewFilterDC();
filter.FilterTime = true;
filter.Start = ViewModel.DateTimeSpanFilter.StartDate;
filter.End = ViewModel.DateTimeSpanFilter.EndDate;
filter.FilterForInvoiceDate = radioFilterByInvoiceDate.IsChecked.Value;
ServiceFacade.DoAccountingServiceAsync(s => s.GetFilteredGkvAbrechnungen(filter), UpdateGkvAbrechnungList);
}
private void UpdateGkvAbrechnungList(IList<GkvAbrechnungDC> dcList)
@@ -105,6 +121,7 @@ namespace BeWo.View.Detail.Accounting
{
ViewModel.UpdateList(dcList);
this.gridView.BestFitColumns();
ViewModel.UpdateList(dcList);
});
}
@@ -155,10 +172,21 @@ namespace BeWo.View.Detail.Accounting
{
mIgnoreCheckChanges = true;
this.ViewModel.DateTimeSpanFilter = e.Data;
RefreshGkvAbrechnungenList();
RefreshGkvAbrechnungenList();
mIgnoreCheckChanges = false;
}
private void btn_nutz_Click(object sender, RoutedEventArgs e)
{
var vm = this.datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungVM>();
BeWoWindowBuilder.GetTextViewer("Nutzdatei", vm.Nutzdatendatei, false).ShowDialog();
}
private void btn_auf_Click(object sender, RoutedEventArgs e)
{
var vm = this.datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungVM>();
BeWoWindowBuilder.GetTextViewer("Auftragsdatei", vm.Auftragsdatei, false).ShowDialog();
}
private void btn_delete_Click(object sender, RoutedEventArgs e)
{
mIgnoreCheckChanges = true;
@@ -171,7 +199,6 @@ namespace BeWo.View.Detail.Accounting
}
mIgnoreCheckChanges = false;
}
private void btn_storno_Click(object sender, RoutedEventArgs e)
{
mIgnoreCheckChanges = true;
@@ -191,18 +218,14 @@ namespace BeWo.View.Detail.Accounting
mIgnoreCheckChanges = false;
}
private void btn_edit_Click(object sender, RoutedEventArgs e)
{
var vm = this.datagrid_gkvAbrechnungen.GetCurrentValue<GkvAbrechnungVM>();
}
private void gridView_Loaded(object sender, RoutedEventArgs e)
{
this.gridView.BestFitColumns();
}
private void gridView_ShownEditor(object sender, EditorEventArgs e)
{
if (e.Editor is CheckEdit)
@@ -211,17 +234,14 @@ namespace BeWo.View.Detail.Accounting
ed.Tag = e.Row;
}
}
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
{
BeWoUtils.NavigateToReportUri(((Hyperlink)sender).NavigateUri.ToString(), "Druckvorschau");
BeWoUtils.NavigateToReportUri(((Hyperlink)sender).NavigateUri.ToString(), "Druckvorschau");
}
private void ReloadButton_OnClick(object sender, RoutedEventArgs e)
{
RefreshGkvAbrechnungenList();
private void ReloadButton_OnClick(object sender, RoutedEventArgs e)
{
RefreshGkvAbrechnungenList();
}
private void btn_storno_Initialized(object sender, EventArgs e)
{
if (!BeWoApp.AppSettings.AllowStorno)
@@ -230,7 +250,6 @@ namespace BeWo.View.Detail.Accounting
btn.Visibility = Visibility.Collapsed;
}
}
private void gridView_CellValueChanged(object sender, CellValueChangedEventArgs e)
{
if (e.Column != null && e.Column.FieldName == "IsPaid")
@@ -241,7 +260,6 @@ namespace BeWo.View.Detail.Accounting
}
}
}
private void TableView_OnCustomRowAppearance(object sender, CustomRowAppearanceEventArgs e)
{
if (e.Property != null && e.Property.Name == "Background")
@@ -256,7 +274,6 @@ namespace BeWo.View.Detail.Accounting
*/
}
}
private void button_checkAll_Click(object sender, RoutedEventArgs e)
{
var visible = GetVisibleVMs();
@@ -265,7 +282,6 @@ namespace BeWo.View.Detail.Accounting
item.IsChecked = true;
}
}
private void button_uncheckAll_Click(object sender, RoutedEventArgs e)
{
var visible = GetVisibleVMs();
@@ -274,7 +290,6 @@ namespace BeWo.View.Detail.Accounting
item.IsChecked = false;
}
}
private void button_printInvoices_Click(object sender, RoutedEventArgs e)
{
var list = new List<GkvAbrechnungVM>();
@@ -297,13 +312,13 @@ namespace BeWo.View.Detail.Accounting
// PrintInvoices(list);
}
private void NewButton_OnClick(object sender, RoutedEventArgs e)
{
GkvAbrechnungDC gkvAbrechnungDC = new GkvAbrechnungDC();
int year = DateTime.Now.Year;
int month = DateTime.Now.Month - 1;
gkvAbrechnungDC.AbrechnungsZeitraumStart = new DateTime(year, month, 1);
gkvAbrechnungDC.AbrechnungsZeitraumStart = new DateTime(1999, 1, 1);
//new DateTime(year, month, 1);
gkvAbrechnungDC.AbrechnungsZeitraumEnde = new DateTime(year, month, DateTime.DaysInMonth(year, month));
GkvAbrechnungVM gkvAbrechnungVM = new GkvAbrechnungVM(gkvAbrechnungDC);
_NewGkvAbrechnungPopUpView.ViewModel = gkvAbrechnungVM;
@@ -313,10 +328,9 @@ namespace BeWo.View.Detail.Accounting
private void PrintInvoices(List<InvoiceBaseVM> list)
{
var oidList = list.Select(i => i.DataContract.InvoiceBaseOid.Value).ToList();
ServiceFacade.DoReportServiceAsync(s => s.CreateInvoiceListReport(oidList), ms => BeWoApp.MainControl.Dispatch(() => BeWoUtils.ShowReportWindow(ms, "Rechnungen")));
}
private IList<GkvAbrechnungVM> GetVisibleVMs()
{
var list = new List<GkvAbrechnungVM>();
@@ -340,7 +354,7 @@ namespace BeWo.View.Detail.Accounting
return list;
}
}
}

View File

@@ -133,7 +133,7 @@ namespace BeWo.View.Detail.Accounting
{
popup_organisation.IsOpen = false;
gkvsearchview.ItemSelected -= gkvsearchview_OrganisationSelected;
ViewModel.IKEmpfang = e.Data.IKKrankenkasse;
ViewModel.IKVersichertenKarte = e.Data.IKKrankenkasse;
ViewModel.IKDatenannahmestelle = e.Data.IKDatenannahmestelle;
popupedit_GkvSearch.Text = e.Data.ToString();

View File

@@ -135,12 +135,6 @@ namespace BeWo.View.Master
tabitem_bargeldverwaltung.Visibility = Visibility.Collapsed;
}
if (!BeWoApp.AppSettings.AllowGkvAbrechnung)
{
tabitem_gkvabrechnung.Visibility = Visibility.Collapsed;
tabitem_gkvabrechnung_alt.Visibility = Visibility.Collapsed;
}
if (BeWoApp.AppSettings.AllowGkvAbrechnung)
{
tabitem_gkvabrechnung.Visibility = Visibility.Visible;

View File

@@ -27,54 +27,43 @@ UebertragenAm
AntwortErhaltenAm
AntwortEntschluesseltAm
*/
public static string PropertyName_IKDatenannahmestelle = "IKDatenannahmestelle";
public static string PropertyName_IKEmpfang = "IKEmpfang";
public static string PropertyName_IKLeistungserbringer = "IKLeistungserbringer";
public static string PropertyName_AbrechnungsZeitraumStart = "AbrechnungsZeitraumStart";
public static string PropertyName_AbrechnungsZeitraumEnde = "AbrechnungsZeitraumEnde";
public static string PropertyName_Nutzdatendatei = "Nutzdatendatei";
public static string PropertyName_Nutzdatendatei = "Nutzdatendatei";
public static string PropertyName_Auftragsdatei = "Auftragsdatei";
public static string PropertyName_Transfername = "Transfername";
public static string PropertyName_ErstelltAm = "ErstelltAm";
public static string PropertyName_VerschluesseltAm = "VerschluesseltAm";
public static string PropertyName_UebertragenAm = "UebertragenAm";
public static string PropertyName_AntwortErhaltenAm = "AntwortErhaltenAm";
public static string PropertyName_AntwortEntschluesseltAm = "AntwortEntschluesseltAm";
private string _IKDatenannahmestelle;
private string _IKEmpfang;
private long? _GkvAbrechnungOid;
private long? _GkvAbrechnungVersion;
private string _Notice;
private string _IKLeistungserbringer;
private string _IKVersichertenKarte;
private string _IKKostenträger;
private string _IKDatenannahmestelle;
private DateTime? _AbrechnungsZeitraumStart;
private DateTime? _AbrechnungsZeitraumEnde;
private string _Nutzdatendatei;
private string _Auftragsdatei;
private string _Transfername;
private DateTime? _ErstelltAm;
private DateTime? _VerschluesseltAm;
private DateTime? _UebertragenAm;
private DateTime? _AntwortErhaltenAm;
private DateTime? _AntwortEntschluesseltAm;
private decimal _Betrag;
internal bool _IsChecked;
private BindingList<InvoiceBaseVM> _InvoiceBases;
@@ -82,21 +71,37 @@ AntwortEntschluesseltAm
public GkvAbrechnungVM(GkvAbrechnungDC pDC) : base(pDC, !pDC.GkvAbrechnungOid.HasValue)
{
_InvoiceBases = new BindingList<InvoiceBaseVM> ();
_InvoiceBases = new BindingList<InvoiceBaseVM>();
}
[ValidationAttribute(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public string IKEmpfang
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public string IKVersichertenKarte
{
get { return this._IKEmpfang; }
get { return this._IKVersichertenKarte; }
set
{
if (this.AreDifferent(this._IKEmpfang, value))
if (this.AreDifferent(this._IKVersichertenKarte, value))
{
this._IKEmpfang = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.IKEmpfang, value), PropertyName_IKEmpfang);
this.FirePropertyChanged(PropertyName_IKEmpfang);
this._IKVersichertenKarte = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.IKVersichertenKarte, value), nameof(IKVersichertenKarte));
this.FirePropertyChanged(nameof(IKVersichertenKarte));
}
}
}
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public string IKKostenträger
{
get { return this._IKKostenträger; }
set
{
if (this.AreDifferent(this._IKKostenträger, value))
{
this._IKKostenträger = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.IKKostenträger, value), nameof(IKKostenträger));
this.FirePropertyChanged(nameof(IKKostenträger));
}
}
}
@@ -111,8 +116,8 @@ AntwortEntschluesseltAm
if (this.AreDifferent(this._IKDatenannahmestelle, value))
{
this._IKDatenannahmestelle = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.IKDatenannahmestelle, value), PropertyName_IKDatenannahmestelle);
this.FirePropertyChanged(PropertyName_IKDatenannahmestelle);
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.IKDatenannahmestelle, value), nameof(IKDatenannahmestelle));
this.FirePropertyChanged(nameof(IKDatenannahmestelle));
}
}
}
@@ -126,12 +131,14 @@ AntwortEntschluesseltAm
if (this.AreDifferent(this._IKLeistungserbringer, value))
{
this._IKLeistungserbringer = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.IKLeistungserbringer, value), PropertyName_IKLeistungserbringer);
this.FirePropertyChanged(PropertyName_IKLeistungserbringer);
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.IKLeistungserbringer, value), nameof(IKLeistungserbringer));
this.FirePropertyChanged(nameof(IKLeistungserbringer));
}
}
}
public string AbrechnungsZeitraum => $"{AbrechnungsZeitraumStart.Value.ToShortDateString()} - {AbrechnungsZeitraumEnde.Value.ToShortDateString()}";
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public DateTime? AbrechnungsZeitraumStart
{
@@ -144,6 +151,10 @@ AntwortEntschluesseltAm
this._AbrechnungsZeitraumStart = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.AbrechnungsZeitraumStart, value), PropertyName_AbrechnungsZeitraumStart);
this.FirePropertyChanged(PropertyName_AbrechnungsZeitraumStart);
// RE893748923
// var day = value.Value.Day;
// AbrechnungsZeitraumEnde = value.Value.AddDays(1 - day).AddMonths(1).AddDays(-1);
}
}
}
@@ -212,6 +223,22 @@ AntwortEntschluesseltAm
}
}
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public DateTime? ErstelltAm
{
get { return this._ErstelltAm; }
set
{
if (this.AreDifferent(this._ErstelltAm, value))
{
this._ErstelltAm = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.ErstelltAm, value), nameof(ErstelltAm));
this.FirePropertyChanged(nameof(ErstelltAm));
}
}
}
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public DateTime? VerschluesseltAm
{
@@ -276,6 +303,69 @@ AntwortEntschluesseltAm
}
}
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public long? GkvAbrechnungOid
{
get { return this._GkvAbrechnungOid; }
set
{
if (this.AreDifferent(this._GkvAbrechnungOid, value))
{
this._GkvAbrechnungOid = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.GkvAbrechnungOid, value), nameof(GkvAbrechnungOid));
this.FirePropertyChanged(nameof(GkvAbrechnungOid));
}
}
}
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public long? GkvAbrechnungVersion
{
get { return this._GkvAbrechnungOid; }
set
{
if (this.AreDifferent(this._GkvAbrechnungVersion, value))
{
this._GkvAbrechnungVersion = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.GkvAbrechnungVersion, value), nameof(GkvAbrechnungVersion));
this.FirePropertyChanged(nameof(GkvAbrechnungVersion));
}
}
}
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public string Notice
{
get { return this._Notice; }
set
{
if (this.AreDifferent(this._Notice, value))
{
this._Notice = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Notice, value), nameof(Notice));
this.FirePropertyChanged(nameof(Notice));
}
}
}
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public decimal Betrag
{
get { return this._Betrag; }
set
{
if (this.AreDifferent(this._Betrag, value))
{
this._Betrag = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Betrag, value), nameof(Betrag));
this.FirePropertyChanged(nameof(Betrag));
}
}
}
public bool IsChecked
{
get { return _IsChecked; }
@@ -298,34 +388,49 @@ AntwortEntschluesseltAm
protected override void InitByDataContract(GkvAbrechnungDC pDataContract)
{
this._IKDatenannahmestelle= pDataContract.IKDatenannahmestelle;
this._IKDatenannahmestelle = pDataContract.IKDatenannahmestelle;
this._IKDatenannahmestelle = pDataContract.IKDatenannahmestelle;
this._AbrechnungsZeitraumStart = pDataContract.AbrechnungsZeitraumStart;
this._AbrechnungsZeitraumEnde = pDataContract.AbrechnungsZeitraumEnde;
this._Nutzdatendatei = pDataContract.Nutzdatendatei;
this._Auftragsdatei = pDataContract.Auftragsdatei;
this._Transfername = pDataContract.Transfername;
this._VerschluesseltAm = pDataContract.VerschluesseltAm;
this._UebertragenAm = pDataContract.UebertragenAm;
this._AntwortErhaltenAm = pDataContract.AntwortErhaltenAm;
this._AntwortEntschluesseltAm = pDataContract.AntwortEntschluesseltAm;
_IKDatenannahmestelle = pDataContract.IKDatenannahmestelle;
_IKKostenträger = pDataContract.IKKostenträger;
_IKLeistungserbringer = pDataContract.IKLeistungserbringer;
_IKVersichertenKarte = pDataContract.IKVersichertenKarte;
_AbrechnungsZeitraumStart = pDataContract.AbrechnungsZeitraumStart;
_AbrechnungsZeitraumEnde = pDataContract.AbrechnungsZeitraumEnde;
_Nutzdatendatei = pDataContract.Nutzdatendatei;
_Auftragsdatei = pDataContract.Auftragsdatei;
_Transfername = pDataContract.Transfername;
_VerschluesseltAm = pDataContract.VerschluesseltAm;
_UebertragenAm = pDataContract.UebertragenAm;
_AntwortErhaltenAm = pDataContract.AntwortErhaltenAm;
_AntwortEntschluesseltAm = pDataContract.AntwortEntschluesseltAm;
_ErstelltAm = pDataContract.ErstelltAm;
_GkvAbrechnungOid = pDataContract.GkvAbrechnungOid;
_GkvAbrechnungVersion = pDataContract.GkvAbrechnungVersion;
_Notice = pDataContract.Notice;
_Betrag = pDataContract.Betrag;
}
protected override GkvAbrechnungDC MapToDataContract(GkvAbrechnungDC pDataContract, bool doCommit)
{
pDataContract.IKDatenannahmestelle = this._IKDatenannahmestelle;
pDataContract.IKEmpfang = this._IKEmpfang;
pDataContract.IKLeistungserbringer = this._IKLeistungserbringer;
pDataContract.AbrechnungsZeitraumStart = this._AbrechnungsZeitraumStart;
pDataContract.AbrechnungsZeitraumEnde = this._AbrechnungsZeitraumEnde;
pDataContract.Nutzdatendatei = this._Nutzdatendatei;
pDataContract.Auftragsdatei = this._Auftragsdatei;
pDataContract.Transfername= this._Transfername;
pDataContract.VerschluesseltAm = this._VerschluesseltAm;
pDataContract.UebertragenAm = this._UebertragenAm;
pDataContract.AntwortErhaltenAm = this._AntwortErhaltenAm;
pDataContract.AntwortEntschluesseltAm= this._AntwortEntschluesseltAm;
pDataContract.IKDatenannahmestelle = _IKDatenannahmestelle;
pDataContract.IKVersichertenKarte = _IKVersichertenKarte;
pDataContract.IKKostenträger = _IKKostenträger;
pDataContract.IKLeistungserbringer = _IKLeistungserbringer;
pDataContract.AbrechnungsZeitraumStart = _AbrechnungsZeitraumStart;
pDataContract.AbrechnungsZeitraumEnde = _AbrechnungsZeitraumEnde;
pDataContract.Nutzdatendatei = _Nutzdatendatei;
pDataContract.Auftragsdatei = _Auftragsdatei;
pDataContract.Transfername = _Transfername;
pDataContract.VerschluesseltAm = _VerschluesseltAm;
pDataContract.UebertragenAm = _UebertragenAm;
pDataContract.AntwortErhaltenAm = _AntwortErhaltenAm;
pDataContract.AntwortEntschluesseltAm = _AntwortEntschluesseltAm;
pDataContract.ErstelltAm = _ErstelltAm;
pDataContract.GkvAbrechnungOid = _GkvAbrechnungOid;
pDataContract.GkvAbrechnungVersion = _GkvAbrechnungVersion;
pDataContract.Notice = _Notice;
pDataContract.Betrag = _Betrag;
return pDataContract;
}

View File

@@ -32,7 +32,6 @@ namespace BeWo.ViewModel.ListViewModel
{
this._DateTimeSpanFilter = value;
this.FirePropertyChanged(PropertyName_DateTimeSpanFilter);
}
}
}
@@ -40,7 +39,11 @@ namespace BeWo.ViewModel.ListViewModel
internal void UpdateList(IList<GkvAbrechnungDC> dcList)
{
this.VMList.Clear();
//this.VMList.AddRange(dcList.Select(CreateVM));
foreach (var dc in dcList)
{
VMList.Add(CreateVM(dc));
}
this.FirePropertyChanged(PropertyName_FilterResultAmountSum);
this.FirePropertyChanged(PropertyName_FilterResultAmountNotPaidSum);

View File

@@ -87,7 +87,7 @@ namespace Dakota.Logic
info.Korrektur = 0;
// info.DateigrosseNutzdaten = 0;
// info.DateigrosseUbertragung = 0;
info.Zeichensatz = "l1";
info.Zeichensatz = "I1";
info.Komprimierung = 0;
info.Verschlusselungsart = 0;
info.ElektronischeUnterschrift = 0;
@@ -169,8 +169,6 @@ namespace Dakota.Logic
return pos;
}
// -----------------------------------------------------------------------------------------------------------------------------------
private static InfoNachricht CreateDakotaInfoNachricht(bool isSLGA, int version)
@@ -230,7 +228,8 @@ namespace Dakota.Logic
var info = new InfoAbrechnungsfall();
info.VersichtertenNummer = infoParameter.Customer.InsuranceNumber;
info.Versichertenstatus = infoParameter.Customer.VersichertenStatus;
info.Versichertenstatus = "50000";
//infoParameter.Customer.VersichertenStatus;
info.Beleginformation = SchlüsselBeleginformation.KeineBeleguebermittlung;
info.Belegnummer = infoParameter.Belegnummer;

View File

@@ -30,9 +30,11 @@ namespace Dakota.Logic
DakotaInfoAufDict = new Dictionary<string, InfoDateiAuftrags>();
}
public void Add(InfoParameterInvoiceItem info) => Add(info.ServiceInvoice, info.Organisation, info.Customer, info.Mandator);
public void Add(ServiceInvoiceDC serviceInvoice, OrganisationDC organisation, CustomerDC customer, MandatorDC mandator)
{
try
{
var ik_datenannahmestelle = organisation.IKDatenannahmestelle;
var success = DakotaInfoNutzDict.TryGetValue(ik_datenannahmestelle, out InfoDateiNutzdaten nutzdaten);
@@ -56,6 +58,12 @@ namespace Dakota.Logic
nutzdaten.AddInfoParameter(info_nutz_item, Version);
}
}
}
catch(Exception e)
{
}
}
public void Apply()
@@ -74,32 +82,45 @@ namespace Dakota.Logic
}
}
public void Save()
public void Save(string root_path, bool debug_mode = false)
{
if (!root_path.EndsWith("\\"))
{
root_path += '\\';
}
foreach (var ik_datenannahmestelle in DakotaFileDict.Keys)
{
var code = DakotaFileDict[ik_datenannahmestelle];
var empfang = code.GetIKEmpfang();
var empfang = code.GetIKDatenannahmestelle();
var transferdateiname = code.GetTransferName();
var path = @"C:\Projects\out";
var pathauf = @"C:\Projects\out.auf";
var path2 = $@"C:\dakotale\TP5Daten\{empfang}\{transferdateiname}";
var path2auf = $@"C:\dakotale\TP5Daten\{empfang}\{transferdateiname}.auf";
var path3 = $@"C:\dakotale\TP5Daten\{empfang}";
string subpath;
if (debug_mode)
{
subpath = $"{empfang}-{transferdateiname}";
}
else
{
subpath = $@"{empfang}\{transferdateiname}";
}
//var pathauf = @"C:\Projects\out.auf";
//var path2 = $@"C:\dakotale\TP5Daten\{empfang}\{transferdateiname}";
//var path2auf = $@"C:\dakotale\TP5Daten\{empfang}\{transferdateiname}.auf";
//var path3 = $@"C:\dakotale\TP5Daten\{empfang}";
var auftragsdatei = code.GetAuftragsdatei();
var nutzdatendatei = code.GetNutzdatendatei();
var auftragsdatei2 = Encoding.GetEncoding("ISO-8859-1").GetBytes(auftragsdatei);
Directory.CreateDirectory(path3);
File.WriteAllText(path2, nutzdatendatei);
File.WriteAllBytes(path2auf, auftragsdatei2);
var finalpath = root_path + subpath;
File.WriteAllText(path, nutzdatendatei);
File.WriteAllBytes(pathauf, auftragsdatei2);
Directory.CreateDirectory(root_path);
File.WriteAllText(finalpath, nutzdatendatei);
File.WriteAllBytes(finalpath + ".auf", auftragsdatei2);
}
}

View File

@@ -36,8 +36,8 @@ namespace Dakota.Models.Blocke
public string IKKrankenkasseKVKarte
{
get { return NachrichtSLGA.SegmentFKT.IKKrankenkasse.GetValue(); }
set { NachrichtSLGA.SegmentFKT.IKKrankenkasse.SetValue(value); }
get { return NachrichtSLGA.SegmentFKT.IKVersichertenKarte.GetValue(); }
set { NachrichtSLGA.SegmentFKT.IKVersichertenKarte.SetValue(value); }
}
public int SLGASegmentLength() => NachrichtSLGA.GetSegmentLength();

View File

@@ -52,9 +52,34 @@ namespace Dakota
return Nutzdatendatei.GetRows();
}
public string GetIKEmpfang()
public string GetIKVersichertenKarte()
{
return Nutzdatendatei.BlockKostenträger.First().BlockKrankenkasse.First().NachrichtSLGA.SegmentFKT.IKVersichertenKarte.GetValue();
}
public string GetIKLeistungserbringer()
{
return Nutzdatendatei.BlockKostenträger.First().BlockKrankenkasse.First().NachrichtSLGA.SegmentFKT.IKLeistungserbringers.GetValue();
}
public string GetIKDatenannahmestelle()
{
return Nutzdatendatei.SegmentUNB.Empfangdatei.GetValue();
}
public string GetIKKostenträger()
{
return Nutzdatendatei.BlockKostenträger.First().BlockKrankenkasse.First().NachrichtSLGA.SegmentFKT.IKKostenträger.GetValue();
}
public decimal GetBetrag()
{
return Nutzdatendatei.BlockKostenträger.First().BlockKrankenkasse.Sum(x => x.NachrichtSLGA.SegmentGES00.GesamtrechnungsbetragDecimal);
}
public int GetKostenträgerCount()
{
return Nutzdatendatei.BlockKostenträger.Count;
}
}
}

View File

@@ -19,11 +19,12 @@ namespace Dakota.Models.Daten
if (temp != default(decimal))
{
dec = temp.ToString("#.00").Replace(".", ",");
var tester = Math.Abs(temp).ToString("#.00").Replace(".", "").Replace(",", "");
// var tester = Math.Abs(temp).ToString("#.00").Replace(".", "").Replace(",", "");
if (tester.Length < MinStellen || tester.Length > MaxStellen)
if (dec.Length < MinStellen || dec.Length > MaxStellen)
{
throw new NotImplementedException("Error Code: 3483091097895");
// - Tester:{tester}
throw new NotImplementedException($"Error Code: 3483091097895 - Dec:{dec} - Title:{Title} - Min:{MinStellen} - Max:{MaxStellen}");
}
}
else

View File

@@ -38,12 +38,6 @@ namespace Dakota.Models.Infos
public DateTime? DatumDerGenehmigung { get; set; }
public SchlüsselArtDerGenehmigung ArtDerGenehmigung { get; set; }
//public decimal GesamtbetragBrutto { get; set; }
//public decimal GesamtbetragGesetzlicheZuzahlung { get; set; }
//public decimal GesamtbetragProzentualeZuzahlung { get; set; }
//public decimal PauschalerZuzahlungsbetrag { get; set; }
//public decimal GesamtbetragEigenanteil { get; set; }
public InfoAbrechnungsfall()
{
InfosAbrechnungsposition = new List<InfoAbrechnungsposition>();

View File

@@ -79,7 +79,7 @@ namespace Dakota.Models.Nachrichten
SegmentFKT.Sammelrechnung.SetValue("J");
SegmentFKT.IKLeistungserbringers.SetValue(info.IKLeistungserbringer);
SegmentFKT.IKKostenträger.SetValue(info.IKKostentrager);
SegmentFKT.IKKrankenkasse.SetValue(info.IKKrankenkasse);
SegmentFKT.IKVersichertenKarte.SetValue(info.IKKrankenkasse);
SegmentFKT.IKAbsender.SetValue(info.IKAbsender);
SegmentREC.SammelRechnungsnummer.SetValue(info.Rechnungsnummer);

View File

@@ -45,7 +45,7 @@ namespace Dakota.Models.Segmente.SLGA
/// Angabe identisch mit SLLA.FKT.IK der
/// Krankenkasse der zugehörigen SLLANachricht.
/// </summary>
public Datenelement IKKrankenkasse { get; private set; }
public Datenelement IKVersichertenKarte { get; private set; }
/// <summary>
/// Einzutragen ist das IK des Absenders der Datei. Diese Angabe ist identisch mit UNB.Absender
/// </summary>
@@ -57,12 +57,12 @@ namespace Dakota.Models.Segmente.SLGA
Sammelrechnung = new Datenelement("Sammelrechnung", 1, Feldart.Kann);
IKLeistungserbringers = new Datenelement("IKLeistungserbringers", 9, Feldart.Muss);
IKKostenträger = new Datenelement("IKKostenträger", 9, Feldart.Muss);
IKKrankenkasse = new Datenelement("IKKrankenkasse", 9, Feldart.Kann);
IKVersichertenKarte = new Datenelement("IKKrankenkasse", 9, Feldart.Kann);
IKAbsender = new Datenelement("IKAbsender", 9, Feldart.Muss);
}
public override string GetHead() => "FKT";
public override List<Dateneinheit> GetBody()
=> new List<Dateneinheit>() { Verarbeitungskennzeichen, Sammelrechnung, IKLeistungserbringers, IKKostenträger, IKKrankenkasse, IKAbsender };
=> new List<Dateneinheit>() { Verarbeitungskennzeichen, Sammelrechnung, IKLeistungserbringers, IKKostenträger, IKVersichertenKarte, IKAbsender };
}
}

View File

@@ -1735,6 +1735,30 @@ namespace BeWo.Data.Access
return lCriteria.List<InvoiceBase>();
}
public IEnumerable<GkvAbrechnung> GetGkvAbrechnungen(DateTime? startDate, DateTime? endDate, bool useInvoiceDate = true)
{
if (endDate.HasValue)
endDate = endDate.Value.Date.AddDays(1).AddMilliseconds(-1);
var lCriteria = CreateCriteriaIsActive<GkvAbrechnung>();
if (useInvoiceDate)
{
if (startDate.HasValue)
lCriteria.Add(Restrictions.Ge(nameof(GkvAbrechnung.ErstelltAm), startDate));
if (endDate.HasValue)
lCriteria.Add(Restrictions.Le(nameof(GkvAbrechnung.ErstelltAm), endDate));
}
else
{
if (startDate.HasValue)
lCriteria.Add(Restrictions.Ge(nameof(GkvAbrechnung.AbrechnungsZeitraumEnde), startDate));
if (endDate.HasValue)
lCriteria.Add(Restrictions.Le(nameof(GkvAbrechnung.AbrechnungsZeitraumStart), endDate));
}
return lCriteria.List<GkvAbrechnung>();
}
public IEnumerable<InvoiceBase> GetInvoiceBases(DateTime? startDate, DateTime? endDate, long costBearerOid, String invoiceId)
{
var lCriteria = CreateCriteriaIsActive<InvoiceBase>();

View File

@@ -14,12 +14,14 @@ namespace BeWo.Data.Entities
public virtual string Kundennummer { get; set; }
public virtual string IKDatenannahmestelle { get; set; }
public virtual string IKEmpfang { get; set; }
public virtual string IKLeistungserbringer { get; set; }
public virtual string IKVersichertenKarte { get; set; }
public virtual string IKKostentrager { get; set; }
public virtual string IKDatenannahmestelle { get; set; }
public virtual DateTime? AbrechnungsZeitraumStart { get; set; }
public virtual DateTime? AbrechnungsZeitraumEnde { get; set; }
@@ -30,6 +32,8 @@ namespace BeWo.Data.Entities
public virtual string Transfername { get; set; }
public virtual DateTime? ErstelltAm { get; set; }
public virtual DateTime? VerschluesseltAm { get; set; }
public virtual DateTime? UebertragenAm { get; set; }
@@ -38,12 +42,20 @@ namespace BeWo.Data.Entities
public virtual DateTime? AntwortEntschluesseltAm { get; set; }
public virtual decimal Betrag { get; set; }
// Kundennummer nur bei App8
/*
IKLeistungserbringer
IKVersichertenKarte
IKKostentrager
IKDatenannahmestelle
*/
/*
Notice
Kundennummer
IKDatenannahmestelle
IKEmpfang
IKLeistungserbringer
AbrechnungsZeitraumStart
AbrechnungsZeitraumEnde
Nutzdatendatei

View File

@@ -8,14 +8,16 @@
<version type="Int64" column="Version" name="Version" />
<property column="Tid" type="BS.Shared.TableID, BS.Shared" name="_Tid" access="field" />
<property column="Kundennummer" type="string" name="Kundennummer" />
<property column="IKDatenannahmestelle" type="string" name="IKDatenannahmestelle" />
<property column="IKEmpfang" type="string" name="IKEmpfang" />
<property column="IKLeistungserbringer" type="string" name="IKLeistungserbringer" />
<property column="IKVersichertenKarte" type="string" name="IKVersichertenKarte" />
<property column="IKKostentrager" type="string" name="IKKostentrager" />
<property column="IKDatenannahmestelle" type="string" name="IKDatenannahmestelle" />
<property column="AbrechnungsZeitraumStart" type="DateTime" name="AbrechnungsZeitraumStart" />
<property column="AbrechnungsZeitraumEnde" type="DateTime" name="AbrechnungsZeitraumEnde" />
<property column="Nutzdatendatei" type="string" name="Nutzdatendatei" />
<property column="Auftragsdatei" type="string" name="Auftragsdatei" />
<property column="Transfername" type="string" name="Transfername" />
<property column="ErstelltAm" type="DateTime" name="ErstelltAm" />
<property column="VerschluesseltAm" type="DateTime" name="VerschluesseltAm" />
<property column="UebertragenAm" type="DateTime" name="UebertragenAm" />
<property column="AntwortErhaltenAm" type="DateTime" name="AntwortErhaltenAm" />
@@ -26,5 +28,6 @@
<property column="UdpUser" type="String" name="UdpUser" length="256" />
<property column="IsActive" type="BS.Shared.ActivationTypeId, BS.Shared" name="IsActive" />
<property column="SystemEntryID" type="BS.Shared.SystemEntryID, BS.Shared" name="SystemEntryID" />
<property column="Betrag" type="decimal" name="Betrag" />
</class>
</hibernate-mapping>

View File

@@ -0,0 +1 @@
<%@ ServiceHost Language="C#" Debug="true" Service="BeWo.Service.ServiceImplementations.GkvInvoiceServiceImp" %>

View File

@@ -198,6 +198,7 @@
<Content Include="CustomerService.svc" />
<Content Include="DocumentDownload.aspx" />
<Content Include="Download.aspx" />
<Content Include="GkvInvoiceService.svc" />
<Content Include="DownloadService.svc" />
<Content Include="GkvAbrechnungView.aspx" />
<Content Include="ReportService.svc" />

View File

@@ -9,43 +9,61 @@ namespace BeWo.Service.DCEntityMapper
{
public override GkvAbrechnungDC MergeWithDC(GkvAbrechnung pEntity, GkvAbrechnungDC pDataContract)
{
pDataContract.Notice = pEntity.Notice;
pDataContract.GkvAbrechnungOid = pEntity.Oid;
pDataContract.GkvAbrechnungVersion = pEntity.Version;
pDataContract.Notice = pEntity.Notice;
pDataContract.IKDatenannahmestelle = pEntity.IKDatenannahmestelle;
pDataContract.IKVersichertenKarte = pEntity.IKVersichertenKarte;
pDataContract.IKLeistungserbringer = pEntity.IKLeistungserbringer;
pDataContract.IKKostenträger = pEntity.IKKostentrager;
pDataContract.IKDatenannahmestelle = pEntity.IKDatenannahmestelle;
pDataContract.IKEmpfang = pEntity.IKEmpfang;
pDataContract.IKLeistungserbringer= pEntity.IKLeistungserbringer;
pDataContract.AbrechnungsZeitraumStart = pEntity.AbrechnungsZeitraumStart;
pDataContract.AbrechnungsZeitraumEnde = pEntity.AbrechnungsZeitraumEnde;
pDataContract.Nutzdatendatei= pEntity.Nutzdatendatei;
pDataContract.Auftragsdatei = pEntity.Auftragsdatei;
pDataContract.Transfername = pEntity.Transfername;
pDataContract.UebertragenAm = pEntity.UebertragenAm;
pDataContract.AntwortErhaltenAm = pEntity.AntwortErhaltenAm;
pDataContract.AntwortEntschluesseltAm = pEntity.AntwortEntschluesseltAm;
pDataContract.UebertragenAm = pEntity.UebertragenAm;
pDataContract.ErstelltAm = pEntity.ErstelltAm;
pDataContract.Betrag = pEntity.Betrag;
return pDataContract;
}
public override GkvAbrechnung MergeWithEntity(GkvAbrechnungDC pDataContract, GkvAbrechnung pEntity)
{
this.ConcurrencyCheck(pDataContract.GkvAbrechnungVersion, pEntity);
pEntity.Oid = pDataContract.GkvAbrechnungOid;
pEntity.Version = pDataContract.GkvAbrechnungVersion;
pEntity.Notice = pDataContract.Notice;
pEntity.IKDatenannahmestelle = pDataContract.IKDatenannahmestelle;
pEntity.IKEmpfang = pDataContract.IKEmpfang;
pEntity.IKVersichertenKarte = pDataContract.IKVersichertenKarte;
pEntity.IKLeistungserbringer = pDataContract.IKLeistungserbringer;
pEntity.IKKostentrager = pDataContract.IKKostenträger;
pEntity.AbrechnungsZeitraumStart = pDataContract.AbrechnungsZeitraumStart;
pEntity.AbrechnungsZeitraumEnde = pDataContract.AbrechnungsZeitraumEnde;
pEntity.Nutzdatendatei = pDataContract.Nutzdatendatei;
pEntity.Auftragsdatei = pDataContract.Auftragsdatei;
pEntity.Transfername = pDataContract.Transfername;
pEntity.ErstelltAm = pDataContract.ErstelltAm;
pEntity.VerschluesseltAm = pDataContract.VerschluesseltAm;
pEntity.UebertragenAm = pDataContract.UebertragenAm;
pEntity.AntwortErhaltenAm = pDataContract.AntwortErhaltenAm;
pEntity.AntwortEntschluesseltAm = pDataContract.AntwortEntschluesseltAm;
pEntity.Betrag = pDataContract.Betrag;
return pEntity;
}

View File

@@ -468,6 +468,7 @@
<Compile Include="ServiceContracts\IAccountingService.cs" />
<Compile Include="ServiceContracts\IAnalysisService.cs" />
<Compile Include="ServiceContracts\IMailService.cs" />
<Compile Include="ServiceContracts\IGkvInvoiceService.cs" />
<Compile Include="ServiceContracts\IOperationsService.cs" />
<Compile Include="ServiceContracts\IDownloadService.cs" />
<Compile Include="ServiceContracts\IEmployeeService.cs" />
@@ -479,6 +480,7 @@
<Compile Include="ServiceImplementations\AccountingServiceImp.cs" />
<Compile Include="ServiceImplementations\AnalysisServiceImp.cs" />
<Compile Include="ServiceImplementations\MailServiceImp.cs" />
<Compile Include="ServiceImplementations\GkvInvoiceServiceImp.cs" />
<Compile Include="ServiceImplementations\OperationsServiceImp.cs" />
<Compile Include="ServiceImplementations\QueryServiceImp.cs" />
<Compile Include="ServiceImplementations\SearchServiceImp.cs" />

View File

@@ -32,9 +32,9 @@ namespace BeWo.Service.ServiceContracts
[OperationContract]
List<InvoiceBaseDC> GetAllActiveInvoiceBases();
[FaultContract(typeof (BeWoFault))]
[OperationContract]
List<InvoiceBaseDC> GetInvoiceBases(DateTime? startDate, DateTime? endDate);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<InvoiceBaseDC> GetInvoiceBases(DateTime? startDate, DateTime? endDate);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
@@ -108,7 +108,7 @@ namespace BeWo.Service.ServiceContracts
[OperationContract]
List<long> UpdateInvoiceBases(List<InvoiceBaseDC> invoices);
[FaultContract(typeof (BeWoFault))]
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<long> SetInvoicePaid(List<InvoiceBaseDC> invoices, bool isPaid);
@@ -139,5 +139,21 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<long> InsertNewGkvAbrechnungen(List<GkvAbrechnungDC> dc);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
GkvAbrechnungDC GetGkvAbrechnung(long oid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<GkvAbrechnungDC> GetAllGkvAbrechnungen();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<GkvAbrechnungDC> GetFilteredGkvAbrechnungen(GkvAbrechnungViewFilterDC gkvAbrechnungViewFilter);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
GkvAbrechnungDC MakeNewGkvAbrechnung(GkvAbrechnungFilterDC abrechnungFilterDC);
}
}

View File

@@ -0,0 +1,19 @@
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.DataContracts.Reports;
using System;
using System.Collections.Generic;
using System.ServiceModel;
using BeWo.Data.Entities;
namespace BeWo.Service.ServiceContracts
{
[ServiceContract]
public interface IGkvInvoiceService
{
}
}

View File

@@ -17,6 +17,7 @@ using BS.Shared.DataContracts;
using Utils = BeWo.Service.Core.Utils;
using BeWo.Service.Invoicing;
using Dakota.Logic;
namespace BeWo.Service.ServiceImplementations
{
@@ -669,6 +670,128 @@ namespace BeWo.Service.ServiceImplementations
}
}
public GkvAbrechnungDC GetGkvAbrechnung(long oid)
{
try
{
var gkv = DAOFactory.GenericDAO.GetByID<GkvAbrechnung>(oid);
var dc = MapperFactory.GkvAbrechnungDC_GkvAbrechnung.MapToNewDC(gkv);
return dc;
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public List<GkvAbrechnungDC> GetFilteredGkvAbrechnungen(GkvAbrechnungViewFilterDC gkvAbrechnungViewFilter)
{
try
{
if (gkvAbrechnungViewFilter == null || !gkvAbrechnungViewFilter.FilterTime)
return GetAllGkvAbrechnungen();
var entities = DAOFactory.SearchDAO.GetGkvAbrechnungen(gkvAbrechnungViewFilter.Start, gkvAbrechnungViewFilter.End, gkvAbrechnungViewFilter.FilterForInvoiceDate);
return MapperFactory.GkvAbrechnungDC_GkvAbrechnung.MapToNewDCs(entities);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public List<GkvAbrechnungDC> GetAllGkvAbrechnungen()
{
try
{
var gkvs = DAOFactory.GenericDAO.GetAllActive<GkvAbrechnung>();
var dcs = MapperFactory.GkvAbrechnungDC_GkvAbrechnung.MapToNewDCs(gkvs);
return dcs;
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public GkvAbrechnungDC MakeNewGkvAbrechnung(GkvAbrechnungFilterDC abrechnungFilterDC)
{
try
{
var test_datetime = abrechnungFilterDC.GkvAbrechnungDC.AbrechnungsZeitraumStart.Value;
var manager = new DakotaManager(test_datetime.Month, DateTime.Now);
var mandatordc = new OperationsServiceImp().GetMandator();
foreach (var invoicebase_oid in abrechnungFilterDC.GkvAbrechnungDC.InvoiceBaseOids)
{
var service = DAOFactory.SearchDAO.GetServiceInvoiceByInvoiceBaseOid(invoicebase_oid);
var invoicebase = DAOFactory.GenericDAO.GetByID<InvoiceBase>(invoicebase_oid);
var orga = invoicebase.CostBearer2SupportConcept.CostBearer.Organisation;
var customer = invoicebase.CostBearer2SupportConcept.SupportConcept.Customer;
var servicedc = MapperFactory.ServiceInvoiceDC_ServiceInvoice.MapToNewDC(service);
var orgadc = MapperFactory.OrganisationDC_OrganisationMapper.MapToNewDC(orga);
var customerdc = MapperFactory.CustomerDC_Customer.MapToNewDC(customer);
manager.Add(servicedc, orgadc, customerdc, mandatordc);
}
manager.Apply();
if(manager.DakotaFileDict.Count != 1 || manager.DakotaFileDict.First().Value.GetKostenträgerCount() != 1)
{
throw new NotImplementedException();
}
var file_from_manager = manager.DakotaFileDict.First().Value;
var gkv_abrechnung_dc = abrechnungFilterDC.GkvAbrechnungDC;
var nutzdatendatei = file_from_manager.GetNutzdatendatei();
// https://dev.mysql.com/doc/refman/8.3/en/string-type-syntax.html
// A TEXT column with a maximum length of 65,535 (2^16 1) characters.
// The effective maximum length is less if the value contains multibyte
// characters. Each TEXT value is stored using a 2-byte length prefix
// that indicates the number of bytes in the value.
if (nutzdatendatei.Length > 65535)
{
throw new ArgumentOutOfRangeException("nutzdatendatei", $"Länger als 65535: {nutzdatendatei.Length}");
}
gkv_abrechnung_dc.IKDatenannahmestelle = file_from_manager.GetIKDatenannahmestelle();
gkv_abrechnung_dc.IKKostenträger= file_from_manager.GetIKKostenträger();
gkv_abrechnung_dc.IKLeistungserbringer= file_from_manager.GetIKLeistungserbringer();
gkv_abrechnung_dc.IKVersichertenKarte = file_from_manager.GetIKVersichertenKarte();
gkv_abrechnung_dc.Auftragsdatei = file_from_manager.GetAuftragsdatei();
gkv_abrechnung_dc.Nutzdatendatei = file_from_manager.GetNutzdatendatei();
gkv_abrechnung_dc.Transfername = file_from_manager.GetTransferName();
gkv_abrechnung_dc.ErstelltAm = file_from_manager.Created;
gkv_abrechnung_dc.Betrag = file_from_manager.GetBetrag();
var gkv_abrechnung = MapperFactory.GkvAbrechnungDC_GkvAbrechnung.MapToNewEntity(gkv_abrechnung_dc);
DAOFactory.GenericDAO.Insert(gkv_abrechnung);
var new_gkv_abrechnung_dc = MapperFactory.GkvAbrechnungDC_GkvAbrechnung.MapToNewDC(gkv_abrechnung);
return new_gkv_abrechnung_dc;
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public List<long> InsertNewGkvAbrechnungen(List<GkvAbrechnungDC> dcList)
{
try

View File

@@ -0,0 +1,11 @@
using BeWo.Service.ServiceContracts;
using System.ServiceModel;
namespace BeWo.Service.ServiceImplementations
{
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, ConcurrencyMode = ConcurrencyMode.Single)]
public class GkvInvoiceService : IGkvInvoiceService
{
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using BS.Shared.DataContracts.Compact;
@@ -16,15 +17,18 @@ namespace BS.Shared.DataContracts
[DataMember]
public string Notice { get; set; }
[DataMember]
public string IKDatenannahmestelle { get; set; }
[DataMember]
public string IKEmpfang { get; set; }
[DataMember]
public string IKLeistungserbringer { get; set; }
[DataMember]
public string IKVersichertenKarte { get; set; }
[DataMember]
public string IKKostenträger { get; set; }
[DataMember]
public string IKDatenannahmestelle { get; set; }
[DataMember]
public DateTime? AbrechnungsZeitraumStart { get; set; }
@@ -40,6 +44,9 @@ namespace BS.Shared.DataContracts
[DataMember]
public string Transfername { get; set; }
[DataMember]
public DateTime? ErstelltAm { get; set; }
[DataMember]
public DateTime? VerschluesseltAm { get; set; }
@@ -52,6 +59,10 @@ namespace BS.Shared.DataContracts
[DataMember]
public DateTime? AntwortEntschluesseltAm { get; set; }
public bool AllowEdit { get; set; }
[DataMember]
public decimal Betrag { get; set; }
[DataMember]
public List<long> InvoiceBaseOids { get; set; }
}
}

View File

@@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
namespace BS.Shared.DataContracts
{
[DataContract]
public class GkvAbrechnungFilterDC : IDataContract
{
public GkvAbrechnungFilterDC(GkvAbrechnungDC gkvAbrechnungDC) : base()
{
GkvAbrechnungDC = gkvAbrechnungDC;
}
public GkvAbrechnungFilterDC()
{
}
[DataMember]
public GkvAbrechnungDC GkvAbrechnungDC { get; set; }
}
}

View File

@@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
namespace BS.Shared.DataContracts
{
[DataContract]
public class GkvAbrechnungViewFilterDC : IDataContract
{
public GkvAbrechnungViewFilterDC()
{
}
[DataMember]
public bool FilterTime { get; set; }
[DataMember]
public DateTime? Start { get; set; }
[DataMember]
public DateTime? End { get; set; }
[DataMember]
public bool FilterForInvoiceDate { get; set; }
}
}

View File

@@ -184,6 +184,8 @@
<Compile Include="DataContracts\DokumentvorlageDC.cs" />
<Compile Include="DataContracts\AdditionalServiceNoticeDC.cs" />
<Compile Include="DataContracts\GeschenkterUrlaubstagDC.cs" />
<Compile Include="DataContracts\GkvAbrechnungViewFilterDC.cs" />
<Compile Include="DataContracts\GkvAbrechnungFilterDC.cs" />
<Compile Include="DataContracts\GoalRatingDC.cs" />
<Compile Include="DataContracts\GkvAbrechnungDC.cs" />
<Compile Include="DataContracts\PlatzhalterDC.cs" />