Summen Server Json fertig

This commit is contained in:
2025-01-20 12:23:15 +01:00
parent 657409d599
commit 0d4f0a35bc
12 changed files with 6078 additions and 5895 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -54,7 +54,7 @@ namespace Host
ClientResult(GkvSender.DeserializeRequest<GkvClientResultRequestDC>(str, SendInvalidInputResponse));
return;
case RequestType.GkvClientSum:
ClientSum(GkvSender.DeserializeRequest<GkvClientSumRequest>(str, SendInvalidInputResponse));
ClientSum(GkvSender.DeserializeRequest<GkvClientSumRequestJson>(str, SendInvalidInputResponse));
return;
default:
SendErrorResponse(INVALID_INPUT + " 4");
@@ -100,16 +100,43 @@ namespace Host
SendResponse(response);
}
private void ClientSum(GkvClientSumRequest req)
private void ClientSum(GkvClientSumRequestJson req)
{
if (req.Start is null || req.End is null || req.Tenant is null)
if (req.Tenant is null)
SendInvalidInputResponse();
var start = req.Start.Value;
var end = req.End.Value;
if (req.Start > req.End)
SendInvalidInputResponse();
// Response
var response = new GkvClientSumResponseJson();
try
{
var service = new AccountingServiceImp();
var invoices = service.GetCompactGkvAbrechnungByTransferDateRange(req.Start, req.End);
if(invoices is object && invoices.Count > 0)
{
response.CompactGkvAbrechnungen = invoices.ToArray();
response.Success = true;
}
else
{
response.Message = "no records";
}
}
catch (GkvException e)
{
response.Message = e.Message;
}
catch (Exception e)
{
response.Message = e.Message;
}
SendResponse(response);
}
#region Senden

View File

@@ -0,0 +1,46 @@
using BeWo.Data.Entities;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Service.DCEntityMapper
{
public class CompactGkvAbrechnungDC_GkvAbrechnung : AbstractIDCEntityMapper<GkvAbrechnung, CompactGkvAbrechnungDC>
{
public override CompactGkvAbrechnungDC MergeWithDC(GkvAbrechnung pEntity, CompactGkvAbrechnungDC pDataContract)
{
pDataContract.GkvAbrechnungOid = pEntity.Oid.Value;
pDataContract.GkvAbrechnungErstelltAm = pEntity.ErstelltAm;
pDataContract.GkvAbrechnungBetrag = pEntity.Betrag;
if(pEntity.LastTransferProtokoll is GkvTransferProtokoll protokoll)
{
pDataContract.GkvProtokollZuletztGesendet = protokoll.ErstelltAm;
pDataContract.GkvProtokollSentDakotaSuccess = protokoll.SentDakotaSuccess;
pDataContract.GkvProtokollResultType = protokoll.ResultType;
pDataContract.GkvProtokollResultDatum = protokoll.Fehlerdatum;
if(string.IsNullOrWhiteSpace(protokoll.Fehlertitel))
pDataContract.GkvProtokollResultMessage = protokoll.Fehlernachricht;
else
pDataContract.GkvProtokollResultMessage = protokoll.Fehlertitel + ": " + protokoll.Fehlernachricht;
}
return pDataContract;
}
public override GkvAbrechnung MergeWithEntity(CompactGkvAbrechnungDC pDataContract, GkvAbrechnung pEntity)
{
throw new NotImplementedException();
}
protected override bool AreDCAndEntityEqual(CompactGkvAbrechnungDC pDC, GkvAbrechnung pEntity)
{
return pDC.GkvAbrechnungOid == pEntity.Oid;
}
}
}

View File

@@ -310,6 +310,8 @@ namespace BeWo.Service.DCEntityMapper
private static AiSettingsDC_AiSettings _AiSettingsDC_AiSettings;
private static CompactGkvAbrechnungDC_GkvAbrechnung _CompactGkvAbrechnungDC_GkvAbrechnung;
public static MedRecordDC_MedRecord MedRecordDC_MedRecord =>
_MedRecordDC_MedRecord ?? (_MedRecordDC_MedRecord = new MedRecordDC_MedRecord());
@@ -778,6 +780,9 @@ namespace BeWo.Service.DCEntityMapper
public static AiSettingsDC_AiSettings AiSettingsDC_AiSettings =>
_AiSettingsDC_AiSettings ?? (_AiSettingsDC_AiSettings = new AiSettingsDC_AiSettings());
public static CompactGkvAbrechnungDC_GkvAbrechnung CompactGkvAbrechnungDC_GkvAbrechnung =>
_CompactGkvAbrechnungDC_GkvAbrechnung ?? (_CompactGkvAbrechnungDC_GkvAbrechnung = new CompactGkvAbrechnungDC_GkvAbrechnung());
public static BankAccountDC_BankAccount BankAccountDC_BankAccount { get; }
= new BankAccountDC_BankAccount();

View File

@@ -227,6 +227,7 @@
<Compile Include="DCEntityMapper\AddressRouteDC_AddressRoute.cs" />
<Compile Include="DCEntityMapper\BankAccountDC_BankAccount.cs" />
<Compile Include="DCEntityMapper\BargeldtransaktionshistoryDC_Bargeldtransaktionshistory.cs" />
<Compile Include="DCEntityMapper\CompactGkvAbrechnungDC_GkvAbrechnung.cs" />
<Compile Include="DCEntityMapper\ConfirmationReceiptSignatureDC_ConfirmationReceiptSignature.cs" />
<Compile Include="DCEntityMapper\CustomerVermittlungArbeitDC_CustomerVermittlungArbeit.cs" />
<Compile Include="DCEntityMapper\AiSettingsDC_AiSettings.cs" />

