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

This commit is contained in:
2026-07-27 10:04:42 +02:00
3 changed files with 112 additions and 86 deletions

View File

@@ -1,4 +1,4 @@
using BeWo.Report.ReportObjects; using BeWo.Report.ReportObjects;
namespace BeWo.Report.DefaultReports namespace BeWo.Report.DefaultReports
{ {
partial class LwlPruefliste2026 partial class LwlPruefliste2026
@@ -76,8 +76,6 @@ namespace BeWo.Report.DefaultReports
this.hdrInhalt = new DevExpress.XtraReports.UI.XRTableCell(); this.hdrInhalt = new DevExpress.XtraReports.UI.XRTableCell();
this.hdrBestLbDatum = new DevExpress.XtraReports.UI.XRTableCell(); this.hdrBestLbDatum = new DevExpress.XtraReports.UI.XRTableCell();
this.hdrNr = new DevExpress.XtraReports.UI.XRTableCell(); this.hdrNr = new DevExpress.XtraReports.UI.XRTableCell();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow(); this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
@@ -90,13 +88,15 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell(); this.hdrL = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell(); this.hdrM = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell(); this.hdrN = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell(); this.hdrO = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell(); this.hdrP = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell(); this.hdrQ = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit();
@@ -141,6 +141,7 @@ namespace BeWo.Report.DefaultReports
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1"; this.xrTable1.Name = "xrTable1";
this.xrTable1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); this.xrTable1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTable1.ProcessHiddenCellMode = DevExpress.XtraReports.UI.ProcessHiddenCellMode.DecreaseTableWidth;
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1}); this.xrTableRow1});
this.xrTable1.SizeF = new System.Drawing.SizeF(1327F, 20F); this.xrTable1.SizeF = new System.Drawing.SizeF(1327F, 20F);
@@ -281,7 +282,7 @@ namespace BeWo.Report.DefaultReports
// detOrtArt // detOrtArt
// //
this.detOrtArt.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] { this.detOrtArt.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ServiceDescription]")}); new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[OrtUndArtKuerzel]")});
this.detOrtArt.Name = "detOrtArt"; this.detOrtArt.Name = "detOrtArt";
this.detOrtArt.Text = "Ort und Art der Betreuung"; this.detOrtArt.Text = "Ort und Art der Betreuung";
this.detOrtArt.Weight = 0.09D; this.detOrtArt.Weight = 0.09D;
@@ -357,6 +358,7 @@ namespace BeWo.Report.DefaultReports
this.xrTableHeader.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); this.xrTableHeader.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTableHeader.Name = "xrTableHeader"; this.xrTableHeader.Name = "xrTableHeader";
this.xrTableHeader.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); this.xrTableHeader.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTableHeader.ProcessHiddenCellMode = DevExpress.XtraReports.UI.ProcessHiddenCellMode.DecreaseTableWidth;
this.xrTableHeader.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { this.xrTableHeader.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRowHeader, this.xrTableRowHeader,
this.xrTableRow2}); this.xrTableRow2});
@@ -432,7 +434,7 @@ namespace BeWo.Report.DefaultReports
this.hdrVon.Angle = 90F; this.hdrVon.Angle = 90F;
this.hdrVon.Multiline = true; this.hdrVon.Multiline = true;
this.hdrVon.Name = "hdrVon"; this.hdrVon.Name = "hdrVon";
this.hdrVon.Text = "Uhrzeit des tatsächlichen Beginns der direkten Betreuungsleistungen „von“"; this.hdrVon.Text = "Uhrzeit des tatsächlichen Beginns der direkten Betreuungsleistungen „von“";
this.hdrVon.Weight = 0.05D; this.hdrVon.Weight = 0.05D;
// //
// hdrBis // hdrBis
@@ -440,7 +442,7 @@ namespace BeWo.Report.DefaultReports
this.hdrBis.Angle = 90F; this.hdrBis.Angle = 90F;
this.hdrBis.Multiline = true; this.hdrBis.Multiline = true;
this.hdrBis.Name = "hdrBis"; this.hdrBis.Name = "hdrBis";
this.hdrBis.Text = "Uhrzeit der Beendigung der direkten Betreuungsleistungen \"bis“"; this.hdrBis.Text = "Uhrzeit der Beendigung der direkten Betreuungsleistungen \"bis“";
this.hdrBis.Weight = 0.05D; this.hdrBis.Weight = 0.05D;
// //
// hdrUmfang // hdrUmfang
@@ -464,7 +466,7 @@ namespace BeWo.Report.DefaultReports
this.hdrBestLb.Angle = 90F; this.hdrBestLb.Angle = 90F;
this.hdrBestLb.Multiline = true; this.hdrBestLb.Multiline = true;
this.hdrBestLb.Name = "hdrBestLb"; this.hdrBestLb.Name = "hdrBestLb";
this.hdrBestLb.Text = "Bestätigung der erbrachten Leistungen durch die leistungsberechtigte Person"; this.hdrBestLb.Text = "Bestätigung der erbrachten Leistungen durch die leistungsberechtigte Person";
this.hdrBestLb.Weight = 0.08D; this.hdrBestLb.Weight = 0.08D;
// //
// hdrFallverantwName // hdrFallverantwName
@@ -472,7 +474,7 @@ namespace BeWo.Report.DefaultReports
this.hdrFallverantwName.Angle = 90F; this.hdrFallverantwName.Angle = 90F;
this.hdrFallverantwName.Multiline = true; this.hdrFallverantwName.Multiline = true;
this.hdrFallverantwName.Name = "hdrFallverantwName"; this.hdrFallverantwName.Name = "hdrFallverantwName";
this.hdrFallverantwName.Text = "Name der fallverantwortlichen Person des Leistungserbringers für die betreute Per" + this.hdrFallverantwName.Text = "Name der fallverantwortlichen Person des Leistungserbringers für die betreute Per" +
"son"; "son";
this.hdrFallverantwName.Weight = 0.11D; this.hdrFallverantwName.Weight = 0.11D;
// //
@@ -481,7 +483,7 @@ namespace BeWo.Report.DefaultReports
this.hdrBestFallverantw.Angle = 90F; this.hdrBestFallverantw.Angle = 90F;
this.hdrBestFallverantw.Multiline = true; this.hdrBestFallverantw.Multiline = true;
this.hdrBestFallverantw.Name = "hdrBestFallverantw"; this.hdrBestFallverantw.Name = "hdrBestFallverantw";
this.hdrBestFallverantw.Text = "Bestätigung der erbrachten Leistungen durch die für den Leistungsberechtigten fal" + this.hdrBestFallverantw.Text = "Bestätigung der erbrachten Leistungen durch die für den Leistungsberechtigten fal" +
"lverantwortliche Person"; "lverantwortliche Person";
this.hdrBestFallverantw.Weight = 0.08D; this.hdrBestFallverantw.Weight = 0.08D;
// //
@@ -506,7 +508,7 @@ namespace BeWo.Report.DefaultReports
this.hdrAnteiligeMin.Angle = 90F; this.hdrAnteiligeMin.Angle = 90F;
this.hdrAnteiligeMin.Multiline = true; this.hdrAnteiligeMin.Multiline = true;
this.hdrAnteiligeMin.Name = "hdrAnteiligeMin"; this.hdrAnteiligeMin.Name = "hdrAnteiligeMin";
this.hdrAnteiligeMin.Text = "Bei Gruppenkontakten Angabe der anteilig berechneten tatsächlichen Minuten je tei" + this.hdrAnteiligeMin.Text = "Bei Gruppenkontakten Angabe der anteilig berechneten tatsächlichen Minuten je tei" +
"lnehmender Person"; "lnehmender Person";
this.hdrAnteiligeMin.Weight = 0.06D; this.hdrAnteiligeMin.Weight = 0.06D;
// //
@@ -515,7 +517,7 @@ namespace BeWo.Report.DefaultReports
this.hdrKuerzel.Angle = 90F; this.hdrKuerzel.Angle = 90F;
this.hdrKuerzel.Multiline = true; this.hdrKuerzel.Multiline = true;
this.hdrKuerzel.Name = "hdrKuerzel"; this.hdrKuerzel.Name = "hdrKuerzel";
this.hdrKuerzel.Text = "Kürzel der Betreuungskraft \r\nje Kontakt"; this.hdrKuerzel.Text = "Kürzel der Betreuungskraft \r\nje Kontakt";
this.hdrKuerzel.Weight = 0.08D; this.hdrKuerzel.Weight = 0.08D;
// //
// hdrInhalt // hdrInhalt
@@ -531,7 +533,7 @@ namespace BeWo.Report.DefaultReports
this.hdrBestLbDatum.Angle = 90F; this.hdrBestLbDatum.Angle = 90F;
this.hdrBestLbDatum.Multiline = true; this.hdrBestLbDatum.Multiline = true;
this.hdrBestLbDatum.Name = "hdrBestLbDatum"; this.hdrBestLbDatum.Name = "hdrBestLbDatum";
this.hdrBestLbDatum.Text = "Bestätigung der erbrachten Leistungen durch die leistungsberechtigte Person"; this.hdrBestLbDatum.Text = "Bestätigung der erbrachten Leistungen durch die leistungsberechtigte Person";
this.hdrBestLbDatum.Weight = 0.08D; this.hdrBestLbDatum.Weight = 0.08D;
// //
// hdrNr // hdrNr
@@ -541,16 +543,6 @@ namespace BeWo.Report.DefaultReports
this.hdrNr.Text = "Inhalte"; this.hdrNr.Text = "Inhalte";
this.hdrNr.Weight = 0.074180769230769245D; this.hdrNr.Weight = 0.074180769230769245D;
// //
// topMarginBand1
//
this.topMarginBand1.HeightF = 80F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 30F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// xrTableRow2 // xrTableRow2
// //
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
@@ -565,12 +557,12 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell9, this.xrTableCell9,
this.xrTableCell10, this.xrTableCell10,
this.xrTableCell11, this.xrTableCell11,
this.xrTableCell12, this.hdrL,
this.xrTableCell13, this.hdrM,
this.xrTableCell14, this.hdrN,
this.xrTableCell15, this.hdrO,
this.xrTableCell16, this.hdrP,
this.xrTableCell17, this.hdrQ,
this.xrTableCell18}); this.xrTableCell18});
this.xrTableRow2.Name = "xrTableRow2"; this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 5, 100F); this.xrTableRow2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 5, 100F);
@@ -656,47 +648,47 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell11.Text = "k."; this.xrTableCell11.Text = "k.";
this.xrTableCell11.Weight = 0.08D; this.xrTableCell11.Weight = 0.08D;
// //
// xrTableCell12 // hdrL
// //
this.xrTableCell12.Multiline = true; this.hdrL.Multiline = true;
this.xrTableCell12.Name = "xrTableCell12"; this.hdrL.Name = "hdrL";
this.xrTableCell12.Text = "l."; this.hdrL.Text = "l.";
this.xrTableCell12.Weight = 0.09D; this.hdrL.Weight = 0.09D;
// //
// xrTableCell13 // hdrM
// //
this.xrTableCell13.Multiline = true; this.hdrM.Multiline = true;
this.xrTableCell13.Name = "xrTableCell13"; this.hdrM.Name = "hdrM";
this.xrTableCell13.Text = "m."; this.hdrM.Text = "m.";
this.xrTableCell13.Weight = 0.05D; this.hdrM.Weight = 0.05D;
// //
// xrTableCell14 // hdrN
// //
this.xrTableCell14.Multiline = true; this.hdrN.Multiline = true;
this.xrTableCell14.Name = "xrTableCell14"; this.hdrN.Name = "hdrN";
this.xrTableCell14.Text = "n."; this.hdrN.Text = "n.";
this.xrTableCell14.Weight = 0.06D; this.hdrN.Weight = 0.06D;
// //
// xrTableCell15 // hdrO
// //
this.xrTableCell15.Multiline = true; this.hdrO.Multiline = true;
this.xrTableCell15.Name = "xrTableCell15"; this.hdrO.Name = "hdrO";
this.xrTableCell15.Text = "o."; this.hdrO.Text = "o.";
this.xrTableCell15.Weight = 0.08D; this.hdrO.Weight = 0.08D;
// //
// xrTableCell16 // hdrP
// //
this.xrTableCell16.Multiline = true; this.hdrP.Multiline = true;
this.xrTableCell16.Name = "xrTableCell16"; this.hdrP.Name = "hdrP";
this.xrTableCell16.Text = "p."; this.hdrP.Text = "p.";
this.xrTableCell16.Weight = 0.14D; this.hdrP.Weight = 0.14D;
// //
// xrTableCell17 // hdrQ
// //
this.xrTableCell17.Multiline = true; this.hdrQ.Multiline = true;
this.xrTableCell17.Name = "xrTableCell17"; this.hdrQ.Name = "hdrQ";
this.xrTableCell17.Text = "q."; this.hdrQ.Text = "q.";
this.xrTableCell17.Weight = 0.08D; this.hdrQ.Weight = 0.08D;
// //
// xrTableCell18 // xrTableCell18
// //
@@ -705,6 +697,16 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell18.Text = "Spalten-Nr."; this.xrTableCell18.Text = "Spalten-Nr.";
this.xrTableCell18.Weight = 0.074180769230769245D; this.xrTableCell18.Weight = 0.074180769230769245D;
// //
// topMarginBand1
//
this.topMarginBand1.HeightF = 80F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 30F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// bindingSource1 // bindingSource1
// //
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.LwlPrueflisteRO); this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.LwlPrueflisteRO);
@@ -793,12 +795,12 @@ namespace BeWo.Report.DefaultReports
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9; private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10; private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell11; private DevExpress.XtraReports.UI.XRTableCell xrTableCell11;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12; private DevExpress.XtraReports.UI.XRTableCell hdrL;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13; private DevExpress.XtraReports.UI.XRTableCell hdrM;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell14; private DevExpress.XtraReports.UI.XRTableCell hdrN;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell15; private DevExpress.XtraReports.UI.XRTableCell hdrO;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell16; private DevExpress.XtraReports.UI.XRTableCell hdrP;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell17; private DevExpress.XtraReports.UI.XRTableCell hdrQ;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell18; private DevExpress.XtraReports.UI.XRTableCell xrTableCell18;
} }
} }

