Changes for Xylem Nanjing, ver. 3.1.1676

This commit is contained in:
Milan Hanajik
2021-06-18 15:35:46 +02:00
parent f1ef16e1a3
commit 827a9f7c58
837 changed files with 46518 additions and 5851 deletions
+38 -42
View File
@@ -8,9 +8,9 @@ using System.Net;
using log4net;
using NHibernate;
using NHibernate.Criterion;
using Common;
using Config.Entities;
using TracingDB.Entities;
using Events.Entities;
using SharedDatabase.Entities;
namespace TBF.Rig.Output.DB.ProductionTracing
{
@@ -45,13 +45,11 @@ namespace TBF.Rig.Output.DB.ProductionTracing
}
}
readonly IPAddress ipAddress;
readonly IPAddress netMask;
IPAddress ipAddress;
IPAddress netMask;
public IPAddress IPAddress { get { return ipAddress; } }
public IPAddress NetMask { get { return netMask; } }
enum OpState
{
None,
@@ -78,14 +76,14 @@ namespace TBF.Rig.Output.DB.ProductionTracing
ISessionFactory sessionFactory; /// Factory to create database sessions that is initialized in the constructor
IList<Process> processes;
Dictionary<int, Process> processDictionary;
Dictionary<int, IList<Workstep>> workstepsDictionary;
IList<SharedDatabase.Entities.Process> processes;
Dictionary<int, SharedDatabase.Entities.Process> processDictionary;
Dictionary<int, IList<SharedDatabase.Entities.Workstep>> workstepsDictionary;
ISessionFactory sessionFactory2; /// Factory to create database sessions that is initialized in the constructor
IList<Process> processes2;
Dictionary<int, Process> processDictionary2;
Dictionary<int, IList<Workstep>> workstepsDictionary2;
IList<SharedDatabase.Entities.Process> processes2;
Dictionary<int, SharedDatabase.Entities.Process> processDictionary2;
Dictionary<int, IList<SharedDatabase.Entities.Workstep>> workstepsDictionary2;
///
/// Previous workstep verification info
@@ -128,8 +126,8 @@ namespace TBF.Rig.Output.DB.ProductionTracing
///
sessionFactory = FluentNHibernate.Cfg.Fluently.Configure()
.Database(FluentNHibernate.Cfg.Db.MySQLConfiguration.Standard.ConnectionString(tracingCfg.ConnStr))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<TracingDB.Entities.Process>())
.ExposeConfiguration(TracingDB.DB.BuildSchema)
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Process>())
.ExposeConfiguration(SharedDatabase.TracingDB.BuildSchema)
.BuildSessionFactory();
///
@@ -139,8 +137,8 @@ namespace TBF.Rig.Output.DB.ProductionTracing
{
sessionFactory2 = FluentNHibernate.Cfg.Fluently.Configure()
.Database(FluentNHibernate.Cfg.Db.MySQLConfiguration.Standard.ConnectionString(tracingCfg.ConnStr2))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<TracingDB.Entities.Process>())
.ExposeConfiguration(TracingDB.DB.BuildSchema)
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Process>())
.ExposeConfiguration(SharedDatabase.TracingDB.BuildSchema)
.BuildSessionFactory();
}
@@ -151,17 +149,17 @@ namespace TBF.Rig.Output.DB.ProductionTracing
#if !DEBUG
/// Only a release version registers a workplace
TracingDB.DB.RegisterWorkplace(session,
workplace,
Users.GlobalData.GetCurrentUserName(),
GetIPAddress(),
"<multiple>",
WorkstepName,
DateTime.Now + new TimeSpan(15, 0, 0, 0));
SharedDatabase.TracingDB.RegisterWorkplaceObsolete(session,
workplace,
GlobalData.GetCurrentUserName(),
GetIPAddress(),
"<multiple>",
WorkstepName,
DateTime.Now + new TimeSpan(15, 0, 0, 0));
#endif
session.Flush();
session.Close();
TracingDB.DB.SessionFactory = sessionFactory;
SharedDatabase.TracingDB.SessionFactory = sessionFactory;
if (session != null) session.Dispose();
currentProcess = null;
@@ -181,7 +179,7 @@ namespace TBF.Rig.Output.DB.ProductionTracing
using (ISession session = sessionFactory.OpenSession())
{
TracingDB.DB.UnregisterWorkplaceObsolete(session, workplace);
SharedDatabase.TracingDB.UnregisterWorkplaceObsolete(session, workplace);
session.Flush();
}
}
@@ -286,12 +284,12 @@ namespace TBF.Rig.Output.DB.ProductionTracing
opCompleted = true;
if (SaveTracingRecords(batch) != Retv.OK) anyError = true;
if (anyError && !string.IsNullOrEmpty(Events.DB.ConnectionString))
if (anyError && !string.IsNullOrEmpty(SharedDatabase.EventsDB.ConnectionString))
{
try
{
NHibernate.ISession session = Events.DB.CreateSession();
Events.DB.LoadSubscribers(session);
NHibernate.ISession session = SharedDatabase.EventsDB.CreateSession();
SharedDatabase.EventsDB.LoadSubscribers(session);
TBF.UiBridge.Bridge.TriggerEvent(session, Name, EventClass.ComputerResources, Severity.Error,
string.Format("Nepodarilo sa uložiť výsledky do sledovacej DB: Číslo dávky={0}", batch.BatchNr),
@@ -308,12 +306,12 @@ namespace TBF.Rig.Output.DB.ProductionTracing
}
else
{
if (anyError && !string.IsNullOrEmpty(Events.DB.ConnectionString))
if (anyError && !string.IsNullOrEmpty(SharedDatabase.EventsDB.ConnectionString))
{
try
{
NHibernate.ISession session = Events.DB.CreateSession();
Events.DB.LoadSubscribers(session);
NHibernate.ISession session = SharedDatabase.EventsDB.CreateSession();
SharedDatabase.EventsDB.LoadSubscribers(session);
TBF.UiBridge.Bridge.TriggerEvent(session, Name, EventClass.ComputerResources, Severity.Error,
string.Format("Nepodarilo sa uložiť výsledky do sledovacej DB: Číslo dávky={0}", batch.BatchNr),
@@ -466,20 +464,18 @@ namespace TBF.Rig.Output.DB.ProductionTracing
if (worksteps.Count != 1) return Retv.Error;
Workstep vWS;
Part vP;
bool vRP;
SharedDatabase.ScanVerificationInfo info;
///
if (!TracingDB.DB.AnalyzeProcess(session, processes[0], worksteps[0], out vWS, out vRP, out vP))
if (null == (info = SharedDatabase.TracingDB.AnalyzeProcess(session, processes[0], worksteps[0])))
{
return Retv.Error; /// Unable to
}
///
currentProcess = processes[0];
currentWorkstep = worksteps[0];
verifiedWorkstep = vWS;
verifiedPart = vP;
verifyReferencePart = vRP;
verifiedWorkstep = info.Workstep;
verifiedPart = info.Part;
verifyReferencePart = info.VerifyReferencePart;
}
@@ -615,7 +611,7 @@ namespace TBF.Rig.Output.DB.ProductionTracing
else if ((currentProcess != null) && (wm.ProcessId == currentProcess.Id))
{
/// Process is already loaded => save a reference record for this WM
session.SaveOrUpdate(new ReferenceRecord(currentProcess, currentWorkstep, wm.SerialNr, Users.GlobalData.CurrentUser.UserName, workplace, wm.Passed ? 0 : 1));
session.SaveOrUpdate(new ReferenceRecord(currentProcess, currentWorkstep, wm.SerialNr, GlobalData.CurrentUser.UserName, workplace, wm.Passed ? 0 : 1));
return 1;
}
else if (wm.ProcessId != 0)
@@ -630,7 +626,7 @@ namespace TBF.Rig.Output.DB.ProductionTracing
{
if (ws.Name == WorkstepName)
{
session.SaveOrUpdate(new ReferenceRecord(processes[0], ws, wm.SerialNr, Users.GlobalData.CurrentUser.UserName, workplace, wm.Passed ? 0 : 1));
session.SaveOrUpdate(new ReferenceRecord(processes[0], ws, wm.SerialNr, GlobalData.CurrentUser.UserName, workplace, wm.Passed ? 0 : 1));
return 1;
}
}
@@ -662,7 +658,7 @@ namespace TBF.Rig.Output.DB.ProductionTracing
IList<Workstep> worksteps;
if ((refRecords.Count > 0) && workstepsDictionary.TryGetValue(refRecords[0].Process.Id, out worksteps) && (worksteps.Count == 1))
{
session.SaveOrUpdate(new ReferenceRecord(refRecords[0].Process, worksteps[0], wm.SerialNr, Users.GlobalData.CurrentUser.UserName, workplace, wm.Passed ? 0 : 1));
session.SaveOrUpdate(new ReferenceRecord(refRecords[0].Process, worksteps[0], wm.SerialNr, GlobalData.GetCurrentUserName(), workplace, wm.Passed ? 0 : 1));
return 1;
}
@@ -3,6 +3,7 @@
///
using System;
using System.Windows.Forms;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
using System.Collections.Generic;
@@ -1,9 +1,10 @@
///
/// Copyright (c) 2018 Sensus Slovensko a.s.
/// Copyright (c) 2018-2020 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using MySql.Data.MySqlClient;
using SharedDatabase;
namespace TBF.Rig.Output.DB.ProductionTracing
{
@@ -15,9 +16,9 @@ namespace TBF.Rig.Output.DB.ProductionTracing
public string Description;
public string Code;
public DateTime TimeStamp;
public CodeType CodeType;
public CodeForm CodeForm;
public CodeLocation CodeLocation;
public CodeType CodeType;
public CodeForm CodeForm;
public CodeLocation CodeLocation;
public string UserName;
public string Workplace;
@@ -5,10 +5,8 @@ using System;
using System.Collections.Generic;
using log4net;
using NHibernate;
using NHibernate.Criterion;
using Config;
using Common;
using Config.Entities;
using TracingDB.Entities;
using TBF.Rig.Generic;
using TBF.Rig.GenericDevices;
@@ -199,7 +197,7 @@ namespace TBF.Rig.Output.DB.SaveDiverterCorrections
ITransaction transaction = null;
try
{
ISession session = Config.FluentCommon.CreateSession(Users.Entities.DBKind.Config);
ISession session = Config.FluentCommon.CreateSession(DBKind.Config);
transaction = session.BeginTransaction();
for (int div = 1; div <= myCfg.DivertersCount(); div++)
@@ -2,6 +2,7 @@
/// Copyright (c) 2019 Sensus Slovensko a.s.
///
using System;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
using TBF.UI.Bench.Components;
@@ -6,9 +6,9 @@ using System.Collections.Generic;
using log4net;
using NHibernate;
using NHibernate.Criterion;
using Config;
using Common;
using Config.Entities;
using TracingDB.Entities;
using SharedDatabase.Entities;
using TBF.Rig.Generic;
using TBF.Rig.GenericDevices;
@@ -206,7 +206,7 @@ namespace TBF.Rig.Output.DB.SaveFlowmeterCorrections
ITransaction transaction = null;
try
{
ISession session = Config.FluentCommon.CreateSession(Users.Entities.DBKind.Config);
ISession session = Config.FluentCommon.CreateSession(DBKind.Config);
transaction = session.BeginTransaction();
for (int fmtr = 1; fmtr <= myCfg.FlowmetersCount(); fmtr++)
@@ -2,6 +2,7 @@
/// Copyright (c) 2018 Sensus Slovensko a.s.
///
using System;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
using TBF.UI.Bench.Components;
+33
View File
@@ -0,0 +1,33 @@
///
/// Copyright (c) 2021 Sensus Slovensko a.s.
///
using System;
namespace TBF.Rig.Output.DB.SensusOracle
{
public class Auftrag
{
public string AuftragsNummer; /// Production order
public int SollStueck; /// Targer pieces count
public string VariantenCode; /// Spec
public int EsrsteZaehlerNr; /// First S/N
public string Prefix; /// S/N prefix
public string Suffix; /// S/N suffix
public int Zaehlwerk; /// SAP number of the counter
public DateTime Created;
public DateTime DueDate;
public string Remark;
public Auftrag()
{
Prefix = string.Empty;
Suffix = string.Empty;
Remark = string.Empty;
}
public override string ToString()
{
return string.Format("{0} [{1}] {2}", AuftragsNummer, SollStueck, VariantenCode);
}
}
}
+208 -66
View File
@@ -5,12 +5,16 @@ using System;
using System.Collections.Generic;
using System.Linq;
using log4net;
using Oracle.DataAccess.Client; // ODP.NET Oracle managed provider
using Config;
#if MANAGED
using Oracle.ManagedDataAccess.Client;
#else
using Oracle.DataAccess.Client;
#endif
using Common;
using Config.Entities;
using Results.Output;
using System.Text;
using Events.Entities;
using SharedDatabase.Entities;
namespace TBF.Rig.Output.DB.SensusOracle
{
@@ -53,9 +57,8 @@ namespace TBF.Rig.Output.DB.SensusOracle
private static readonly ILog log = LogManager.GetLogger(typeof(Database));
public override string ToString() { return string.Format("{0}({1})", ClassName, Cfg.ToString(-1)); }
public const int Anbid_StaraTura = 4;
DatabaseCfg dbCfg;
public int Anbid_Producer { get { return dbCfg.ProducerId; } }
public DBUsed DBUsed { get { return (dbCfg == null || dbCfg.ProcParams == null) ? DBUsed.None : dbCfg.ProcParams.DBUsed; } }
public WMKind WMKind { get { return (dbCfg == null || dbCfg.ProcParams == null) ? WMKind.iPERL : dbCfg.ProcParams.WMKind; } }
@@ -138,21 +141,23 @@ namespace TBF.Rig.Output.DB.SensusOracle
{
currentOpState = OpState.None;
if (dbCfg.DebugLevel == DebugMode.Simulate) return;
productionDB = new OracleConnection("Data Source=STARA01.WORLD;User Id=deltachef;Password=deltachef;");
qualityDB = new OracleConnection("Data Source=STARA01.WORLD;User Id=deltaqual;Password=test;");
testDB = new OracleConnection("Data Source=STARA_TEST.WORLD;User Id=deltachef;Password=deltachef;");
//productionDB = new OracleConnection("Data Source=STARA01.WORLD;User Id=deltachef;Password=deltachef;");
//qualityDB = new OracleConnection("Data Source=STARA01.WORLD;User Id=deltaqual;Password=test;");
//testDB = new OracleConnection("Data Source=STARA_TEST.WORLD;User Id=deltachef;Password=deltachef;");
productionDB = new OracleConnection(string.Format("Data Source={0};User Id={1};Password={2};", dbCfg.ProductionDataSource, dbCfg.ProductionUserId, dbCfg.ProductionPassword));
qualityDB = new OracleConnection(string.Format("Data Source={0};User Id={1};Password={2};", dbCfg.QualityDataSource, dbCfg.QualityUserId, dbCfg.QualityPassword));
testDB = new OracleConnection(string.Format("Data Source={0};User Id={1};Password={2};", dbCfg.TestDataSource, dbCfg.TestUserId, dbCfg.TestPassword));
///
/// Do something with the database to see if the connection works well
///
if (DBUsed == DBUsed.Production)
if (dbCfg.DebugLevel == DebugMode.Normal)
{
SelectedDB.Open();
string rslt = "none";
OracleCommand cmd = new OracleCommand("SELECT standort FROM anbieter_sd WHERE anbid = 4", SelectedDB);
OracleCommand cmd = new OracleCommand("SELECT standort FROM anbieter_sd WHERE anbid = :1", productionDB);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId });
OracleDataReader dr = cmd.ExecuteReader();
if (dr.Read()) rslt = dr.GetString(0);
dr.Close();
@@ -180,7 +185,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
/// <param name="wmTypeId">Water meter type Id</param>
/// <param name="wmTypeRevision">Water meter type revision</param>
/// <returns>SensusTestInfos array</returns>
public static IList<SensusTestInfo> GetOracleTestInfo(OracleConnection conn, int wmTypeId, out int wmTypeRevision, out string wzTyp, out string metrolKlasse, out string zulasszeichen, out string materialNr, out double q3, out DateTime timeStamp, out string remark)
public IList<SensusTestInfo> GetOracleTestInfo(OracleConnection conn, int wmTypeId, out int wmTypeRevision, out string wzTyp, out string metrolKlasse, out string zulasszeichen, out string materialNr, out double q3, out DateTime timeStamp, out string remark)
{
///
/// Read 'incomplete' TestInfo from Oracle database containing only flowId-s ad qBezeichnung-s
@@ -201,7 +206,8 @@ namespace TBF.Rig.Output.DB.SensusOracle
OracleCommand cmd = new OracleCommand("SELECT rev_wztyp, wztyp, metrolklasse, zulasszeichen, materialnr, qmax, aenderungsdatum, bemerkung " +
"FROM vt_wztyp_sd " +
"WHERE anbid=4 AND id_wztyp=:1 AND aktiv=:2", conn);
"WHERE anbid=:1 AND id_wztyp=:2 AND aktiv=:3", conn);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wmTypeId }); ///:1
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 1 }); ///:2
///
@@ -231,7 +237,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
while (dr.Read())
{
int pruefungsNr = dr.GetInt32(0);
double flow = Config.Units.ConvertFrom(Unit.lph, dr.GetDouble(1));
double flow = Common.Units.ConvertFrom(Unit.lph, dr.GetDouble(1));
int testTime = dr.GetInt32(2);
double errLimHi = dr.GetDouble(3);
double errLimLo = dr.GetDouble(4);
@@ -367,12 +373,12 @@ namespace TBF.Rig.Output.DB.SensusOracle
opCompleted = true;
}
if (anyError && !string.IsNullOrEmpty(Events.DB.ConnectionString))
if (anyError && !string.IsNullOrEmpty(SharedDatabase.EventsDB.ConnectionString))
{
try
{
NHibernate.ISession session = Events.DB.CreateSession();
Events.DB.LoadSubscribers(session);
NHibernate.ISession session = SharedDatabase.EventsDB.CreateSession();
SharedDatabase.EventsDB.LoadSubscribers(session);
TBF.UiBridge.Bridge.TriggerEvent(session, Name, EventClass.ComputerResources, Severity.Error,
string.Format("Nepodarilo sa uložiť výsledky do Oracle: Číslo dávky={0}", batch.BatchNr),
@@ -521,8 +527,9 @@ namespace TBF.Rig.Output.DB.SensusOracle
/// 100*benchId+MPix, purchase_order, assigned_s/n, palette_nr, box_nr., complete_s/n, radio_address
cmd = new OracleCommand("SELECT max_pruefindex, auftragsnummer, zaehlernummer, palette_nr, umkarton_nr, z_nr_komplett, vt_modul_snr " +
"FROM vt_zaehler_pd " +
"WHERE vt_fernum = :1 AND anbid = 4", conn);
"WHERE vt_fernum = :1 AND anbid = :2", conn);
cmd.Parameters.Add(new OracleParameter { ParameterName = "1", OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId });
dr = cmd.ExecuteReader();
if (dr.Read())
{
@@ -554,8 +561,9 @@ namespace TBF.Rig.Output.DB.SensusOracle
/// test_bench_ID, line_ID, WM_position, result, user_ID
cmd = new OracleCommand("SELECT pruefindex, id_wzpruefreihe, wt_platz_nr, wzgut, id_benutzer " +
"FROM vt_zaehler_pindex_pd " +
"WHERE vt_fernum = :1 AND anbid = 4", conn);
"WHERE vt_fernum = :1 AND anbid = :2", conn);
cmd.Parameters.Add(new OracleParameter { ParameterName = "1", OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId });
dr = cmd.ExecuteReader();
while (dr.Read())
{
@@ -577,8 +585,9 @@ namespace TBF.Rig.Output.DB.SensusOracle
/// pruefindex, Q2_correction_RL, Q2_correction_LR, Q2_error_before_correction
cmd = new OracleCommand("SELECT pruefindex, q2correctionleft, q2correctionright, errq2 " +
"FROM vt_ip_zaehler_pindex_pd " +
"WHERE vt_fernum = :1 AND anbid = 4", conn);
"WHERE vt_fernum = :1 AND anbid = :2", conn);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId });
dr = cmd.ExecuteReader();
while (dr.Read())
{
@@ -599,9 +608,10 @@ namespace TBF.Rig.Output.DB.SensusOracle
/// testID, flow, rel.err., passed
cmd = new OracleCommand("SELECT pruefungsnr, q_wz, q_fehler, q_best " +
"FROM vt_pruefreihe_ist_pd " +
"WHERE vt_fernum = :1 AND pruefindex = :2 AND anbid = 4", conn);
"WHERE vt_fernum = :1 AND pruefindex = :2 AND anbid = :3", conn);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 100 * testBenchID + maxPruefindex });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId });
dr = cmd.ExecuteReader();
while (dr.Read())
@@ -746,12 +756,9 @@ namespace TBF.Rig.Output.DB.SensusOracle
IList<int> pruefindexes = new List<int>();
{
OracleCommand cmd = new OracleCommand("SELECT pruefindex FROM vt_zaehler_pindex_pd WHERE vt_fernum = :1 AND anbid = 4", conn);
OracleParameter parm = new OracleParameter();
parm.OracleDbType = OracleDbType.Varchar2;
parm.Value = wm.SerialNr;
cmd.Parameters.Add(parm);
OracleCommand cmd = new OracleCommand("SELECT pruefindex FROM vt_zaehler_pindex_pd WHERE vt_fernum = :1 AND anbid = :2", conn);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId });
using (OracleDataReader dr = cmd.ExecuteReader())
{
@@ -763,12 +770,10 @@ namespace TBF.Rig.Output.DB.SensusOracle
/// purchase order assigned s/n radio address
OracleCommand cmd = new OracleCommand("SELECT max_pruefindex, auftragsnummer, z_nr_komplett, vt_modul_snr " +
"FROM vt_zaehler_pd " +
"WHERE vt_fernum = :1 AND anbid = 4", conn);
/// PCB number Producer ID
OracleParameter parm = new OracleParameter();
parm.OracleDbType = OracleDbType.Varchar2;
parm.Value = wm.SerialNr;
cmd.Parameters.Add(parm);
"WHERE vt_fernum = :1 AND anbid = :2", conn);
/// PCB number Producer ID
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId });
using (OracleDataReader dr = cmd.ExecuteReader())
{
@@ -842,7 +847,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
}
if (!dbCfg.TestMode)
if (dbCfg.DebugLevel == DebugMode.Normal)
{
OracleCommand cmd = new OracleCommand("INSERT INTO vt_pruefreihe_pd(anbid, id_pruefstand, id_wzpruefreihe, id_wztyp," +
" rev_wztyp, rev_pruefstand_wztyp, startdatumzeit, enddatumzeit, betriebsart," +
@@ -850,7 +855,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
" druckentwaessern, spueldurchflussist, programmversion) " +
"VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16, :17)", conn);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_StaraTura });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 18000 + b.TestBenchId });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = b.BatchNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = b.WaterMeters[0].WaterMeterData.WMTypeId });
@@ -887,7 +892,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
double Q_ist = (tr.VolumeMaster != 0) ? (tr.FlowVolume * tr.VolumeCTV / tr.VolumeMaster) : (double)tr.FlowVolume;
///
if (!dbCfg.TestMode)
if (dbCfg.DebugLevel == DebugMode.Normal)
{
#if false
OracleCommand cmd2 = new OracleCommand("INSERT INTO vt_pruefdurchfluss_pd(anbid, id_pruefstand, id_wzpruefreihe, pruefungsnr, pvol, pmasse," +
@@ -895,7 +900,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
" beginndruck_hinten, enddruck_vorne, enddruck_hinten, tvwz, ivwz, verwendeter_vz, beginngewicht, endgewicht) " +
"VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16, :17, :18, :19, :20, :21, :22, :23)", conn);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_StaraTura });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 18000 + b.TestBenchId });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = b.BatchNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = testInfo.PruefungsNr });
@@ -927,7 +932,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
" tvwz, ivwz, verwendeter_vz, beginngewicht, endgewicht) " +
"VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16, :17, :18, :19, :20, :21, :22, :23)", conn);
OracleParameter parm;
parm = new OracleParameter("ANBID", OracleDbType.Int32); parm.Value = Anbid_StaraTura; cmd2.Parameters.Add(parm); ///:1
parm = new OracleParameter("ANBID", OracleDbType.Int32); parm.Value = dbCfg.ProducerId; cmd2.Parameters.Add(parm); ///:1
parm = new OracleParameter("ID_Pruefstand", OracleDbType.Int32); parm.Value = 18000 + b.TestBenchId; cmd2.Parameters.Add(parm); ///:2
parm = new OracleParameter("ID_WzPruefreihe", OracleDbType.Int32); parm.Value = b.BatchNr; cmd2.Parameters.Add(parm); ///:3
parm = new OracleParameter("PruefungsNr", OracleDbType.Int32); parm.Value = testInfo.PruefungsNrDB; cmd2.Parameters.Add(parm); ///:4
@@ -956,12 +961,12 @@ namespace TBF.Rig.Output.DB.SensusOracle
parm = new OracleParameter("EndGewicht", OracleDbType.Double); parm.Value = Units.ConvertTo(Unit.kg, tr.MassEnd); cmd2.Parameters.Add(parm); ///:23
///
cmd2.ExecuteNonQuery(); /// Returns nr. of updated rows
log.InfoFormat("VT_PRUEFDURCHFLUSS_PD inserted ({0}, {1}, {2}, {3}, {4} ...)", Anbid_StaraTura, 18000 + b.TestBenchId, b.BatchNr, testInfo.PruefungsNrDB, Q_ist);
log.InfoFormat("VT_PRUEFDURCHFLUSS_PD inserted ({0}, {1}, {2}, {3}, {4} ...)", dbCfg.ProducerId, 18000 + b.TestBenchId, b.BatchNr, testInfo.PruefungsNrDB, Q_ist);
#endif
}
else
{
log.WarnFormat("SIM: VT_PRUEFDURCHFLUSS_PD inserted ({0}, {1}, {2}, {3}, {4} ...)", Anbid_StaraTura, 18000 + b.TestBenchId, b.BatchNr, testInfo.PruefungsNrDB, Q_ist);
log.WarnFormat("SIM: VT_PRUEFDURCHFLUSS_PD inserted ({0}, {1}, {2}, {3}, {4} ...)", dbCfg.ProducerId, 18000 + b.TestBenchId, b.BatchNr, testInfo.PruefungsNrDB, Q_ist);
}
}
}
@@ -1014,7 +1019,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
if (max_Pruefindex % 100 == 1)
{
if (!dbCfg.TestMode)
if (dbCfg.DebugLevel == DebugMode.Normal)
{
OracleCommand cmd = new OracleCommand("INSERT INTO vt_zaehler_pd(auftragsnummer, vt_identnummer, vt_fernum, max_pruefindex," +
" zaehlernummer, sekundaere_adr, hydr_pruefung, id_benutzer, anbid, baujahr) " +
@@ -1028,7 +1033,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = sekundaere_Adr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = hydr_Pruefung });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = idBenutzer });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_StaraTura });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = YearOfManufacture });
cmd.ExecuteNonQuery();
@@ -1041,7 +1046,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
}
else
{
if (!dbCfg.TestMode)
if (dbCfg.DebugLevel == DebugMode.Normal)
{
OracleCommand cmd = new OracleCommand("UPDATE vt_zaehler_pd " +
"SET auftragsnummer=:1, vt_identnummer=:2, max_pruefindex=:3, hydr_pruefung=:4, id_benutzer=:5, baujahr=:6 " +
@@ -1054,7 +1059,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = idBenutzer });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = YearOfManufacture });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_StaraTura });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId });
cmd.ExecuteNonQuery();
log.InfoFormat("VT_ZAEHLER_PD updated, PcbNr={0}, pos={1}, maxPruefix={2}", wm.SerialNr, wm.WMPosition, max_Pruefindex);
@@ -1065,7 +1070,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
}
}
if (!dbCfg.TestMode)
if (dbCfg.DebugLevel == DebugMode.Normal)
{
OracleCommand cmd = new OracleCommand("INSERT INTO vt_zaehler_pindex_pd(vt_fernum, pruefindex, anbid," +
" id_pruefstand, id_wzpruefreihe, hydr_pruefung, reedkontakt," +
@@ -1075,11 +1080,15 @@ namespace TBF.Rig.Output.DB.SensusOracle
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = max_Pruefindex });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_StaraTura });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 18000 + wm.Batch.TestBenchId });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wm.Batch.BatchNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = hydr_Pruefung });
#if IPERL
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = wm.OrigCalibFactor });
#else
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = 0 });
#endif
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// TODO
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wm.WMPosition });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wm.Passed ? 1 : 0 });
@@ -1137,8 +1146,8 @@ namespace TBF.Rig.Output.DB.SensusOracle
}
}
if (!dbCfg.TestMode)
#if IPERL
if (dbCfg.DebugLevel == DebugMode.Normal)
{
double q2ErrWOCorrection = Math.Min(100.0, Math.Max(-100.0, wm.Q2ErrWOCorrection));
@@ -1149,7 +1158,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = max_Pruefindex });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_StaraTura });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wm.Hz2CorrectionDone ? 1 : 0 });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = wm.Hz2Correction });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Math.Min(99.0, Math.Max(-99.0, wm.Diff2Hz8Hz)) });
@@ -1166,6 +1175,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
{
log.WarnFormat("SIM: VT_IP_ZAEHLER_PINDEX_PD inserted, PcbNr={0}, pruefix={1}", wm.SerialNr, max_Pruefindex);
}
#endif
}
@@ -1212,7 +1222,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
if (max_Pruefindex % 100 == 1)
{
if (!dbCfg.TestMode)
if (dbCfg.DebugLevel == DebugMode.Normal)
{
OracleCommand cmd = new OracleCommand("INSERT INTO vt_zaehler_pd(auftragsnummer, vt_identnummer, vt_fernum, max_pruefindex," +
" mbus_adr, liegenschafts_nr, sekundaere_adr, hydr_pruefung, mark_date, baujahr, eich_jahr," +
@@ -1236,7 +1246,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.Prefix }); /// :15
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.Suffix }); /// :16
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.CompleteSerialNr }); /// :17
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_StaraTura }); /// :18
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId }); /// :18
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = idBenutzer }); /// :19
cmd.ExecuteNonQuery();
@@ -1249,7 +1259,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
}
else
{
if (!dbCfg.TestMode)
if (dbCfg.DebugLevel == DebugMode.Normal)
{
OracleCommand cmd = new OracleCommand("UPDATE vt_zaehler_pd " +
"SET auftragsnummer=:1, vt_identnummer=:2, max_pruefindex=:3, mbus_adr=:4, liegenschafts_nr=:5," +
@@ -1275,7 +1285,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.CompleteSerialNr }); /// :16
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = idBenutzer }); /// :17
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr }); /// :18
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_StaraTura }); /// :19
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId }); /// :19
cmd.ExecuteNonQuery();
log.InfoFormat("VT_ZAEHLER_PD updated, PcbNr={0}, pos={1}, maxPruefix={2}", wm.SerialNr, wm.WMPosition, max_Pruefindex);
@@ -1286,7 +1296,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
}
}
if (!dbCfg.TestMode)
if (dbCfg.DebugLevel == DebugMode.Normal)
{
OracleCommand cmd = new OracleCommand("INSERT INTO vt_zaehler_pindex_pd(vt_fernum, pruefindex, anbid, id_pruefstand, id_wzpruefreihe," +
" hydr_pruefung, reedkontakt, reedkontaktok, reedkontaktzeit, korrimprate, festwertwz, ptestok," +
@@ -1295,11 +1305,15 @@ namespace TBF.Rig.Output.DB.SensusOracle
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = max_Pruefindex });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_StaraTura });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 18000 + wm.Batch.TestBenchId });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wm.Batch.BatchNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = hydr_Pruefung });
#if IPERL
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = wm.OrigCalibFactor });
#else
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = 0 });
#endif
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// TODO
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wm.WMPosition });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wm.Passed ? 1 : 0 });
@@ -1366,11 +1380,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
/// <returns>Nr. of rows updated</returns>
int SaveMeterTestResult(OracleConnection conn, Results.Entities.MeterTestRslt mtr, int pruefungsNr, int max_Pruefindex, int wmTypeRevision)
{
double Q_wm = (mtr.TestTime != 0) ? (3600.0 * mtr.VolumeMeter / mtr.TestTime) : 0; /// in [l/hour]
double Q_wm_with_upper_bound = Math.Min(2 * 1000 * mtr.TestRslt.FlowVolume, Math.Max(0.0, Q_wm));
int retv = 0;
if (!dbCfg.TestMode)
if (dbCfg.DebugLevel == DebugMode.Normal)
{
OracleCommand cmd = new OracleCommand("INSERT INTO vt_pruefreihe_ist_pd( vt_fernum, pruefindex, pruefungsnr, anbid," +
" id_wztyp, rev_wztyp, rev_wzpruefpunkt, q_wz, q_fehler, q_best, niz," +
@@ -1380,11 +1390,11 @@ namespace TBF.Rig.Output.DB.SensusOracle
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = mtr.WaterMeter.SerialNr }); /// :1 vt_fernum
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = max_Pruefindex }); /// :2 pruefindex
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = pruefungsNr }); /// :3 pruefungsnr
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_StaraTura }); /// :4 anbid
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId }); /// :4 anbid
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = mtr.WaterMeter.WaterMeterData.WMTypeId }); /// :5 id_wztyp
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wmTypeRevision }); /// :6 rev_wztyp
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 1 }); /// :7 rev_wzpruefpunkt
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Q_wm_with_upper_bound }); /// :8 q_wz
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = 1000 * mtr.TestRslt.FlowVolume }); /// :8 q_wz
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Math.Min(100.0, Math.Max(-100.0, mtr.Error)) }); /// :9 q_fehler
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = mtr.Passed ? 1 : 0 }); /// :10 q_best
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// :11 niz
@@ -1393,16 +1403,148 @@ namespace TBF.Rig.Output.DB.SensusOracle
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Math.Min(100.0, Math.Max(-100.0, mtr.KorrErrQ)) }); /// :14 korrerrq
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Math.Min(100000, mtr.TestTime) }); /// :15 tiz
retv = cmd.ExecuteNonQuery();
int retv = cmd.ExecuteNonQuery();
log.DebugFormat("VT_PRUEFREIHE_IST_PD inserted, PcbNr={0}, pruefungsNr={1}, error={2}", mtr.WaterMeter.SerialNr, pruefungsNr, mtr.Error);
return retv;
}
else
{
log.WarnFormat("SIM: VT_PRUEFREIHE_IST_PD inserted, PcbNr={0}, pruefungsNr={1}, error={2}", mtr.WaterMeter.SerialNr, pruefungsNr, mtr.Error);
return 0;
}
return retv;
}
#endif
/// <summary>
/// Read a list of valid purchase orders.
/// </summary>
/// <param name="connection">Oracle DB connection</param>
/// <returns>List of active purchase orders</returns>
public IList<Auftrag> ReadOrderNumbersFromOracle()
{
OracleConnection connection = productionDB;
/// Read a list of valid order numbers from Oracle
IList<Auftrag> orders = new List<Auftrag>();
if (dbCfg.DebugLevel == DebugMode.Normal)
{
try
{
connection.Open();
/// STATUS='NEU'
OracleCommand cmd = new OracleCommand("SELECT auftragsnummer, sollstueck, variantencode, erste_zaehlernr, " +
"prefix, suffix, zaehlwerk, erfasst_am, sollende, zusatztext " +
"FROM vt_auftrag_pd " +
"WHERE produktion_anbid=:1 AND status='NEU' AND produktion_usestate=0", connection);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId });
OracleDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
string order = dr.GetString(0);
int sollStueck; try { sollStueck = dr.GetInt32(1); }
catch { sollStueck = 0; }
string variantenCode; try { variantenCode = dr.GetString(2); }
catch { variantenCode = string.Empty; }
int esrsteZaehlerNr; try { esrsteZaehlerNr = dr.GetInt32(3); }
catch { esrsteZaehlerNr = 1; }
//string prefix; try { prefix = dr.GetString (4); } catch { prefix = string.Empty; }
//string suffix; try { suffix = dr.GetString (5); } catch { suffix = string.Empty; }
int zaehlwerk; try { zaehlwerk = dr.GetInt32(6); }
catch { zaehlwerk = 0; }
DateTime created; try { created = dr.GetDateTime(7); }
catch { created = DateTime.Now; }
DateTime dueDate; try { dueDate = dr.GetDateTime(8); }
catch { dueDate = DateTime.Now; }
//string remark; try { remark = dr.GetString (9); } catch { remark = string.Empty; }
var ai = new Auftrag
{
AuftragsNummer = order,
SollStueck = sollStueck,
VariantenCode = variantenCode,
EsrsteZaehlerNr = esrsteZaehlerNr,
//Prefix = prefix,
//Suffix = suffix,
Zaehlwerk = zaehlwerk,
Created = created,
DueDate = dueDate,
//Remark = remark,
};
orders.Add(ai);
}
dr.Close();
/// STATUS='AKTIV'
cmd = new OracleCommand("SELECT auftragsnummer, sollstueck, variantencode, erste_zaehlernr, " +
"prefix, suffix, zaehlwerk, erfasst_am, sollende, zusatztext " +
"FROM vt_auftrag_pd " +
"WHERE produktion_anbid=:1 AND status='AKTIV' AND produktion_usestate=0", connection);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId });
dr = cmd.ExecuteReader();
while (dr.Read())
{
string order = dr.GetString(0);
int sollStueck; try { sollStueck = dr.GetInt32(1); }
catch { sollStueck = 0; }
string variantenCode; try { variantenCode = dr.GetString(2); }
catch { variantenCode = string.Empty; }
int esrsteZaehlerNr; try { esrsteZaehlerNr = dr.GetInt32(3); }
catch { esrsteZaehlerNr = 1; }
//string prefix; try { prefix = dr.GetString (4); } catch { prefix = string.Empty; }
//string suffix; try { suffix = dr.GetString (5); } catch { suffix = string.Empty; }
int zaehlwerk; try { zaehlwerk = dr.GetInt32(6); }
catch { zaehlwerk = 0; }
DateTime created; try { created = dr.GetDateTime(7); }
catch { created = DateTime.Now; }
DateTime dueDate; try { dueDate = dr.GetDateTime(8); }
catch { dueDate = DateTime.Now; }
//string remark; try { remark = dr.GetString (9); } catch { remark = string.Empty; }
var ai = new Auftrag
{
AuftragsNummer = order,
SollStueck = sollStueck,
VariantenCode = variantenCode,
EsrsteZaehlerNr = esrsteZaehlerNr,
//Prefix = prefix,
//Suffix = suffix,
Zaehlwerk = zaehlwerk,
Created = created,
DueDate = dueDate,
//Remark = remark,
};
orders.Add(ai);
}
dr.Close();
log.InfoFormat("Oracle DB query SELECT auftragsnummer, sollstueck FROM vt_auftrag_pd WHERE ... successful. {0} order numbers read", orders.Count);
}
catch (Exception exc)
{
log.ErrorFormat("ERROR: Oracle DB query SELECT auftragsnummer, sollstueck FROM vt_auftrag_pd WHERE ... failed: {1}", exc.Message);
}
if (connection != null) connection.Close();
}
else
{
orders = new List<Auftrag> ()
{
new Auftrag { AuftragsNummer = "1234567", EsrsteZaehlerNr = 1, SollStueck = 100, Prefix = "Pre", Suffix = "Suf", VariantenCode = "abeceda" },
new Auftrag { AuftragsNummer = "2345678", EsrsteZaehlerNr = 1, SollStueck = 200, Prefix = "Pfx", Suffix = "Sfx", VariantenCode = "zjedla_deda" },
};
}
return orders;
}
}
}
+148 -7
View File
@@ -4,20 +4,33 @@
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.DB.SensusOracle
{
public class DatabaseCfg : ComponentCfgBase, Generic.IComponentCfg
public class DatabaseCfg : ComponentCfgBase, IComponentCfg, IParamsProvider
{
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(DatabaseCfg) })[0];
public override XmlSerializer GetSerializer() { return Serializer; }
public IComponentCfgCtrl GetControl(IList<Config.Entities.Component> cmpntEntities) { return new DatabaseCfgCtrl(); }
public IComponentCfgCtrl GetControl(IList<Config.Entities.Component> cmpntEntities)
{
return new Configs.ParamsProvider.ComponentCfgCtrl(this, null);
}
/// <summary> Serialized parameters </summary>
public bool TestMode;
public string ProductionDataSource;
public string ProductionUserId;
public string ProductionPassword;
public string QualityDataSource;
public string QualityUserId;
public string QualityPassword;
public string TestDataSource;
public string TestUserId;
public string TestPassword;
public int ProducerId;
/// <summary> Procedure parameters </summary>
[XmlIgnore]
@@ -37,12 +50,140 @@ namespace TBF.Rig.Output.DB.SensusOracle
Name = name;
Factory = factory;
ParentName = string.Empty;
TestMode = false;
InitializeAll();
}
public string ToString(int i)
public string ComponentName { get { return Name; } }
public void InitializeAll()
{
ProductionDataSource = "STARA01.WORLD";
ProductionUserId = "deltachef";
ProductionPassword = "deltachef";
QualityDataSource = "STARA01.WORLD";
QualityUserId = "deltaqual";
QualityPassword = "test";
TestDataSource = "STARA_TEST";
TestUserId = "deltachef";
TestPassword = "deltachef";
ProducerId = 4;
}
string[] paramNames = new string[]
{
return string.Format("Name={0} TestMode={1}", Name, TestMode);
"Production DB Data Source",
"Production DB User ID",
"Production DB Password",
"Quality DB Data Source",
"Quality DB User ID",
"Quality DB Password",
"Test DB Data Source",
"Test DB User ID",
"Test DB Password",
"Producer ID",
};
public string ParamName(int i) { return paramNames[i]; }
public int ParamsCount() { return paramNames.Length; }
public ICollection<string> ParamValues(int i)
{
return null;
}
public string ToString(int i)
{
switch (i)
{
case 0: return ProductionDataSource;
case 1: return ProductionUserId;
case 2: return ProductionPassword;
case 3: return QualityDataSource;
case 4: return QualityUserId;
case 5: return QualityPassword;
case 6: return TestDataSource;
case 7: return TestUserId;
case 8: return TestPassword;
case 9: return ProducerId.ToString();
default:
return string.Format("{0}: Production={1} Quality={2} Test={3}",
Name,
string.IsNullOrEmpty(ProductionDataSource) ? string.Empty : ProductionDataSource,
string.IsNullOrEmpty(QualityDataSource) ? string.Empty : QualityDataSource,
string.IsNullOrEmpty(TestDataSource) ? string.Empty : TestDataSource);
}
}
}
public CfgUpdateFlags UpdateParam(int i, string str)
{
switch (i)
{
case 0: ProductionDataSource = str; return CfgUpdateFlags.RestartRqrd;
case 1: ProductionUserId = str; return CfgUpdateFlags.RestartRqrd;
case 2: ProductionPassword = str; return CfgUpdateFlags.RestartRqrd;
case 3: QualityDataSource = str; return CfgUpdateFlags.RestartRqrd;
case 4: QualityUserId = str; return CfgUpdateFlags.RestartRqrd;
case 5: QualityPassword = str; return CfgUpdateFlags.RestartRqrd;
case 6: TestDataSource = str; return CfgUpdateFlags.RestartRqrd;
case 7: TestUserId = str; return CfgUpdateFlags.RestartRqrd;
case 8: TestPassword = str; return CfgUpdateFlags.RestartRqrd;
case 9: ProducerId = int.Parse(str); return CfgUpdateFlags.RestartRqrd;
default:
return CfgUpdateFlags.None;
}
}
public bool ValidateParam(int i, string str, out string message)
{
message = string.Empty;
int idummy;
switch (i)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
return true;
case 9:
if (int.TryParse(str, out idummy) && idummy > 0 && idummy <= 9) return true;
break;
default:
message = "Invalid index";
return false;
}
message = ParamName(i) + " is invalid";
return false;
}
void CopyContentTo(DatabaseCfg prms)
{
prms.ProductionDataSource = this.ProductionDataSource;
prms.ProductionUserId = this.ProductionUserId;
prms.ProductionPassword = this.ProductionPassword;
prms.QualityDataSource = this.QualityDataSource;
prms.QualityUserId = this.QualityUserId;
prms.QualityPassword = this.QualityPassword;
prms.TestDataSource = this.TestDataSource;
prms.TestUserId = this.TestUserId;
prms.TestPassword = this.TestPassword;
}
public IParamsProvider Clone()
{
DatabaseCfg pars = new DatabaseCfg();
CopyContentTo(pars);
return pars;
}
public bool UpdateEmbeddedDbEntity()
{
return true; /// =OK, do nothing
}
}
}
@@ -1,76 +0,0 @@
///
/// Copyright (c) 2015-2020 Sensus Slovensko a.s.
///
using System;
using System.Windows.Forms;
using Config.Entities;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.DB.SensusOracle
{
public partial class DatabaseCfgCtrl : Configs.ConfigCtrlUtils, IComponentCfgCtrl
{
public bool ShowMore { get { return false; } }
DatabaseCfg config;
public IComponentCfg Config
{
get { return config as IComponentCfg; }
set
{
config = value as DatabaseCfg;
Redraw();
}
}
public DatabaseCfgCtrl()
{
InitializeComponent();
}
private void WriterCfgCtrl_Load(object sender, EventArgs e)
{
Redraw();
}
public void Closing()
{
}
void Redraw()
{
if (config == null) return; /// Control was not loaded, settings were not changed
classNameLabel.Text = config.Factory.ClassName;
nameTextBox.Text = config.Name;
testModeCheckBox.Checked = config.TestMode;
}
public void Unlock()
{
nameTextBox.Enabled = true;
testModeCheckBox.Enabled = true;
}
public CfgUpdateFlags VerifyCfg(ref string message)
{
return CfgUpdateFlags.None;
}
public CfgUpdateFlags UpdateCfg()
{
if (config == null) return CfgUpdateFlags.Error; /// Control was not loaded, settings were not changed
CfgUpdateFlags flags = CfgUpdateFlags.None;
if (config.Name != nameTextBox.Text)
{
config.Name = nameTextBox.Text;
flags |= CfgUpdateFlags.RestartRqrd;
}
flags |= UpdateDifferent(ref config.TestMode, testModeCheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd);
return flags;
}
}
}
-100
View File
@@ -1,100 +0,0 @@
///
/// Copyright (c) 2015-2018 Sensus Slovensko a.s.
///
namespace TBF.Rig.Output.DB.SensusOracle
{
partial class DatabaseCfgCtrl
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.nameTextBox = new System.Windows.Forms.TextBox();
this.nameLabel = new System.Windows.Forms.Label();
this.classNameLabel = new System.Windows.Forms.Label();
this.testModeCheckBox = new System.Windows.Forms.CheckBox();
this.SuspendLayout();
//
// nameTextBox
//
this.nameTextBox.Enabled = false;
this.nameTextBox.Location = new System.Drawing.Point(123, 59);
this.nameTextBox.Name = "nameTextBox";
this.nameTextBox.Size = new System.Drawing.Size(146, 20);
this.nameTextBox.TabIndex = 2;
//
// nameLabel
//
this.nameLabel.AutoSize = true;
this.nameLabel.Location = new System.Drawing.Point(19, 62);
this.nameLabel.Name = "nameLabel";
this.nameLabel.Size = new System.Drawing.Size(35, 13);
this.nameLabel.TabIndex = 1;
this.nameLabel.Text = "Name";
//
// classNameLabel
//
this.classNameLabel.AutoSize = true;
this.classNameLabel.Location = new System.Drawing.Point(120, 31);
this.classNameLabel.Name = "classNameLabel";
this.classNameLabel.Size = new System.Drawing.Size(83, 13);
this.classNameLabel.TabIndex = 0;
this.classNameLabel.Text = "ComonentName";
//
// testModeCheckBox
//
this.testModeCheckBox.AutoSize = true;
this.testModeCheckBox.Enabled = false;
this.testModeCheckBox.Location = new System.Drawing.Point(123, 113);
this.testModeCheckBox.Name = "testModeCheckBox";
this.testModeCheckBox.Size = new System.Drawing.Size(155, 17);
this.testModeCheckBox.TabIndex = 12;
this.testModeCheckBox.Text = "TestMode (no writes to DB)";
this.testModeCheckBox.UseVisualStyleBackColor = true;
//
// DatabaseCfgCtrl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.testModeCheckBox);
this.Controls.Add(this.nameTextBox);
this.Controls.Add(this.nameLabel);
this.Controls.Add(this.classNameLabel);
this.Name = "DatabaseCfgCtrl";
this.Size = new System.Drawing.Size(383, 291);
this.Load += new System.EventHandler(this.WriterCfgCtrl_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox nameTextBox;
private System.Windows.Forms.Label nameLabel;
private System.Windows.Forms.Label classNameLabel;
private System.Windows.Forms.CheckBox testModeCheckBox;
}
}
@@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
@@ -6,6 +6,7 @@ using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Xml.Serialization;
using Common;
using Config.Entities;
using Results.Output;
using TBF.Rig.Generic;
@@ -3,6 +3,7 @@
///
using System;
using System.Xml.Serialization;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
using TBF.Resources;
@@ -13,7 +14,7 @@ namespace TBF.Rig.Output.EventTriggers.Iperl
/// <summary>
/// Serializable configuration of Output.EventTriggers.Standard component.
/// </summary>
public class TriggerCfg : ComponentCfgBase, Generic.IComponentCfg, Config.Entities.IParamsProvider
public class TriggerCfg : ComponentCfgBase, Generic.IComponentCfg, IParamsProvider
{
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TriggerCfg) })[0];
public override XmlSerializer GetSerializer() { return Serializer; }
@@ -150,7 +151,7 @@ namespace TBF.Rig.Output.EventTriggers.Iperl
prms.PrintCaption = this.PrintCaption;
}
public Config.Entities.IParamsProvider Clone()
public IParamsProvider Clone()
{
TriggerCfg pars = new TriggerCfg();
CopyContentTo(pars);
@@ -4,7 +4,8 @@
using System;
using log4net;
using NHibernate;
using Events.Entities;
using Common;
using SharedDatabase.Entities;
namespace TBF.Rig.Output.EventTriggers.Standard
{
@@ -141,8 +142,8 @@ namespace TBF.Rig.Output.EventTriggers.Standard
try
{
ISession session = Events.DB.CreateSession();
Events.DB.LoadSubscribers(session);
ISession session = SharedDatabase.EventsDB.CreateSession();
SharedDatabase.EventsDB.LoadSubscribers(session);
///
/// Event on high percentage of failed meters
@@ -194,7 +195,7 @@ namespace TBF.Rig.Output.EventTriggers.Standard
{
/// This test result was obtained using MID#
double midErrAfterCorr = Config.Formulas.ErrorFromVolumes(tr.ConstMasterCorr, tr.ConstMaster);
double midErrAfterCorr = Formulas.ErrorFromVolumes(tr.ConstMasterCorr, tr.ConstMaster);
if (midErrAfterCorr >= maxMidErrAfterCorr[i])
{
TBF.UiBridge.Bridge.TriggerEvent(session, src, EventClass.EquipmentHW, Severity.Error,
@@ -3,6 +3,7 @@
///
using System;
using System.Xml.Serialization;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
using TBF.Resources;
@@ -13,7 +14,7 @@ namespace TBF.Rig.Output.EventTriggers.Standard
/// <summary>
/// Serializable configuration of Output.EventTriggers.Standard component.
/// </summary>
public class TriggerCfg : ComponentCfgBase, Generic.IComponentCfg, Config.Entities.IParamsProvider
public class TriggerCfg : ComponentCfgBase, Generic.IComponentCfg, IParamsProvider
{
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TriggerCfg) })[0];
public override XmlSerializer GetSerializer() { return Serializer; }
@@ -396,7 +397,7 @@ namespace TBF.Rig.Output.EventTriggers.Standard
prms.E36 = this.E36; /// 34 or 37
}
public Config.Entities.IParamsProvider Clone()
public IParamsProvider Clone()
{
TriggerCfg pars = new TriggerCfg();
CopyContentTo(pars);
@@ -3,6 +3,7 @@
///
using System;
using System.Collections.Generic;
using Common;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.FileWriters.Basic
@@ -16,12 +17,12 @@ namespace TBF.Rig.Output.FileWriters.Basic
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Writer(cfg); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Basic.Compound", this, Config.Entities.MetersKind.Combined); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Basic.Compound", this, MetersKind.Combined); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.Combined;
(cfg as WriterCfg).MetersKind = MetersKind.Combined;
return cfg;
}
}
@@ -1,8 +1,9 @@
///
/// Copyright (c) 2016 Sensus Metering Systems
/// Copyright (c) 2016-2021 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using Common;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.FileWriters.Basic
@@ -16,12 +17,12 @@ namespace TBF.Rig.Output.FileWriters.Basic
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Writer(cfg); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Basic.HeatMeters", this, Config.Entities.MetersKind.HeatMeter); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Basic.HeatMeters", this, MetersKind.HeatMeter); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.HeatMeter;
(cfg as WriterCfg).MetersKind = MetersKind.HeatMeter;
return cfg;
}
}
@@ -3,6 +3,7 @@
///
using System;
using System.Collections.Generic;
using Common;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.FileWriters.Basic
@@ -16,12 +17,12 @@ namespace TBF.Rig.Output.FileWriters.Basic
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Writer(cfg); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Basic.Single", this, Config.Entities.MetersKind.Single); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Basic.Single", this, MetersKind.Single); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.Single;
(cfg as WriterCfg).MetersKind = MetersKind.Single;
return cfg;
}
}
@@ -4,6 +4,7 @@
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
@@ -33,14 +34,14 @@ namespace TBF.Rig.Output.FileWriters.Basic
public string Footer;
[XmlIgnore]
public Config.Entities.MetersKind MetersKind;
public MetersKind MetersKind;
/// Private parameterless constructor invoked by all other (public) constructors
WriterCfg()
{
}
public WriterCfg(string name, IComponentFactory factory, Config.Entities.MetersKind metersKind)
public WriterCfg(string name, IComponentFactory factory, MetersKind metersKind)
: this()
{
Name = name;
@@ -4,6 +4,7 @@
using System;
using System.Windows.Forms;
using log4net;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
using TBF.Resources;
@@ -1,8 +1,9 @@
///
/// Copyright (c) 2019 Sensus Slovensko a.s.
/// Copyright (c) 2019-2021 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using Common;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.FileWriters.Elde
@@ -16,12 +17,12 @@ namespace TBF.Rig.Output.FileWriters.Elde
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Writer(cfg); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Elde", this, Config.Entities.MetersKind.Single); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Elde", this, Common.MetersKind.Single); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.Single;
(cfg as WriterCfg).MetersKind = MetersKind.Single;
return cfg;
}
}
+6 -5
View File
@@ -7,6 +7,7 @@ using System.Globalization;
using System.IO;
using System.Threading;
using log4net;
using Common;
using TBF.Resources;
namespace TBF.Rig.Output.FileWriters.Elde
@@ -351,7 +352,7 @@ namespace TBF.Rig.Output.FileWriters.Elde
int[] widths = new int[] { 11, 5, 6, 9, 12, 12, 8, 11, 10, 15, 8, 1 }; /// Widths of columns
foreach (var testRslt in batch.RegularTestRslts())
{
if (testRslt.Publish() == Config.Entities.Publish.Always)
if (testRslt.Publish() == Publish.Always)
{
for (int i = 0; i < Math.Min(testItems.Count, widths.Length); i++)
{
@@ -377,7 +378,7 @@ namespace TBF.Rig.Output.FileWriters.Elde
{
foreach (var testRslt in batch.RegularTestRslts())
{
if (testRslt.Publish() == Config.Entities.Publish.Always)
if (testRslt.Publish() == Publish.Always)
{
wrtr.Write(toPrint = testRslt.Name());
for (int j = 0; j < Math.Max(1, (i<2 ? 8 : 7) - toPrint.Length); j++) wrtr.Write(' ');
@@ -404,7 +405,7 @@ namespace TBF.Rig.Output.FileWriters.Elde
/// Volume start
foreach (var mtr in wm.RegularMeterTestRslts())
{
if (mtr.Publish() == Config.Entities.Publish.Always)
if (mtr.Publish() == Publish.Always)
{
wrtr.Write(toPrint = mtr.VolumeStart.ToString("F2"));
for (int j = 0; j < Math.Max(1, 8 - toPrint.Length); j++) wrtr.Write(' ');
@@ -415,7 +416,7 @@ namespace TBF.Rig.Output.FileWriters.Elde
/// Volume end
foreach (var mtr in wm.RegularMeterTestRslts())
{
if (mtr.Publish() == Config.Entities.Publish.Always)
if (mtr.Publish() == Publish.Always)
{
wrtr.Write(toPrint = mtr.VolumeEnd.ToString("F2"));
for (int j = 0; j < Math.Max(1, 8 - toPrint.Length); j++) wrtr.Write(' ');
@@ -426,7 +427,7 @@ namespace TBF.Rig.Output.FileWriters.Elde
/// Error
foreach (var mtr in wm.RegularMeterTestRslts())
{
if (mtr.Publish() == Config.Entities.Publish.Always)
if (mtr.Publish() == Publish.Always)
{
wrtr.Write(toPrint = mtr.Error.ToString("F2"));
for (int j = 0; j < Math.Max(1, 7 - toPrint.Length); j++) wrtr.Write(' ');
+3 -2
View File
@@ -4,6 +4,7 @@
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
@@ -32,14 +33,14 @@ namespace TBF.Rig.Output.FileWriters.Elde
public string Footer;
[XmlIgnore]
public Config.Entities.MetersKind MetersKind;
public MetersKind MetersKind;
/// Private parameterless constructor invoked by all other (public) constructors
WriterCfg()
{
}
public WriterCfg(string name, IComponentFactory factory, Config.Entities.MetersKind metersKind)
public WriterCfg(string name, IComponentFactory factory, MetersKind metersKind)
: this()
{
Name = name;
@@ -4,6 +4,7 @@
using System;
using System.Windows.Forms;
using log4net;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
using TBF.Resources;
@@ -1,8 +1,9 @@
///
/// Copyright (c) 2016 Sensus Metering Systems
/// Copyright (c) 2016-2021 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using Common;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.FileWriters.Enhanced
@@ -16,12 +17,12 @@ namespace TBF.Rig.Output.FileWriters.Enhanced
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Writer(cfg); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Enhanced.Compound", this, Config.Entities.MetersKind.Combined); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Enhanced.Compound", this, MetersKind.Combined); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.Combined;
(cfg as WriterCfg).MetersKind = MetersKind.Combined;
return cfg;
}
}
@@ -1,8 +1,9 @@
///
/// Copyright (c) 2016 Sensus Metering Systems
/// Copyright (c) 2016-2021 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using Common;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.FileWriters.Enhanced
@@ -16,12 +17,12 @@ namespace TBF.Rig.Output.FileWriters.Enhanced
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Writer(cfg); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Enhanced.HeatMeters", this, Config.Entities.MetersKind.HeatMeter); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Enhanced.HeatMeters", this, MetersKind.HeatMeter); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.HeatMeter;
(cfg as WriterCfg).MetersKind = MetersKind.HeatMeter;
return cfg;
}
}
@@ -1,8 +1,9 @@
///
/// Copyright (c) 2016 Sensus Metering Systems
/// Copyright (c) 2016-2021 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using Common;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.FileWriters.Enhanced
@@ -16,12 +17,12 @@ namespace TBF.Rig.Output.FileWriters.Enhanced
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Writer(cfg); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Enhanced.Single", this, Config.Entities.MetersKind.Single); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Enhanced.Single", this, MetersKind.Single); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.Single;
(cfg as WriterCfg).MetersKind = MetersKind.Single;
return cfg;
}
}
@@ -7,6 +7,7 @@ using System.Globalization;
using System.IO;
using System.Threading;
using log4net;
using Common;
using TBF.Resources;
namespace TBF.Rig.Output.FileWriters.Enhanced
@@ -354,7 +355,7 @@ namespace TBF.Rig.Output.FileWriters.Enhanced
columnWidths[i] = ElSpaces(testItems[i].Caption).Length;
foreach (var mtr in wm.RegularMeterTestRslts())
{
if ((mtr != null) && (mtr.Publish() == Config.Entities.Publish.Always))
if ((mtr != null) && (mtr.Publish() == Publish.Always))
{
string itemText = testItems[i].Print(wm, mtr.Name());
@@ -407,7 +408,7 @@ namespace TBF.Rig.Output.FileWriters.Enhanced
int rowsCount = 0;
foreach (var mtr in wm.RegularMeterTestRslts())
{
if (mtr != null && mtr.IsPilotRslt() && mtr.Publish() == Config.Entities.Publish.Always)
if (mtr != null && mtr.IsPilotRslt() && mtr.Publish() == Publish.Always)
{
Results.WMeterRsltItemSpec.TableRowNr = ++rowsCount;
@@ -4,6 +4,7 @@
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
@@ -33,14 +34,14 @@ namespace TBF.Rig.Output.FileWriters.Enhanced
public string Footer;
[XmlIgnore]
public Config.Entities.MetersKind MetersKind;
public MetersKind MetersKind;
/// Private parameterless constructor invoked by all other (public) constructors
WriterCfg()
{
}
public WriterCfg(string name, IComponentFactory factory, Config.Entities.MetersKind metersKind)
public WriterCfg(string name, IComponentFactory factory, MetersKind metersKind)
: this()
{
Name = name;
@@ -4,6 +4,7 @@
using System;
using System.Windows.Forms;
using log4net;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
using TBF.Resources;
@@ -5,6 +5,7 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
@@ -26,14 +27,14 @@ namespace TBF.Rig.Output.FileWriters.ImageArchiver
public bool SaveGoodOnly;
[XmlIgnore]
public Config.Entities.MetersKind MetersKind;
public MetersKind MetersKind;
/// Private parameterless constructor invoked by all other (public) constructors
ArchiverCfg()
{
}
public ArchiverCfg(string name, IComponentFactory factory, Config.Entities.MetersKind metersKind)
public ArchiverCfg(string name, IComponentFactory factory, MetersKind metersKind)
: this()
{
Name = name;
@@ -3,6 +3,7 @@
///
using System;
using System.Windows.Forms;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
@@ -3,6 +3,7 @@
///
using System;
using System.Collections.Generic;
using Common;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.FileWriters.ImageArchiver
@@ -16,12 +17,12 @@ namespace TBF.Rig.Output.FileWriters.ImageArchiver
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Archiver(cfg); }
public IComponentCfg DefaultConfig() { return new ArchiverCfg("FileWriter.ImageArchiver", this, Config.Entities.MetersKind.Single); }
public IComponentCfg DefaultConfig() { return new ArchiverCfg("FileWriter.ImageArchiver", this, MetersKind.Single); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(ArchiverCfg.Serializer, component, this);
(cfg as ArchiverCfg).MetersKind = Config.Entities.MetersKind.Single;
(cfg as ArchiverCfg).MetersKind = MetersKind.Single;
return cfg;
}
}
@@ -1,14 +1,14 @@
///
/// Copyright (c) 2018-2019 Sensus Slovensko a.s.
/// Copyright (c) 2018-2021 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using System.IO;
using log4net;
using Config;
using Common;
using Config.Entities;
using Results.Output;
using Events.Entities;
using SharedDatabase.Entities;
namespace TBF.Rig.Output.FileWriters.IperlLogger
{
@@ -157,12 +157,12 @@ namespace TBF.Rig.Output.FileWriters.IperlLogger
opCompleted = true;
}
if (anyError && !string.IsNullOrEmpty(Events.DB.ConnectionString))
if (anyError && !string.IsNullOrEmpty(SharedDatabase.EventsDB.ConnectionString))
{
try
{
NHibernate.ISession session = Events.DB.CreateSession();
Events.DB.LoadSubscribers(session);
NHibernate.ISession session = SharedDatabase.EventsDB.CreateSession();
SharedDatabase.EventsDB.LoadSubscribers(session);
TBF.UiBridge.Bridge.TriggerEvent(session, Name, EventClass.ComputerResources, Severity.Error,
string.Format("Nepodarilo sa uložiť logy pre WZ Datenbank: Číslo dávky={0}", batch.BatchNr),
@@ -192,7 +192,7 @@ namespace TBF.Rig.Output.FileWriters.IperlLogger
public Retv WriteLogsToDisk(TextWriter logger, Results.Entities.Batch batch)
{
#if TURA_IPERL || TURA_IPERL_NEW || TURA_SPECIAL
#if IPERL
/// Obtain one representative water meter data
Results.Entities.WaterMeter wm0 = null;
@@ -504,7 +504,7 @@ namespace TBF.Rig.Output.FileWriters.IperlLogger
void WriteOneToDisk(TextWriter logger, string id, Results.Entities.TestRslt tr)
{
logger.WriteLine(string.Format("Prüfvolumen{0}={1}", id, Config.Units.ConvertTo(Unit.l, tr.TestData.TargetVolume).ToString(Program.AltCulture)));
logger.WriteLine(string.Format("Prüfvolumen{0}={1}", id, Common.Units.ConvertTo(Unit.l, tr.TestData.TargetVolume).ToString(Program.AltCulture)));
logger.WriteLine(string.Format("Prüfmasse{0}={1}", id, 0)); /// 3,72610
logger.WriteLine(string.Format("Temp1_P{0}={1}", id, 0)); /// 20,0
logger.WriteLine(string.Format("Temp2_P{0}={1}", id, 0)); /// 20,0
@@ -514,8 +514,8 @@ namespace TBF.Rig.Output.FileWriters.IperlLogger
logger.WriteLine(string.Format("Temp6_P{0}={1}", id, 0)); /// 20,0
logger.WriteLine(string.Format("Temp7_P{0}={1}", id, 0)); /// 0,0
logger.WriteLine(string.Format("Temp8_P{0}={1}", id, 0)); /// 0,0
logger.WriteLine(string.Format("Druck1_P{0}={1}", id, Config.Units.ConvertTo(Unit.bar, tr.PressUpMean).ToString(Program.AltCulture)));
logger.WriteLine(string.Format("Druck2_P{0}={1}", id, Config.Units.ConvertTo(Unit.bar, tr.PressDownMean).ToString(Program.AltCulture)));
logger.WriteLine(string.Format("Druck1_P{0}={1}", id, Common.Units.ConvertTo(Unit.bar, tr.PressUpMean).ToString(Program.AltCulture)));
logger.WriteLine(string.Format("Druck2_P{0}={1}", id, Common.Units.ConvertTo(Unit.bar, tr.PressDownMean).ToString(Program.AltCulture)));
logger.WriteLine(string.Format("K-Faktor{0}={1}", id, 0)); /// 0,99820080
logger.WriteLine(string.Format("Q_Waage{0}={1}", id, 0)); /// 26,89887
logger.WriteLine(string.Format("Q_Vergleich{0}={1}", id, 0)); /// 26,83427
@@ -527,8 +527,8 @@ namespace TBF.Rig.Output.FileWriters.IperlLogger
logger.WriteLine(string.Format("VZ_Nummer{0}={1}", id, 0)); /// 3
logger.WriteLine(string.Format("Anfangsgewicht{0}={1}", id, 0)); /// 4,66535
logger.WriteLine(string.Format("Endgewicht{0}={1}", id, 0)); /// 8,39145
logger.WriteLine(string.Format("MinDurchfluss{0}={1}", id, Config.Units.ConvertTo(Unit.lph, tr.FlowMin).ToString(Program.AltCulture)));
logger.WriteLine(string.Format("MaxDurchfluss{0}={1}", id, Config.Units.ConvertTo(Unit.lph, tr.FlowMax).ToString(Program.AltCulture)));
logger.WriteLine(string.Format("MinDurchfluss{0}={1}", id, Common.Units.ConvertTo(Unit.lph, tr.FlowMin).ToString(Program.AltCulture)));
logger.WriteLine(string.Format("MaxDurchfluss{0}={1}", id, Common.Units.ConvertTo(Unit.lph, tr.FlowMax).ToString(Program.AltCulture)));
logger.WriteLine(string.Format("Q_Einstellzeit{0}={1}", id, 0)); /// 4,17
logger.WriteLine(string.Format("Pumpennummer{0}={1}", id, 0)); /// 3
logger.WriteLine(string.Format("Drehzahl{0}={1}", id, 0)); /// 1743
@@ -4,13 +4,14 @@
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
using TBF.Resources;
namespace TBF.Rig.Output.FileWriters.IperlLogger
{
public class WriterCfg : ComponentCfgBase, Generic.IComponentCfg, Config.Entities.IParamsProvider
public class WriterCfg : ComponentCfgBase, Generic.IComponentCfg, IParamsProvider
{
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(WriterCfg) })[0];
public override XmlSerializer GetSerializer() { return Serializer; }
@@ -135,7 +136,7 @@ namespace TBF.Rig.Output.FileWriters.IperlLogger
prms.DayFolders = this.DayFolders;
}
public Config.Entities.IParamsProvider Clone()
public IParamsProvider Clone()
{
WriterCfg pars = new WriterCfg();
CopyContentTo(pars);
@@ -1,8 +1,9 @@
///
/// Copyright (c) 2017 Sensus Metering Systems
/// Copyright (c) 2017-2021 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using Common;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.FileWriters.OneFilePerMeter
@@ -16,12 +17,12 @@ namespace TBF.Rig.Output.FileWriters.OneFilePerMeter
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Writer(cfg); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.OneFilePerMeter.Compound", this, Config.Entities.MetersKind.Combined); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.OneFilePerMeter.Compound", this, MetersKind.Combined); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.Combined;
(cfg as WriterCfg).MetersKind = MetersKind.Combined;
return cfg;
}
}
@@ -1,8 +1,9 @@
///
/// Copyright (c) 2017 Sensus Metering Systems
/// Copyright (c) 2017-2021 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using Common;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.FileWriters.OneFilePerMeter
@@ -16,12 +17,12 @@ namespace TBF.Rig.Output.FileWriters.OneFilePerMeter
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Writer(cfg); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.OneFilePerMeter.HeatMeters", this, Config.Entities.MetersKind.HeatMeter); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.OneFilePerMeter.HeatMeters", this, MetersKind.HeatMeter); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.HeatMeter;
(cfg as WriterCfg).MetersKind = MetersKind.HeatMeter;
return cfg;
}
}
@@ -1,8 +1,9 @@
///
/// Copyright (c) 2017 Sensus Metering Systems
/// Copyright (c) 2017-2021 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using Common;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.FileWriters.OneFilePerMeter
@@ -16,12 +17,12 @@ namespace TBF.Rig.Output.FileWriters.OneFilePerMeter
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Writer(cfg); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.OneFilePerMeter.Single", this, Config.Entities.MetersKind.Single); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.OneFilePerMeter.Single", this, MetersKind.Single); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.Single;
(cfg as WriterCfg).MetersKind = MetersKind.Single;
return cfg;
}
}
@@ -7,6 +7,7 @@ using System.Globalization;
using System.IO;
using System.Threading;
using log4net;
using Common;
using TBF.Resources;
namespace TBF.Rig.Output.FileWriters.OneFilePerMeter
@@ -353,7 +354,7 @@ namespace TBF.Rig.Output.FileWriters.OneFilePerMeter
columnWidths[i] = ElSpaces(testItems[i].Caption).Length;
foreach (var mtr in wm.RegularMeterTestRslts())
{
if ((mtr != null) && (mtr.Publish() == Config.Entities.Publish.Always))
if ((mtr != null) && (mtr.Publish() == Publish.Always))
{
string itemText = testItems[i].Print(wm, mtr.Name());
@@ -399,7 +400,7 @@ namespace TBF.Rig.Output.FileWriters.OneFilePerMeter
/// Write table data
foreach (var mtr in wm.RegularMeterTestRslts())
{
if (mtr != null && mtr.IsPilotRslt() && mtr.Publish() == Config.Entities.Publish.Always)
if (mtr != null && mtr.IsPilotRslt() && mtr.Publish() == Publish.Always)
{
for (int i = 0; i < testItems.Count; i++)
{
@@ -4,6 +4,7 @@
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
@@ -31,14 +32,14 @@ namespace TBF.Rig.Output.FileWriters.OneFilePerMeter
public string Footer;
[XmlIgnore]
public Config.Entities.MetersKind MetersKind;
public MetersKind MetersKind;
/// Private parameterless constructor invoked by all other (public) constructors
WriterCfg()
{
}
public WriterCfg(string name, IComponentFactory factory, Config.Entities.MetersKind metersKind)
public WriterCfg(string name, IComponentFactory factory, MetersKind metersKind)
: this()
{
Name = name;
@@ -4,6 +4,7 @@
using System;
using System.Windows.Forms;
using log4net;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
using TBF.Resources;
@@ -3,6 +3,7 @@
///
using System;
using System.Collections.Generic;
using Common;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.FileWriters.Xml
@@ -16,12 +17,12 @@ namespace TBF.Rig.Output.FileWriters.Xml
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Writer(cfg); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Xml.Compound", this, Config.Entities.MetersKind.Combined); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Xml.Compound", this, MetersKind.Combined); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.Combined;
(cfg as WriterCfg).MetersKind = MetersKind.Combined;
return cfg;
}
}
@@ -3,6 +3,7 @@
///
using System;
using System.Collections.Generic;
using Common;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.FileWriters.Xml
@@ -16,12 +17,12 @@ namespace TBF.Rig.Output.FileWriters.Xml
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Writer(cfg); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Xml.HeatMeters", this, Config.Entities.MetersKind.HeatMeter); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Xml.HeatMeters", this, MetersKind.HeatMeter); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.HeatMeter;
(cfg as WriterCfg).MetersKind = MetersKind.HeatMeter;
return cfg;
}
}
@@ -3,6 +3,7 @@
///
using System;
using System.Collections.Generic;
using Common;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.FileWriters.Xml
@@ -16,12 +17,12 @@ namespace TBF.Rig.Output.FileWriters.Xml
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Writer(cfg); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Xml.Single", this, Config.Entities.MetersKind.Single); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.Xml.Single", this, MetersKind.Single); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.Single;
(cfg as WriterCfg).MetersKind = MetersKind.Single;
return cfg;
}
}
+2 -1
View File
@@ -7,6 +7,7 @@ using System.Globalization;
using System.IO;
using System.Threading;
using log4net;
using Common;
using Config.Entities;
using TBF.Rig;
using TBF.Resources;
@@ -266,7 +267,7 @@ namespace TBF.Rig.Output.FileWriters.Xml
/// Test items
foreach (var mtr in wm.RegularMeterTestRslts())
{
if ((mtr != null) && (mtr.Publish() == Config.Entities.Publish.Always))
if ((mtr != null) && (mtr.Publish() == Publish.Always))
{
wr.WriteLine(string.Format(" <{0}>", testTag));
for (int i = 0; i < testItems.Count; i++)
+3 -2
View File
@@ -5,6 +5,7 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
@@ -32,14 +33,14 @@ namespace TBF.Rig.Output.FileWriters.Xml
public string[] TestItems;
[XmlIgnore]
public Config.Entities.MetersKind MetersKind;
public MetersKind MetersKind;
/// Private parameterless constructor invoked by all other (public) constructors
WriterCfg()
{
}
public WriterCfg(string name, IComponentFactory factory, Config.Entities.MetersKind metersKind)
public WriterCfg(string name, IComponentFactory factory, MetersKind metersKind)
: this()
{
Name = name;
@@ -4,6 +4,7 @@
using System;
using System.Windows.Forms;
using log4net;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
using TBF.Resources;
@@ -3,6 +3,7 @@
///
using System;
using System.Collections.Generic;
using Common;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.FileWriters.XmlBatch
@@ -16,12 +17,12 @@ namespace TBF.Rig.Output.FileWriters.XmlBatch
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Writer(cfg); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.XmlBatch", this, Config.Entities.MetersKind.Single); }
public IComponentCfg DefaultConfig() { return new WriterCfg("FileWriter.XmlBatch", this, MetersKind.Single); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
IComponentCfg cfg = ComponentCfgBase.CreateFromDbEntity(WriterCfg.Serializer, component, this);
(cfg as WriterCfg).MetersKind = Config.Entities.MetersKind.Single;
(cfg as WriterCfg).MetersKind = MetersKind.Single;
return cfg;
}
}
@@ -7,6 +7,7 @@ using System.Globalization;
using System.IO;
using System.Threading;
using log4net;
using Common;
using Config.Entities;
using TBF.Rig;
using TBF.Resources;
@@ -285,7 +286,7 @@ namespace TBF.Rig.Output.FileWriters.XmlBatch
/// Test items
foreach (var mtr in wm.RegularMeterTestRslts())
{
if ((mtr != null) && (mtr.Publish() == Config.Entities.Publish.Always))
if ((mtr != null) && (mtr.Publish() == Publish.Always))
{
wr.WriteLine(string.Format(" <{0}>", testTag));
for (int i = 0; i < testItems.Count; i++)
@@ -5,6 +5,7 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
@@ -34,14 +35,14 @@ namespace TBF.Rig.Output.FileWriters.XmlBatch
public string[] TestItems;
[XmlIgnore]
public Config.Entities.MetersKind MetersKind;
public MetersKind MetersKind;
/// Private parameterless constructor invoked by all other (public) constructors
WriterCfg()
{
}
public WriterCfg(string name, IComponentFactory factory, Config.Entities.MetersKind metersKind)
public WriterCfg(string name, IComponentFactory factory, MetersKind metersKind)
: this()
{
Name = name;
@@ -4,6 +4,7 @@
using System;
using System.Windows.Forms;
using log4net;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
using TBF.Resources;
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2017 Sensus Metering Systems
/// Copyright (c) 2017-2021 Sensus Slovensko a.s.
///
using System.Collections.Generic;
using TBF.Rig.Generic;
@@ -15,7 +15,7 @@ namespace TBF.Rig.Output.Printers.Enhanced
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Printer(cfg); }
public IComponentCfg DefaultConfig() { return new PrinterCfg("Printer.Enhanced.Compound", this, Config.Entities.MetersKind.Combined); }
public IComponentCfg DefaultConfig() { return new PrinterCfg("Printer.Enhanced.Compound", this, Common.MetersKind.Combined); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2017 Sensus Metering Systems
/// Copyright (c) 2017-2021 Sensus Slovensko a.s.
///
using System.Collections.Generic;
using TBF.Rig.Generic;
@@ -15,7 +15,7 @@ namespace TBF.Rig.Output.Printers.Enhanced
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Printer(cfg); }
public IComponentCfg DefaultConfig() { return new PrinterCfg("Printer.Enhanced.HeatMeters", this, Config.Entities.MetersKind.HeatMeter); }
public IComponentCfg DefaultConfig() { return new PrinterCfg("Printer.Enhanced.HeatMeters", this, Common.MetersKind.HeatMeter); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2017 Sensus Metering Systems
/// Copyright (c) 2017-2021 Sensus Slovensko a.s.
///
using System.Collections.Generic;
using TBF.Rig.Generic;
@@ -15,7 +15,7 @@ namespace TBF.Rig.Output.Printers.Enhanced
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Printer(cfg); }
public IComponentCfg DefaultConfig() { return new PrinterCfg("Printer.Enhanced.Single", this, Config.Entities.MetersKind.Single); }
public IComponentCfg DefaultConfig() { return new PrinterCfg("Printer.Enhanced.Single", this, Common.MetersKind.Single); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
@@ -3,6 +3,7 @@
///
using System.Collections.Generic;
using System.Xml.Serialization;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
@@ -50,14 +51,14 @@ namespace TBF.Rig.Output.Printers.Enhanced
public int BarcodeHeight;
[XmlIgnore]
public Config.Entities.MetersKind MetersKind;
public MetersKind MetersKind;
/// Private parameterless constructor invoked by all other (public) constructors
PrinterCfg()
{
}
public PrinterCfg(string name, IComponentFactory factory, Config.Entities.MetersKind metersKind)
public PrinterCfg(string name, IComponentFactory factory, MetersKind metersKind)
: this()
{
Name = name;
@@ -5,6 +5,7 @@ using System;
using System.Collections.Generic;
using System.Windows.Forms;
using log4net;
using Common;
using Config.Entities;
using Results.Output.Printers;
using TBF.Rig.Configs;
@@ -5,6 +5,7 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
@@ -6,6 +6,7 @@ using System.Drawing;
using System.IO;
using System.Windows.Forms;
using log4net;
using Common;
using Config.Entities;
using Results.Output.Printers;
using TBF.Rig.Generic;
@@ -5,6 +5,7 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
@@ -5,6 +5,7 @@ using System;
using System.IO;
using System.Windows.Forms;
using log4net;
using Common;
using Config.Entities;
using Results.Output.Printers;
using TBF.Rig.Generic;
@@ -2,6 +2,7 @@
/// Copyright (c) 2020 Sensus Slovensko a.s.
///
using System.Collections.Generic;
using Common;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.Printers.OnePerBatch
@@ -15,7 +16,7 @@ namespace TBF.Rig.Output.Printers.OnePerBatch
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Printer(cfg); }
public IComponentCfg DefaultConfig() { return new PrinterCfg(this.GetType().Namespace.Substring(15), this, Config.Entities.MetersKind.Single); }
public IComponentCfg DefaultConfig() { return new PrinterCfg(this.GetType().Namespace.Substring(15), this, MetersKind.Single); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
@@ -3,6 +3,7 @@
///
using System.Collections.Generic;
using System.Xml.Serialization;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
@@ -73,14 +74,14 @@ namespace TBF.Rig.Output.Printers.OnePerBatch
public string DocName;
[XmlIgnore]
public Config.Entities.MetersKind MetersKind;
public MetersKind MetersKind;
/// Private parameterless constructor invoked by all other (public) constructors
PrinterCfg()
{
}
public PrinterCfg(string name, IComponentFactory factory, Config.Entities.MetersKind metersKind)
public PrinterCfg(string name, IComponentFactory factory, MetersKind metersKind)
: this()
{
Name = name;
@@ -6,6 +6,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using log4net;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
using TBF.Resources;
@@ -2,6 +2,7 @@
/// Copyright (c) 2017 Sensus Metering Systems
///
using System.Collections.Generic;
using Common;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.Printers.OnePerMeter
@@ -15,7 +16,7 @@ namespace TBF.Rig.Output.Printers.OnePerMeter
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Printer(cfg); }
public IComponentCfg DefaultConfig() { return new PrinterCfg("Printer.OnePerMeter.Compound", this, Config.Entities.MetersKind.Combined); }
public IComponentCfg DefaultConfig() { return new PrinterCfg("Printer.OnePerMeter.Compound", this, MetersKind.Combined); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2017 Sensus Metering Systems
/// Copyright (c) 2017-2021 Sensus Slovensko a.s.
///
using System.Collections.Generic;
using TBF.Rig.Generic;
@@ -15,7 +15,7 @@ namespace TBF.Rig.Output.Printers.OnePerMeter
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Printer(cfg); }
public IComponentCfg DefaultConfig() { return new PrinterCfg("Printer.OnePerMeter.HeatMeters", this, Config.Entities.MetersKind.HeatMeter); }
public IComponentCfg DefaultConfig() { return new PrinterCfg("Printer.OnePerMeter.HeatMeters", this, Common.MetersKind.HeatMeter); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2017 Sensus Metering Systems
/// Copyright (c) 2017-2021 Sensus Slovensko a.s.
///
using System.Collections.Generic;
using TBF.Rig.Generic;
@@ -15,7 +15,7 @@ namespace TBF.Rig.Output.Printers.OnePerMeter
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Printer(cfg); }
public IComponentCfg DefaultConfig() { return new PrinterCfg("Printer.OnePerMeter.Single", this, Config.Entities.MetersKind.Single); }
public IComponentCfg DefaultConfig() { return new PrinterCfg("Printer.OnePerMeter.Single", this, Common.MetersKind.Single); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
@@ -3,6 +3,7 @@
///
using System.Collections.Generic;
using System.Xml.Serialization;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
@@ -78,14 +79,14 @@ namespace TBF.Rig.Output.Printers.OnePerMeter
public int BarcodeHeight;
[XmlIgnore]
public Config.Entities.MetersKind MetersKind;
public MetersKind MetersKind;
/// Private parameterless constructor invoked by all other (public) constructors
PrinterCfg()
{
}
public PrinterCfg(string name, IComponentFactory factory, Config.Entities.MetersKind metersKind)
public PrinterCfg(string name, IComponentFactory factory, MetersKind metersKind)
: this()
{
Name = name;
@@ -6,6 +6,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using log4net;
using Common;
using Config.Entities;
using Results.Output.Printers;
using TBF.Rig.Generic;
@@ -1,7 +1,8 @@
///
/// Copyright (c) 2017 Sensus Metering Systems
/// Copyright (c) 2017-2021 Sensus Slovensko a.s.
///
using System.Collections.Generic;
using Common;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.Printers.Zapiska
@@ -15,7 +16,7 @@ namespace TBF.Rig.Output.Printers.Zapiska
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Printer(cfg); }
public IComponentCfg DefaultConfig() { return new PrinterCfg("Printer.Zapiska.Compound", this, Config.Entities.MetersKind.Combined); }
public IComponentCfg DefaultConfig() { return new PrinterCfg("Printer.Zapiska.Compound", this, MetersKind.Combined); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
@@ -1,7 +1,8 @@
///
/// Copyright (c) 2017 Sensus Metering Systems
/// Copyright (c) 2017-2021 Sensus Slovensko a.s.
///
using System.Collections.Generic;
using Common;
using TBF.Rig.Generic;
namespace TBF.Rig.Output.Printers.Zapiska
@@ -15,7 +16,7 @@ namespace TBF.Rig.Output.Printers.Zapiska
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Printer(cfg); }
public IComponentCfg DefaultConfig() { return new PrinterCfg("Printer.Zapiska.HeatMeters", this, Config.Entities.MetersKind.HeatMeter); }
public IComponentCfg DefaultConfig() { return new PrinterCfg("Printer.Zapiska.HeatMeters", this, MetersKind.HeatMeter); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2017 Sensus Metering Systems
/// Copyright (c) 2017-2021 Sensus Slovensko a.s.
///
using System.Collections.Generic;
using TBF.Rig.Generic;
@@ -15,7 +15,7 @@ namespace TBF.Rig.Output.Printers.Zapiska
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Printer(cfg); }
public IComponentCfg DefaultConfig() { return new PrinterCfg("Printer.Zapiska.Single", this, Config.Entities.MetersKind.Single); }
public IComponentCfg DefaultConfig() { return new PrinterCfg("Printer.Zapiska.Single", this, Common.MetersKind.Single); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
@@ -3,6 +3,7 @@
///
using System.Collections.Generic;
using System.Xml.Serialization;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
@@ -61,14 +62,14 @@ namespace TBF.Rig.Output.Printers.Zapiska
public string DocName;
[XmlIgnore]
public Config.Entities.MetersKind MetersKind;
public MetersKind MetersKind;
/// Private parameterless constructor invoked by all other (public) constructors
PrinterCfg()
{
}
public PrinterCfg(string name, IComponentFactory factory, Config.Entities.MetersKind metersKind)
public PrinterCfg(string name, IComponentFactory factory, MetersKind metersKind)
: this()
{
Name = name;
@@ -5,6 +5,7 @@ using System;
using System.Collections.Generic;
using System.Windows.Forms;
using log4net;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
using TBF.Resources;