View File

@@ -813,6 +813,34 @@ namespace BeWo.Service.ServiceImplementations
throw Utils.CreateBeWoFaultException(e);
}
}
public List<CompactGkvAbrechnungDC> GetCompactGkvAbrechnungByTransferDateRange(DateTime? start, DateTime? end)
{
try
{
var entities = DAOFactory.SearchDAO.GetGkvTransferProtokollByDateRange(start, end);
var filter = entities.Where(x => x.SentDakotaSuccess);
var oids = filter.Select(x => x.GkvAbrechnungOid).Distinct();
if (!oids.Any())
return null;
var list = new List<GkvAbrechnung>();
foreach (var oid in oids)
{
var abrechnung = DAOFactory.GenericDAO.LoadByID<GkvAbrechnung>(oid);
list.Add(abrechnung);
}
return MapperFactory.CompactGkvAbrechnungDC_GkvAbrechnung.MapToNewDCs(list);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public GkvAbrechnungCreateResponseDC CreateNewGkvAbrechnung(GkvAbrechnungCreateRequestDC request)
{

View File

@@ -1274,6 +1274,7 @@ namespace BS.Shared
public enum GkvTransferResultType
{
Waiting = -1,
Success = 0, // Kein Fehler
FailSoft = 1, // Kann erneut senden
FailFatal = 2, // Kann nicht erneut senden

View File

@@ -0,0 +1,38 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
namespace BS.Shared.DataContracts.Compact
{
[DataContract]
public class CompactGkvAbrechnungDC : IDataContract
{
[JsonProperty("gkvioid")]
[DataMember] public long GkvAbrechnungOid { get; set; }
[JsonProperty("gkvicreated")]
[DataMember] public DateTime GkvAbrechnungErstelltAm { get; set; }
[JsonProperty("gkvisum")]
[DataMember] public decimal GkvAbrechnungBetrag { get; set; }
[JsonProperty("sentdatetime")]
[DataMember] public DateTime? GkvProtokollZuletztGesendet { get; set; }
[JsonProperty("sentdakotasuccess")]
[DataMember] public bool GkvProtokollSentDakotaSuccess { get; set; }
[JsonProperty("resulttype")]
[DataMember] public GkvTransferResultType? GkvProtokollResultType { get; set; }
[JsonProperty("resultmessage")]
[DataMember] public string GkvProtokollResultMessage { get; set; }
[JsonProperty("resultdatetime")]
[DataMember] public DateTime? GkvProtokollResultDatum { get; set; }
}
}

View File

@@ -12,6 +12,7 @@ namespace BS.Shared.DataContracts.GkvAbrechnung
public GkvClientResultRequestDC()
: base(RequestType.GkvClientResult) { }
[DataMember] public long UserOid { get; set; }
[DataMember] public IList<GkvServerResultDC> ResultDCs { get; set; }

View File

@@ -8,17 +8,17 @@ using System.Threading.Tasks;
namespace BS.Shared.DataContracts.GkvAbrechnung
{
public class GkvClientSumRequest : GkvClientRequestDC
public class GkvClientSumRequestJson : GkvClientRequestDC
{
public GkvClientSumRequest() : base(RequestType.GkvClientSum)
public GkvClientSumRequestJson() : base(RequestType.GkvClientSum)
{
}
[JsonProperty("start")]
[DataMember] public DateTime? Start { get; set; }
[JsonProperty("start")]
public DateTime? Start { get; set; }
[JsonProperty("end")]
[DataMember] public DateTime? End { get; set; }
public DateTime? End { get; set; }
}
}

View File

@@ -0,0 +1,22 @@
using BS.Shared.DataContracts.Compact;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
namespace BS.Shared.DataContracts.GkvAbrechnung
{
public class GkvClientSumResponseJson : GkvResponseDC
{
public GkvClientSumResponseJson()
{
}
[JsonProperty("gkvinvoices")]
[DataMember] public CompactGkvAbrechnungDC[] CompactGkvAbrechnungen { get; set; }
}
}

View File

@@ -179,9 +179,11 @@
<Compile Include="DataContracts\AdditionalServiceRegionDC.cs" />
<Compile Include="DataContracts\AddressRouteDC.cs" />
<Compile Include="DataContracts\ClientPartials\IMoKSearchableDC.cs" />
<Compile Include="DataContracts\Compact\CompactGkvAbrechnungDC.cs" />
<Compile Include="DataContracts\CustomerVermittlungArbeitDC.cs" />
<Compile Include="DataContracts\GkvAbrechnung\GkvClientRequestDC.cs" />
<Compile Include="DataContracts\GkvAbrechnung\GkvClientSumRequest.cs" />
<Compile Include="DataContracts\GkvAbrechnung\GkvClientSumRequestJson.cs" />
<Compile Include="DataContracts\GkvAbrechnung\GkvClientSumResponseJson.cs" />
<Compile Include="DataContracts\ImportSupportConceptResultDC.cs" />
<Compile Include="DataContracts\CheckObjectDeletionResultDC.cs" />
<Compile Include="DataContracts\AppRequestDC.cs" />