View File

@@ -17,7 +17,7 @@ namespace BeWo.Report.DefaultReports
/// Standard: false = Variante 1 (Spalten A-K + Nr.). Nur auf explizite Nachfrage des Kunden auf true setzen. /// Standard: false = Variante 1 (Spalten A-K + Nr.). Nur auf explizite Nachfrage des Kunden auf true setzen.
/// ///
/// Detailangaben zu den Spalten vom LWL: /// Detailangaben zu den Spalten vom LWL:
/// Spalte L: Ort und Art der Betreuung (DK= direkter Kontakt, TE = Telefonkontakt, F = Fehlkontakt) /// Spalte L: Ort und Art der Betreuung (DK= direkter Kontakt (oder face 2 face), TE = Telefonkontakt, F = Fehlkontakt)
/// Spalte O: Kürzel der Betreuungskraft je Kontakt (ggf.eindeutige Personal - Nr., o.Ä.)) /// Spalte O: Kürzel der Betreuungskraft je Kontakt (ggf.eindeutige Personal - Nr., o.Ä.))
/// Spalte M: Angabe zum Inhalt der Kontaktzeit (Stichworte oder gesamter Text der individuellen Betreuungsdokumenation je Leistung) /// Spalte M: Angabe zum Inhalt der Kontaktzeit (Stichworte oder gesamter Text der individuellen Betreuungsdokumenation je Leistung)
public bool MitZusatzspalten { get; set; } public bool MitZusatzspalten { get; set; }
@@ -33,7 +33,8 @@ namespace BeWo.Report.DefaultReports
var zusatzspalten = new XRTableCell[] var zusatzspalten = new XRTableCell[]
{ {
detOrtArt, detAnzahl, detAnteiligeMin, detKuerzel, detInhalt, detBestLbDatum, detOrtArt, detAnzahl, detAnteiligeMin, detKuerzel, detInhalt, detBestLbDatum,
hdrOrtArt, hdrAnzahl, hdrAnteiligeMin, hdrKuerzel, hdrInhalt, hdrBestLbDatum hdrOrtArt, hdrAnzahl, hdrAnteiligeMin, hdrKuerzel, hdrInhalt, hdrBestLbDatum,
hdrL, hdrM, hdrN, hdrO, hdrP, hdrQ
}; };
foreach (var zelle in zusatzspalten) foreach (var zelle in zusatzspalten)
{ {

View File

@@ -111,14 +111,14 @@ order by p.lastname, p.Firstname, sr.startdate
e.MainAttendant = (String)sqlRow[16]; e.MainAttendant = (String)sqlRow[16];
e.ServiceDescription = (String)sqlRow[17]; e.ServiceDescription = (String)sqlRow[17];
// Spalte H (Fehlkontakt in Minuten): nur befuellen, wenn die ausgewaehlte Leistung // Spalte L (Ort und Art): Standard-Abkuerzung aus dem Leistungsnamen ableiten. Kann im kundenspezifischen CustomReportCreator ueberschrieben werden.
// "Fehlkontakt" enthaelt - sonst bleibt das Feld null (leer). e.OrtUndArtKuerzel = MappeOrtUndArtKuerzel(e.ServiceDescription);
if (!String.IsNullOrEmpty(e.ServiceDescription)
&& e.ServiceDescription.IndexOf("Fehlkontakt", StringComparison.OrdinalIgnoreCase) >= 0) // Spalte H (Fehlkontakt in Minuten): nur befuellen, wenn die ausgewaehlte Leistung "Fehlkontakt" enthaelt - sonst bleibt das Feld null (leer).
if (!String.IsNullOrEmpty(e.ServiceDescription) && e.ServiceDescription.IndexOf("Fehlkontakt", StringComparison.OrdinalIgnoreCase) >= 0)
{ {
e.FehlkontaktMinuten = e.Minutes; e.FehlkontaktMinuten = e.Minutes;
} }
if (sqlRow[18] != null && DateTime.TryParse(sqlRow[18].ToString(), out var dt1)) if (sqlRow[18] != null && DateTime.TryParse(sqlRow[18].ToString(), out var dt1))
{ {
e.CustomerSignatureDate = dt1; e.CustomerSignatureDate = dt1;
@@ -134,7 +134,35 @@ order by p.lastname, p.Firstname, sr.startdate
e.EmployeeSignatureDate = dt2; e.EmployeeSignatureDate = dt2;
} }
return e; return e;
}
/// <summary>
/// Standard-Zuordnung des Leistungsnamens zur Abkuerzung fuer Spalte L der LWL-Pruefliste 2026: DK = direkter Kontakt, TE = Telefonkontakt, F = Fehlkontakt.
/// Deckt die gaengigen Leistungsnamen ab. Kunden mit abweichenden Bezeichnungen koennen die Zuordnung im CustomReportCreator ueberschreiben (ro.ServiceRecords
/// nach dem Create() durchlaufen und OrtUndArtKuerzel neu setzen).
/// </summary>
public static String MappeOrtUndArtKuerzel(String ServiceDescription)
{
if (String.IsNullOrEmpty(ServiceDescription))
{
return String.Empty;
}
var name = ServiceDescription.ToLower();
if (name.Contains("fehlkontakt") || name.Contains("ausfall"))
{
return "F";
}
if (name.Contains("telefon") || name.Contains("ear"))
{
return "TE";
}
if (name.Contains("face") || name.Contains("direkt"))
{
return "DK";
}
// Fallback: alles Uebrige gilt als direkter Kontakt.
return "DK";
} }
} }
@@ -159,12 +187,7 @@ order by p.lastname, p.Firstname, sr.startdate
public decimal Minutes { get; set; } public decimal Minutes { get; set; }
/// <summary> public decimal? FehlkontaktMinuten { get; set; } // neu für LWLPruefliste2026
/// Fehlkontakt in Minuten (max. 120) - neue Spalte H der LWL-Pruefliste 2026.
/// Wird in ErstelleEintrag() nur gesetzt, wenn die ausgewaehlte Leistung
/// (ServiceDescription) "Fehlkontakt" enthaelt, sonst null (leer).
/// </summary>
public decimal? FehlkontaktMinuten { get; set; }
public int? GroupPersonCount { get; set; } public int? GroupPersonCount { get; set; }
@@ -184,12 +207,12 @@ order by p.lastname, p.Firstname, sr.startdate
public String ServiceDescription { get; set; } public String ServiceDescription { get; set; }
public String OrtUndArtKuerzel { get; set; } // neu für LWLPruefliste2026
public DateTime? CustomerSignatureDate { get; set; } public DateTime? CustomerSignatureDate { get; set; }
public String MainAttendant { get; set; } public String MainAttendant { get; set; }
public DateTime? EmployeeSignatureDate { get; set; } public DateTime? EmployeeSignatureDate { get; set; }
} }
} }