diff --git a/TBF/BenchControl/Output/DB/SensusOracle/Database.cs b/TBF/BenchControl/Output/DB/SensusOracle/Database.cs index daef922c3..f733009bb 100644 --- a/TBF/BenchControl/Output/DB/SensusOracle/Database.cs +++ b/TBF/BenchControl/Output/DB/SensusOracle/Database.cs @@ -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(); diff --git a/TBF/BenchControl/Output/FileWriters/IperlLogger/Writer.cs b/TBF/BenchControl/Output/FileWriters/IperlLogger/Writer.cs index 1c50b552d..986944b13 100644 --- a/TBF/BenchControl/Output/FileWriters/IperlLogger/Writer.cs +++ b/TBF/BenchControl/Output/FileWriters/IperlLogger/Writer.cs @@ -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]");