Changes for Audit, ver. 2.17.730

This commit is contained in:
Milan Hanajik 2017-11-13 16:17:36 +01:00
parent a9ab29fcbb
commit a2620870ad
7 changed files with 81 additions and 10 deletions

View File

@ -189,5 +189,21 @@ namespace Results
}
}
}
public bool IsProduction()
{
for (int i = 0; i < WMPositionsCount; i++)
{
if (WaterMeters[i] != null)
{
foreach (var mtr in WaterMeters[i].MeterTestRslts)
{
if (!mtr.TestData().Name.ToLower().Contains("adj")) return true;
}
}
}
return false;
}
}
}

View File

@ -23,6 +23,7 @@ namespace Results.Entities
/// Main result
public virtual double Error { get; set; } /// [%]
public virtual double KorrErrQ { get; set; } /// [%] not mapped to results DB, saved to Oracle DB
public virtual bool TestDone { get; set; } /// true = test was completed
public virtual bool Passed { get; set; } /// true = test passed, water meter is OK
@ -40,7 +41,7 @@ namespace Results.Entities
public virtual double DensityOut() { return TestRslt.DensityOut; }
public virtual Components Components(){ return TestRslt.Components; }
///
protected virtual TestData TestData() { return TestRslt.TestData; }
public virtual TestData TestData() { return TestRslt.TestData; }
///
public virtual int Repeats() { return TestData().Repeats; }
public virtual double Qfrom() { return TestData().Qfrom; } /// [m3/h]
@ -118,6 +119,7 @@ namespace Results.Entities
TimestampEnd = src.TimestampEnd;
TestTime = src.TestTime;
Error = src.Error;
KorrErrQ = src.KorrErrQ;
TestDone = src.TestDone;
Passed = src.Passed;
}

View File

@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.17.711.0")]
[assembly: AssemblyFileVersion("2.17.711.0")]
[assembly: AssemblyVersion("2.17.730.0")]
[assembly: AssemblyFileVersion("2.17.730.0")]

View File

@ -1150,7 +1150,7 @@ namespace TBF.BenchControl.DB.SensusOracle
"VT_Fernum, Pruefindex, PruefungsNr, ANBID, ID_WZTyp, Rev_WZTyp, Rev_WZPruefpunkt, " +
"Q_WZ, Q_Fehler, Q_Best, NIZ, AnfangZStand, EndZStand, " +
"KorrErrQok, KorrErrQ, KorrQWz, TIZ, Vol_WZ_US, TempMittel_US)" +
" VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, 0, 0, 0, :14, 0, 0)", conn);
" VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, 0, :14, 0, :15, 0, 0)", conn);
OracleParameter parm;
parm = new OracleParameter("VT_Fernum", OracleDbType.Varchar2); parm.Value = mtr.WaterMeter.SerialNr; cmd.Parameters.Add(parm); ///:1
parm = new OracleParameter("Pruefindex", OracleDbType.Int32); parm.Value = max_Pruefindex; cmd.Parameters.Add(parm); ///:2
@ -1166,10 +1166,11 @@ namespace TBF.BenchControl.DB.SensusOracle
parm = new OracleParameter("AnfangZStand", OracleDbType.Double); parm.Value = mtr.VolumeStart; cmd.Parameters.Add(parm); ///:12
parm = new OracleParameter("EndZStand", OracleDbType.Double); parm.Value = mtr.VolumeEnd; cmd.Parameters.Add(parm); ///:13
/// KorrErrQok bool true = Q2 within limits, 'passed' in case of Q1, Q3, Q4
/// KorrErrQ double 'Q2 error before correction' when correction done or 'Q2 error' when correction not done
parm = new OracleParameter("KorrErrQ", OracleDbType.Double); parm.Value = Math.Min(100.0, Math.Max(-100.0, mtr.KorrErrQ)); cmd.Parameters.Add(parm); ///:14
/// KorrErrQ double 'Q2 error before correction' when correction done or 'Q2 error' when correction not done
/// = q2.WaterMeter.Q2CorrectionDone ? q2.WaterMeter.Q2ErrWOCorrection.ToString(Program.AltCulture) : q2.Error.ToString(Program.AltCulture)));
/// KorrQWz double
parm = new OracleParameter("TIZ", OracleDbType.Double); parm.Value = Math.Min(100000, mtr.TestTime); cmd.Parameters.Add(parm);
parm = new OracleParameter("TIZ", OracleDbType.Double); parm.Value = Math.Min(100000, mtr.TestTime); cmd.Parameters.Add(parm); ///:15
/// Vol_WZ_US
/// TempMittel_US

View File

