diff --git a/ReportImp/HphBersenbrueckFreizeitUndReisen/Abrechnung/CustomInvoiceCreation.cs b/ReportImp/HphBersenbrueckFreizeitUndReisen/Abrechnung/CustomInvoiceCreation.cs index 9a5791d71..c4db343f0 100644 --- a/ReportImp/HphBersenbrueckFreizeitUndReisen/Abrechnung/CustomInvoiceCreation.cs +++ b/ReportImp/HphBersenbrueckFreizeitUndReisen/Abrechnung/CustomInvoiceCreation.cs @@ -34,7 +34,7 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung //Reisen sollen getrennt abgerechnet werden. List serviceRecordsReise = new List(); List serviceRecordsKurzurlaub = new List(); - //List serviceRecordsTagesfahrt = new List(); + List serviceRecordsTagesfahrt = new List(); List serviceRecordsNichtUrlaubUndReise = new List(); foreach (var item in alleServiceRecords) @@ -45,10 +45,16 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung } else if (item.ServiceDescription.Name.ToLower().Contains("kurzurlaub")) { + // keine zweite Rechnung aufmachen, deshalb zu Reisen serviceRecordsReise.Add(item); } - else - { + else if (item.ServiceDescription.Name.ToLower().Contains("tagesfahrt")) + { + // keine zweite Rechnung aufmachen, deshalb zu Reisen + serviceRecordsReise.Add(item); + } + else + { serviceRecordsNichtUrlaubUndReise.Add(item); } } @@ -119,7 +125,6 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung { invoiceList.AddRange(invoices); invoiceCounter++; - } } if (serviceRecordsKurzurlaub.Count > 0) @@ -130,7 +135,16 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung { invoiceList.AddRange(invoices); invoiceCounter++; + } + } + if (serviceRecordsTagesfahrt.Count > 0) + { + var invoices = CreatePflegekassenRechnungen(invoiceCounter, pflegekasse, customer, invoicePeriod, sc, serviceRecordsTagesfahrt); + if (invoices != null && invoices.Count > 0) + { + invoiceList.AddRange(invoices); + invoiceCounter++; } } } @@ -145,10 +159,8 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung { SetzeInvoiceItemDescription(rg, pflegekassenRechnungen); - invoiceList.Add(rg); invoiceCounter++; - } } @@ -179,16 +191,26 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung invoiceCounter++; } } - } - } - + if (serviceRecordsTagesfahrt.Count > 0) + { + var rglist = CreateSelbstzahlerRechnungen(invoiceCounter, customer, invoicePeriod, sc, serviceRecordsTagesfahrt); + + foreach (var rg in rglist) + { + if (rg.GetTotalClaim() > 0) + { + invoiceList.Add(rg); + invoiceCounter++; + } + } + } + } + if (invoiceList.Count == 0) { //return base.GenerateServiceInvoices(costBearerOid, invoicePeriod, supportConcepts2ServiceRecords); } - - } var result = invoiceList.Select(item => MapperFactory.ServiceInvoiceDC_ServiceInvoice.MapToNewDC(item)).ToList(); @@ -280,16 +302,20 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung { return info.ServiceDescription; } - if (desc.Contains("reisen") || desc.Contains("kurzurlaub")) + if (desc.Contains("reisen") || desc.Contains("kurzurlaub") || desc.Contains("tagesfahrt")) { if (info.Pflegegrad.HasValue && info.Pflegegrad.Value != Pflegegrad.KeinGrad && info.Pflegegrad.Value != Pflegegrad.PflegegradBeantragt) { if (desc.Contains("kurzurlaub")) return "Betreuungskosten Kurzurlaub mit Pflegegrad"; + if (desc.Contains("tagesfahrt")) + return "Betreuungskosten Tagesfahrt mit Pflegegrad"; return "Betreuungskosten mit Pflegegrad"; } if (desc.Contains("kurzurlaub")) return "Betreuungskosten Kurzurlaub ohne Pflegegrad"; + if (desc.Contains("tagesfahrt")) + return "Betreuungskosten Tagesfahrt ohne Pflegegrad"; return "Betreuungskosten ohne Pflegegrad"; } if (cat.Contains("ยง45")) @@ -380,6 +406,10 @@ namespace HphBersenbrueckFreizeitUndReisen.Abrechnung { minuten = 60; } + else if (sr.ServiceDescription.Name.Contains("Tagesfahrt")) + { + minuten = 60; + } else if (sr.ServiceDescription.Name.ToLower().Contains("reisen")) { //Setze Minuten auf 60 * Anzahl Tage