(1) MunichPrintDocument fixed for three single water meters: 3 pages printed. (2) Cycle end form fixed (end state). (3) DE

This commit is contained in:
Milan Hanajik 2015-12-09 15:55:37 +01:00
parent b2c944f9b1
commit 6e6edde77f
4 changed files with 82 additions and 37 deletions

View File

@ -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;

View File

@ -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<TestResult> unsortedResults;
readonly IList<TestResult> 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
/// </summary>
/// <param name="textToPrint">Text to be printed</param>
public MunichPrintDocument(Printer printer,
Procedure procedure,
IList<TestResult> 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;

View File

@ -24,6 +24,10 @@ namespace TBF.BenchControl.ResultsPrinters.Munich
public GenericDevices.IBenchInfo BenchId;
public IList<GenericDevices.IWaterMeter> WaterMeters;
public IList<TestResult> Results;
Procedure procedure;
public IList<TestResult> 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<GenericDevices.IWaterMeter> waterMeters,
Procedure procedure,
IList<TestResult> results,
IList<TestResult> 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
/// <summary>Start this operation</summary>
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();
}
}
}
}

View File

@ -993,4 +993,10 @@
<data name="An_unhandled_error_occured" xml:space="preserve">
<value>Ein unbehandelter Fehler ist aufgetreten!</value>
</data>
<data name="Procedure_0_added" xml:space="preserve">
<value>Prüfung {0} hinzugefügt</value>
</data>
<data name="Procedure_0_modified" xml:space="preserve">
<value>Prüfung {0} bearbeitet</value>
</data>
</root>