diff --git a/Results/BatchResults.cs b/Results/BatchResults.cs
index 88753707f..669d8544f 100644
--- a/Results/BatchResults.cs
+++ b/Results/BatchResults.cs
@@ -27,8 +27,8 @@ namespace Results
public Batch Batch;
public WaterMeter[] WaterMeters;
- public static BatchResults NewFromProcedure(int batchNr, int benchId, string user, int userNr, string programVer,
- Config.Entities.Procedure procedure,
+ public static BatchResults NewFromProcedure(int batchNr, int benchId, string benchName, string a1, string a2, string a3, string a4, string a5,
+ string user, int userNr, string programVer, Config.Entities.Procedure procedure,
WaterMeterData[] waterMeterDatas, int[] waterMeterParts, double densityCorr)
{
BatchResults d = new BatchResults(waterMeterDatas.Length);
@@ -37,8 +37,14 @@ namespace Results
/// Create new batch
d.Batch = new Batch()
{
- TestBenchId = benchId,
- BatchNr = batchNr,
+ BatchNr = batchNr,
+ TestBenchId = benchId,
+ TestBenchName = benchName,
+ Address1 = a1,
+ Address2 = a2,
+ Address3 = a3,
+ Address4 = a4,
+ Address5 = a5,
ProgramVersion = programVer,
UserName = user,
UserNumber = userNr,
diff --git a/Results/Entities/Batch.cs b/Results/Entities/Batch.cs
index 771ff25da..b77d535b1 100644
--- a/Results/Entities/Batch.cs
+++ b/Results/Entities/Batch.cs
@@ -11,7 +11,13 @@ namespace Results.Entities
public virtual int Id { get; protected set; }
public virtual int BatchNr { get; set; }
public virtual int TestBenchId { get; set; }
- public virtual string ProgramVersion { get; set; }
+ public virtual string TestBenchName { get; set; } /// CEVAK, not mapped to DB
+ public virtual string Address1 { get; set; } /// CEVAK, not mapped to DB
+ public virtual string Address2 { get; set; } /// CEVAK, not mapped to DB
+ public virtual string Address3 { get; set; } /// CEVAK, not mapped to DB
+ public virtual string Address4 { get; set; } /// CEVAK, not mapped to DB
+ public virtual string Address5 { get; set; } /// CEVAK, not mapped to DB
+ public virtual string ProgramVersion { get; set; }
public virtual string UserName { get; set; }
public virtual int UserNumber { get; set; }
public virtual string ProcedureName { get; set; }
diff --git a/Results/ItemID.cs b/Results/ItemID.cs
index 37f086d60..2b2b8cb3b 100644
--- a/Results/ItemID.cs
+++ b/Results/ItemID.cs
@@ -71,7 +71,7 @@ namespace Results
Pulse__liter, /// 61 Water meter constant (pulses per liter) specific for one test
Reference_pulses_ni, /// 62 Reference pulses gated for specific meter (synchro method)
Reference_energy, /// 63
- Test_bench_ID, /// 64
+ Bench_ID, /// 64 Test bench ID (int) obtained from a component implementing IBenchInfo
Program_version, /// 65
User_name, /// 66
User_nr, /// 67
@@ -253,6 +253,14 @@ namespace Results
ConstMasterRaw, /// 219 ConstMaster (like 194) uncorrected
Reference_error_corr, /// 220 Reference flow meter error after correction using correction curve
+ Proc_description, /// 221 Procedure description (CEVAK, not mapped to DB)
+ Bench_name, /// 222 'Test bench name' (string) obtained from a component implementing IBenchInfo
+ Bench_address1, /// 223 'Address 1' from IBenchInfo
+ Bench_address2, /// 224 'Address 2' from IBenchInfo
+ Bench_address3, /// 225 'Address 3' from IBenchInfo
+ Bench_address4, /// 226 'Address 4' from IBenchInfo
+ Bench_address5, /// 227 'Address 5' from IBenchInfo
+
Count,
}
}
diff --git a/Results/Output/Printers/Table.cs b/Results/Output/Printers/Table.cs
index 0b8f5f5ce..ae4781949 100644
--- a/Results/Output/Printers/Table.cs
+++ b/Results/Output/Printers/Table.cs
@@ -57,10 +57,21 @@ namespace Results.Output.Printers
}
+ ///
+ /// Returns true when table has either rows or columns count == 0
+ ///
+ /// true when empty
+ public bool IsEmpty()
+ {
+ return (RowsCount == 0 || Rows[0].Length == 0);
+ }
+
+
public SizeF Measure(System.Drawing.Printing.PrintPageEventArgs e)
{
SizeF retVal = new SizeF(0, 0);
- if (RowsCount == 0) return retVal;
+
+ if (IsEmpty()) return retVal; /// Empty table => zero Size
float[] columnWidth = new float[ColumnsCount];
float[] rowHeight = new float[RowsCount];
@@ -117,10 +128,10 @@ namespace Results.Output.Printers
public float Draw(System.Drawing.Printing.PrintPageEventArgs e, float left, float top)
{
- if (RowsCount == 0) return top;
+ if (IsEmpty()) return top; /// Empty table
int tblColumnsCount = Rows[0].Length;
-
+
float[] columnWidth = new float[tblColumnsCount];
float[] columnPos = new float[tblColumnsCount];
float[] vertLinePos = new float[tblColumnsCount + 1];
diff --git a/Results/Properties/AssemblyInfo.cs b/Results/Properties/AssemblyInfo.cs
index d62f2df64..2522b5e8c 100644
--- a/Results/Properties/AssemblyInfo.cs
+++ b/Results/Properties/AssemblyInfo.cs
@@ -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.18.990.0")]
-[assembly: AssemblyFileVersion("2.18.990.0")]
+[assembly: AssemblyVersion("2.18.995.0")]
+[assembly: AssemblyFileVersion("2.18.995.0")]
diff --git a/Results/Resources/Strings.Designer.cs b/Results/Resources/Strings.Designer.cs
index 74511c828..6c9aa3e40 100644
--- a/Results/Resources/Strings.Designer.cs
+++ b/Results/Resources/Strings.Designer.cs
@@ -69,6 +69,15 @@ namespace Results.Resources {
}
}
+ ///
+ /// Looks up a localized string similar to Address.
+ ///
+ internal static string Address {
+ get {
+ return ResourceManager.GetString("Address", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Alignment.
///
@@ -123,6 +132,24 @@ namespace Results.Resources {
}
}
+ ///
+ /// Looks up a localized string similar to Bench ID.
+ ///
+ internal static string Bench_ID {
+ get {
+ return ResourceManager.GetString("Bench_ID", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Bench name.
+ ///
+ internal static string Bench_name {
+ get {
+ return ResourceManager.GetString("Bench_name", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Cancel.
///
@@ -636,6 +663,15 @@ namespace Results.Resources {
}
}
+ ///
+ /// Looks up a localized string similar to Procedure description.
+ ///
+ internal static string Procedure_description {
+ get {
+ return ResourceManager.GetString("Procedure_description", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Producer.
///
diff --git a/Results/Resources/Strings.cs.resx b/Results/Resources/Strings.cs.resx
index f352bf2e4..c8f2c7b07 100644
--- a/Results/Resources/Strings.cs.resx
+++ b/Results/Resources/Strings.cs.resx
@@ -213,4 +213,43 @@
Jednotka
+
+ Schválení
+
+
+ Stanice
+
+
+ Hustota
+
+
+ Korekce hustoty
+
+
+ Konec
+
+
+ Procedura
+
+
+ Popis procedury
+
+
+ Začátek
+
+
+ Uživatel
+
+
+ Popis uživatele
+
+
+ ID stanice
+
+
+ Jméno stanice
+
+
+ Adresa
+
\ No newline at end of file
diff --git a/Results/Resources/Strings.resx b/Results/Resources/Strings.resx
index 201ab64b7..090f1e370 100644
--- a/Results/Resources/Strings.resx
+++ b/Results/Resources/Strings.resx
@@ -723,4 +723,16 @@
Unit
+
+ Procedure description
+
+
+ Bench ID
+
+
+ Bench name
+
+
+ Address
+
\ No newline at end of file
diff --git a/Results/WMeterRsltItemSpec.cs b/Results/WMeterRsltItemSpec.cs
index 015dc48aa..41ec45a9d 100644
--- a/Results/WMeterRsltItemSpec.cs
+++ b/Results/WMeterRsltItemSpec.cs
@@ -144,10 +144,11 @@ namespace Results
AllItems.Add(new WMeterRsltItemSpec(ItemID.Separator, "Separator", "", Quantity.String, ItemCategory.Other, (w, t, u, f, p) => string.Empty));
/// Common
- AllItems.Add(new WMeterRsltItemSpec(ItemID.Test_name, Strings.Test + "()", Quantity.String, ItemCategory.TestData, (w, t, u, f, p) => FormatStr(f, (w.GetTestRslt(t) == null) ? "" : w.GetTestRslt(t).Name())));
- AllItems.Add(new WMeterRsltItemSpec(ItemID.Procedure_name, Strings.Procedure, Quantity.String, ItemCategory.Other, (w, t, u, f, p) => FormatStr(f, w.ProcedureName())));
- AllItems.Add(new WMeterRsltItemSpec(ItemID.Batch_number, Strings.Batch_nr, Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.BatchNr())));
- AllItems.Add(new WMeterRsltItemSpec(ItemID.Test_method, Strings.Test_method + "()", Quantity.String, ItemCategory.TestData, (w, t, u, f, p) => FormatStr(f, (w.GetTestRslt(t) == null) ? "" : w.GetTestRslt(t).Method())));
+ AllItems.Add(new WMeterRsltItemSpec(ItemID.Test_name, Strings.Test + "()", Quantity.String, ItemCategory.TestData, (w, t, u, f, p) => FormatStr(f, (w.GetTestRslt(t) == null) ? "" : w.GetTestRslt(t).Name())));
+ AllItems.Add(new WMeterRsltItemSpec(ItemID.Procedure_name, Strings.Procedure, Quantity.String, ItemCategory.Other, (w, t, u, f, p) => FormatStr(f, w.ProcedureName())));
+ AllItems.Add(new WMeterRsltItemSpec(ItemID.Proc_description, Strings.Procedure_description, Quantity.String, ItemCategory.Other, (w, t, u, f, p) => FormatStr(f, w.Batch.ProcedureDescription)));
+ AllItems.Add(new WMeterRsltItemSpec(ItemID.Batch_number, Strings.Batch_nr, Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.BatchNr())));
+ AllItems.Add(new WMeterRsltItemSpec(ItemID.Test_method, Strings.Test_method + "()", Quantity.String, ItemCategory.TestData, (w, t, u, f, p) => FormatStr(f, (w.GetTestRslt(t) == null) ? "" : w.GetTestRslt(t).Method())));
///
/// Volume
@@ -375,8 +376,14 @@ namespace Results
AllItems.Add(new WMeterRsltItemSpec(ItemID.End_state_aux, Strings.EndState_aux, Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.EndStateAux)));
/// Batch info
- AllItems.Add(new WMeterRsltItemSpec(ItemID.Test_bench_ID, Strings.Bench, Quantity.String, ItemCategory.Other, (w, t, u, f, p) => FormatStr(f, w.Batch.TestBenchId.ToString())));
- AllItems.Add(new WMeterRsltItemSpec(ItemID.Program_version, Strings.Ver, Quantity.String, ItemCategory.Other, (w, t, u, f, p) => FormatStr(f, w.Batch.ProgramVersion)));
+ AllItems.Add(new WMeterRsltItemSpec(ItemID.Bench_ID, Strings.Bench_ID, Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatStr(f, w.Batch.TestBenchId.ToString())));
+ AllItems.Add(new WMeterRsltItemSpec(ItemID.Bench_name, Strings.Bench_name, Quantity.String, ItemCategory.Other, (w, t, u, f, p) => FormatStr(f, !string.IsNullOrEmpty(w.Batch.TestBenchName) ? w.Batch.TestBenchName : "")));
+ AllItems.Add(new WMeterRsltItemSpec(ItemID.Bench_address1, Strings.Address + " 1", Quantity.String, ItemCategory.Other, (w, t, u, f, p) => FormatStr(f, !string.IsNullOrEmpty(w.Batch.Address1) ? w.Batch.Address1 : "")));
+ AllItems.Add(new WMeterRsltItemSpec(ItemID.Bench_address2, Strings.Address + " 2", Quantity.String, ItemCategory.Other, (w, t, u, f, p) => FormatStr(f, !string.IsNullOrEmpty(w.Batch.Address2) ? w.Batch.Address2 : "")));
+ AllItems.Add(new WMeterRsltItemSpec(ItemID.Bench_address3, Strings.Address + " 3", Quantity.String, ItemCategory.Other, (w, t, u, f, p) => FormatStr(f, !string.IsNullOrEmpty(w.Batch.Address3) ? w.Batch.Address3 : "")));
+ AllItems.Add(new WMeterRsltItemSpec(ItemID.Bench_address4, Strings.Address + " 4", Quantity.String, ItemCategory.Other, (w, t, u, f, p) => FormatStr(f, !string.IsNullOrEmpty(w.Batch.Address4) ? w.Batch.Address4 : "")));
+ AllItems.Add(new WMeterRsltItemSpec(ItemID.Bench_address5, Strings.Address + " 5", Quantity.String, ItemCategory.Other, (w, t, u, f, p) => FormatStr(f, !string.IsNullOrEmpty(w.Batch.Address5) ? w.Batch.Address5 : "")));
+ AllItems.Add(new WMeterRsltItemSpec(ItemID.Program_version, Strings.Ver, Quantity.String, ItemCategory.Other, (w, t, u, f, p) => FormatStr(f, w.Batch.ProgramVersion)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.User_nr, Strings.User_nr, Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.UserNumber)));
AllItems.Add(new WMeterRsltItemSpec(ItemID.User_name, Strings.User, Quantity.String, ItemCategory.Other, (w, t, u, f, p) => FormatStr(f, Users.Entities.User.EncodedStrToUserName(w.Batch.UserName))));
AllItems.Add(new WMeterRsltItemSpec(ItemID.User_description, Strings.User_description, Quantity.String, ItemCategory.Other, (w, t, u, f, p) => FormatStr(f, Users.Entities.User.EncodedStrToFullName(w.Batch.UserName))));
diff --git a/TBF/BenchControl/BenchInfo/Extended/Component.cs b/TBF/BenchControl/BenchInfo/Extended/Component.cs
index 1e5a87340..2c95e465f 100644
--- a/TBF/BenchControl/BenchInfo/Extended/Component.cs
+++ b/TBF/BenchControl/BenchInfo/Extended/Component.cs
@@ -23,6 +23,11 @@ namespace TBF.BenchControl.BenchInfo.Extended
public string TestBenchName { get { return myCfg.TestBenchName; } }
public int TestBenchId { get { return myCfg.TestBenchId; } }
+ public string Address1 { get { return myCfg.Address1; } }
+ public string Address2 { get { return myCfg.Address2; } }
+ public string Address3 { get { return myCfg.Address3; } }
+ public string Address4 { get { return myCfg.Address4; } }
+ public string Address5 { get { return myCfg.Address5; } }
public RemoteDBUse RemoteDBUse { get { return myCfg.RemoteDBUse; } }
public Component()
diff --git a/TBF/BenchControl/BenchInfo/Munich/Component.cs b/TBF/BenchControl/BenchInfo/Munich/Component.cs
index 370402893..da8f6f8e8 100644
--- a/TBF/BenchControl/BenchInfo/Munich/Component.cs
+++ b/TBF/BenchControl/BenchInfo/Munich/Component.cs
@@ -23,6 +23,11 @@ namespace TBF.BenchControl.BenchInfo.Munich
public string TestBenchName { get { return benchInfoCfg.TestBenchName; } }
public int TestBenchId { get { return benchInfoCfg.TestBenchId; } }
+ public string Address1 { get { return string.Empty; } }
+ public string Address2 { get { return string.Empty; } }
+ public string Address3 { get { return string.Empty; } }
+ public string Address4 { get { return string.Empty; } }
+ public string Address5 { get { return string.Empty; } }
public RemoteDBUse RemoteDBUse { get { return RemoteDBUse.LocalDBOnly; } }
public Component()
diff --git a/TBF/BenchControl/GenericDevices/IBenchInfo.cs b/TBF/BenchControl/GenericDevices/IBenchInfo.cs
index a223e026d..ed2ba6e70 100644
--- a/TBF/BenchControl/GenericDevices/IBenchInfo.cs
+++ b/TBF/BenchControl/GenericDevices/IBenchInfo.cs
@@ -1,6 +1,5 @@
///
-/// Copyright (c) 2015 Sensus Metering Systems
-/// Author: Milan Hanajík
+/// Copyright (c) 2015-2018 Sensus Slovensko a.s.
///
using Config.Entities;
using TBF.BenchControl.Generic;
@@ -14,6 +13,11 @@ namespace TBF.BenchControl.GenericDevices
{
string TestBenchName { get; }
int TestBenchId { get; }
+ string Address1 { get; }
+ string Address2 { get; }
+ string Address3 { get; }
+ string Address4 { get; }
+ string Address5 { get; }
RemoteDBUse RemoteDBUse { get; }
}
}
diff --git a/TBF/BenchControl/Sequences/MainSeq.cs b/TBF/BenchControl/Sequences/MainSeq.cs
index 446b5c339..c6134c054 100644
--- a/TBF/BenchControl/Sequences/MainSeq.cs
+++ b/TBF/BenchControl/Sequences/MainSeq.cs
@@ -1455,7 +1455,13 @@ namespace TBF.BenchControl.Sequences
/// Prepare empty results
return Results.BatchResults.NewFromProcedure(newBatchNr,
(BenchInfo != null) ? BenchInfo.TestBenchId : 1,
- Users.GlobalData.CurrentUser.ToEncodedStr(),
+ (BenchInfo != null) ? BenchInfo.TestBenchName : "testbench",
+ (BenchInfo != null) ? BenchInfo.Address1 : string.Empty,
+ (BenchInfo != null) ? BenchInfo.Address2 : string.Empty,
+ (BenchInfo != null) ? BenchInfo.Address3 : string.Empty,
+ (BenchInfo != null) ? BenchInfo.Address4 : string.Empty,
+ (BenchInfo != null) ? BenchInfo.Address5 : string.Empty,
+ Users.GlobalData.CurrentUser.ToEncodedStr(),
Users.GlobalData.CurrentUser.Number,
Program.Version,
StateMachine.Procedure,
@@ -1480,6 +1486,8 @@ namespace TBF.BenchControl.Sequences
if (oriBatch == null) return;
batchResults.Batch.StartTime = oriBatch.StartTime;
+ batchResults.Batch.TestBenchId = (BenchInfo != null) ? BenchInfo.TestBenchId : 1;
+ batchResults.Batch.TestBenchName = (BenchInfo != null) ? BenchInfo.TestBenchName : "testbench";
foreach (var testRslt in batchResults.Batch.TestRslts)
{