SensusOracle.Database : (1) ProcedureParams modified, (2) SQL style changes

This commit is contained in:
Milan Hanajik
2021-01-28 13:55:00 +01:00
parent 229c87f920
commit ea05871b19
2 changed files with 290 additions and 187 deletions
@@ -31,8 +31,19 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
public enum WMKind
{
Iperl,
S620,
iPERL,
Mechanical,
Count
}
/// <summary>
/// Test/Q designation mode for IperlLogger and IperlHead opto data files
/// </summary>
public enum DesigMode
{
Auto,
Based_on_procedure,
As_specified,
Count
}
@@ -42,18 +53,19 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
private static readonly ILog log = LogManager.GetLogger(typeof(Database));
public override string ToString() { return string.Format("{0}({1})", GetType().Namespace.Substring(17), Cfg.ToString(1)); }
const int Anbid_StaraTura = 4;
public const int Anbid_StaraTura = 4;
DatabaseCfg dbCfg;
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; } }
public WMKind WMKind { get { return (dbCfg == null || dbCfg.ProcParams == null) ? WMKind.iPERL : dbCfg.ProcParams.WMKind; } }
public int WMTypeId { get { return (dbCfg == null || dbCfg.ProcParams == null) ? 0 : dbCfg.ProcParams.WMTypeId; } }
public int YearOfManufacture { get { return (dbCfg == null || dbCfg.ProcParams == null) ? DateTime.Now.Year : dbCfg.ProcParams.YearOfManufacture; } }
public bool SaveResults { get { return (dbCfg == null || dbCfg.ProcParams == null) ? false : dbCfg.ProcParams.SaveResults; } }
public bool ReadStartInfo { get { return (dbCfg == null || dbCfg.ProcParams == null) ? true : dbCfg.ProcParams.ReadStartInfo; } }
public bool StartInfoIsRequired { get { return (dbCfg == null || dbCfg.ProcParams == null) ? false : dbCfg.ProcParams.StartInfoIsRequired; } }
public DesigMode DesigMode { get { return (dbCfg == null || dbCfg.ProcParams == null) ? DesigMode.Auto : dbCfg.ProcParams.DesigMode; } }
public LogType DesigType { get { return (dbCfg == null || dbCfg.ProcParams == null) ? LogType.Just_Q3Q2Q1 : dbCfg.ProcParams.DesigType; } }
enum OpState
{
@@ -83,13 +95,11 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
OracleConnection qualityDB; /// Quality Oracle DB connection
OracleConnection testDB; /// Test Oracle DB connection
OracleConnection selectedDB
public OracleConnection SelectedDB
{
get
{
if (dbCfg == null || dbCfg.ProcParams == null) return null;
switch (dbCfg.ProcParams.DBUsed)
switch (DBUsed)
{
case DBUsed.Production: return productionDB;
case DBUsed.Quality: return qualityDB;
@@ -120,7 +130,7 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
{
dbCfg = cfg as DatabaseCfg;
currentOpState = OpState.None;
log.Debug(this.ToString());
log.Warn(this.ToString());
}
///
@@ -128,26 +138,26 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
///
public void Initialize()
{
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;");
if (dbCfg.DebugLevel == DebugMode.Simulate) return;
///
/// Do something with the database to see if the connection works well
///
if (productionDB != null)
if (DBUsed == DBUsed.Production)
{
productionDB.Open();
SelectedDB.Open();
string rslt = "none";
OracleCommand cmd = new OracleCommand("select Standort from ANBIETER_SD where ANBID = 4", productionDB);
OracleCommand cmd = new OracleCommand("SELECT standort FROM anbieter_sd WHERE anbid = 4", SelectedDB);
OracleDataReader dr = cmd.ExecuteReader();
if (dr.Read()) rslt = dr.GetString(0);
dr.Close();
productionDB.Close();
SelectedDB.Close();
}
}
///
@@ -189,7 +199,9 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
timeStamp = DateTime.MinValue;
remark = string.Empty;
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);
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);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wmTypeId }); ///:1
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 1 }); ///:2
///
@@ -209,7 +221,9 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
if (wmTypeRevision == -1) return null; /// No 'wmTypeRevision' found
cmd = new OracleCommand("select PRUEFUNGSNR, Q_SOLL, PRUEFZEIT, POSFEHLERKALT, NEGFEHLERKALT, PRUEFBEREICHMIN, PRUEFBEREICHMAX, QBEZEICHNUNG from VT_PRUEFPUNKT_SOLL_SD where ANBID=4 and ID_WZTyp=:1 and Rev_WZTyp=:2", conn);
cmd = new OracleCommand("SELECT pruefungsnr, q_soll, pruefzeit, posfehlerkalt, negfehlerkalt, pruefbereichmin, pruefbereichmax, qbezeichnung " +
"FROM vt_pruefpunkt_soll_sd " +
"WHERE anbid=4 AND id_wztyp=:1 AND rev_wztyp=:2", conn);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wmTypeId }); ///:1
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wmTypeRevision }); ///:2
///
@@ -253,11 +267,7 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
/// <returns>Reference to the operation</returns>
public IOperation ReadStartInfoOp(IList<Results.Entities.WaterMeter> waterMeters)
{
if (!ReadStartInfo)
{
return null;
}
else if ((currentOpState == OpState.ReadStartInfoRunning) || (currentOpState == OpState.WriteResultsRunning))
if ((currentOpState == OpState.ReadStartInfoRunning) || (currentOpState == OpState.WriteResultsRunning))
{
throw new Exception("Sequence error");
}
@@ -316,16 +326,26 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
if (currentOpState == OpState.ReadStartInfoRunning)
{
if (!opCompleted)
{
if (waterMeters.Count == 0) return Event.ResultsWritten;
if ((dbCfg.DebugLevel == DebugMode.Normal) && (selectedDB != null))
{
log.WarnFormat("{0} : Run() : currentOp = {1}", Name, currentOpState);
if (dbCfg.DebugLevel == DebugMode.Normal && SelectedDB != null && ReadStartInfo && waterMeters.Count != 0)
{
#if ORACLE_DB
if (ReadStartInfoFromDB(selectedDB) == Retv.Error) anyError = true;
log.WarnFormat("{0} : Run() : reading from database", Name);
if (ReadStartInfoFromDB(SelectedDB) == Retv.Error) anyError = true;
#endif
}
if (DesigMode == DesigMode.Based_on_procedure && StateMachine.Procedure != null)
{
Sequences.ProcessData.CompleteTestInfos = Results.Output.SensusTestInfo.CreateFromProcedure(StateMachine.Procedure);
}
else if (DesigMode == DesigMode.As_specified && DesigType >= 0 && DesigType < LogType.Count)
{
Sequences.ProcessData.CompleteTestInfos = SensusTestInfo.GetTestInfos(DesigType);
}
opCompleted = true;
}
@@ -337,11 +357,11 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
{
if (batch.WaterMeters.Count == 0) return Event.ResultsWritten;
if ((dbCfg.DebugLevel == DebugMode.Normal) && (selectedDB != null))
if ((dbCfg.DebugLevel == DebugMode.Normal) && (SelectedDB != null))
{
log.WarnFormat("{0} : Run() : currentOp = {1}", Name, currentOpState);
#if ORACLE_DB
if (WriteResultsToDB(selectedDB, batch, false) == Retv.Error) anyError = true;
if (WriteResultsToDB(SelectedDB, batch, false) == Retv.Error) anyError = true;
#endif
}
opCompleted = true;
@@ -478,7 +498,6 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
OracleCommand cmd;
OracleDataReader dr;
// SELECT * FROM VT_ZAEHLER_PD WHERE VT_Fernum = :1 AND ANBID = 4
int maxPruefindex = 0;
string purchaseOrder = string.Empty;
int assignedSerialNr = 0;
@@ -499,8 +518,10 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
///
/// Read data from VT_ZAEHLER_PD
///
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);
/// 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);
cmd.Parameters.Add(new OracleParameter { ParameterName = "1", OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr });
dr = cmd.ExecuteReader();
if (dr.Read())
@@ -530,8 +551,10 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
///
/// Read data from VT_ZAEHLER_PINDEX_PD
///
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);
/// 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);
cmd.Parameters.Add(new OracleParameter { ParameterName = "1", OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr });
dr = cmd.ExecuteReader();
while (dr.Read())
@@ -551,8 +574,10 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
///
/// Read data from VT_IP_ZAEHLER_PINDEX_PD
///
cmd = new OracleCommand("select PRUEFINDEX, Q2CORRECTIONLEFT, Q2CORRECTIONRIGHT, ERRQ2 from VT_IP_ZAEHLER_PINDEX_PD where VT_FERNUM = :1 AND ANBID = 4", conn);
/// 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);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr });
dr = cmd.ExecuteReader();
while (dr.Read())
@@ -572,7 +597,9 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
/// Read data from VT_PRUEFREIHE_IST_PD
///
/// 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);
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);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 100 * testBenchID + maxPruefindex });
@@ -679,17 +706,17 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
SaveBatchData(conn, batch);
foreach (var wMtr in batch.WaterMeters)
{
if (WMKind == WMKind.Iperl)
if (WMKind == WMKind.iPERL)
{
if ((wMtr.ErrorFlags & ((int)ErrorFlagMask.E26 | (int)ErrorFlagMask.E27 | (int)ErrorFlagMask.E28)) == 0)
{
/// No production error => write the result of testing to Oracle DB
SaveOneIperlToDB(conn, wMtr, safeMode);
SaveIperlToDB(conn, wMtr, safeMode);
}
}
else if (WMKind == WMKind.S620)
else if (WMKind == WMKind.Mechanical)
{
SaveOneS620ToDB(conn, wMtr, safeMode);
SaveMechanicalMeterToDB(conn, wMtr, safeMode);
}
}
@@ -719,7 +746,7 @@ namespace TBF.BenchControl.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);
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;
@@ -733,8 +760,11 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
}
}
{
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);
/// purchase order assigned s/n radio address PCB number Producer ID
/// 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;
@@ -814,11 +844,11 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
if (!dbCfg.TestMode)
{
OracleCommand cmd = new OracleCommand("INSERT INTO VT_PRUEFREIHE_PD(ANBID, ID_Pruefstand, ID_WzPruefreihe, ID_WZTyp, " +
"Rev_WZTyp, Rev_Pruefstand_WZTyp, StartDatumZeit, EndDatumZeit, Betriebsart, " +
"QVzKontakt, FuellenBegDruck, DruckEvakVorne, DruckEvakHinten, DruckBeiAbpressen, " +
"Druckentwaessern, SpuelDurchflussIst, ProgrammVersion)" +
" VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16, :17)", conn);
OracleCommand cmd = new OracleCommand("INSERT INTO vt_pruefreihe_pd(anbid, id_pruefstand, id_wzpruefreihe, id_wztyp," +
" rev_wztyp, rev_pruefstand_wztyp, startdatumzeit, enddatumzeit, betriebsart," +
" qvzkontakt, fuellenbegdruck, druckevakvorne, druckevakhinten, druckbeiabpressen," +
" 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 = 18000 + b.TestBenchId });
@@ -860,9 +890,9 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
if (!dbCfg.TestMode)
{
#if false
OracleCommand cmd2 = new OracleCommand("INSERT INTO VT_PRUEFDURCHFLUSS_PD(ANBID, ID_Pruefstand, ID_WzPruefreihe, PruefungsNr, PVOL, PMasse, " +
"MinDurchfluss, MaxDurchfluss, Q_ist, KFaktor, Q_VZ, F_VZ, RegelEinstellZeit, Drehzahl, BeginnDruck_Vorne, " +
"BeginnDruck_Hinten, EndDruck_Vorne, EndDruck_Hinten, TVWZ, IVWZ, Verwendeter_VZ, BeginnGewicht, EndGewicht) " +
OracleCommand cmd2 = new OracleCommand("INSERT INTO vt_pruefdurchfluss_pd(anbid, id_pruefstand, id_wzpruefreihe, pruefungsnr, pvol, pmasse," +
" mindurchfluss, maxdurchfluss, q_ist, kfaktor, q_vz, f_vz, regeleinstellzeit, drehzahl, beginndruck_vorne," +
" 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 });
@@ -891,14 +921,11 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Units.ConvertTo(Unit.kg, tr.MassEnd) });
cmd2.ExecuteNonQuery(); /// Returns nr. of updated rows
#else
OracleCommand cmd2 = new OracleCommand("INSERT INTO VT_PRUEFDURCHFLUSS_PD(" +
"ANBID, ID_Pruefstand, ID_WzPruefreihe, PruefungsNr, " +
"PVOL, PMasse, MinDurchfluss, MaxDurchfluss, " +
"Q_ist, KFaktor, Q_VZ, F_VZ, RegelEinstellZeit, Drehzahl, " +
"BeginnDruck_Vorne, 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);
var cmd2 = new OracleCommand("INSERT INTO vt_pruefdurchfluss_pd(anbid, id_pruefstand, id_wzpruefreihe, pruefungsnr," +
" pvol, pmasse, mindurchfluss, maxdurchfluss, q_ist, kfaktor, q_vz, f_vz, regeleinstellzeit," +
" drehzahl, beginndruck_vorne, 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);
OracleParameter parm;
parm = new OracleParameter("ANBID", OracleDbType.Int32); parm.Value = Anbid_StaraTura; cmd2.Parameters.Add(parm); ///:1
parm = new OracleParameter("ID_Pruefstand", OracleDbType.Int32); parm.Value = 18000 + b.TestBenchId; cmd2.Parameters.Add(parm); ///:2
@@ -948,7 +975,7 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
/// </summary>
/// <param name="wmNr">0-based water meter number</param>
/// <param name="results">Sorted list of results to save</param>
void SaveOneIperlToDB(OracleConnection conn, Results.Entities.WaterMeter wm, bool safeMode)
void SaveIperlToDB(OracleConnection conn, Results.Entities.WaterMeter wm, bool safeMode)
{
if (safeMode && !wm.Passed) return;
@@ -989,9 +1016,9 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
{
if (!dbCfg.TestMode)
{
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)" +
" VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10)", conn);
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) " +
"VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10)", conn);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.PurchaseOrder });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = "IPBATMXX" });
@@ -1016,7 +1043,9 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
{
if (!dbCfg.TestMode)
{
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 WHERE VT_Fernum = :7 and ANBID = :8", conn);
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 " +
"WHERE vt_fernum = :7 AND anbid = :8", conn);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.PurchaseOrder });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = "IPBATMXX" });
@@ -1038,11 +1067,11 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
if (!dbCfg.TestMode)
{
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, " +
"Zaehlerstand, WT_Platz_NR, WZgut, ID_Benutzer, AnzahlPruefungen)" +
" VALUES (:1, :2, :3, :4, :5, :6, 0, 0, 0, :7, 0, :8, 0, :9, :10, :11, :12)", conn); /// ReedKontakt = ReedKontaktOK = ReedKontaktZeit = FestWertWZ = Zaehlerstand = 0
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," +
" zaehlerstand, wt_platz_nr, wzgut, id_benutzer, anzahlpruefungen) " +
"VALUES (:1, :2, :3, :4, :5, :6, 0, 0, 0, :7, 0, :8, 0, :9, :10, :11, :12)", conn); /// ReedKontakt = ReedKontaktOK = ReedKontaktZeit = FestWertWZ = Zaehlerstand = 0
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = max_Pruefindex });
@@ -1113,10 +1142,10 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
{
double q2ErrWOCorrection = Math.Min(100.0, Math.Max(-100.0, wm.Q2ErrWOCorrection));
OracleCommand cmd = new OracleCommand("INSERT INTO VT_IP_ZAEHLER_PINDEX_PD(" +
"VT_Fernum, Pruefindex, ANBID, WITHCORRECTION2HZ, CORRECTION2HZ, DIFF2HZ8HZ, " +
"WITHQ2CORRECTION, Q2CORRECTIONRIGHT, ERRQ2, Q2CORRECTIONFLOWRIGHT, Q2CORRECTIONLEFT)" +
" VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11)", conn);
OracleCommand cmd = new OracleCommand("INSERT INTO vt_ip_zaehler_pindex_pd(vt_fernum, pruefindex, anbid," +
" withcorrection2hz, correction2hz, diff2hz8hz, withq2correction," +
" q2correctionright, errq2, q2correctionflowright, q2correctionleft) " +
"VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11)", conn);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = max_Pruefindex });
@@ -1141,11 +1170,11 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
/// <summary>
/// Write one meter results into the database
/// Write results of one mechanical meter into the database
/// </summary>
/// <param name="wmNr">0-based water meter number</param>
/// <param name="results">Sorted list of results to save</param>
void SaveOneS620ToDB(OracleConnection conn, Results.Entities.WaterMeter wm, bool safeMode)
void SaveMechanicalMeterToDB(OracleConnection conn, Results.Entities.WaterMeter wm, bool safeMode)
{
if (safeMode && !wm.Passed) return;
@@ -1174,32 +1203,41 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
wm.Pruefindex = MAX_Pruefindex;
wm.HydrPruefung = Hydr_Pruefung;
SaveOrUpdateS620(conn, wm, MAX_Pruefindex, Hydr_Pruefung);
SaveOrUpdateMechanicalMeter(conn, wm, MAX_Pruefindex, Hydr_Pruefung);
}
void SaveOrUpdateS620(OracleConnection conn, Results.Entities.WaterMeter wm, int max_Pruefindex, int hydr_Pruefung)
void SaveOrUpdateMechanicalMeter(OracleConnection conn, Results.Entities.WaterMeter wm, int max_Pruefindex, int hydr_Pruefung)
{
int sekundaere_Adr = wm.Passed ? 1 : 0;
int idBenutzer = 6; // = wm.Batch.UserNumber;
if (max_Pruefindex % 100 == 1)
{
if (!dbCfg.TestMode)
{
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)" +
" VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10)", conn);
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," +
" umkarton_nr, palette_nr, zaehlernummer, prefix, suffix, z_nr_komplett, anbid, id_benutzer) " +
"VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16, :17, :18, :19)", conn);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.PurchaseOrder });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = "IPBATMXX" });
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 = -1 });
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 = YearOfManufacture });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.PurchaseOrder }); /// :1
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = "88888888" }); /// :2
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr }); /// :3
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = max_Pruefindex }); /// :4
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// :5 MBUS_ADR
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// :6 LIEGENSCHAFTS_NR
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// :7 Sekundaere_Adr
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = hydr_Pruefung }); /// :8
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.TimeStamp, Value = wm.Batch.EndTime }); /// :9
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = YearOfManufacture }); /// :10
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = YearOfManufacture }); /// :11
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// :12 UMKARTON_NR
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// :13 PALETTE_NR
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wm.AssignedSerialNr }); /// :14
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 = idBenutzer }); /// :19
cmd.ExecuteNonQuery();
log.InfoFormat("VT_ZAEHLER_PD inserted, PcbNr={0}, pos={1}, maxPruefix={2}", wm.SerialNr, wm.WMPosition, max_Pruefindex);
@@ -1213,16 +1251,31 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
{
if (!dbCfg.TestMode)
{
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 WHERE VT_Fernum = :7 and ANBID = :8", conn);
OracleCommand cmd = new OracleCommand("UPDATE vt_zaehler_pd " +
"SET auftragsnummer=:1, vt_identnummer=:2, max_pruefindex=:3, mbus_adr=:4, liegenschafts_nr=:5," +
" sekundaere_adr=:6, hydr_pruefung=:7, mark_date=:8, baujahr=:9, eich_jahr=:10, umkarton_nr=:11," +
" palette_nr=:12, zaehlernummer=:13, prefix=:14, suffix=:15, z_nr_komplett=:16, id_benutzer=:17 " +
"WHERE vt_fernum = :18 AND anbid = :19", conn);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.PurchaseOrder });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = "IPBATMXX" });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = max_Pruefindex });
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 = 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.Varchar2, Value = wm.PurchaseOrder }); /// :1
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = "88888888" }); /// :2
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = max_Pruefindex }); /// :3
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// :4 MBUS_ADR
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// :5 LIEGENSCHAFTS_NR
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// :6 Sekundaere_Adr
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = hydr_Pruefung }); /// :7
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.TimeStamp, Value = wm.Batch.EndTime }); /// :8
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = YearOfManufacture }); /// :9
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = YearOfManufacture }); /// :10
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// :11 UMKARTON_NR
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// :12 PALETTE_NR
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wm.AssignedSerialNr }); /// :13
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.Prefix }); /// :14
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.Suffix }); /// :15
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.ExecuteNonQuery();
log.InfoFormat("VT_ZAEHLER_PD updated, PcbNr={0}, pos={1}, maxPruefix={2}", wm.SerialNr, wm.WMPosition, max_Pruefindex);
@@ -1235,11 +1288,10 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
if (!dbCfg.TestMode)
{
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, " +
"Zaehlerstand, WT_Platz_NR, WZgut, ID_Benutzer, AnzahlPruefungen)" +
" VALUES (:1, :2, :3, :4, :5, :6, 0, 0, 0, :7, 0, :8, 0, :9, :10, :11, :12)", conn); /// ReedKontakt = ReedKontaktOK = ReedKontaktZeit = FestWertWZ = Zaehlerstand = 0
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," +
" zaehlerstand, wt_platz_nr, wzgut, id_benutzer, anzahlpruefungen) " +
"VALUES (:1, :2, :3, :4, :5, :6, 0, 0, 0, :7, 0, :8, 0, :9, :10, :11, :12)", conn); /// ReedKontakt = ReedKontaktOK = ReedKontaktZeit = FestWertWZ = Zaehlerstand = 0
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = max_Pruefindex });
@@ -1320,27 +1372,26 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
if (!dbCfg.TestMode)
{
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, AnfangZStand, EndZStand, " +
"KorrErrQok, KorrErrQ, KorrQWz, TIZ, Vol_WZ_US, TempMittel_US)" +
" VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, 0, :14, 0, :15, 0, 0)", conn);
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," +
" anfangzstand, endzstand, korrerrqok, korrerrq, korrqwz, tiz, vol_wz_us, tempmittel_us) " +
"VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, 0, :14, 0, :15, 0, 0)", conn);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = mtr.WaterMeter.SerialNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = max_Pruefindex });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = pruefungsNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_StaraTura });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = mtr.WaterMeter.WaterMeterData.WMTypeId });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wmTypeRevision });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 1 });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Q_wm_with_upper_bound });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Math.Min(100.0, Math.Max(-100.0, mtr.Error)) });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = mtr.Passed ? 1 : 0 });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Math.Max(-99999.999, Math.Min(mtr.VolumeStart, 99999.999)) });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Math.Max(-99999.999, Math.Min(mtr.VolumeEnd, 99999.999)) });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Math.Min(100.0, Math.Max(-100.0, mtr.KorrErrQ)) });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Math.Min(100000, mtr.TestTime) });
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 = 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 = 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
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Math.Max(-99999.999, Math.Min(mtr.VolumeStart, 99999.999)) }); /// :12 anfangzstand
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Math.Max(-99999.999, Math.Min(mtr.VolumeEnd, 99999.999)) }); /// :13 endzstand
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();
log.DebugFormat("VT_PRUEFREIHE_IST_PD inserted, PcbNr={0}, pruefungsNr={1}, error={2}", mtr.WaterMeter.SerialNr, pruefungsNr, mtr.Error);
@@ -2,13 +2,14 @@
/// Copyright (c) 2020 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Xml.Serialization;
using Config.Entities;
using Results.Output;
using TBF.BenchControl.Generic;
using TBF.Resources;
using System.Collections.Generic;
namespace TBF.BenchControl.Output.DB.SensusOracle
{
@@ -24,11 +25,13 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
public bool SaveResults; /// 4
public bool ReadStartInfo; /// 5
public bool StartInfoIsRequired; /// 6
public DesigMode DesigMode; /// 7
public Results.Output.LogType DesigType; /// 8
public override void InitializeAll()
{
DBUsed = DBUsed.Production; /// 0
WMKind = WMKind.Iperl; /// 1
WMKind = WMKind.iPERL; /// 1
WMTypeId = 2; /// 2
YearOfManufacture = DateTime.Now.Year; /// 3
#if TURA_SPECIAL
@@ -38,6 +41,8 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
#endif
ReadStartInfo = true; /// 5
StartInfoIsRequired = false; /// 6
DesigMode = DesigMode.Auto; /// 7
DesigType = Results.Output.LogType.Just_Q3Q2Q1; /// 8
}
string[] paramNames = new string[]
@@ -49,44 +54,51 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
"Save results", /// 4
"Read start info", /// 5
"Start info is required", /// 6
"Designation Mode", /// 7
"Designation when mode is 'As_specified'", /// 8
};
public override string ParamName(int i) { return paramNames[i]; }
public override int ParamsCount() { return paramNames.Length; }
public override IList<string> ParamValues(int i)
{
if (i == 0)
{
IList<string> retVal = new List<string>();
switch (i)
{
case 0:
for (DBUsed db = 0; db < DBUsed.Count; db++) retVal.Add(db.ToString());
return retVal;
}
if (i == 1)
{
IList<string> retVal = new List<string>();
case 1:
for (WMKind wm = 0; wm < WMKind.Count; wm++) retVal.Add(wm.ToString());
return retVal;
}
if (i == 3)
{
IList<string> retVal = new List<string>();
case 2:
default:
return null;
case 3:
int year = DateTime.Now.Year;
retVal.Add(year.ToString());
retVal.Add((year + 1).ToString());
return retVal;
}
if (i == 4 || i == 5 || i == 6)
{
IList<string> retVal = new List<string>();
case 4:
case 5:
case 6:
retVal.Add(Strings.yes);
retVal.Add(Strings.no);
return retVal;
}
return null;
case 7:
for (DesigMode md = 0; md < DesigMode.Count; md++) retVal.Add(md.ToString());
return retVal;
case 8:
for (Results.Output.LogType wm = 0; wm < Results.Output.LogType.Count; wm++) retVal.Add(wm.ToString());
return retVal;
}
}
public override string ToString(int i)
@@ -100,6 +112,8 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
case 4: return SaveResults ? Strings.yes : Strings.no;
case 5: return ReadStartInfo ? Strings.yes : Strings.no;
case 6: return StartInfoIsRequired ? Strings.yes : Strings.no;
case 7: return DesigMode.ToString();
case 8: return DesigType.ToString();
default: return string.Empty;
}
}
@@ -136,6 +150,28 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
case 4: SaveResults = (strValue == Strings.yes); break;
case 5: ReadStartInfo = (strValue == Strings.yes); break;
case 6: StartInfoIsRequired = (strValue == Strings.yes); break;
case 7:
for (DesigMode db = 0; db < DesigMode.Count; db++)
{
if (db.ToString() == strValue)
{
DesigMode = db;
return CfgUpdateFlags.None;
}
}
break;
case 8:
for (Results.Output.LogType wm = 0; wm < Results.Output.LogType.Count; wm++)
{
if (wm.ToString() == strValue)
{
DesigType = wm;
return CfgUpdateFlags.None;
}
}
break;
}
return CfgUpdateFlags.None;
@@ -180,6 +216,20 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
return true;
break;
case 7:
for (DesigMode db = 0; db < DesigMode.Count; db++)
{
if (db.ToString() == strValue) return true;
}
break;
case 8:
for (Results.Output.LogType wm = 0; wm < Results.Output.LogType.Count; wm++)
{
if (wm.ToString() == strValue) return true;
}
break;
default:
message = "Invalid index";
return false;
@@ -198,6 +248,8 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
prms.SaveResults = this.SaveResults;
prms.ReadStartInfo = this.ReadStartInfo;
prms.StartInfoIsRequired = this.StartInfoIsRequired;
prms.DesigMode = this.DesigMode;
prms.DesigType = this.DesigType;
}
public IParamsProvider Clone()