SensusOracle and IperlLogger write only data of iPerls without any production issues.

This commit is contained in:
Milan Hanajik 2019-03-15 10:53:22 +01:00
parent f1278dd9a5
commit 84322476d6
2 changed files with 83 additions and 75 deletions

View File

@ -581,7 +581,11 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
SaveBatchData(conn, batch);
foreach (var wMtr in batch.WaterMeters)
{
SaveSingleWM2DB(conn, wMtr, safeMode);
if ((wMtr.ErrorFlags & ((int)ErrorFlagMask.E25 | (int)ErrorFlagMask.E26 | (int)ErrorFlagMask.E27 | (int)ErrorFlagMask.E28)) == 0)
{
/// No error production process error => write the result of testing to Oracle DB
SaveSingleWM2DB(conn, wMtr, safeMode);
}
}
transaction.Commit();

View File

@ -6,6 +6,7 @@ using System.Collections.Generic;
using System.IO;
using log4net;
using Config;
using Config.Entities;
namespace TBF.BenchControl.Output.FileWriters.IperlLogger
{
@ -299,88 +300,91 @@ namespace TBF.BenchControl.Output.FileWriters.IperlLogger
{
Results.Entities.WaterMeter wMtr = batch.WaterMeters[i];
bool testRsltIsMissing = false;
Results.Entities.MeterTestRslt[] wmtrs = new Results.Entities.MeterTestRslt[testInfos.Length];
for (int j = 0; j < testInfos.Length; j++)
if ((wMtr != null) && (wMtr.ErrorFlags & ((int)ErrorFlagMask.E25 | (int)ErrorFlagMask.E26 | (int)ErrorFlagMask.E27 | (int)ErrorFlagMask.E28)) == 0)
{
wmtrs[j] = wMtr.GetMeterTestRslt(testInfos[j].TestName);
if (wmtrs[j] == null && !string.IsNullOrEmpty(testInfos[j].TestName))
{
testRsltIsMissing = true; /// Missing test result for one of specified tests
}
}
logger.WriteLine();
logger.WriteLine(string.Format("[Zählerdaten_{0}]", wMtr.WMPosition));
if (testRsltIsMissing)
{
logger.WriteLine("geprüft=0");
}
else
{
logger.WriteLine("geprüft=1");
logger.WriteLine(string.Format("Zählernummer="));
logger.WriteLine(string.Format("FertigsNr={0}", wMtr.SerialNr));
logger.WriteLine(string.Format("bestanden={0}", wMtr.Passed ? 1 : 0)); /// 1
logger.WriteLine(string.Format("Prüfflag={0}", wMtr.HydrPruefung)); /// 96
logger.WriteLine(string.Format("FestWertWZ=0")); /// 0
logger.WriteLine(string.Format("Dicht={0}", 1)); /// 1
logger.WriteLine(string.Format("PrüfIndex={0}", wMtr.Pruefindex)); /// 7301
logger.WriteLine(string.Format("GeprüftIndex=1")); /// 1
bool testRsltIsMissing = false;
Results.Entities.MeterTestRslt[] wmtrs = new Results.Entities.MeterTestRslt[testInfos.Length];
for (int j = 0; j < testInfos.Length; j++)
{
Results.Entities.MeterTestRslt mtr = wmtrs[j];
string flID = testInfos[j].PruefungsNrStr;
wmtrs[j] = wMtr.GetMeterTestRslt(testInfos[j].TestName);
if (mtr != null)
if (wmtrs[j] == null && !string.IsNullOrEmpty(testInfos[j].TestName))
{
logger.WriteLine(string.Format("Q{0}bestanden={1}", flID, 1));
logger.WriteLine(string.Format("Durchfluss{0}={1}", flID, Utils.DoubleToStr(Units.ConvertTo(Unit.lph, mtr.FlowVolume()), 5, true)));
logger.WriteLine(string.Format("Fehler{0}={1}", flID, mtr.Error.ToString(Program.AltCulture)));
logger.WriteLine(string.Format("ZeitImpulse{0}={1}", flID, mtr.TestTime.ToString(Program.AltCulture)));
logger.WriteLine(string.Format("Impulse{0}={1}", flID, 0));
logger.WriteLine(string.Format("Volumen{0}={1}", flID, mtr.VolumeMeter.ToString(Program.AltCulture)));
logger.WriteLine(string.Format("KorrFehler{0}={1}", flID, ((testInfos[j].TestName == "Q2") && mtr.WaterMeter.Q2CorrectionDone) ? mtr.WaterMeter.Q2ErrWOCorrection.ToString(Program.AltCulture)
: mtr.Error.ToString(Program.AltCulture)));
logger.WriteLine(string.Format("KorrDurchfluss{0}={1}", flID, 0));
logger.WriteLine(string.Format("Q{0}KorrBestanden={1}", flID, 0));
logger.WriteLine(string.Format("Anfangsstand{0}={1}", flID, 0)); /// TODO
logger.WriteLine(string.Format("Endstand{0}={1}", flID, 0)); /// TODO
logger.WriteLine(string.Format("QMittelwert{0}={1}", flID, Utils.DoubleToStr(Units.ConvertTo(Unit.lph, mtr.FlowVolume()), 5, true)));
logger.WriteLine(string.Format("QStandardAbweichung{0}={1}", flID, 0));
logger.WriteLine(string.Format("ImpedanzMittelwert{0}={1}", flID, "0,00000"));
logger.WriteLine(string.Format("AusfallGrund{0}={1}", flID, 0));
testRsltIsMissing = true; /// Missing test result for one of specified tests
}
}
logger.WriteLine(string.Format("AusfallGrundGesamt={0}", 0));
logger.WriteLine(string.Format("AuftragNum={0}", wMtr.PurchaseOrder));
logger.WriteLine(string.Format("MaterialNum={0}", 38140500));
logger.WriteLine(string.Format("Prefix={0}", "8SEN01"));
logger.WriteLine(string.Format("Suffix="));
logger.WriteLine(string.Format("Palette={0}", 0));
logger.WriteLine(string.Format("Umkarton={0}", 0));
logger.WriteLine(string.Format("ZNr_komplett="));
logger.WriteLine(string.Format("OptikBewertung=0,00000"));
logger.WriteLine(string.Format("IdProduziert={0}", 0));
logger.WriteLine(string.Format("Calibration_alt={0}", wMtr.OrigCalibFactor));
logger.WriteLine(string.Format("Calibration={0}", wMtr.CalibFactor));
logger.WriteLine(string.Format("Firmware={0}", wMtr.FWVersion)); /// 5.066
logger.WriteLine(string.Format("FlexFlowFehler={0}", 0)); /// 0
logger.WriteLine(string.Format("FlexFlowAuftrag={0}", 0)); /// 4248189
logger.WriteLine(string.Format("JustierWert=0,2")); /// 0,2
logger.WriteLine(string.Format("Corrected2Hz={0}", wMtr.Hz2CorrectionDone ? 1 : 0));
logger.WriteLine(string.Format("Q2Corrected={0}", wMtr.Q2CorrectionDone ? 1 : 0));
logger.WriteLine(string.Format("Q2CorrectionRight={0}", wMtr.Q2CorrLR));
logger.WriteLine(string.Format("Q2CorrectionLeft={0}", wMtr.Q2CorrRL));
logger.WriteLine(string.Format("Q2CorrectionFlowRight={0}", wMtr.Q2CorrFlowRight));
logger.WriteLine(string.Format("FlowDirectionRight={0}", wMtr.Q2CorrFlowRight));
logger.WriteLine(string.Format("Position={0}", wMtr.WMPosition));
}
}
logger.WriteLine();
logger.WriteLine(string.Format("[Zählerdaten_{0}]", wMtr.WMPosition));
if (testRsltIsMissing)
{
logger.WriteLine("geprüft=0");
}
else
{
logger.WriteLine("geprüft=1");
logger.WriteLine(string.Format("Zählernummer="));
logger.WriteLine(string.Format("FertigsNr={0}", wMtr.SerialNr));
logger.WriteLine(string.Format("bestanden={0}", wMtr.Passed ? 1 : 0)); /// 1
logger.WriteLine(string.Format("Prüfflag={0}", wMtr.HydrPruefung)); /// 96
logger.WriteLine(string.Format("FestWertWZ=0")); /// 0
logger.WriteLine(string.Format("Dicht={0}", 1)); /// 1
logger.WriteLine(string.Format("PrüfIndex={0}", wMtr.Pruefindex)); /// 7301
logger.WriteLine(string.Format("GeprüftIndex=1")); /// 1
for (int j = 0; j < testInfos.Length; j++)
{
Results.Entities.MeterTestRslt mtr = wmtrs[j];
string flID = testInfos[j].PruefungsNrStr;
if (mtr != null)
{
logger.WriteLine(string.Format("Q{0}bestanden={1}", flID, 1));
logger.WriteLine(string.Format("Durchfluss{0}={1}", flID, Utils.DoubleToStr(Units.ConvertTo(Unit.lph, mtr.FlowVolume()), 5, true)));
logger.WriteLine(string.Format("Fehler{0}={1}", flID, mtr.Error.ToString(Program.AltCulture)));
logger.WriteLine(string.Format("ZeitImpulse{0}={1}", flID, mtr.TestTime.ToString(Program.AltCulture)));
logger.WriteLine(string.Format("Impulse{0}={1}", flID, 0));
logger.WriteLine(string.Format("Volumen{0}={1}", flID, mtr.VolumeMeter.ToString(Program.AltCulture)));
logger.WriteLine(string.Format("KorrFehler{0}={1}", flID, ((testInfos[j].TestName == "Q2") && mtr.WaterMeter.Q2CorrectionDone) ? mtr.WaterMeter.Q2ErrWOCorrection.ToString(Program.AltCulture)
: mtr.Error.ToString(Program.AltCulture)));
logger.WriteLine(string.Format("KorrDurchfluss{0}={1}", flID, 0));
logger.WriteLine(string.Format("Q{0}KorrBestanden={1}", flID, 0));
logger.WriteLine(string.Format("Anfangsstand{0}={1}", flID, 0)); /// TODO
logger.WriteLine(string.Format("Endstand{0}={1}", flID, 0)); /// TODO
logger.WriteLine(string.Format("QMittelwert{0}={1}", flID, Utils.DoubleToStr(Units.ConvertTo(Unit.lph, mtr.FlowVolume()), 5, true)));
logger.WriteLine(string.Format("QStandardAbweichung{0}={1}", flID, 0));
logger.WriteLine(string.Format("ImpedanzMittelwert{0}={1}", flID, "0,00000"));
logger.WriteLine(string.Format("AusfallGrund{0}={1}", flID, 0));
}
}
logger.WriteLine(string.Format("AusfallGrundGesamt={0}", 0));
logger.WriteLine(string.Format("AuftragNum={0}", wMtr.PurchaseOrder));
logger.WriteLine(string.Format("MaterialNum={0}", 38140500));
logger.WriteLine(string.Format("Prefix={0}", "8SEN01"));
logger.WriteLine(string.Format("Suffix="));
logger.WriteLine(string.Format("Palette={0}", 0));
logger.WriteLine(string.Format("Umkarton={0}", 0));
logger.WriteLine(string.Format("ZNr_komplett="));
logger.WriteLine(string.Format("OptikBewertung=0,00000"));
logger.WriteLine(string.Format("IdProduziert={0}", 0));
logger.WriteLine(string.Format("Calibration_alt={0}", wMtr.OrigCalibFactor));
logger.WriteLine(string.Format("Calibration={0}", wMtr.CalibFactor));
logger.WriteLine(string.Format("Firmware={0}", wMtr.FWVersion)); /// 5.066
logger.WriteLine(string.Format("FlexFlowFehler={0}", 0)); /// 0
logger.WriteLine(string.Format("FlexFlowAuftrag={0}", 0)); /// 4248189
logger.WriteLine(string.Format("JustierWert=0,2")); /// 0,2
logger.WriteLine(string.Format("Corrected2Hz={0}", wMtr.Hz2CorrectionDone ? 1 : 0));
logger.WriteLine(string.Format("Q2Corrected={0}", wMtr.Q2CorrectionDone ? 1 : 0));
logger.WriteLine(string.Format("Q2CorrectionRight={0}", wMtr.Q2CorrLR));
logger.WriteLine(string.Format("Q2CorrectionLeft={0}", wMtr.Q2CorrRL));
logger.WriteLine(string.Format("Q2CorrectionFlowRight={0}", wMtr.Q2CorrFlowRight));
logger.WriteLine(string.Format("FlowDirectionRight={0}", wMtr.Q2CorrFlowRight));
logger.WriteLine(string.Format("Position={0}", wMtr.WMPosition));
}
}
}
logger.WriteLine();
logger.WriteLine("[Prüfdaten]");