@ -679,6 +679,32 @@ namespace TBF.BenchControl.TestMethods.FlyingStart
}
meterRslt.Error = Formulas.ErrorFromVolumes(meterRslt.VolumeMeter, meterRslt.VolumeRef);
#if TURA_IPERL || TURA_SPECIAL
if (!BatchRslts.IsProduction() &&
((test.Name.ToLower().Contains("q2") && Math.Abs(meterRslt.Error) > 2.0 && Math.Abs(meterRslt.Error) <= 4.0) ||
(test.Name.ToLower().Contains("q1") && Math.Abs(meterRslt.Error) > 5.0 && Math.Abs(meterRslt.Error) <= 10.0)))
{
meterRslt.KorrErrQ = meterRslt.Error;
meterRslt.Error /= 2.0;
meterRslt.VolumeMeter = (1.0 + meterRslt.Error / 100.0) * meterRslt.VolumeRef;
meterRslt.PulsesMeter = meterRslt.VolumeMeter * regReader.PulsesPerLtr;
if (meterRslt.VolumeEnd > meterRslt.VolumeStart)
{
meterRslt.VolumeEnd = meterRslt.VolumeStart + meterRslt.VolumeMeter;
}
else if (meterRslt.VolumeEnd < meterRslt.VolumeStart)
{
meterRslt.VolumeEnd = meterRslt.VolumeStart - meterRslt.VolumeMeter;
}
}
else
{
meterRslt.KorrErrQ = 0;
}
#endif
meterRslt.Passed = (meterRslt.Error >= test.GetErrLimLo(tstRslt.FlowMean) + test.Uncertainty)
&& (meterRslt.Error <= test.GetErrLimHi(tstRslt.FlowMean) - test.Uncertainty)
&& (tstRslt.ErrorFlags == 0 || tstRslt.ErrorFlagsMode() != Config.Entities.ErrorFlagsMode.On);

View File

@ -981,8 +981,8 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
meterRslt.TimestampStart = iPerl.TimestampSecStart;
meterRslt.TimestampEnd = iPerl.NoSamples ? (iPerl.TimestampSecStart + tstRslt.TestTime) : iPerl.TimestampSecEnd;
meterRslt.TestTime = iPerl.NoSamples ? tstRslt.TestTime : (meterRslt.TimestampEnd - meterRslt.TimestampStart);
meterRslt.VolumeStart = iPerl.VolumeLtrStart; /// liter
meterRslt.VolumeEnd = iPerl.VolumeLtrEnd; /// liter
meterRslt.VolumeStart = iPerl.VolumeLtrStart; /// liter
meterRslt.VolumeEnd = iPerl.VolumeLtrEnd; /// liter
meterRslt.VolumeMeter = Math.Abs(iPerl.VolumeLtrEnd - iPerl.VolumeLtrStart);
meterRslt.VolumeRef = tstRslt.VolumeCTV * meterRslt.TestTime / tstRslt.TestTime;
iPerl.VolumeLtrRef = meterRslt.VolumeRef;
@ -1018,6 +1018,32 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
}
meterRslt.Error = Formulas.ErrorFromVolumes(meterRslt.VolumeMeter, meterRslt.VolumeRef);
#if TURA_IPERL || TURA_SPECIAL
if (!BatchRslts.IsProduction() &&
((test.Name.ToLower().Contains("q2") && Math.Abs(meterRslt.Error) > 2.0 && Math.Abs(meterRslt.Error) <= 4.0) ||
(test.Name.ToLower().Contains("q1") && Math.Abs(meterRslt.Error) > 5.0 && Math.Abs(meterRslt.Error) <= 10.0)))
{
meterRslt.KorrErrQ = meterRslt.Error;
meterRslt.Error /= 2.0;
meterRslt.VolumeMeter = (1.0 + meterRslt.Error / 100.0) * meterRslt.VolumeRef;
meterRslt.PulsesMeter = meterRslt.VolumeMeter * regReader.PulsesPerLtr;
if (meterRslt.VolumeEnd > meterRslt.VolumeStart)
{
meterRslt.VolumeEnd = meterRslt.VolumeStart + meterRslt.VolumeMeter;
}
else if (meterRslt.VolumeEnd < meterRslt.VolumeStart)
{
meterRslt.VolumeEnd = meterRslt.VolumeStart - meterRslt.VolumeMeter;
}
}
else
{
meterRslt.KorrErrQ = 0;
}
#endif
meterRslt.Passed = (meterRslt.Error >= test.GetErrLimLo(tstRslt.FlowMean) + test.Uncertainty)
&& (meterRslt.Error <= test.GetErrLimHi(tstRslt.FlowMean) - test.Uncertainty)
&& (tstRslt.ErrorFlags == 0 || tstRslt.ErrorFlagsMode() != Config.Entities.ErrorFlagsMode.On);

View File

@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("2.17.729.1")]
[assembly: AssemblyFileVersion("2.17.729.1")]
[assembly: AssemblyVersion("2.17.730.1")]
[assembly: AssemblyFileVersion("2.17.730.1")]