Disabled watermeters will not appear in results (screen, ResultsPrinters.Basic and ResultsWriters.Basic).
Updating Disabled (default = false) is provided by DataEntry.Standard when entering serial numbers.
This commit is contained in:
parent
7dce565e4f
commit
23d5e6d19d
@ -164,20 +164,25 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
|
||||
///--------
|
||||
/// Body
|
||||
///--------
|
||||
int nrWMs = (combined ? Program.WMsCount / 2 : Program.WMsCount);
|
||||
|
||||
/// This variable represents the top coordinate of the area where WM results are printed
|
||||
/// and it is updated (increased by) the value returned by PrintXyzWM() - the section size.
|
||||
int nextWmTop = BodyTop;
|
||||
|
||||
if (combined)
|
||||
{
|
||||
for (int wmNr = 1; wmNr <= Program.WMsCount / 2; wmNr++)
|
||||
for (int wmNr = 1; wmNr <= Program.WMsCount / 2; wmNr++) /// wmNr is 1-based
|
||||
{
|
||||
nextWmTop += PrintCombinedWM(e, wmNr, nextWmTop); /// wmNr is 1-based
|
||||
nextWmTop += PrintCombinedWM(e, wmNr, nextWmTop);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int wmNr = 1; wmNr <= Program.WMsCount; wmNr++)
|
||||
int printedWMNr = 1;
|
||||
for (int wmNr = 0; wmNr < Program.WMsCount; wmNr++) /// wmNr is 0-based
|
||||
{
|
||||
nextWmTop += PrintSingleWM(e, wmNr, nextWmTop); /// wmNr is 1-based
|
||||
if (!unsortedResults[0].Meters[wmNr].Disabled)
|
||||
nextWmTop += PrintSingleWM(e, wmNr, printedWMNr++, nextWmTop);
|
||||
}
|
||||
}
|
||||
|
||||
@ -188,12 +193,12 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
|
||||
/// <summary>
|
||||
/// Print one water meter results
|
||||
/// </summary>
|
||||
/// <param name="wmNr1">Water meter number (1-based)</param>
|
||||
/// <param name="wmNr">Water meter number (0-based)</param>
|
||||
/// <param name="top">Top coordinate of watermeter data</param>
|
||||
/// <returns>The height of the printed section</returns>
|
||||
int PrintSingleWM(System.Drawing.Printing.PrintPageEventArgs e, int wmNr1, int top)
|
||||
int PrintSingleWM(System.Drawing.Printing.PrintPageEventArgs e, int wmNr, int printedWMNr, int top)
|
||||
{
|
||||
IList<Entities.TestResult> results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr1);
|
||||
IList<Entities.TestResult> results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr + 1);
|
||||
|
||||
/// Determin column widths
|
||||
float[] columnPos = new float[resultItems.Count + 1];
|
||||
@ -206,7 +211,7 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
|
||||
{
|
||||
if (tr != null)
|
||||
{
|
||||
float width = e.Graphics.MeasureString(resultItems[i].Print(tr.Meters[wmNr1 - 1]), font).Width;
|
||||
float width = e.Graphics.MeasureString(resultItems[i].Print(tr.Meters[wmNr]), font).Width;
|
||||
if (width > columnWidth) columnWidth = width;
|
||||
}
|
||||
}
|
||||
@ -215,12 +220,12 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
|
||||
int tableLeftX = (int)columnPos[0];
|
||||
int tableRightX = (int)columnPos[resultItems.Count] - 20;
|
||||
|
||||
string wmText = string.Format("Water meter {0}", wmNr1);
|
||||
string wmText = string.Format("Water meter {0}", printedWMNr);
|
||||
PrintAt(e, 100, top, wmText);
|
||||
if (!string.IsNullOrEmpty(unsortedResults[0].Meters[wmNr1 - 1].SerialNr))
|
||||
if (!string.IsNullOrEmpty(unsortedResults[0].Meters[wmNr].SerialNr))
|
||||
{
|
||||
PrintAt(e, 100 + (int)e.Graphics.MeasureString(wmText, font).Width, top,
|
||||
string.Format(" s/n = {0}", unsortedResults[0].Meters[wmNr1 - 1].SerialNr));
|
||||
string.Format(" s/n = {0}", unsortedResults[0].Meters[wmNr].SerialNr));
|
||||
}
|
||||
|
||||
/// Horizontal line
|
||||
@ -242,7 +247,7 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
|
||||
{
|
||||
for (int i = 0; i < resultItems.Count; i++)
|
||||
{
|
||||
string text = resultItems[i].Print(results[r].Meters[wmNr1 - 1]);
|
||||
string text = resultItems[i].Print(results[r].Meters[wmNr]);
|
||||
|
||||
string[] texts = text.Split(new char[] { '|' });
|
||||
|
||||
|
||||
@ -172,24 +172,28 @@ namespace TBF.BenchControl.ResultsWriters.Basic
|
||||
///--------
|
||||
/// Body
|
||||
///--------
|
||||
int nrWMs = (combined ? Program.WMsCount / 2 : Program.WMsCount);
|
||||
if (combined)
|
||||
{
|
||||
for (int wmNr = 1; wmNr <= Program.WMsCount / 2; wmNr++) WriteCombinedWM(wmNr); /// wmNr is 1-based
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int wmNr = 1; wmNr <= Program.WMsCount; wmNr++) WriteSingleWM(wmNr); /// wmNr is 1-based
|
||||
int printedWMNr = 1;
|
||||
for (int wmNr = 0; wmNr < Program.WMsCount; wmNr++) /// wmNr is 0-based
|
||||
{
|
||||
if (!unsortedResults[0].Meters[wmNr].Disabled)
|
||||
WriteSingleWM(wmNr, printedWMNr++);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Write one water meter results
|
||||
/// </summary>
|
||||
/// <param name="wmNr1">Water meter number (1-based)</param>
|
||||
void WriteSingleWM(int wmNr1)
|
||||
/// <param name="wmNr">Water meter number (0-based)</param>
|
||||
void WriteSingleWM(int wmNr, int printedWMNr)
|
||||
{
|
||||
IList<Entities.TestResult> results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr1);
|
||||
IList<Entities.TestResult> results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr + 1);
|
||||
|
||||
/// Determine column widths
|
||||
int[] columnWidths = new int[resultItems.Count];
|
||||
@ -201,7 +205,7 @@ namespace TBF.BenchControl.ResultsWriters.Basic
|
||||
{
|
||||
if (tr != null)
|
||||
{
|
||||
int len = resultItems[i].Print(tr.Meters[wmNr1 - 1]).Length;
|
||||
int len = resultItems[i].Print(tr.Meters[wmNr]).Length;
|
||||
if (len > columnWidths[i]) columnWidths[i] = len;
|
||||
}
|
||||
}
|
||||
@ -211,10 +215,10 @@ namespace TBF.BenchControl.ResultsWriters.Basic
|
||||
|
||||
|
||||
/// Write water meter number and s/n
|
||||
writer.Write(string.Format("Water meter {0}", wmNr1));
|
||||
if (!string.IsNullOrEmpty(unsortedResults[0].Meters[wmNr1 - 1].SerialNr))
|
||||
writer.Write(string.Format("Water meter {0}", printedWMNr));
|
||||
if (!string.IsNullOrEmpty(unsortedResults[0].Meters[wmNr].SerialNr))
|
||||
{
|
||||
writer.Write(string.Format(" s/n: {0}", unsortedResults[0].Meters[wmNr1 - 1].SerialNr));
|
||||
writer.Write(string.Format(" s/n: {0}", unsortedResults[0].Meters[wmNr].SerialNr));
|
||||
}
|
||||
writer.WriteLine(string.Empty);
|
||||
|
||||
@ -244,7 +248,7 @@ namespace TBF.BenchControl.ResultsWriters.Basic
|
||||
{
|
||||
for (int i = 0; i < resultItems.Count; i++)
|
||||
{
|
||||
string text = resultItems[i].Print(tr.Meters[wmNr1 - 1]);
|
||||
string text = resultItems[i].Print(tr.Meters[wmNr]);
|
||||
|
||||
/// Get rid of the color information
|
||||
string[] texts = text.Split(new char[] { '|' });
|
||||
|
||||
@ -302,16 +302,16 @@ namespace TBF.BenchControl.TestMethods.Adjustment
|
||||
tstRslt.Meters[i].VolumeErrorPct = -100;
|
||||
}
|
||||
tstRslt.Meters[i].Passed = (tstRslt.ErrLimLo <= tstRslt.Meters[i].VolumeErrorPct) && (tstRslt.Meters[i].VolumeErrorPct <= tstRslt.ErrLimHi);
|
||||
|
||||
tstRslt.Meters[i].Disabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
tstRslt.Meters[i].Disabled = true;
|
||||
}
|
||||
}
|
||||
/// Add data - end
|
||||
|
||||
/// Remove diasabled watermeters
|
||||
//for (int i = Program.WMsCount - 1; i >= 0; i--)
|
||||
//{
|
||||
// if (WaterMeters[i].Disabled) tstRslt.Meters.RemoveAt(i);
|
||||
//}
|
||||
|
||||
/// Update modeless dialog error information
|
||||
Bridge.OnAdjustmentInProgress(this, new AdjustmentInProgressEventArgs(tstRslt));
|
||||
|
||||
|
||||
@ -526,16 +526,16 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
|
||||
tstRslt.Meters[i].VolumeErrorPct = -100;
|
||||
}
|
||||
tstRslt.Meters[i].Passed = (tstRslt.ErrLimLo <= tstRslt.Meters[i].VolumeErrorPct) && (tstRslt.Meters[i].VolumeErrorPct <= tstRslt.ErrLimHi);
|
||||
|
||||
tstRslt.Meters[i].Disabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
tstRslt.Meters[i].Disabled = true;
|
||||
}
|
||||
}
|
||||
/// Add data - end
|
||||
|
||||
/// Remove diasabled watermeters
|
||||
//for (int i = Program.WMsCount - 1; i >= 0; i--)
|
||||
//{
|
||||
// if (WaterMeters[i].Disabled) tstRslt.Meters.RemoveAt(i);
|
||||
//}
|
||||
|
||||
AddOrOverwriteResult(tstRslt);
|
||||
|
||||
Bridge.OnTestCompleted(this, new TestCompletedEventArgs(tstRslt));
|
||||
|
||||
@ -271,16 +271,16 @@ namespace TBF.BenchControl.TestMethods.FlyingStart
|
||||
tstRslt.Meters[i].VolumeErrorPct = -100;
|
||||
}
|
||||
tstRslt.Meters[i].Passed = (tstRslt.ErrLimLo <= tstRslt.Meters[i].VolumeErrorPct) && (tstRslt.Meters[i].VolumeErrorPct <= tstRslt.ErrLimHi);
|
||||
|
||||
tstRslt.Meters[i].Disabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
tstRslt.Meters[i].Disabled = true;
|
||||
}
|
||||
}
|
||||
/// Add data - end
|
||||
|
||||
/// Remove diasabled watermeters
|
||||
//for (int i = Program.WMsCount - 1; i >= 0; i--)
|
||||
//{
|
||||
// if (WaterMeters[i].Disabled) tstRslt.Meters.RemoveAt(i);
|
||||
//}
|
||||
|
||||
AddOrOverwriteResult(tstRslt);
|
||||
|
||||
Bridge.OnTestCompleted(this, new TestCompletedEventArgs(tstRslt));
|
||||
|
||||
@ -414,16 +414,16 @@ namespace TBF.BenchControl.TestMethods.FlyingStartCollectionMethod
|
||||
tstRslt.Meters[i].VolumeErrorPct = -100;
|
||||
}
|
||||
tstRslt.Meters[i].Passed = (tstRslt.ErrLimLo <= tstRslt.Meters[i].VolumeErrorPct) && (tstRslt.Meters[i].VolumeErrorPct <= tstRslt.ErrLimHi);
|
||||
|
||||
tstRslt.Meters[i].Disabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
tstRslt.Meters[i].Disabled = true;
|
||||
}
|
||||
}
|
||||
/// Add data - end
|
||||
|
||||
/// Remove diasabled watermeters
|
||||
//for (int i = Program.WMsCount - 1; i >= 0; i--)
|
||||
//{
|
||||
// if (WaterMeters[i].Disabled) tstRslt.Meters.RemoveAt(i);
|
||||
//}
|
||||
|
||||
AddOrOverwriteResult(tstRslt);
|
||||
|
||||
Bridge.OnTestCompleted(this, new TestCompletedEventArgs(tstRslt));
|
||||
|
||||
@ -7,7 +7,8 @@ namespace TBF.Entities
|
||||
public virtual int Id { get; protected set; }
|
||||
public virtual TestResult TestResult { get; set; } /// reference to the TestResult entity
|
||||
|
||||
public virtual string SerialNr { get; set; }
|
||||
public virtual bool Disabled { get; set; } /// true = this meter was disabled and the results should be disregarded
|
||||
public virtual string SerialNr { get; set; }
|
||||
public virtual string EndState { get; set; }
|
||||
public virtual float VolumeStart { get; set; } /// liter
|
||||
public virtual float VolumeEnd { get; set; } /// liter
|
||||
@ -33,7 +34,8 @@ namespace TBF.Entities
|
||||
{
|
||||
MeterTestResult result = new MeterTestResult(testResult);
|
||||
|
||||
result.SerialNr = SerialNr;
|
||||
result.Disabled = Disabled;
|
||||
result.SerialNr = SerialNr;
|
||||
result.EndState = EndState;
|
||||
result.VolumeStart = VolumeStart;
|
||||
result.VolumeEnd = VolumeEnd;
|
||||
|
||||
@ -9,7 +9,8 @@ namespace TBF.Mappings
|
||||
{
|
||||
Id(x => x.Id);
|
||||
References(x => x.TestResult);
|
||||
Map(x => x.SerialNr);
|
||||
Map(x => x.Disabled);
|
||||
Map(x => x.SerialNr);
|
||||
Map(x => x.EndState);
|
||||
Map(x => x.VolumeStart);
|
||||
Map(x => x.VolumeEnd);
|
||||
|
||||
@ -127,24 +127,6 @@ namespace TBF.Screens
|
||||
/// </summary>
|
||||
void RedrawAll()
|
||||
{
|
||||
this.SuspendLayout();
|
||||
lvWidth = flowLayoutPanel.Width - 10;
|
||||
lvHeight = flowLayoutPanel.Height - 10;
|
||||
|
||||
if (MetersArrangement == Forms.ResultsConfig.Meters.Horizontally)
|
||||
{
|
||||
flowLayoutPanel.FlowDirection = FlowDirection.LeftToRight;
|
||||
lvWidth = (lvWidth + 5) / Program.WMsCount - 5;
|
||||
}
|
||||
else
|
||||
{
|
||||
flowLayoutPanel.FlowDirection = FlowDirection.TopDown;
|
||||
lvHeight = (lvHeight + 5) / Program.WMsCount - 5;
|
||||
}
|
||||
flowLayoutPanel.Controls.Clear();
|
||||
flowLayoutPanel.WrapContents = false;
|
||||
flowLayoutPanel.AutoScroll = true;
|
||||
|
||||
///
|
||||
/// Determine whether combined meter results are displayed
|
||||
///
|
||||
@ -152,20 +134,56 @@ namespace TBF.Screens
|
||||
(testResults.Count > 0) &&
|
||||
(testResults[0].MetersKind == Entities.MetersKind.Combined));
|
||||
|
||||
this.SuspendLayout();
|
||||
lvWidth = flowLayoutPanel.Width - 10;
|
||||
lvHeight = flowLayoutPanel.Height - 10;
|
||||
|
||||
/// Determine how many water meters were enabled for result evaluation and printing
|
||||
int enabledWMsCount = 0;
|
||||
if (combined)
|
||||
{
|
||||
enabledWMsCount = Program.WMsCount / 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int mtr0 = 0; mtr0 < Program.WMsCount; mtr0++)
|
||||
{
|
||||
if (!testResults[0].Meters[mtr0].Disabled) enabledWMsCount++;
|
||||
}
|
||||
}
|
||||
|
||||
if (MetersArrangement == Forms.ResultsConfig.Meters.Horizontally)
|
||||
{
|
||||
flowLayoutPanel.FlowDirection = FlowDirection.LeftToRight;
|
||||
lvWidth = (lvWidth + 5) / enabledWMsCount - 5;
|
||||
}
|
||||
else
|
||||
{
|
||||
flowLayoutPanel.FlowDirection = FlowDirection.TopDown;
|
||||
lvHeight = (lvHeight + 5) / enabledWMsCount - 5;
|
||||
}
|
||||
flowLayoutPanel.Controls.Clear();
|
||||
flowLayoutPanel.WrapContents = false;
|
||||
flowLayoutPanel.AutoScroll = true;
|
||||
|
||||
bool first = true;
|
||||
int printedWMNr = 1;
|
||||
for (int mtr = 1; mtr <= (combined ? Program.WMsCount / 2 : Program.WMsCount); mtr++)
|
||||
{
|
||||
if (TestsArrangement == Forms.ResultsConfig.TestsAre.Rows)
|
||||
if (combined || !testResults[0].Meters[mtr - 1].Disabled)
|
||||
{
|
||||
ListView lview = GetResultsTestsAreRows(mtr);
|
||||
if (first) { firstListView = lview; first = false; }
|
||||
if (lview != null) flowLayoutPanel.Controls.Add(lview);
|
||||
}
|
||||
else
|
||||
{
|
||||
ListView lview = GetResultsTestsAreColumns(mtr);
|
||||
if (first) { firstListView = lview; first = false; }
|
||||
if (lview != null) flowLayoutPanel.Controls.Add(lview);
|
||||
if (TestsArrangement == Forms.ResultsConfig.TestsAre.Rows)
|
||||
{
|
||||
ListView lview = GetResultsTestsAreRows(mtr, printedWMNr++);
|
||||
if (first) { firstListView = lview; first = false; }
|
||||
if (lview != null) flowLayoutPanel.Controls.Add(lview);
|
||||
}
|
||||
else
|
||||
{
|
||||
ListView lview = GetResultsTestsAreColumns(mtr, printedWMNr++);
|
||||
if (first) { firstListView = lview; first = false; }
|
||||
if (lview != null) flowLayoutPanel.Controls.Add(lview);
|
||||
}
|
||||
}
|
||||
}
|
||||
this.ResumeLayout(false);
|
||||
@ -227,7 +245,7 @@ namespace TBF.Screens
|
||||
/// </summary>
|
||||
/// <param name="mtr">Water meter number (1-based): 1 .. Program.WMsCount</param>
|
||||
/// <returns>ListView object</returns>
|
||||
ListView GetResultsTestsAreRows(int mtr)
|
||||
ListView GetResultsTestsAreRows(int mtr, int printedWMNr)
|
||||
{
|
||||
IList<Forms.ResultItemSpec> items = (combined ? RsltItems_Screen_CombinedWM : RsltItems_Screen_SingleWM);
|
||||
if (procedure == null || procedure.Tests == null || items == null) return null;
|
||||
@ -238,7 +256,7 @@ namespace TBF.Screens
|
||||
TBF.LocalSettings ls = Program.LocalSettings;
|
||||
if (combined)
|
||||
{
|
||||
lview.Columns.Add(mtr.ToString(), (ls.RsltsCombinedClmnCount > 0) ? ls.RsltsCombinedClmnWdths[0] : 40);
|
||||
lview.Columns.Add(printedWMNr.ToString(), (ls.RsltsCombinedClmnCount > 0) ? ls.RsltsCombinedClmnWdths[0] : 40);
|
||||
int i = 1;
|
||||
foreach (var item in items)
|
||||
{
|
||||
@ -248,7 +266,7 @@ namespace TBF.Screens
|
||||
}
|
||||
else
|
||||
{
|
||||
lview.Columns.Add(mtr.ToString(), (ls.RsltsSingleClmnCount > 0) ? ls.RsltsSingleClmnWdths[0] : 40);
|
||||
lview.Columns.Add(printedWMNr.ToString(), (ls.RsltsSingleClmnCount > 0) ? ls.RsltsSingleClmnWdths[0] : 40);
|
||||
int i = 1;
|
||||
foreach (var item in items)
|
||||
{
|
||||
@ -308,7 +326,7 @@ namespace TBF.Screens
|
||||
/// </summary>
|
||||
/// <param name="mtr">Water meter number (1-based): 1 .. Program.WMsCount</param>
|
||||
/// <returns>ListView object</returns>
|
||||
ListView GetResultsTestsAreColumns(int mtr)
|
||||
ListView GetResultsTestsAreColumns(int mtr, int printedWMNr)
|
||||
{
|
||||
IList<Forms.ResultItemSpec> items = (combined ? RsltItems_Screen_CombinedWM : RsltItems_Screen_SingleWM);
|
||||
if (procedure == null || procedure.Tests == null || items == null) return null;
|
||||
@ -319,7 +337,7 @@ namespace TBF.Screens
|
||||
TBF.LocalSettings ls = Program.LocalSettings;
|
||||
if (combined)
|
||||
{
|
||||
lview.Columns.Add(mtr.ToString(), (ls.RsltsCombinedClmnCount > 0) ? ls.RsltsCombinedClmnWdths[0] : 40);
|
||||
lview.Columns.Add(printedWMNr.ToString(), (ls.RsltsCombinedClmnCount > 0) ? ls.RsltsCombinedClmnWdths[0] : 40);
|
||||
int i = 1;
|
||||
foreach (var str in GetAllDecoratedTestNames(mtr))
|
||||
{
|
||||
@ -329,7 +347,7 @@ namespace TBF.Screens
|
||||
}
|
||||
else
|
||||
{
|
||||
lview.Columns.Add(mtr.ToString(), (ls.RsltsSingleClmnCount > 0) ? ls.RsltsSingleClmnWdths[0] : 40);
|
||||
lview.Columns.Add(printedWMNr.ToString(), (ls.RsltsSingleClmnCount > 0) ? ls.RsltsSingleClmnWdths[0] : 40);
|
||||
int i = 1;
|
||||
foreach (var str in GetAllDecoratedTestNames(mtr))
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user