SensusOracle.Database : Insert/update of VT_ZAEHLER_PD modified, ResultsMI.DeleteFromOracleForm
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
///
|
||||
/// Copyright (c) 2015-2020 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2015-2021 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -94,9 +94,9 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
/// </summary>
|
||||
Results.Entities.Batch batch;
|
||||
|
||||
OracleConnection productionDB; /// Production Oracle DB connection
|
||||
OracleConnection qualityDB; /// Quality Oracle DB connection
|
||||
OracleConnection testDB; /// Test Oracle DB connection
|
||||
public OracleConnection ProductionDB; /// Production Oracle DB connection
|
||||
public OracleConnection QualityDB; /// Quality Oracle DB connection
|
||||
public OracleConnection TestDB; /// Test Oracle DB connection
|
||||
|
||||
public OracleConnection SelectedDB
|
||||
{
|
||||
@@ -104,9 +104,9 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
{
|
||||
switch (DBUsed)
|
||||
{
|
||||
case DBUsed.Production: return productionDB;
|
||||
case DBUsed.Quality: return qualityDB;
|
||||
case DBUsed.Test: return testDB;
|
||||
case DBUsed.Production: return ProductionDB;
|
||||
case DBUsed.Quality: return QualityDB;
|
||||
case DBUsed.Test: return TestDB;
|
||||
|
||||
default:
|
||||
case DBUsed.None:
|
||||
@@ -115,28 +115,25 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
}
|
||||
}
|
||||
|
||||
#if ORACLE_DB
|
||||
IList<SensusTestInfo> oracleTestInfo; /// Raw incomplete test info from Oracle DB (or null)
|
||||
SensusTestInfo[] completeTestInfo; /// Complete TBF test info obtained as the best match (never null when oracleTestInfo != null)
|
||||
|
||||
///
|
||||
/// The following 3 variables are always updated together
|
||||
///
|
||||
int wmTypeId;
|
||||
int wmTypeRevision;
|
||||
string procedureSignature;
|
||||
#endif
|
||||
IList<SensusTestInfo> oracleTestInfo; /// Raw incomplete test info from Oracle DB (or null)
|
||||
SensusTestInfo[] completeTestInfo; /// Complete TBF test info obtained as the best match (never null when oracleTestInfo != null)
|
||||
|
||||
public Database() {}
|
||||
|
||||
public Database() {}
|
||||
|
||||
public Database(Generic.IComponentCfg cfg)
|
||||
: base(cfg)
|
||||
{
|
||||
dbCfg = cfg as DatabaseCfg;
|
||||
log.Warn(this.ToString());
|
||||
}
|
||||
|
||||
///
|
||||
/// IDevice interface implementation
|
||||
///
|
||||
public override void Initialize()
|
||||
{
|
||||
currentOpState = OpState.None;
|
||||
@@ -144,9 +141,9 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
//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));
|
||||
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
|
||||
@@ -156,24 +153,33 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
SelectedDB.Open();
|
||||
|
||||
string rslt = "none";
|
||||
OracleCommand cmd = new OracleCommand("SELECT standort FROM anbieter_sd WHERE anbid = :1", productionDB);
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.ProducerId });
|
||||
OracleCommand cmd = new OracleCommand("SELECT standort FROM anbieter_sd WHERE anbid = :1", ProductionDB);
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
OracleDataReader dr = cmd.ExecuteReader();
|
||||
if (dr.Read()) rslt = dr.GetString(0);
|
||||
dr.Close();
|
||||
|
||||
SelectedDB.Close();
|
||||
|
||||
log.FatalFormat("{0} initialized: {1}", Name, this);
|
||||
}
|
||||
else
|
||||
{
|
||||
log.FatalFormat("{0} simulated: {1}", Name, this);
|
||||
}
|
||||
}
|
||||
///
|
||||
public void RunDeviceBefore() {}
|
||||
|
||||
///
|
||||
/// IDevice interface implementation
|
||||
///
|
||||
public void RunDeviceBefore() { }
|
||||
public void RunDeviceAfter() {}
|
||||
///
|
||||
public void StopDevice()
|
||||
{
|
||||
if (testDB != null) testDB.Dispose();
|
||||
if (qualityDB != null) qualityDB.Dispose();
|
||||
if (productionDB != null) productionDB.Dispose();
|
||||
if (TestDB != null) TestDB.Dispose();
|
||||
if (QualityDB != null) QualityDB.Dispose();
|
||||
if (ProductionDB != null) ProductionDB.Dispose();
|
||||
}
|
||||
public void StopDevice2() {}
|
||||
|
||||
@@ -207,7 +213,7 @@ 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=: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 = Anbid_Producer });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wmTypeId }); ///:1
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 1 }); ///:2
|
||||
///
|
||||
@@ -529,7 +535,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
"FROM vt_zaehler_pd " +
|
||||
"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 });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
dr = cmd.ExecuteReader();
|
||||
if (dr.Read())
|
||||
{
|
||||
@@ -563,7 +569,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
"FROM vt_zaehler_pindex_pd " +
|
||||
"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 });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
dr = cmd.ExecuteReader();
|
||||
while (dr.Read())
|
||||
{
|
||||
@@ -587,7 +593,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
"FROM vt_ip_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 });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
dr = cmd.ExecuteReader();
|
||||
while (dr.Read())
|
||||
{
|
||||
@@ -611,7 +617,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
"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 });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
|
||||
dr = cmd.ExecuteReader();
|
||||
while (dr.Read())
|
||||
@@ -758,7 +764,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
{
|
||||
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 });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
|
||||
using (OracleDataReader dr = cmd.ExecuteReader())
|
||||
{
|
||||
@@ -773,7 +779,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
"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 });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
|
||||
using (OracleDataReader dr = cmd.ExecuteReader())
|
||||
{
|
||||
@@ -855,7 +861,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 = dbCfg.ProducerId });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
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 });
|
||||
@@ -900,7 +906,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 = dbCfg.ProducerId });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
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 });
|
||||
@@ -932,7 +938,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 = dbCfg.ProducerId; cmd2.Parameters.Add(parm); ///:1
|
||||
parm = new OracleParameter("ANBID", OracleDbType.Int32); parm.Value = Anbid_Producer; 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
|
||||
@@ -961,12 +967,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} ...)", dbCfg.ProducerId, 18000 + b.TestBenchId, b.BatchNr, testInfo.PruefungsNrDB, Q_ist);
|
||||
log.InfoFormat("VT_PRUEFDURCHFLUSS_PD inserted ({0}, {1}, {2}, {3}, {4} ...)", Anbid_Producer, 18000 + b.TestBenchId, b.BatchNr, testInfo.PruefungsNrDB, Q_ist);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
log.WarnFormat("SIM: VT_PRUEFDURCHFLUSS_PD inserted ({0}, {1}, {2}, {3}, {4} ...)", dbCfg.ProducerId, 18000 + b.TestBenchId, b.BatchNr, testInfo.PruefungsNrDB, Q_ist);
|
||||
log.WarnFormat("SIM: VT_PRUEFDURCHFLUSS_PD inserted ({0}, {1}, {2}, {3}, {4} ...)", Anbid_Producer, 18000 + b.TestBenchId, b.BatchNr, testInfo.PruefungsNrDB, Q_ist);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1017,13 +1023,29 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
int sekundaere_Adr = wm.Passed ? 1 : 0;
|
||||
int idBenutzer = 6; // = wm.Batch.UserNumber;
|
||||
|
||||
if (max_Pruefindex % 100 == 1)
|
||||
{
|
||||
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) " +
|
||||
"VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10)", conn);
|
||||
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 " +
|
||||
"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" });
|
||||
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_Producer });
|
||||
|
||||
int updatedRows = cmd.ExecuteNonQuery();
|
||||
int insertedRows = 0;
|
||||
|
||||
if (updatedRows == 0)
|
||||
{
|
||||
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" });
|
||||
@@ -1033,41 +1055,29 @@ 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 = dbCfg.ProducerId });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = YearOfManufacture });
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
log.InfoFormat("VT_ZAEHLER_PD inserted, PcbNr={0}, pos={1}, maxPruefix={2}", wm.SerialNr, wm.WMPosition, max_Pruefindex);
|
||||
insertedRows = cmd.ExecuteNonQuery();
|
||||
|
||||
if (insertedRows == 0)
|
||||
{
|
||||
throw new Exception(string.Format("Failed to insert or update VT_ZAEHLER_PD: PcbNr={0}, pos={1}, maxPruefix={2}", wm.SerialNr, wm.WMPosition, max_Pruefindex));
|
||||
}
|
||||
}
|
||||
|
||||
if (insertedRows > 0)
|
||||
{
|
||||
log.InfoFormat("VT_ZAEHLER_PD {0} row inserted, PcbNr={1}, pos={2}, maxPruefix={3}", insertedRows, wm.SerialNr, wm.WMPosition, max_Pruefindex);
|
||||
}
|
||||
else
|
||||
{
|
||||
log.WarnFormat("SIM: VT_ZAEHLER_PD inserted, PcbNr={0}, pos={1}, maxPruefix={2}", wm.SerialNr, wm.WMPosition, max_Pruefindex);
|
||||
log.InfoFormat("VT_ZAEHLER_PD: {0} rows updated, PcbNr={1}, pos={2}, maxPruefix={3}", updatedRows, wm.SerialNr, wm.WMPosition, max_Pruefindex);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
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 " +
|
||||
"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" });
|
||||
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 = dbCfg.ProducerId });
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
log.InfoFormat("VT_ZAEHLER_PD updated, PcbNr={0}, pos={1}, maxPruefix={2}", wm.SerialNr, wm.WMPosition, max_Pruefindex);
|
||||
}
|
||||
else
|
||||
{
|
||||
log.WarnFormat("SIM: VT_ZAEHLER_PD updated, PcbNr={0}, pos={1}, maxPruefix={2}", wm.SerialNr, wm.WMPosition, max_Pruefindex);
|
||||
}
|
||||
else
|
||||
{
|
||||
log.WarnFormat("SIM: VT_ZAEHLER_PD inserted or updated, PcbNr={0}, pos={1}, maxPruefix={2}", wm.SerialNr, wm.WMPosition, max_Pruefindex);
|
||||
}
|
||||
|
||||
if (dbCfg.DebugLevel == DebugMode.Normal)
|
||||
@@ -1080,7 +1090,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 = dbCfg.ProducerId });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
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 });
|
||||
@@ -1158,7 +1168,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 = dbCfg.ProducerId });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
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)) });
|
||||
@@ -1220,14 +1230,43 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
{
|
||||
int idBenutzer = 6; // = wm.Batch.UserNumber;
|
||||
|
||||
if (max_Pruefindex % 100 == 1)
|
||||
if (dbCfg.DebugLevel == DebugMode.Normal)
|
||||
{
|
||||
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," +
|
||||
" 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 }); /// :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_Producer }); /// :19
|
||||
|
||||
int updatedRows = cmd.ExecuteNonQuery();
|
||||
int insertedRows = 0;
|
||||
|
||||
if (updatedRows == 0)
|
||||
{
|
||||
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 = 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 }); /// :1
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = "88888888" }); /// :2
|
||||
@@ -1246,54 +1285,29 @@ 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 = dbCfg.ProducerId }); /// :18
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer }); /// :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);
|
||||
insertedRows = cmd.ExecuteNonQuery();
|
||||
|
||||
if (insertedRows == 0)
|
||||
{
|
||||
throw new Exception(string.Format("Failed to insert or update VT_ZAEHLER_PD: PcbNr={0}, pos={1}, maxPruefix={2}", wm.SerialNr, wm.WMPosition, max_Pruefindex));
|
||||
}
|
||||
}
|
||||
|
||||
if (insertedRows > 0)
|
||||
{
|
||||
log.InfoFormat("VT_ZAEHLER_PD {0} row inserted, PcbNr={1}, pos={2}, maxPruefix={3}", insertedRows, wm.SerialNr, wm.WMPosition, max_Pruefindex);
|
||||
}
|
||||
else
|
||||
{
|
||||
log.WarnFormat("SIM: VT_ZAEHLER_PD inserted, PcbNr={0}, pos={1}, maxPruefix={2}", wm.SerialNr, wm.WMPosition, max_Pruefindex);
|
||||
log.InfoFormat("VT_ZAEHLER_PD: {0} rows updated, PcbNr={1}, pos={2}, maxPruefix={3}", updatedRows, wm.SerialNr, wm.WMPosition, max_Pruefindex);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
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," +
|
||||
" 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 }); /// :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 = dbCfg.ProducerId }); /// :19
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
log.InfoFormat("VT_ZAEHLER_PD updated, PcbNr={0}, pos={1}, maxPruefix={2}", wm.SerialNr, wm.WMPosition, max_Pruefindex);
|
||||
}
|
||||
else
|
||||
{
|
||||
log.WarnFormat("SIM: VT_ZAEHLER_PD updated, PcbNr={0}, pos={1}, maxPruefix={2}", wm.SerialNr, wm.WMPosition, max_Pruefindex);
|
||||
}
|
||||
log.WarnFormat("SIM: VT_ZAEHLER_PD inserted or updated, PcbNr={0}, pos={1}, maxPruefix={2}", wm.SerialNr, wm.WMPosition, max_Pruefindex);
|
||||
}
|
||||
|
||||
if (dbCfg.DebugLevel == DebugMode.Normal)
|
||||
@@ -1305,7 +1319,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 = dbCfg.ProducerId });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
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 });
|
||||
@@ -1390,7 +1404,7 @@ 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 = dbCfg.ProducerId }); /// :4 anbid
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer }); /// :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
|
||||
@@ -1425,7 +1439,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
/// <returns>List of active purchase orders</returns>
|
||||
public IList<Auftrag> ReadOrderNumbersFromOracle()
|
||||
{
|
||||
OracleConnection connection = productionDB;
|
||||
OracleConnection connection = ProductionDB;
|
||||
|
||||
/// Read a list of valid order numbers from Oracle
|
||||
IList<Auftrag> orders = new List<Auftrag>();
|
||||
@@ -1441,7 +1455,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
"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 });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
OracleDataReader dr = cmd.ExecuteReader();
|
||||
|
||||
while (dr.Read())
|
||||
@@ -1487,7 +1501,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
"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 });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
dr = cmd.ExecuteReader();
|
||||
|
||||
while (dr.Read())
|
||||
|
||||
Reference in New Issue
Block a user