From 4f59f23c6f230386d8431c4fddf0acc1efdbf619 Mon Sep 17 00:00:00 2001 From: Milan Hanajik Date: Thu, 22 Jun 2023 13:20:04 +0200 Subject: [PATCH] Clean-up, bug fix in SharedDatabase.Utils.GetTestName( ) - could freeze, ver. 3.6.2062 --- Results/Entities/MeterTestRslt.cs | 2 +- Results/Entities/WaterMeter.cs | 2 +- Results/ItemID.cs | 2 +- SharedDatabase/Entities/MeterTestRslt.cs | 4 +- SharedDatabase/Entities/WaterMeter.cs | 51 ++++++++++++-------- SharedDatabase/ItemID.cs | 15 +++++- SharedDatabase/Mappings/TestRsltMap.cs | 9 ++-- SharedDatabase/Mappings/WaterMeterDataMap.cs | 3 +- SharedDatabase/Mappings/WaterMeterMap.cs | 12 +++-- SharedDatabase/Utils.cs | 6 ++- TBF/Properties/AssemblyInfo.cs | 4 +- 11 files changed, 73 insertions(+), 37 deletions(-) diff --git a/Results/Entities/MeterTestRslt.cs b/Results/Entities/MeterTestRslt.cs index 15035bb1e..1834e000e 100644 --- a/Results/Entities/MeterTestRslt.cs +++ b/Results/Entities/MeterTestRslt.cs @@ -82,7 +82,7 @@ namespace Results.Entities public virtual double QRise() { return WaterMeter.QRise; } /// [m3/h] public virtual double QFall() { return WaterMeter.QFall; } /// [m3/h] - public virtual bool Evaluate() { return TestData().Evaluate; } + public virtual bool Evaluate() { return TestData().Evaluate; } public virtual Publish Publish() { return (Publish)TestData().Publish; } public virtual WaterMeterData WaterMeterData() { return WaterMeter.WaterMeterData; } diff --git a/Results/Entities/WaterMeter.cs b/Results/Entities/WaterMeter.cs index 56cc5c9c8..a15c906cf 100644 --- a/Results/Entities/WaterMeter.cs +++ b/Results/Entities/WaterMeter.cs @@ -123,7 +123,7 @@ namespace Results.Entities public virtual string GetStartState() { return Compound() ? string.Empty : EndStateAux; } public virtual void SetStartState(string s) { if (!Compound()) EndStateAux = s; } - public virtual string ProductName() { return WaterMeterData.ProductName; } + public virtual string ProductName() { return WaterMeterData.ProductName; } public virtual string Producer() { return WaterMeterData.Producer; } public virtual string MetrologicalClass() { return WaterMeterData.MetrologicalClass; } public virtual string ApprovalInfo() { return WaterMeterData.ApprovalInfo; } diff --git a/Results/ItemID.cs b/Results/ItemID.cs index 679b7c43b..5f92e1da4 100644 --- a/Results/ItemID.cs +++ b/Results/ItemID.cs @@ -1,5 +1,5 @@ /// -/// Copyright (c) 2016-2018 Sensus Slovensko a.s. +/// Copyright (c) 2016-2021 Sensus Slovensko a.s. /// using System; diff --git a/SharedDatabase/Entities/MeterTestRslt.cs b/SharedDatabase/Entities/MeterTestRslt.cs index 429964d0b..9a430b0a3 100644 --- a/SharedDatabase/Entities/MeterTestRslt.cs +++ b/SharedDatabase/Entities/MeterTestRslt.cs @@ -63,7 +63,9 @@ namespace SharedDatabase.Entities public virtual string ProcedureName() { return WaterMeter.Batch.ProcedureName; } public virtual int BatchNr() { return WaterMeter.Batch.BatchNr; } - public virtual string SerialNr() { return WaterMeter.SerialNr; } + public virtual string SerialNr() { return (CompoundMeterId == (byte)Common.CompoundMeterId.CompoundAux) + ? WaterMeter.SerialNrAux + : WaterMeter.SerialNr; } public virtual string EndState() { return WaterMeter.EndState; } public virtual double QRise() { return WaterMeter.QRise; } /// [m3/h] public virtual double QFall() { return WaterMeter.QFall; } /// [m3/h] diff --git a/SharedDatabase/Entities/WaterMeter.cs b/SharedDatabase/Entities/WaterMeter.cs index d91042a9c..7d4eb6d55 100644 --- a/SharedDatabase/Entities/WaterMeter.cs +++ b/SharedDatabase/Entities/WaterMeter.cs @@ -43,8 +43,9 @@ namespace SharedDatabase.Entities { public virtual int Id { get; protected set; } public virtual string SerialNr { get; set; } /// S/N _or_ S/N of the main meter of a compound meter _or_ PCB Number of an iPerl water meter - public virtual string SerialNrAux { get; set; } /// S/N of the aux. meter of a compound meter _or_ a complete assigned S/N of an iPerl water meter - public virtual string PurchaseOrder { get; set; } + public virtual string SerialNrAux { get; set; } /// S/N of the aux. meter of a compound meter _or_ eRegister PCB Number of a 640 water meter + public virtual string RadioAddress { get; set; } + public virtual string PurchaseOrder { get; set; } public virtual int YearOfProduction { get; set; } public virtual int WMPosition { get; set; } /// 1-based water meter position public virtual string EndState { get; set; } /// End state (of the main water meter) @@ -76,7 +77,6 @@ namespace SharedDatabase.Entities /// /// Data from a production test bench (in case of tests on iPerl special) /// - public virtual string RadioAddress { get; set; } public virtual int PaletteNr { get; set; } public virtual int UmkartonNr { get; set; } public virtual string ProdTestBench { get; set; } @@ -96,6 +96,7 @@ namespace SharedDatabase.Entities public virtual string Prefix { get; set; } public virtual string Suffix { get; set; } public virtual string CompleteSerialNr { get; set; } + public virtual string OriRadioAddress { get; set; } /// Not mapped to DB !!! Original radio address of a 640 water meter (albatrosID) public virtual int WMTypeRevision { get; set; } public virtual int Pruefindex { get; set; } /// >=1 ... pruefindex, 0 ... unknown (no reading from DB yet) public virtual int HydrPruefung { get; set; } @@ -108,7 +109,6 @@ namespace SharedDatabase.Entities public virtual string Workflow { get; set; } /// Not mapped to DB !!! Production tracing workflow name public virtual bool LastRecordIsNok { get; set; } /// Not mapped to DB !!! Previous record verification result - public virtual WaterMeterData WaterMeterData { get; set; } public virtual Batch Batch { get; set; } public virtual IList MeterTestRslts { get; set; } @@ -116,7 +116,13 @@ namespace SharedDatabase.Entities /// /// Wrappers /// - public virtual string ProductName() { return WaterMeterData.ProductName; } + public virtual string GetEndStateAux() { return Compound() ? EndStateAux : string.Empty; } + public virtual void SetEndStateAux(string s) { if (Compound()) EndStateAux = s; } + + public virtual string GetStartState() { return Compound() ? string.Empty : EndStateAux; } + public virtual void SetStartState(string s) { if (!Compound()) EndStateAux = s; } + + public virtual string ProductName() { return WaterMeterData.ProductName; } public virtual string Producer() { return WaterMeterData.Producer; } public virtual string MetrologicalClass() { return WaterMeterData.MetrologicalClass; } public virtual string ApprovalInfo() { return WaterMeterData.ApprovalInfo; } @@ -441,18 +447,22 @@ namespace SharedDatabase.Entities Workflow = string.Empty; ErrorFlags = 0; + InfoFlags = 0; LastRecordIsNok = false; /// Initialize strings SerialNr = string.Empty; SerialNrAux = string.Empty; + RadioAddress = string.Empty; PurchaseOrder = string.Empty; EndState = string.Empty; EndStateAux = string.Empty; ArchivePath = string.Empty; Remark = string.Empty; +#if IPERL + FWVersion = string.Empty; +#endif #if TURA_SPECIAL - RadioAddress = string.Empty; ProdUserName = string.Empty; ProdPurchaseOrder = string.Empty; #endif @@ -468,6 +478,7 @@ namespace SharedDatabase.Entities SerialNr = src.SerialNr; SerialNrAux = src.SerialNrAux; + RadioAddress = src.RadioAddress; PurchaseOrder = src.PurchaseOrder; YearOfProduction = src.YearOfProduction; WMPosition = src.WMPosition; @@ -496,22 +507,22 @@ namespace SharedDatabase.Entities FWVersion = src.FWVersion; #endif #if TURA_SPECIAL - RadioAddress = src.RadioAddress; - PaletteNr = src.PaletteNr; - UmkartonNr = src.UmkartonNr; - ProdTestBench = src.ProdTestBench; - ProdWMPosition = src.ProdWMPosition; - ProdUserName = src.ProdUserName; - ProdPurchaseOrder = src.ProdPurchaseOrder; - ProdPassed = src.ProdPassed; - ProdResultCode = src.ProdResultCode; - ProdQ2CorrRL = src.ProdQ2CorrRL; - ProdQ2CorrLR = src.ProdQ2CorrLR; + PaletteNr = src.PaletteNr; + UmkartonNr = src.UmkartonNr; + ProdTestBench = src.ProdTestBench; + ProdWMPosition = src.ProdWMPosition; + ProdUserName = src.ProdUserName; + ProdPurchaseOrder = src.ProdPurchaseOrder; + ProdPassed = src.ProdPassed; + ProdResultCode = src.ProdResultCode; + ProdQ2CorrRL = src.ProdQ2CorrRL; + ProdQ2CorrLR = src.ProdQ2CorrLR; #endif AssignedSerialNr = src.AssignedSerialNr; Prefix = src.Prefix; Suffix = src.Suffix; CompleteSerialNr = src.CompleteSerialNr; + OriRadioAddress = src.OriRadioAddress; WMTypeRevision = src.WMTypeRevision; Pruefindex = src.Pruefindex; HydrPruefung = src.HydrPruefung; @@ -647,6 +658,7 @@ namespace SharedDatabase.Entities writer.Write(Id); writer.Write((SerialNr != null) ? SerialNr : string.Empty); writer.Write((SerialNrAux != null) ? SerialNrAux : string.Empty); + writer.Write((RadioAddress != null) ? RadioAddress : string.Empty); writer.Write((PurchaseOrder != null) ? PurchaseOrder : string.Empty); writer.Write(YearOfProduction); writer.Write(WMPosition); @@ -675,7 +687,6 @@ namespace SharedDatabase.Entities writer.Write((FWVersion != null) ? FWVersion : string.Empty); #endif #if TURA_SPECIAL - writer.Write((RadioAddress != null) ? RadioAddress : string.Empty); writer.Write(PaletteNr); writer.Write(UmkartonNr); writer.Write((ProdTestBench != null) ? ProdTestBench : string.Empty); @@ -691,6 +702,7 @@ namespace SharedDatabase.Entities writer.Write((Prefix != null) ? Prefix : string.Empty); writer.Write((Suffix != null) ? Suffix : string.Empty); writer.Write((CompleteSerialNr != null) ? CompleteSerialNr : string.Empty); + writer.Write((OriRadioAddress != null) ? OriRadioAddress : string.Empty); writer.Write(WMTypeRevision); writer.Write(Pruefindex); writer.Write(HydrPruefung); @@ -740,6 +752,7 @@ namespace SharedDatabase.Entities Id = reader.ReadInt32(); SerialNr = reader.ReadString(); SerialNrAux = reader.ReadString(); + RadioAddress = reader.ReadString(); PurchaseOrder = reader.ReadString(); YearOfProduction = reader.ReadInt32(); WMPosition = reader.ReadInt32(); @@ -768,7 +781,6 @@ namespace SharedDatabase.Entities FWVersion = reader.ReadString(); #endif #if TURA_SPECIAL - RadioAddress = reader.ReadString(); PaletteNr = reader.ReadInt32(); UmkartonNr = reader.ReadInt32(); ProdTestBench = reader.ReadString(); @@ -784,6 +796,7 @@ namespace SharedDatabase.Entities Prefix = reader.ReadString(); Suffix = reader.ReadString(); CompleteSerialNr = reader.ReadString(); + OriRadioAddress = reader.ReadString(); WMTypeRevision = reader.ReadInt32(); Pruefindex = reader.ReadInt32(); HydrPruefung = reader.ReadInt32(); diff --git a/SharedDatabase/ItemID.cs b/SharedDatabase/ItemID.cs index f527a3d93..5ecc00c7d 100644 --- a/SharedDatabase/ItemID.cs +++ b/SharedDatabase/ItemID.cs @@ -22,7 +22,7 @@ namespace SharedDatabase Test_start_time, /// 12 Test_end_time, /// 13 Test_time, /// 14 - Flow, /// 15 + Flow, /// 15 Calculated flow (use ConstMasterRaw/ConstMaster to calculate uncorrected flow of the reference flow meter) T_up_mean, /// 16 T_down_mean, /// 17 T_div, /// 18 @@ -332,6 +332,19 @@ namespace SharedDatabase Diverter, /// 281 RegValve, /// 282 + X1, /// 283 + X2, /// 284 + X3, /// 285 + X4, /// 286 + X5, /// 287 + X6, /// 288 + X7, /// 289 + X8, /// 290 + X9, /// 291 + + RadioAddress, /// 292 + OriRadioAddress, /// 293 + Count, } } diff --git a/SharedDatabase/Mappings/TestRsltMap.cs b/SharedDatabase/Mappings/TestRsltMap.cs index dd17e93bc..01ff4df73 100644 --- a/SharedDatabase/Mappings/TestRsltMap.cs +++ b/SharedDatabase/Mappings/TestRsltMap.cs @@ -2,17 +2,18 @@ /// Copyright (c) 2015-2022 Sensus Slovensko a.s. /// using FluentNHibernate.Mapping; +using SharedDatabase.Entities; namespace SharedDatabase.Mappings { - class TestRsltMap : ClassMap + class TestRsltMap : ClassMap { public TestRsltMap() { Id(x => x.Id); - References(x => x.Batch); - References(x => x.TestData); - References(x => x.Components); + References(x => x.Batch); + References(x => x.TestData); + References(x => x.Components); Map(x => x.Part); Map(x => x.RepetitionNr); Map(x => x.MethodClass); diff --git a/SharedDatabase/Mappings/WaterMeterDataMap.cs b/SharedDatabase/Mappings/WaterMeterDataMap.cs index 95eb73b5d..229d17d69 100644 --- a/SharedDatabase/Mappings/WaterMeterDataMap.cs +++ b/SharedDatabase/Mappings/WaterMeterDataMap.cs @@ -2,10 +2,11 @@ /// Copyright (c) 2015-2023 Sensus Slovensko a.s. /// using FluentNHibernate.Mapping; +using SharedDatabase.Entities; namespace SharedDatabase.Mappings { - class WaterMeterDataMap : ClassMap + class WaterMeterDataMap : ClassMap { public WaterMeterDataMap() { diff --git a/SharedDatabase/Mappings/WaterMeterMap.cs b/SharedDatabase/Mappings/WaterMeterMap.cs index d5bfba7dd..af671ff8f 100644 --- a/SharedDatabase/Mappings/WaterMeterMap.cs +++ b/SharedDatabase/Mappings/WaterMeterMap.cs @@ -1,18 +1,20 @@ /// -/// Copyright (c) 2015-2017 Sensus Metering Systems +/// Copyright (c) 2015-2021 Sensus Slovensko a.s. /// using FluentNHibernate.Mapping; +using SharedDatabase.Entities; namespace SharedDatabase.Mappings { - class WaterMeterMap : ClassMap + class WaterMeterMap : ClassMap { public WaterMeterMap() { Id(x => x.Id); Map(x => x.SerialNr); Map(x => x.SerialNrAux); - Map(x => x.PurchaseOrder); + Map(x => x.RadioAddress); + Map(x => x.PurchaseOrder); Map(x => x.YearOfProduction); Map(x => x.WMPosition); Map(x => x.EndState); @@ -42,7 +44,6 @@ namespace SharedDatabase.Mappings Map(x => x.FWVersion); #endif #if TURA_SPECIAL - Map(x => x.RadioAddress); Map(x => x.PaletteNr); Map(x => x.UmkartonNr); Map(x => x.ProdTestBench); @@ -59,9 +60,10 @@ namespace SharedDatabase.Mappings Map(x => x.Prefix); Map(x => x.Suffix); Map(x => x.CompleteSerialNr); + Map(x => x.OriRadioAddress); + Map(x => x.WMTypeRevision); Map(x => x.Pruefindex); Map(x => x.HydrPruefung); - Map(x => x.WMTypeRevision); #endif References(x => x.WaterMeterData); References(x => x.Batch); diff --git a/SharedDatabase/Utils.cs b/SharedDatabase/Utils.cs index 7be579f5d..59b1bb268 100644 --- a/SharedDatabase/Utils.cs +++ b/SharedDatabase/Utils.cs @@ -12,7 +12,7 @@ namespace SharedDatabase { public static string GetTestName(string name, int repeats, int repetitionNr) { - return SharedDatabase.Utils.GetTestName(name, repeats, repetitionNr); + return Common.Utils.GetTestName(name, repeats, repetitionNr); } public static System.Drawing.Color GetSeverityColor(Common.Severity severity, bool foreColor = false) @@ -40,6 +40,8 @@ namespace SharedDatabase case 10: return 38; /// WR14 case 11: return 39; /// WR18 case 12: return 40; /// WR19 + case 13: return 41; /// WR20 + case 14: return 42; /// WR21 default: return 0; } } @@ -57,6 +59,8 @@ namespace SharedDatabase case 10: return "WR14"; case 11: return "WR18"; case 12: return "WR19"; + case 13: return "WR20"; + case 14: return "WR21"; default: return string.Empty; } } diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs index 9065fc19f..a684cc181 100644 --- a/TBF/Properties/AssemblyInfo.cs +++ b/TBF/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("3.6.2046.0")] -[assembly: AssemblyFileVersion("3.6.2046.0")] +[assembly: AssemblyVersion("3.6.2062.0")] +[assembly: AssemblyFileVersion("3.6.2062.0")]