CycleNr added to LocalSettings, Entities.TestResults, Mappings, is used in sequences (DB change)
This commit is contained in:
parent
dc57c1464b
commit
5cf5fe5eba
@ -13,6 +13,12 @@ namespace TBF.BenchControl.ResultsWriters.Basic
|
||||
|
||||
readonly WriterCfg writerCfg;
|
||||
|
||||
/// <summary>
|
||||
/// Result items to print
|
||||
/// </summary>
|
||||
IList<TBF.Forms.ResultItemSpec> resultItems;
|
||||
bool combined;
|
||||
|
||||
/// <summary>
|
||||
/// Results to print
|
||||
/// </summary>
|
||||
@ -34,12 +40,25 @@ namespace TBF.BenchControl.ResultsWriters.Basic
|
||||
/// <returns>Reference to the operation</returns>
|
||||
public IOperation WriteResultsOp(IList<Entities.TestResult> results)
|
||||
{
|
||||
if ((results == null) || (results.Count == 0))
|
||||
if ((results == null) || (results.Count == 0) ||
|
||||
((results[0].MetersKind != Entities.MetersKind.Single) &&
|
||||
(results[0].MetersKind != Entities.MetersKind.Combined)))
|
||||
{
|
||||
writer = null;
|
||||
return this;
|
||||
}
|
||||
|
||||
if (results[0].MetersKind == Entities.MetersKind.Single)
|
||||
{
|
||||
resultItems = Forms.ResultItemSpec.FromStrArray(Program.LocalSettings.RsltItems_Disk_SingleWM);
|
||||
combined = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
resultItems = Forms.ResultItemSpec.FromStrArray(Program.LocalSettings.RsltItems_Disk_CombinedWM);
|
||||
combined = true;
|
||||
}
|
||||
|
||||
this.results = results;
|
||||
now = DateTime.Now;
|
||||
try
|
||||
@ -85,44 +104,26 @@ namespace TBF.BenchControl.ResultsWriters.Basic
|
||||
}
|
||||
writer.WriteLine("Bereich : 22,9 °C 947 mbar 43 %");
|
||||
writer.WriteLine("");
|
||||
writer.WriteLine("Test Metode MIDFehler Durchfluss Test Zeit T1 T2 Dichte Masse Druck Volume Bor");
|
||||
writer.WriteLine(" [%] [m3/h] [s] [°C] [°C] [kg/m3] [kg] [MPa] [L] [m3/h]");
|
||||
|
||||
foreach (var item in resultItems) writer.Write(item.ClmnHeaderText);
|
||||
writer.WriteLine(string.Empty);
|
||||
|
||||
writer.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------");
|
||||
|
||||
foreach (var tr in results)
|
||||
{
|
||||
if (tr.MetersKind == Entities.MetersKind.Single)
|
||||
foreach (var item in resultItems)
|
||||
{
|
||||
writer.WriteLine(string.Format("{0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11}",
|
||||
tr.Name,
|
||||
tr.Method,
|
||||
tr.Meters[0].VolumeErrorPct,
|
||||
tr.FlowMass,
|
||||
tr.Time,
|
||||
tr.TempInAvrg,
|
||||
tr.TempDivAvrg,
|
||||
tr.DensityOut,
|
||||
tr.MassDiff,
|
||||
tr.PressInAvrg,
|
||||
tr.PressOutAvrg,
|
||||
tr.VolumeCTV));
|
||||
}
|
||||
else if (tr.MetersKind == Entities.MetersKind.Combined)
|
||||
{
|
||||
writer.WriteLine(string.Format("{0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11}",
|
||||
tr.Name,
|
||||
tr.Method,
|
||||
tr.CombinedMeters[0].VolumeErrorPct,
|
||||
tr.FlowMass,
|
||||
tr.Time,
|
||||
tr.TempInAvrg,
|
||||
tr.TempDivAvrg,
|
||||
tr.DensityOut,
|
||||
tr.MassDiff,
|
||||
tr.PressInAvrg,
|
||||
tr.PressOutAvrg,
|
||||
tr.VolumeCTV));
|
||||
if (combined)
|
||||
{
|
||||
writer.Write(item.PrintCombined(tr.CombinedMeters[0], tr.Meters[0], tr.Meters[1]));
|
||||
}
|
||||
else
|
||||
{
|
||||
writer.Write(item.Print(tr.Meters[0]));
|
||||
}
|
||||
}
|
||||
writer.WriteLine(string.Empty);
|
||||
}
|
||||
|
||||
writer.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------");
|
||||
|
||||
@ -352,7 +352,7 @@ namespace TBF.BenchControl.Sequences
|
||||
GenericDevices.IDataEntry dataEntryCmpnt = TbfComponents.FindComponent(StateMachine.Procedure.DataEntry) as GenericDevices.IDataEntry;
|
||||
if (dataEntryCmpnt != null)
|
||||
{
|
||||
Bridge.OnActivity(this, "Enter the protocol data");
|
||||
Bridge.OnActivity(this, "Enter protocol data");
|
||||
|
||||
if (dataEntryCmpnt is IHasCycleEndForm)
|
||||
{
|
||||
@ -377,37 +377,28 @@ namespace TBF.BenchControl.Sequences
|
||||
dataEntryCmpnt.UpdateTestResults(WaterMeters, results);
|
||||
}
|
||||
|
||||
//--------------------------------
|
||||
//------------------------------------------------------
|
||||
Bridge.OnActivity(this, "Saving and printing results");
|
||||
IResultsWriter writer = TbfComponents.FindComponent(StateMachine.Procedure.ResultsWriter) as IResultsWriter;
|
||||
if (writer != null)
|
||||
IResultsPrinter printer = TbfComponents.FindComponent(StateMachine.Procedure.ResultsPrinter) as IResultsPrinter;
|
||||
State savingAndPrintingRslts = State.Create("MainSeq : Saving and printing results");
|
||||
if (writer != null) savingAndPrintingRslts.AddOperation(writer.WriteResultsOp(results));
|
||||
if (printer != null) savingAndPrintingRslts.AddOperation(printer.PrintResultsOp(BenchId, WaterMeters, results, protocolTitle));
|
||||
savingAndPrintingRslts.AddOperation(checkUiOp).EnterState();
|
||||
do
|
||||
{
|
||||
State.Create("MainSeq : Saving results")
|
||||
.AddOperation(writer.WriteResultsOp(results))
|
||||
.AddOperation(checkUiOp)
|
||||
.EnterState();
|
||||
{
|
||||
e = StateMachine.WaitRunDevsRunOps();
|
||||
if (e.Contains(Event.Error)) goto error;
|
||||
if (e.Contains(Event.UiCmdStop)) goto stop;
|
||||
}
|
||||
e = StateMachine.WaitRunDevsRunOps();
|
||||
if (e.Contains(Event.Error)) goto error;
|
||||
if (e.Contains(Event.UiCmdStop)) goto stop;
|
||||
}
|
||||
while (e.Contains(Event.Busy));
|
||||
|
||||
//--------------------------------
|
||||
IResultsPrinter printer = TbfComponents.FindComponent(StateMachine.Procedure.ResultsPrinter) as IResultsPrinter;
|
||||
if (printer != null)
|
||||
{
|
||||
State.Create("MainSeq : Printing results")
|
||||
.AddOperation(printer.PrintResultsOp(BenchId, WaterMeters, results, protocolTitle))
|
||||
.AddOperation(checkUiOp)
|
||||
.EnterState();
|
||||
{
|
||||
e = StateMachine.WaitRunDevsRunOps();
|
||||
if (e.Contains(Event.Error)) goto error;
|
||||
if (e.Contains(Event.UiCmdStop)) goto stop;
|
||||
}
|
||||
}
|
||||
Program.LocalSettings.CycleNr++;
|
||||
Program.LocalSettings.Save();
|
||||
|
||||
/// Purge - End
|
||||
|
||||
//--------------------------------------------------------
|
||||
switch (Transition(purgeEnd, TransitionContext.PurgeEnd))
|
||||
{
|
||||
case Event.Error: goto error;
|
||||
|
||||
@ -331,7 +331,7 @@ namespace TBF.BenchControl.TestMethods.CombinedMeters
|
||||
///
|
||||
/// Populate TestResult data entity with data
|
||||
///
|
||||
tstRslt.TimeEnd = DateTime.Now;
|
||||
tstRslt.CycleNr = Program.LocalSettings.CycleNr;
|
||||
UpdateTestRsltWithAveragedData(tstRslt);
|
||||
tstRslt.MassStart = Formulas.CorrectedValue(tstRslt.MassStartRaw, outPath.Balance.Corrections);
|
||||
tstRslt.MassEnd = Formulas.CorrectedValue(tstRslt.MassEndRaw, outPath.Balance.Corrections);
|
||||
|
||||
@ -545,7 +545,7 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
|
||||
///
|
||||
/// Populate TestResult data entity with data
|
||||
///
|
||||
tstRslt.TimeEnd = DateTime.Now;
|
||||
tstRslt.CycleNr = Program.LocalSettings.CycleNr;
|
||||
UpdateTestRsltWithAveragedData(tstRslt);
|
||||
tstRslt.MassStart = Formulas.CorrectedValue(tstRslt.MassStartRaw, outPath.Balance.Corrections);
|
||||
tstRslt.MassEnd = Formulas.CorrectedValue(tstRslt.MassEndRaw, outPath.Balance.Corrections);
|
||||
|
||||
@ -422,7 +422,7 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
|
||||
///
|
||||
/// Populate TestResult data entity with data
|
||||
///
|
||||
tstRslt.TimeEnd = DateTime.Now;
|
||||
tstRslt.CycleNr = Program.LocalSettings.CycleNr;
|
||||
UpdateTestRsltWithAveragedData(tstRslt);
|
||||
tstRslt.MassStart = Formulas.CorrectedValue(tstRslt.MassStartRaw, outPath.Balance.Corrections);
|
||||
tstRslt.MassEnd = Formulas.CorrectedValue(tstRslt.MassEndRaw, outPath.Balance.Corrections);
|
||||
|
||||
@ -248,6 +248,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStart
|
||||
/// Populate TestResult data entity with data
|
||||
///
|
||||
tstRslt.TimeEnd = DateTime.Now;
|
||||
tstRslt.CycleNr = Program.LocalSettings.CycleNr;
|
||||
UpdateTestRsltWithAveragedData(tstRslt);
|
||||
tstRslt.MassStart = 0;
|
||||
tstRslt.MassEnd = 0;
|
||||
|
||||
@ -330,7 +330,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartCollectionMethod
|
||||
///
|
||||
/// Populate TestResult data entity with data
|
||||
///
|
||||
tstRslt.TimeEnd = DateTime.Now;
|
||||
tstRslt.CycleNr = Program.LocalSettings.CycleNr;
|
||||
UpdateTestRsltWithAveragedData(tstRslt);
|
||||
tstRslt.MassStart = Formulas.CorrectedValue(tstRslt.MassStartRaw, outPath.Balance.Corrections);
|
||||
tstRslt.MassEnd = Formulas.CorrectedValue(tstRslt.MassEndRaw, outPath.Balance.Corrections);
|
||||
|
||||
@ -313,7 +313,7 @@ namespace TBF.BenchControl.TestMethods.ReferenceFlowmeterCalibration
|
||||
///
|
||||
/// Populate TestResult data entity with data
|
||||
///
|
||||
tstRslt.TimeEnd = DateTime.Now;
|
||||
tstRslt.CycleNr = Program.LocalSettings.CycleNr;
|
||||
UpdateTestRsltWithAveragedData(tstRslt);
|
||||
tstRslt.MassStart = Formulas.CorrectedValue(tstRslt.MassStartRaw, outPath.Balance.Corrections);
|
||||
tstRslt.MassEnd = Formulas.CorrectedValue(tstRslt.MassEndRaw, outPath.Balance.Corrections);
|
||||
|
||||
@ -7,6 +7,7 @@ namespace TBF.Entities
|
||||
{
|
||||
public virtual int Id { get; protected set; }
|
||||
public virtual string Name { get; set; }
|
||||
public virtual int CycleNr { get; set; }
|
||||
public virtual MetersKind MetersKind { get; set; }
|
||||
public virtual IList<MeterTestResult> Meters { get; set; }
|
||||
public virtual IList<MeterTestResult> CombinedMeters { get; set; }
|
||||
|
||||
@ -43,70 +43,67 @@ namespace TBF.Forms
|
||||
{
|
||||
AllItems = new List<ResultItemSpec>();
|
||||
|
||||
/// Common
|
||||
AllItems.Add(new ResultItemSpec("Test name", Strings.Name, x => x.TestResult.TestName,
|
||||
(x, y, z) => x.TestResult.TestName));
|
||||
AllItems.Add(new ResultItemSpec("Procedure name", Strings.Procedure, x => x.TestResult.ProcedureName,
|
||||
(x, y, z) => x.TestResult.ProcedureName));
|
||||
AllItems.Add(new ResultItemSpec("Tets cycle number", "Cycel nr.", x => x.TestResult.CycleNr.ToString(),
|
||||
(x, y, z) => x.TestResult.CycleNr.ToString()));
|
||||
|
||||
/// Target values
|
||||
AllItems.Add(new ResultItemSpec("Q from", Strings.Q_from_m3h, x => x.TestResult.Qfrom.ToString("F3"),
|
||||
(x, y, z) => x.TestResult.Qfrom.ToString("F3")));
|
||||
|
||||
AllItems.Add(new ResultItemSpec("Q to", Strings.Q_to_m3h, x => x.TestResult.Qto.ToString("F3"),
|
||||
(x, y, z) => x.TestResult.Qto.ToString("F3")));
|
||||
AllItems.Add(new ResultItemSpec("Test volume", "Volume [l]", x => x.TestResult.Volume.ToString("F1"),
|
||||
(x, y, z) => x.TestResult.Volume.ToString("F1")));
|
||||
AllItems.Add(new ResultItemSpec("Error limit Lo", "ErrLimLo [%]", x => x.TestResult.ErrLimLo.ToString("F1"),
|
||||
(x, y, z) => x.TestResult.ErrLimLo.ToString("F1")));
|
||||
AllItems.Add(new ResultItemSpec("Error limit Hi", "ErrLimHi [%]", x => x.TestResult.ErrLimHi.ToString("F1"),
|
||||
(x, y, z) => x.TestResult.ErrLimHi.ToString("F1")));
|
||||
|
||||
/// Test results
|
||||
AllItems.Add(new ResultItemSpec("Start time", "T start", x => x.TestResult.TimeStart.ToShortTimeString(),
|
||||
(x, y, z) => z.TestResult.TimeStart.ToShortTimeString()));
|
||||
|
||||
AllItems.Add(new ResultItemSpec("End time", "T end", x => x.TestResult.TimeEnd.ToShortTimeString(),
|
||||
(x, y, z) => z.TestResult.TimeEnd.ToShortTimeString()));
|
||||
|
||||
AllItems.Add(new ResultItemSpec("Test time", "T [s]", x => x.TestResult.TimeEnd.ToShortTimeString(),
|
||||
(x, y, z) => z.TestResult.TimeEnd.ToShortTimeString()));
|
||||
|
||||
AllItems.Add(new ResultItemSpec("Flow", Strings.Flow_m3h, x => Utils.FloatToStr(x.TestResult.FlowVolume / 1000.0f, 4),
|
||||
(x, y, z) => Utils.FloatToStr(z.TestResult.FlowVolume / 1000.0f, 4)));
|
||||
|
||||
AllItems.Add(new ResultItemSpec("T in", Strings.T_in, x => x.TestResult.TempInAvrg.ToString("F2"),
|
||||
(x, y, z) => z.TestResult.TempInAvrg.ToString("F2")));
|
||||
|
||||
AllItems.Add(new ResultItemSpec("T out", Strings.T_out, x => x.TestResult.TempOutAvrg.ToString("F2"),
|
||||
(x, y, z) => z.TestResult.TempOutAvrg.ToString("F2")));
|
||||
|
||||
AllItems.Add(new ResultItemSpec("T div", Strings.T_div, x => x.TestResult.TempDivAvrg.ToString("F2"),
|
||||
(x, y, z) => z.TestResult.TempDivAvrg.ToString("F2")));
|
||||
|
||||
AllItems.Add(new ResultItemSpec("P in", Strings.P_in, x => x.TestResult.PressInAvrg.ToString("F3"),
|
||||
(x, y, z) => z.TestResult.PressInAvrg.ToString("F3")));
|
||||
|
||||
AllItems.Add(new ResultItemSpec("P out", Strings.P_out, x => x.TestResult.PressOutAvrg.ToString("F3"),
|
||||
(x, y, z) => z.TestResult.PressOutAvrg.ToString("F3")));
|
||||
|
||||
AllItems.Add(new ResultItemSpec("Reference error", "E r [%]", x => x.TestResult.ErrorMaster.ToString("F3"),
|
||||
(x, y, z) => z.TestResult.ErrorMaster.ToString("F3")));
|
||||
|
||||
AllItems.Add(new ResultItemSpec("Ambient temperature", "T amb", x => x.TestResult.AmbientTempAve.ToString("F1"),
|
||||
(x, y, z) => z.TestResult.AmbientTempAve.ToString("F1")));
|
||||
|
||||
AllItems.Add(new ResultItemSpec("Ambient pressure", "P amb", x => x.TestResult.AmbientPressAve.ToString("F0"),
|
||||
(x, y, z) => z.TestResult.AmbientPressAve.ToString("F0")));
|
||||
|
||||
AllItems.Add(new ResultItemSpec("Ambient humidity", "H amb [%]", x => x.TestResult.AmbientHumiAve.ToString("F1"),
|
||||
(x, y, z) => z.TestResult.AmbientHumiAve.ToString("F1")));
|
||||
|
||||
/// Single and combined meter results
|
||||
AllItems.Add(new ResultItemSpec("Volume", "V [l]", x => x.VolumeMeter.ToString("F3"),
|
||||
(x, y, z) => z.VolumeMeter.ToString("F3")));
|
||||
|
||||
(x, y, z) => z.VolumeMeter.ToString("F3")));
|
||||
AllItems.Add(new ResultItemSpec("Reference volume", "V ref [l]", x => x.VolumeRef.ToString("F3"),
|
||||
(x, y, z) => z.VolumeRef.ToString("F3")));
|
||||
|
||||
(x, y, z) => z.VolumeRef.ToString("F3")));
|
||||
AllItems.Add(new ResultItemSpec("Error", "Error [%]", x => x.VolumeErrorPct.ToString("F2"),
|
||||
(x, y, z) => z.VolumeErrorPct.ToString("F2")));
|
||||
|
||||
AllItems.Add(new ResultItemSpec("Passed", "Result", x => (x.Passed ? Strings.Passed + "|Green" : Strings.Failed + "|Red"),
|
||||
(x, y, z) => (z.Passed ? Strings.Passed + "|Green" : Strings.Failed + "|Red")));
|
||||
|
||||
/// Single water meters only results
|
||||
AllItems.Add(new ResultItemSpec("Serial Nr", "s/n", x => x.SerialNr, (x, y, z) => z.SerialNr));
|
||||
AllItems.Add(new ResultItemSpec("End state", "End state", x => x.EndState, (x, y, z) => z.EndState));
|
||||
|
||||
/// Single water meters only results
|
||||
AllItems.Add(new ResultItemSpec("Pulses", "Pulses", x => x.PulsesMeter.ToString(), null));
|
||||
AllItems.Add(new ResultItemSpec("Reference pulses", "Ref.pulses", x => x.PulsesMaster.ToString(), null));
|
||||
|
||||
|
||||
@ -57,6 +57,8 @@ namespace TBF
|
||||
[XmlElementAttribute("LastProcedure")]
|
||||
public string LastProcedureName;
|
||||
|
||||
public int CycleNr;
|
||||
|
||||
public int RightPaneHorizSplitterDistance;
|
||||
|
||||
/// MainWnd
|
||||
@ -163,6 +165,7 @@ namespace TBF
|
||||
testBenches[i] = ls.testBenches[i];
|
||||
LastBenchName = ls.LastBenchName;
|
||||
LastProcedureName = ls.LastProcedureName;
|
||||
CycleNr = ls.CycleNr;
|
||||
|
||||
MainWndLeft = ls.MainWndLeft;
|
||||
MainWndTop = ls.MainWndTop;
|
||||
|
||||
@ -9,6 +9,7 @@ namespace TBF.Mappings
|
||||
{
|
||||
Id(x => x.Id);
|
||||
Map(x => x.Name);
|
||||
Map(x => x.CycleNr);
|
||||
Map(x => x.MetersKind);
|
||||
HasMany(x => x.Meters)
|
||||
.Cascade.All();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user