SensusOracle.Database : Insert/update of VT_ZAEHLER_PD modified, ResultsMI.DeleteFromOracleForm
This commit is contained in:
parent
3a6b734aee
commit
3e674b972a
@ -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())
|
||||
|
||||
@ -2345,6 +2345,12 @@
|
||||
<Compile Include="UI\Process\ProcessTabPageExCtrl.designer.cs">
|
||||
<DependentUpon>ProcessTabPageExCtrl.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UI\ResultsMI\DeleteFromOracleForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UI\ResultsMI\DeleteFromOracleForm.designer.cs">
|
||||
<DependentUpon>DeleteFromOracleForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UI\ResultsMI\PreviousResultCtrl.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
@ -3232,6 +3238,9 @@
|
||||
<EmbeddedResource Include="UI\Process\ProcessTabPageExCtrl.resx">
|
||||
<DependentUpon>ProcessTabPageExCtrl.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\ResultsMI\DeleteFromOracleForm.resx">
|
||||
<DependentUpon>DeleteFromOracleForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\ResultsMI\PreviousResultCtrl.resx">
|
||||
<DependentUpon>PreviousResultCtrl.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
243
TBF/UI/ResultsMI/DeleteFromOracleForm.Designer.cs
generated
Normal file
243
TBF/UI/ResultsMI/DeleteFromOracleForm.Designer.cs
generated
Normal file
@ -0,0 +1,243 @@
|
||||
namespace TBF.UI.ResultsMI
|
||||
{
|
||||
partial class DeleteFromOracleForm
|
||||
{
|
||||
/// <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 Windows Form 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.selectWhatToDeleteGroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.waterMetersTextBox = new System.Windows.Forms.TextBox();
|
||||
this.waterMetersRadioButton = new System.Windows.Forms.RadioButton();
|
||||
this.batchRadioButton = new System.Windows.Forms.RadioButton();
|
||||
this.startButton = new System.Windows.Forms.Button();
|
||||
this.activityGroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.activityTextBox = new System.Windows.Forms.TextBox();
|
||||
this.wmTypeGroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.s640RadioButton = new System.Windows.Forms.RadioButton();
|
||||
this.s620RadioButton = new System.Windows.Forms.RadioButton();
|
||||
this.iPerlRadioButton = new System.Windows.Forms.RadioButton();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.batchNrTextBox = new System.Windows.Forms.TextBox();
|
||||
this.selectWhatToDeleteGroupBox.SuspendLayout();
|
||||
this.activityGroupBox.SuspendLayout();
|
||||
this.wmTypeGroupBox.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// selectWhatToDeleteGroupBox
|
||||
//
|
||||
this.selectWhatToDeleteGroupBox.Controls.Add(this.waterMetersRadioButton);
|
||||
this.selectWhatToDeleteGroupBox.Controls.Add(this.batchRadioButton);
|
||||
this.selectWhatToDeleteGroupBox.Location = new System.Drawing.Point(117, 16);
|
||||
this.selectWhatToDeleteGroupBox.Name = "selectWhatToDeleteGroupBox";
|
||||
this.selectWhatToDeleteGroupBox.Size = new System.Drawing.Size(134, 110);
|
||||
this.selectWhatToDeleteGroupBox.TabIndex = 0;
|
||||
this.selectWhatToDeleteGroupBox.TabStop = false;
|
||||
this.selectWhatToDeleteGroupBox.Text = "Select what to delete";
|
||||
//
|
||||
// waterMetersTextBox
|
||||
//
|
||||
this.waterMetersTextBox.Location = new System.Drawing.Point(267, 70);
|
||||
this.waterMetersTextBox.Multiline = true;
|
||||
this.waterMetersTextBox.Name = "waterMetersTextBox";
|
||||
this.waterMetersTextBox.Size = new System.Drawing.Size(211, 56);
|
||||
this.waterMetersTextBox.TabIndex = 2;
|
||||
//
|
||||
// waterMetersRadioButton
|
||||
//
|
||||
this.waterMetersRadioButton.AutoSize = true;
|
||||
this.waterMetersRadioButton.Location = new System.Drawing.Point(16, 45);
|
||||
this.waterMetersRadioButton.Name = "waterMetersRadioButton";
|
||||
this.waterMetersRadioButton.Size = new System.Drawing.Size(88, 17);
|
||||
this.waterMetersRadioButton.TabIndex = 1;
|
||||
this.waterMetersRadioButton.Text = "Water meters";
|
||||
this.waterMetersRadioButton.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// batchRadioButton
|
||||
//
|
||||
this.batchRadioButton.AutoSize = true;
|
||||
this.batchRadioButton.Checked = true;
|
||||
this.batchRadioButton.Location = new System.Drawing.Point(16, 23);
|
||||
this.batchRadioButton.Name = "batchRadioButton";
|
||||
this.batchRadioButton.Size = new System.Drawing.Size(53, 17);
|
||||
this.batchRadioButton.TabIndex = 0;
|
||||
this.batchRadioButton.TabStop = true;
|
||||
this.batchRadioButton.Text = "Batch";
|
||||
this.batchRadioButton.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// startButton
|
||||
//
|
||||
this.startButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.startButton.Location = new System.Drawing.Point(494, 24);
|
||||
this.startButton.Name = "startButton";
|
||||
this.startButton.Size = new System.Drawing.Size(70, 40);
|
||||
this.startButton.TabIndex = 1;
|
||||
this.startButton.Text = "Start";
|
||||
this.startButton.UseVisualStyleBackColor = true;
|
||||
this.startButton.Click += new System.EventHandler(this.startButton_Click);
|
||||
//
|
||||
// activityGroupBox
|
||||
//
|
||||
this.activityGroupBox.Controls.Add(this.activityTextBox);
|
||||
this.activityGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.activityGroupBox.Location = new System.Drawing.Point(0, 0);
|
||||
this.activityGroupBox.Name = "activityGroupBox";
|
||||
this.activityGroupBox.Size = new System.Drawing.Size(584, 317);
|
||||
this.activityGroupBox.TabIndex = 2;
|
||||
this.activityGroupBox.TabStop = false;
|
||||
this.activityGroupBox.Text = "Activity";
|
||||
//
|
||||
// activityTextBox
|
||||
//
|
||||
this.activityTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.activityTextBox.Location = new System.Drawing.Point(3, 16);
|
||||
this.activityTextBox.Multiline = true;
|
||||
this.activityTextBox.Name = "activityTextBox";
|
||||
this.activityTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||
this.activityTextBox.Size = new System.Drawing.Size(578, 298);
|
||||
this.activityTextBox.TabIndex = 0;
|
||||
//
|
||||
// wmTypeGroupBox
|
||||
//
|
||||
this.wmTypeGroupBox.Controls.Add(this.s640RadioButton);
|
||||
this.wmTypeGroupBox.Controls.Add(this.s620RadioButton);
|
||||
this.wmTypeGroupBox.Controls.Add(this.iPerlRadioButton);
|
||||
this.wmTypeGroupBox.Location = new System.Drawing.Point(13, 15);
|
||||
this.wmTypeGroupBox.Name = "wmTypeGroupBox";
|
||||
this.wmTypeGroupBox.Size = new System.Drawing.Size(98, 111);
|
||||
this.wmTypeGroupBox.TabIndex = 3;
|
||||
this.wmTypeGroupBox.TabStop = false;
|
||||
this.wmTypeGroupBox.Text = "WM Type";
|
||||
//
|
||||
// s640RadioButton
|
||||
//
|
||||
this.s640RadioButton.AutoSize = true;
|
||||
this.s640RadioButton.Location = new System.Drawing.Point(15, 65);
|
||||
this.s640RadioButton.Name = "s640RadioButton";
|
||||
this.s640RadioButton.Size = new System.Drawing.Size(43, 17);
|
||||
this.s640RadioButton.TabIndex = 2;
|
||||
this.s640RadioButton.TabStop = true;
|
||||
this.s640RadioButton.Text = "640";
|
||||
this.s640RadioButton.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// s620RadioButton
|
||||
//
|
||||
this.s620RadioButton.AutoSize = true;
|
||||
this.s620RadioButton.Location = new System.Drawing.Point(15, 44);
|
||||
this.s620RadioButton.Name = "s620RadioButton";
|
||||
this.s620RadioButton.Size = new System.Drawing.Size(43, 17);
|
||||
this.s620RadioButton.TabIndex = 1;
|
||||
this.s620RadioButton.TabStop = true;
|
||||
this.s620RadioButton.Text = "620";
|
||||
this.s620RadioButton.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// iPerlRadioButton
|
||||
//
|
||||
this.iPerlRadioButton.AutoSize = true;
|
||||
this.iPerlRadioButton.Checked = true;
|
||||
this.iPerlRadioButton.Location = new System.Drawing.Point(15, 21);
|
||||
this.iPerlRadioButton.Name = "iPerlRadioButton";
|
||||
this.iPerlRadioButton.Size = new System.Drawing.Size(55, 17);
|
||||
this.iPerlRadioButton.TabIndex = 0;
|
||||
this.iPerlRadioButton.TabStop = true;
|
||||
this.iPerlRadioButton.Text = "iPERL";
|
||||
this.iPerlRadioButton.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer1.IsSplitterFixed = true;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.batchNrTextBox);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.wmTypeGroupBox);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.waterMetersTextBox);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.startButton);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.selectWhatToDeleteGroupBox);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.activityGroupBox);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(584, 461);
|
||||
this.splitContainer1.SplitterDistance = 140;
|
||||
this.splitContainer1.TabIndex = 4;
|
||||
//
|
||||
// batchNrTextBox
|
||||
//
|
||||
this.batchNrTextBox.Location = new System.Drawing.Point(378, 33);
|
||||
this.batchNrTextBox.Name = "batchNrTextBox";
|
||||
this.batchNrTextBox.Size = new System.Drawing.Size(100, 20);
|
||||
this.batchNrTextBox.TabIndex = 3;
|
||||
//
|
||||
// DeleteFromOracleForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(584, 461);
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.MinimumSize = new System.Drawing.Size(600, 500);
|
||||
this.Name = "DeleteFromOracleForm";
|
||||
this.Text = "Delete Data From Oracle";
|
||||
this.selectWhatToDeleteGroupBox.ResumeLayout(false);
|
||||
this.selectWhatToDeleteGroupBox.PerformLayout();
|
||||
this.activityGroupBox.ResumeLayout(false);
|
||||
this.activityGroupBox.PerformLayout();
|
||||
this.wmTypeGroupBox.ResumeLayout(false);
|
||||
this.wmTypeGroupBox.PerformLayout();
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel1.PerformLayout();
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.GroupBox selectWhatToDeleteGroupBox;
|
||||
private System.Windows.Forms.TextBox waterMetersTextBox;
|
||||
private System.Windows.Forms.RadioButton waterMetersRadioButton;
|
||||
private System.Windows.Forms.RadioButton batchRadioButton;
|
||||
private System.Windows.Forms.Button startButton;
|
||||
private System.Windows.Forms.GroupBox activityGroupBox;
|
||||
private System.Windows.Forms.TextBox activityTextBox;
|
||||
private System.Windows.Forms.GroupBox wmTypeGroupBox;
|
||||
private System.Windows.Forms.RadioButton s640RadioButton;
|
||||
private System.Windows.Forms.RadioButton s620RadioButton;
|
||||
private System.Windows.Forms.RadioButton iPerlRadioButton;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.TextBox batchNrTextBox;
|
||||
}
|
||||
}
|
||||
388
TBF/UI/ResultsMI/DeleteFromOracleForm.cs
Normal file
388
TBF/UI/ResultsMI/DeleteFromOracleForm.cs
Normal file
@ -0,0 +1,388 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using NHibernate;
|
||||
#if MANAGED
|
||||
using Oracle.ManagedDataAccess.Client;
|
||||
#else
|
||||
using Oracle.DataAccess.Client;
|
||||
#endif
|
||||
|
||||
using TBF.Resources;
|
||||
using TBF.Rig.Output.DB.SensusOracle;
|
||||
using TBF.Rig.Sequences;
|
||||
using Common;
|
||||
using Config.Entities;
|
||||
|
||||
namespace TBF.UI.ResultsMI
|
||||
{
|
||||
enum WMType
|
||||
{
|
||||
Iperl,
|
||||
S620,
|
||||
S640,
|
||||
}
|
||||
|
||||
public partial class DeleteFromOracleForm : Form
|
||||
{
|
||||
string testBenchName;
|
||||
int testBenchId;
|
||||
WMType wmType;
|
||||
bool deleteBatch;
|
||||
int batchNumber;
|
||||
IList<string> pcbNumbers;
|
||||
|
||||
public DeleteFromOracleForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
testBenchName = ProcessData.BenchInfo.TestBenchName;
|
||||
testBenchId = ProcessData.BenchInfo.TestBenchId;
|
||||
|
||||
batchNumber = 0;
|
||||
pcbNumbers = new List<string>();
|
||||
}
|
||||
|
||||
bool GetSelection()
|
||||
{
|
||||
wmType = iPerlRadioButton.Checked ? WMType.Iperl : s620RadioButton.Checked ? WMType.S620 : WMType.S640;
|
||||
|
||||
deleteBatch = batchRadioButton.Checked;
|
||||
|
||||
if (!int.TryParse(batchNrTextBox.Text, out batchNumber) || batchNumber <= 0)
|
||||
{
|
||||
batchNumber = 0;
|
||||
}
|
||||
|
||||
pcbNumbers.Clear();
|
||||
string[] items = waterMetersTextBox.Text.Split(new char[] { ',', ';', '\r', '\n' });
|
||||
foreach (var item in items)
|
||||
{
|
||||
string itm = item.Trim();
|
||||
if (itm.Length == 12) pcbNumbers.Add(itm);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private void startButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
activityTextBox.Text = string.Empty;
|
||||
|
||||
if (!GetSelection())
|
||||
{
|
||||
MessageBox.Show("Invalid selection of data to be deleted");
|
||||
return;
|
||||
}
|
||||
|
||||
OracleConnection conn;
|
||||
///
|
||||
if (ProcessData.OracleDB == null ||
|
||||
ProcessData.OracleDB.DebugLevel != DebugMode.Normal)
|
||||
{
|
||||
MessageBox.Show("No Oracle database or it is in simulation mode");
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (DBUsed.Production)
|
||||
{
|
||||
default:
|
||||
case DBUsed.Production: conn = ProcessData.OracleDB.ProductionDB; break;
|
||||
case DBUsed.Quality: conn = ProcessData.OracleDB.QualityDB; break;
|
||||
case DBUsed.Test: conn = ProcessData.OracleDB.TestDB; break;
|
||||
}
|
||||
|
||||
if (conn == null)
|
||||
{
|
||||
MessageBox.Show("No connection to Oracle database");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/// TODO: Implement database selection
|
||||
MessageBox.Show(string.Format("Výsledky budú zapísané do produkčnej databázy"),
|
||||
Strings.Information,
|
||||
MessageBoxButtons.OK,
|
||||
MessageBoxIcon.Information);
|
||||
|
||||
if (deleteBatch)
|
||||
{
|
||||
activityTextBox.Text = string.Format("Going to delete batch {0}{1}", batchNumber, Environment.NewLine);
|
||||
|
||||
if (!DeleteBatch(conn, batchNumber))
|
||||
{
|
||||
MessageBox.Show(string.Format("Deleting batch {0} failed", batchNumber));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
activityTextBox.Text = string.Format("Going to delete water meters:{0}", Environment.NewLine);
|
||||
foreach (var pcb in pcbNumbers)
|
||||
{
|
||||
activityTextBox.Text += string.Format("{0}{1}", pcb, Environment.NewLine);
|
||||
}
|
||||
|
||||
if (!DeleteWaterMeters(conn, pcbNumbers))
|
||||
{
|
||||
MessageBox.Show("Deleting iPERL-s failed");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool DeleteBatch(OracleConnection conn, int batchNr)
|
||||
{
|
||||
OracleCommand cmd;
|
||||
OracleDataReader dr;
|
||||
int deletedRows;
|
||||
|
||||
try
|
||||
{
|
||||
conn.Open(); /// Open the Oracle database
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
activityTextBox.Text += string.Format("Cannot open Oracle database: {0}", exc.Message);
|
||||
conn.Close();
|
||||
return false;
|
||||
}
|
||||
|
||||
/// Get a list of water meters
|
||||
IList<int> pruefindexes;
|
||||
IList<string> waterMeters = GetListOfWaterMeters(conn, batchNr, out pruefindexes);
|
||||
|
||||
/// Read this batch tests data from VT_PRUEFDURCHFLUSS_PD
|
||||
IList<int> testNumbers = new List<int>(); ;
|
||||
cmd = new OracleCommand("SELECT pruefungsnr " +
|
||||
"FROM vt_pruefdurchfluss_pd " +
|
||||
"WHERE anbid = :1 AND id_pruefstand = :2 AND id_wzpruefreihe = :3", conn);
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "1", OracleDbType = OracleDbType.Int32, Value = ProcessData.OracleDB.Anbid_Producer });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "2", OracleDbType = OracleDbType.Int32, Value = 18000 + testBenchId });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "3", OracleDbType = OracleDbType.Int32, Value = batchNr });
|
||||
///
|
||||
dr = cmd.ExecuteReader();
|
||||
bool found = false;
|
||||
while (dr.Read())
|
||||
{
|
||||
int i = 0;
|
||||
int pruefungsnr = dr.GetInt32(i++);
|
||||
testNumbers.Add(pruefungsnr);
|
||||
activityTextBox.Text += string.Format("pruefungsnr = {0} found in table vt_pruefdurchfluss_p, batch = {1}{2}", pruefungsnr, batchNr, Environment.NewLine);
|
||||
found = true;
|
||||
}
|
||||
dr.Close();
|
||||
if (!found) activityTextBox.Text += string.Format("Nothing found in table vt_pruefdurchfluss_pd, batch = {0}{1}", batchNr, Environment.NewLine);
|
||||
|
||||
/// Transaction start
|
||||
OracleTransaction transaction = conn.BeginTransaction();
|
||||
|
||||
///
|
||||
/// Delete water meters
|
||||
///
|
||||
try
|
||||
{
|
||||
for (int i = 0; i < waterMeters.Count; i++)
|
||||
{
|
||||
string pcbNr = waterMeters[i];
|
||||
int pruefindex = pruefindexes[i] % 100;
|
||||
///
|
||||
foreach (var pruefungsnr in testNumbers)
|
||||
{
|
||||
cmd = new OracleCommand("DELETE FROM vt_pruefreihe_ist_pd " +
|
||||
"WHERE anbid = :1 AND vt_fernum = :2 AND pruefungsnr = :3 AND pruefindex = :4", conn);
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "1", OracleDbType = OracleDbType.Int32, Value = ProcessData.OracleDB.Anbid_Producer });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "2", OracleDbType = OracleDbType.Varchar2, Value = pcbNr });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "3", OracleDbType = OracleDbType.Int32, Value = pruefungsnr });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "4", OracleDbType = OracleDbType.Int32, Value = 100 * testBenchId + pruefindex });
|
||||
///
|
||||
deletedRows = cmd.ExecuteNonQuery();
|
||||
activityTextBox.Text += string.Format("{0} rows deleted from vt_pruefreihe_ist_pd, pcb# = {1}, test# = {2}{3}", deletedRows, pcbNr, pruefungsnr, Environment.NewLine);
|
||||
}
|
||||
|
||||
if (wmType == WMType.Iperl)
|
||||
{
|
||||
cmd = new OracleCommand("DELETE FROM vt_ip_zaehler_pindex_pd " +
|
||||
"WHERE anbid = :1 AND vt_fernum = :2 AND pruefindex = :3", conn);
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "1", OracleDbType = OracleDbType.Int32, Value = ProcessData.OracleDB.Anbid_Producer });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "2", OracleDbType = OracleDbType.Varchar2, Value = pcbNr });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "3", OracleDbType = OracleDbType.Int32, Value = 100 * testBenchId + pruefindex });
|
||||
///
|
||||
deletedRows = cmd.ExecuteNonQuery();
|
||||
activityTextBox.Text += string.Format("{0} rows deleted from vt_ip_zaehler_pindex_pd, pcb# = {1}{2}", deletedRows, pcbNr, Environment.NewLine);
|
||||
}
|
||||
|
||||
|
||||
cmd = new OracleCommand("DELETE FROM vt_zaehler_pindex_pd " +
|
||||
"WHERE anbid = :1 AND vt_fernum = :2 AND pruefindex = :3", conn);
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "1", OracleDbType = OracleDbType.Int32, Value = ProcessData.OracleDB.Anbid_Producer });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "2", OracleDbType = OracleDbType.Varchar2, Value = pcbNr });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "3", OracleDbType = OracleDbType.Int32, Value = 100 * testBenchId + pruefindex });
|
||||
///
|
||||
deletedRows = cmd.ExecuteNonQuery();
|
||||
activityTextBox.Text += string.Format("{0} rows deleted from vt_zaehler_pindex_pd, pcb# = {1}{2}", deletedRows, pcbNr, Environment.NewLine);
|
||||
|
||||
|
||||
cmd = new OracleCommand("DELETE FROM vt_zaehler_pd " +
|
||||
"WHERE anbid = :1 AND vt_fernum = :2", conn);
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "1", OracleDbType = OracleDbType.Int32, Value = ProcessData.OracleDB.Anbid_Producer });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "2", OracleDbType = OracleDbType.Varchar2, Value = pcbNr });
|
||||
///
|
||||
deletedRows = cmd.ExecuteNonQuery();
|
||||
activityTextBox.Text += string.Format("{0} rows deleted from vt_zaehler_pd, pcb# = {1}{2}", deletedRows, pcbNr, Environment.NewLine);
|
||||
}
|
||||
|
||||
///
|
||||
/// Delete (common) batch data
|
||||
///
|
||||
cmd = new OracleCommand("DELETE FROM vt_pruefdurchfluss_pd " +
|
||||
"WHERE anbid = :1 AND id_pruefstand = :2 AND id_wzpruefreihe = :3", conn);
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "1", OracleDbType = OracleDbType.Int32, Value = ProcessData.OracleDB.Anbid_Producer });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "2", OracleDbType = OracleDbType.Int32, Value = 18000 + testBenchId });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "3", OracleDbType = OracleDbType.Int32, Value = batchNr });
|
||||
///
|
||||
deletedRows = cmd.ExecuteNonQuery();
|
||||
activityTextBox.Text += string.Format("{0} rows deleted from vt_pruefdurchfluss_pd, batchNr# = {1}{2}", deletedRows, batchNr, Environment.NewLine);
|
||||
|
||||
|
||||
cmd = new OracleCommand("DELETE FROM vt_pruefreihe_pd " +
|
||||
"WHERE anbid = :1 AND id_pruefstand = :2 AND id_wzpruefreihe = :3", conn);
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "1", OracleDbType = OracleDbType.Int32, Value = ProcessData.OracleDB.Anbid_Producer });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "2", OracleDbType = OracleDbType.Int32, Value = 18000 + testBenchId });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "3", OracleDbType = OracleDbType.Int32, Value = batchNr });
|
||||
///
|
||||
deletedRows = cmd.ExecuteNonQuery();
|
||||
activityTextBox.Text += string.Format("{0} rows deleted from vt_pruefreihe_pd, batchNr# = {1}{2}", deletedRows, batchNr, Environment.NewLine);
|
||||
|
||||
|
||||
/// Transaction end
|
||||
transaction.Commit();
|
||||
conn.Close();
|
||||
activityTextBox.Text += string.Format("Successfully completed");
|
||||
return true;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
transaction.Rollback();
|
||||
conn.Close();
|
||||
activityTextBox.Text += string.Format("Transaction failed: {0}{1}", exc.Message, Environment.NewLine);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
IList<string> GetListOfWaterMeters(OracleConnection conn, int batchNr, out IList<int> pruefindexes)
|
||||
{
|
||||
IList<string> pcbNrs = new List<string>();
|
||||
pruefindexes = new List<int>();
|
||||
OracleCommand cmd;
|
||||
OracleDataReader dr;
|
||||
|
||||
cmd = new OracleCommand("SELECT vt_fernum, pruefindex " +
|
||||
"FROM vt_zaehler_pindex_pd " +
|
||||
"WHERE anbid = :1 AND id_pruefstand = :2 AND id_wzpruefreihe = :3", conn);
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "1", OracleDbType = OracleDbType.Int32, Value = ProcessData.OracleDB.Anbid_Producer });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "2", OracleDbType = OracleDbType.Int32, Value = 18000 + testBenchId });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "3", OracleDbType = OracleDbType.Int32, Value = batchNr });
|
||||
|
||||
dr = cmd.ExecuteReader();
|
||||
activityTextBox.Text += string.Format("Water meters:{0}", Environment.NewLine);
|
||||
while (dr.Read())
|
||||
{
|
||||
int i = 0;
|
||||
string pcbNr = dr.GetString(i++);
|
||||
pcbNrs.Add(pcbNr);
|
||||
pruefindexes.Add(dr.GetInt32(i++));
|
||||
activityTextBox.Text += string.Format("{0}, ", pcbNr);
|
||||
}
|
||||
dr.Close();
|
||||
activityTextBox.Text += Environment.NewLine;
|
||||
activityTextBox.Text += Environment.NewLine;
|
||||
|
||||
return pcbNrs;
|
||||
}
|
||||
|
||||
bool DeleteWaterMeters(OracleConnection conn, IList<string> waterMeters)
|
||||
{
|
||||
OracleCommand cmd;
|
||||
OracleDataReader dr;
|
||||
int deletedRows;
|
||||
|
||||
try
|
||||
{
|
||||
conn.Open(); /// Open the Oracle database
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
activityTextBox.Text += string.Format("Cannot open Oracle database: {0}", exc.Message);
|
||||
conn.Close();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/// Transaction start
|
||||
OracleTransaction transaction = conn.BeginTransaction();
|
||||
|
||||
///
|
||||
/// Delete water meters
|
||||
///
|
||||
try
|
||||
{
|
||||
for (int i = 0; i < waterMeters.Count; i++)
|
||||
{
|
||||
string pcbNr = waterMeters[i];
|
||||
///
|
||||
cmd = new OracleCommand("DELETE FROM vt_pruefreihe_ist_pd " +
|
||||
"WHERE anbid = :1 AND vt_fernum = :2", conn);
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "1", OracleDbType = OracleDbType.Int32, Value = ProcessData.OracleDB.Anbid_Producer });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "2", OracleDbType = OracleDbType.Varchar2, Value = pcbNr });
|
||||
///
|
||||
deletedRows = cmd.ExecuteNonQuery();
|
||||
activityTextBox.Text += string.Format("{0} rows deleted from vt_pruefreihe_ist_pd, pcb# = {1}{2}", deletedRows, pcbNr, Environment.NewLine);
|
||||
|
||||
|
||||
if (wmType == WMType.Iperl)
|
||||
{
|
||||
cmd = new OracleCommand("DELETE FROM vt_ip_zaehler_pindex_pd " +
|
||||
"WHERE anbid = :1 AND vt_fernum = :2", conn);
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "1", OracleDbType = OracleDbType.Int32, Value = ProcessData.OracleDB.Anbid_Producer });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "2", OracleDbType = OracleDbType.Varchar2, Value = pcbNr });
|
||||
///
|
||||
deletedRows = cmd.ExecuteNonQuery();
|
||||
activityTextBox.Text += string.Format("{0} rows deleted from vt_ip_zaehler_pindex_pd, pcb# = {1}{2}", deletedRows, pcbNr, Environment.NewLine);
|
||||
}
|
||||
|
||||
|
||||
cmd = new OracleCommand("DELETE FROM vt_zaehler_pindex_pd " +
|
||||
"WHERE anbid = :1 AND vt_fernum = :2", conn);
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "1", OracleDbType = OracleDbType.Int32, Value = ProcessData.OracleDB.Anbid_Producer });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "2", OracleDbType = OracleDbType.Varchar2, Value = pcbNr });
|
||||
///
|
||||
deletedRows = cmd.ExecuteNonQuery();
|
||||
activityTextBox.Text += string.Format("{0} rows deleted from vt_zaehler_pindex_pd, pcb# = {1}{2}", deletedRows, pcbNr, Environment.NewLine);
|
||||
|
||||
|
||||
cmd = new OracleCommand("DELETE FROM vt_zaehler_pd " +
|
||||
"WHERE anbid = :1 AND vt_fernum = :2", conn);
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "1", OracleDbType = OracleDbType.Int32, Value = ProcessData.OracleDB.Anbid_Producer });
|
||||
cmd.Parameters.Add(new OracleParameter { ParameterName = "2", OracleDbType = OracleDbType.Varchar2, Value = pcbNr });
|
||||
///
|
||||
deletedRows = cmd.ExecuteNonQuery();
|
||||
activityTextBox.Text += string.Format("{0} rows deleted from vt_zaehler_pd, pcb# = {1}{2}", deletedRows, pcbNr, Environment.NewLine);
|
||||
}
|
||||
|
||||
/// Transaction end
|
||||
transaction.Commit();
|
||||
conn.Close();
|
||||
activityTextBox.Text += string.Format("Successfully completed");
|
||||
return true;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
transaction.Rollback();
|
||||
conn.Close();
|
||||
activityTextBox.Text += string.Format("Transaction failed: {0}{1}", exc.Message, Environment.NewLine);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
120
TBF/UI/ResultsMI/DeleteFromOracleForm.resx
Normal file
120
TBF/UI/ResultsMI/DeleteFromOracleForm.resx
Normal file
@ -0,0 +1,120 @@
|
||||
<?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>
|
||||
Loading…
Reference in New Issue
Block a user