diff --git a/TestBenchFramework/BenchControl/DataEntry/Munich3/CycleEndForm.cs b/TestBenchFramework/BenchControl/DataEntry/Munich3/CycleEndForm.cs index 284862877..d63d85607 100644 --- a/TestBenchFramework/BenchControl/DataEntry/Munich3/CycleEndForm.cs +++ b/TestBenchFramework/BenchControl/DataEntry/Munich3/CycleEndForm.cs @@ -87,10 +87,10 @@ namespace TBF.BenchControl.DataEntry.Munich3 private void okButton_Click(object sender, EventArgs e) { if (WaterMetersCount >= 1) EndStateText[0] = textBox1.Text; - if (WaterMetersCount >= 2) EndStateText[1] = textBox3.Text; - if (WaterMetersCount >= 3) EndStateText[2] = textBox4.Text; - if (WaterMetersCount >= 4) EndStateText[3] = textBox5.Text; - if (WaterMetersCount >= 5) EndStateText[4] = textBox6.Text; + if (WaterMetersCount >= 2) EndStateText[1] = textBox2.Text; + if (WaterMetersCount >= 3) EndStateText[2] = textBox3.Text; + if (WaterMetersCount >= 4) EndStateText[3] = textBox4.Text; + if (WaterMetersCount >= 5) EndStateText[4] = textBox5.Text; if (WaterMetersCount >= 6) EndStateText[5] = textBox6.Text; if (radioButton1.Checked) ProtocolTitle = ProtocolName1; diff --git a/TestBenchFramework/BenchControl/ResultsPrinters/Munich/MunichPrintDocument.cs b/TestBenchFramework/BenchControl/ResultsPrinters/Munich/MunichPrintDocument.cs index 1c61052a1..00078a315 100644 --- a/TestBenchFramework/BenchControl/ResultsPrinters/Munich/MunichPrintDocument.cs +++ b/TestBenchFramework/BenchControl/ResultsPrinters/Munich/MunichPrintDocument.cs @@ -29,7 +29,17 @@ namespace TBF.BenchControl.ResultsPrinters.Munich /// Initialized in the constructor readonly Printer prn; + + /// + /// Data to print + /// + readonly GenericDevices.IBenchInfo benchId; + readonly Procedure procedure; + readonly int wmNr; + readonly IList unsortedResults; + readonly IList results; readonly bool combined; /// true when MetersKind is MetersKind.Combined + readonly int secondTableOffset; /// Calculated in the constructor /// Top coordinate of the table @@ -47,11 +57,19 @@ namespace TBF.BenchControl.ResultsPrinters.Munich /// /// Text to be printed public MunichPrintDocument(Printer printer, + Procedure procedure, + IList unsortedResults, + int wmNr, PageOrientation pageOrientation) { prn = printer; - combined = (prn.Results[0].MetersKind == MetersKind.Combined); - secondTableOffset = (prn.Results.Count + 2) * SpacingOneAndHalf; + this.procedure = procedure; + this.unsortedResults = unsortedResults; + this.wmNr = wmNr; + combined = (procedure.MetersKind == MetersKind.Combined); + results = Utils.GetSortedTestResults(procedure, unsortedResults, Utils.PartNr(wmNr + 1, combined)); + + secondTableOffset = (results.Count + 2) * SpacingOneAndHalf; DefaultPageSettings.Landscape = (pageOrientation == PageOrientation.Landscape); } @@ -131,7 +149,7 @@ namespace TBF.BenchControl.ResultsPrinters.Munich } PrintAt(e, Tab1, lineNr * SpacingOne, "Hersteller :"); - PrintAt(e, Tab2, lineNr * SpacingOne, prn.WaterMeters[0].Producer); + PrintAt(e, Tab2, lineNr * SpacingOne, prn.WaterMeters[wmNr].Producer); if (combined) { PrintAt(e, Tab3, lineNr * SpacingOne, "Hersteller :"); @@ -140,7 +158,7 @@ namespace TBF.BenchControl.ResultsPrinters.Munich lineNr++; PrintAt(e, Tab1, lineNr * SpacingOne, "Seriennummer :"); - PrintAt(e, Tab2, lineNr * SpacingOne, prn.WaterMeters[0].SerialNr); + PrintAt(e, Tab2, lineNr * SpacingOne, prn.WaterMeters[wmNr].SerialNr); if (combined) { PrintAt(e, Tab3, lineNr * SpacingOne, "Seriennummer :"); @@ -149,7 +167,7 @@ namespace TBF.BenchControl.ResultsPrinters.Munich lineNr++; PrintAt(e, Tab1, lineNr * SpacingOne, "Qn :"); - PrintAt(e, Tab2, lineNr * SpacingOne, prn.WaterMeters[0].Qn.ToString()); + PrintAt(e, Tab2, lineNr * SpacingOne, prn.WaterMeters[wmNr].Qn.ToString()); if (combined) { PrintAt(e, Tab3, lineNr * SpacingOne, "Qn :"); @@ -158,7 +176,7 @@ namespace TBF.BenchControl.ResultsPrinters.Munich lineNr++; PrintAt(e, Tab1, lineNr * SpacingOne, "Zulassungszeichen :"); - PrintAt(e, Tab2, lineNr * SpacingOne, prn.WaterMeters[0].ApprovalInfo); + PrintAt(e, Tab2, lineNr * SpacingOne, prn.WaterMeters[wmNr].ApprovalInfo); if (combined) { PrintAt(e, Tab3, lineNr * SpacingOne, "Zulassungszeichen :"); @@ -167,7 +185,7 @@ namespace TBF.BenchControl.ResultsPrinters.Munich lineNr++; PrintAt(e, Tab1, lineNr * SpacingOne, "Metr. klasse :"); - PrintAt(e, Tab2, lineNr * SpacingOne, prn.WaterMeters[0].MetrologicalClass); + PrintAt(e, Tab2, lineNr * SpacingOne, prn.WaterMeters[wmNr].MetrologicalClass); if (combined) { PrintAt(e, Tab3, lineNr * SpacingOne, "Metr. klasse :"); @@ -176,7 +194,7 @@ namespace TBF.BenchControl.ResultsPrinters.Munich lineNr++; PrintAt(e, Tab1, lineNr * SpacingOne, "Stand :"); - PrintAt(e, Tab2, lineNr * SpacingOne, prn.WaterMeters[0].EndState); + PrintAt(e, Tab2, lineNr * SpacingOne, prn.WaterMeters[wmNr].EndState); if (combined) { PrintAt(e, Tab3, lineNr * SpacingOne, "Stand :"); @@ -200,13 +218,13 @@ namespace TBF.BenchControl.ResultsPrinters.Munich lineNr += (secondTableOffset * 2) / SpacingOne; PrintAt(e, Tab1, lineNr * SpacingOne, "Temperatur"); - PrintAt(e, Tab2, lineNr * SpacingOne, prn.Results[0].AmbientTempAve.ToString("F1") + " \x00b0C"); + PrintAt(e, Tab2, lineNr * SpacingOne, results[0].AmbientTempAve.ToString("F1") + " \x00b0C"); lineNr++; PrintAt(e, Tab1, lineNr * SpacingOne, "Feuchtigkeit"); - PrintAt(e, Tab2, lineNr * SpacingOne, prn.Results[0].AmbientHumiAve.ToString("F0") + " %"); + PrintAt(e, Tab2, lineNr * SpacingOne, results[0].AmbientHumiAve.ToString("F0") + " %"); lineNr++; PrintAt(e, Tab1, lineNr * SpacingOne, "Luftdruck"); - PrintAt(e, Tab2, lineNr * SpacingOne, prn.Results[0].AmbientPressAve.ToString("F0") + " mbar"); + PrintAt(e, Tab2, lineNr * SpacingOne, results[0].AmbientPressAve.ToString("F0") + " mbar"); lineNr++; PrintAt(e, Tab3, lineNr * SpacingOne, DateTime.Now.Date.ToString("d")); @@ -235,33 +253,33 @@ namespace TBF.BenchControl.ResultsPrinters.Munich PrintAt(e, FromTest(-1, 10), "Druck Eing."); PrintAt(e, FromTest(-1, 11), "Druck Ausg."); - for (int i = 0; i < prn.Results.Count; i++) + for (int i = 0; i < results.Count; i++) { Point p = FromTest(i, -1); - PrintAt(e, p.X, p.Y, prn.Results[i].Name); - PrintAt(e, p.X, p.Y + (prn.Results.Count + 2) * SpacingOneAndHalf, prn.Results[i].Name); + PrintAt(e, p.X, p.Y, results[i].Name); + PrintAt(e, p.X, p.Y + (results.Count + 2) * SpacingOneAndHalf, results[i].Name); - PrintAt(e, FromTest(i, 0), prn.Results[i].FlowMass.ToString("F1")); - PrintAt(e, FromTest(i, 1), prn.Results[i].VolumeCTV.ToString("F2")); - PrintAt(e, FromTest(i, 2), prn.Results[i].Meters[0].VolumeMeter.ToString("F2")); + PrintAt(e, FromTest(i, 0), results[i].FlowMass.ToString("F1")); + PrintAt(e, FromTest(i, 1), results[i].VolumeCTV.ToString("F2")); + PrintAt(e, FromTest(i, 2), results[i].Meters[wmNr].VolumeMeter.ToString("F2")); if (combined) { - PrintAt(e, FromTest(i, 3), prn.Results[i].Meters[1].VolumeMeter.ToString("F2")); - PrintAt(e, FromTest(i, 4), prn.Results[i].CombinedMeters[0].VolumeErrorPct.ToString("F2")); - PrintAt(e, FromTest(i, 5), prn.Results[i].CombinedMeters[0].Passed ? "iO" : "NiO"); + PrintAt(e, FromTest(i, 3), results[i].Meters[1].VolumeMeter.ToString("F2")); + PrintAt(e, FromTest(i, 4), results[i].CombinedMeters[wmNr].VolumeErrorPct.ToString("F2")); + PrintAt(e, FromTest(i, 5), results[i].CombinedMeters[wmNr].Passed ? "iO" : "NiO"); } else { PrintAt(e, FromTest(i, 3), "-"); - PrintAt(e, FromTest(i, 4), prn.Results[i].Meters[0].VolumeErrorPct.ToString("F2")); - PrintAt(e, FromTest(i, 5), prn.Results[i].Meters[0].Passed ? "iO" : "NiO"); + PrintAt(e, FromTest(i, 4), results[i].Meters[wmNr].VolumeErrorPct.ToString("F2")); + PrintAt(e, FromTest(i, 5), results[i].Meters[wmNr].Passed ? "iO" : "NiO"); } - PrintAt(e, FromTest(i, 6), prn.Results[i].FlowMass.ToString("F1")); - PrintAt(e, FromTest(i, 7), prn.Results[i].TempOutAvrg.ToString("F2")); - PrintAt(e, FromTest(i, 8), prn.Results[i].DensityDiv.ToString("F2")); - PrintAt(e, FromTest(i, 9), prn.Results[i].Time.ToString("F1")); - PrintAt(e, FromTest(i, 10), prn.Results[i].PressInAvrg.ToString("F2")); - PrintAt(e, FromTest(i, 11), prn.Results[i].PressOutAvrg.ToString("F2")); + PrintAt(e, FromTest(i, 6), results[i].FlowMass.ToString("F1")); + PrintAt(e, FromTest(i, 7), results[i].TempOutAvrg.ToString("F2")); + PrintAt(e, FromTest(i, 8), results[i].DensityDiv.ToString("F2")); + PrintAt(e, FromTest(i, 9), results[i].Time.ToString("F1")); + PrintAt(e, FromTest(i, 10), results[i].PressInAvrg.ToString("F2")); + PrintAt(e, FromTest(i, 11), results[i].PressOutAvrg.ToString("F2")); } } @@ -271,7 +289,7 @@ namespace TBF.BenchControl.ResultsPrinters.Munich void DrawTable(System.Drawing.Printing.PrintPageEventArgs e) { int mid = top + SpacingOneAndHalf; - int bot = top + (prn.Results.Count + 1) * SpacingOneAndHalf; + int bot = top + (results.Count + 1) * SpacingOneAndHalf; int top2 = top + secondTableOffset; int mid2 = mid + secondTableOffset; diff --git a/TestBenchFramework/BenchControl/ResultsPrinters/Munich/Printer.cs b/TestBenchFramework/BenchControl/ResultsPrinters/Munich/Printer.cs index 7fd377d41..8188176b4 100644 --- a/TestBenchFramework/BenchControl/ResultsPrinters/Munich/Printer.cs +++ b/TestBenchFramework/BenchControl/ResultsPrinters/Munich/Printer.cs @@ -24,6 +24,10 @@ namespace TBF.BenchControl.ResultsPrinters.Munich public GenericDevices.IBenchInfo BenchId; public IList WaterMeters; public IList Results; + + Procedure procedure; + public IList unsortedResults; + public string Title; public string Version { get { return printerCfg. ProcParams.Version; } } public string Zaehlertyp { get { return printerCfg. ProcParams.Zaehlertyp; } } @@ -51,12 +55,14 @@ namespace TBF.BenchControl.ResultsPrinters.Munich public IOperation PrintResultsOp(GenericDevices.IBenchInfo benchId, IList waterMeters, Procedure procedure, - IList results, + IList unsortedResults, string title) { this.BenchId = benchId; this.WaterMeters = waterMeters; - this.Results = results; + this.procedure = procedure; + this.Results = unsortedResults; + this.unsortedResults = unsortedResults; this.Title = title; return this; } @@ -64,9 +70,24 @@ namespace TBF.BenchControl.ResultsPrinters.Munich /// Start this operation public void Start() { - if (Results != null && Results.Count >= 1) + if (unsortedResults != null && unsortedResults.Count > 0) { - new MunichPrintDocument(this, printerCfg.PageOrientation).Print(); + if (procedure.MetersKind == MetersKind.Single) + { + /// Single + for (int wmNr = 0; wmNr < Config.Data.WMsCount; wmNr++) + { + new MunichPrintDocument(this, procedure, unsortedResults, wmNr, printerCfg.PageOrientation).Print(); + } + } + else + { + /// Compound + for (int wmNr = 0; wmNr < Config.Data.CompoundWMsCount; wmNr++) + { + new MunichPrintDocument(this, procedure, unsortedResults, wmNr, printerCfg.PageOrientation).Print(); + } + } } } diff --git a/TestBenchFramework/Resources/Strings.de.resx b/TestBenchFramework/Resources/Strings.de.resx index 0103ea2a5..4a7764f56 100644 --- a/TestBenchFramework/Resources/Strings.de.resx +++ b/TestBenchFramework/Resources/Strings.de.resx @@ -993,4 +993,10 @@ Ein unbehandelter Fehler ist aufgetreten! + + Prüfung {0} hinzugefügt + + + Prüfung {0} bearbeitet + \ No newline at end of file