Writing into VT_PRUEFREIHE_PD added, version 1.5.141.

This commit is contained in:
Milan Hanajik 2015-11-13 00:03:33 +01:00
parent 8cd4f12de3
commit 8a0411bd92
5 changed files with 144 additions and 62 deletions

View File

@ -135,3 +135,8 @@ Process screen:
---
Zobrazit Sim -> prec (ako?)
-------------------------------------------
Ked sa bude upgradovat DB
-------------------------------------------
- oddelit vysledky od konfiguracie
- zaviest ProcedureResult: (TestBenchID, ProgramVersion, ProcedureName, WM_ID, PurchaseNr, BatchNr, TimestampStart, TimestampEnd, Purging parameters, Evacuation parameters)

View File

@ -37,6 +37,8 @@ namespace TBF.BenchControl.DB.SensusOracle
DateTime dateTime;
StreamWriter writer;
bool batchDataSaved; /// This is to save batch data (VT_PRUEFREIHE_PD) only once
string separatorStr;
public Database()
@ -215,6 +217,8 @@ namespace TBF.BenchControl.DB.SensusOracle
/// <summary>Start this operation</summary>
public void Start()
{
batchDataSaved = false;
if (writer == null) return;
///----------
@ -377,45 +381,88 @@ namespace TBF.BenchControl.DB.SensusOracle
Hydr_Pruefung = 224;
}
OracleTransaction transaction = conn.BeginTransaction();
try
string pOrder = string.IsNullOrEmpty(unsortedResults[0].PurchaseOrder) ? string.Empty : unsortedResults[0].PurchaseOrder;
if (MAX_Pruefindex % 100 == 1)
{
string pOrder = string.IsNullOrEmpty(unsortedResults[0].PurchaseOrder) ? string.Empty : unsortedResults[0].PurchaseOrder;
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 (MAX_Pruefindex % 100 == 1)
{
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);
OracleParameter parm;
parm = new OracleParameter("Auftragsnummer", OracleDbType.Varchar2); parm.Value = pOrder; cmd.Parameters.Add(parm);
parm = new OracleParameter("VT_Identnummer", OracleDbType.Varchar2); parm.Value = "IPBATMXX"; cmd.Parameters.Add(parm);
parm = new OracleParameter("VT_Fernum", OracleDbType.Varchar2); parm.Value = pcbNr; cmd.Parameters.Add(parm);
parm = new OracleParameter("Max_Pruefindex", OracleDbType.Int32); parm.Value = MAX_Pruefindex; cmd.Parameters.Add(parm);
parm = new OracleParameter("Zaehlernummer", OracleDbType.Int32); parm.Value = -1; cmd.Parameters.Add(parm);
parm = new OracleParameter("Sekundaere_Adr", OracleDbType.Int32); parm.Value = Sekundaere_Adr; cmd.Parameters.Add(parm);
parm = new OracleParameter("Hydr_Pruefung", OracleDbType.Int32); parm.Value = Hydr_Pruefung; cmd.Parameters.Add(parm);
parm = new OracleParameter("ID_Benutzer", OracleDbType.Int32); parm.Value = 6; cmd.Parameters.Add(parm);
parm = new OracleParameter("ANBID", OracleDbType.Int32); parm.Value = Anbid_StaraTura; cmd.Parameters.Add(parm);
parm = new OracleParameter("Baujahr", OracleDbType.Int32); parm.Value = dbCfg.Baujahr; cmd.Parameters.Add(parm);
int rowsUpdated = cmd.ExecuteNonQuery();
}
else
{
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);
OracleParameter parm;
parm = new OracleParameter("Auftragsnummer", OracleDbType.Varchar2); parm.Value = pOrder; cmd.Parameters.Add(parm);
parm = new OracleParameter("VT_Identnummer", OracleDbType.Varchar2); parm.Value = "IPBATMXX"; cmd.Parameters.Add(parm);
parm = new OracleParameter("Max_Pruefindex", OracleDbType.Int32); parm.Value = MAX_Pruefindex; cmd.Parameters.Add(parm);
parm = new OracleParameter("Hydr_Pruefung", OracleDbType.Int32); parm.Value = Hydr_Pruefung; cmd.Parameters.Add(parm);
parm = new OracleParameter("ID_Benutzer", OracleDbType.Int32); parm.Value = 6; cmd.Parameters.Add(parm);
parm = new OracleParameter("Baujahr", OracleDbType.Int32); parm.Value = dbCfg.Baujahr; cmd.Parameters.Add(parm);
parm = new OracleParameter("VT_Fernum", OracleDbType.Varchar2); parm.Value = pcbNr; cmd.Parameters.Add(parm);
parm = new OracleParameter("ANBID", OracleDbType.Int32); parm.Value = Anbid_StaraTura; cmd.Parameters.Add(parm);
int rowsUpdated = cmd.ExecuteNonQuery();
}
OracleTransaction transaction = conn.BeginTransaction();
try
{
if (!batchDataSaved)
{
///
/// Batch data
///
DateTime start = results[0].TimeStart;
DateTime end = results[0].TimeEnd;
foreach (var rslt in results)
{
if (rslt.TimeStart < start) start = rslt.TimeStart;
if (rslt.TimeEnd > end) end = rslt.TimeEnd;
}
OracleCommand cmd = new OracleCommand("INSERT INTO VT_PRUEFREIHE_PD(" +
"ANBID, ID_Pruefstand, ID_WzPruefreihe, ID_WZTyp, Rev_WZTyp, Rev_Pruefstand_WZTyp, " +
"StartDatumZeit, EndDatumZeit, Betriebsart, QVzKontakt, " +
"FuellenBegDruck, DruckEvakVorne, DruckEvakHinten, DruckBeiAbpressen, " +
"Druckentwaessern, SpuelDurchflussIst, ProgrammVersion)" +
" VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16, :17)", conn);
OracleParameter parm;
parm = new OracleParameter("Auftragsnummer", OracleDbType.Varchar2); parm.Value = pOrder; cmd.Parameters.Add(parm);
parm = new OracleParameter("VT_Identnummer", OracleDbType.Varchar2); parm.Value = "IPBATMXX"; cmd.Parameters.Add(parm);
parm = new OracleParameter("VT_Fernum", OracleDbType.Varchar2); parm.Value = pcbNr; cmd.Parameters.Add(parm);
parm = new OracleParameter("Max_Pruefindex", OracleDbType.Int32); parm.Value = MAX_Pruefindex; cmd.Parameters.Add(parm);
parm = new OracleParameter("Zaehlernummer", OracleDbType.Int32); parm.Value = -1; cmd.Parameters.Add(parm);
parm = new OracleParameter("Sekundaere_Adr", OracleDbType.Int32); parm.Value = Sekundaere_Adr; cmd.Parameters.Add(parm);
parm = new OracleParameter("Hydr_Pruefung", OracleDbType.Int32); parm.Value = Hydr_Pruefung; cmd.Parameters.Add(parm);
parm = new OracleParameter("ID_Benutzer", OracleDbType.Int32); parm.Value = 6; cmd.Parameters.Add(parm);
parm = new OracleParameter("ANBID", OracleDbType.Int32); parm.Value = Anbid_StaraTura; cmd.Parameters.Add(parm);
parm = new OracleParameter("Baujahr", OracleDbType.Int32); parm.Value = dbCfg.Baujahr; cmd.Parameters.Add(parm);
parm = new OracleParameter("ANBID", OracleDbType.Int32); parm.Value = Anbid_StaraTura; cmd.Parameters.Add(parm); ///:1
parm = new OracleParameter("ID_Pruefstand", OracleDbType.Int32); parm.Value = 18000 + dbCfg.TestBenchId; cmd.Parameters.Add(parm); ///:2
parm = new OracleParameter("ID_WzPruefreihe", OracleDbType.Int32); parm.Value = results[0].BatchNr; cmd.Parameters.Add(parm); ///:3
parm = new OracleParameter("ID_WZTyp", OracleDbType.Int32); parm.Value = wMtr.WMType_ID; cmd.Parameters.Add(parm); ///:4
parm = new OracleParameter("Rev_WZTyp", OracleDbType.Int32); parm.Value = wMtr.WMType_Rev; cmd.Parameters.Add(parm); ///:5
parm = new OracleParameter("Rev_Pruefstand_WZTyp", OracleDbType.Int32); parm.Value = 1; cmd.Parameters.Add(parm); ///:6
parm = new OracleParameter("StartDatumZeit", OracleDbType.TimeStamp); parm.Value = start; cmd.Parameters.Add(parm); ///:7
parm = new OracleParameter("EndDatumZeit", OracleDbType.TimeStamp); parm.Value = end; cmd.Parameters.Add(parm); ///:8
parm = new OracleParameter("Betriebsart", OracleDbType.Varchar2); parm.Value = ""; cmd.Parameters.Add(parm); ///:9
parm = new OracleParameter("QVzKontakt", OracleDbType.Double); parm.Value = 0; cmd.Parameters.Add(parm); ///:10
parm = new OracleParameter("FuellenBegDruck", OracleDbType.Double); parm.Value = 0; cmd.Parameters.Add(parm); ///:11
parm = new OracleParameter("DruckEvakVorne", OracleDbType.Double); parm.Value = 0; cmd.Parameters.Add(parm); ///:12
parm = new OracleParameter("DruckEvakHinten", OracleDbType.Double); parm.Value = 0; cmd.Parameters.Add(parm); ///:13
parm = new OracleParameter("DruckBeiAbpressen", OracleDbType.Double); parm.Value = 0;/*TODO*/ cmd.Parameters.Add(parm); ///:14
parm = new OracleParameter("Druckentwaessern", OracleDbType.Double); parm.Value = 0; cmd.Parameters.Add(parm); ///:15
parm = new OracleParameter("SpuelDurchflussIst", OracleDbType.Double); parm.Value = 0;/*TODO*/ cmd.Parameters.Add(parm); ///:16
parm = new OracleParameter("ProgrammVersion", OracleDbType.Varchar2); parm.Value = Program.Version; cmd.Parameters.Add(parm); ///:17
int rowsUpdated = cmd.ExecuteNonQuery();
batchDataSaved = true;
}
else
{
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);
OracleParameter parm;
parm = new OracleParameter("Auftragsnummer", OracleDbType.Varchar2); parm.Value = pOrder; cmd.Parameters.Add(parm);
parm = new OracleParameter("VT_Identnummer", OracleDbType.Varchar2); parm.Value = "IPBATMXX"; cmd.Parameters.Add(parm);
parm = new OracleParameter("Max_Pruefindex", OracleDbType.Int32); parm.Value = MAX_Pruefindex; cmd.Parameters.Add(parm);
parm = new OracleParameter("Hydr_Pruefung", OracleDbType.Int32); parm.Value = Hydr_Pruefung; cmd.Parameters.Add(parm);
parm = new OracleParameter("ID_Benutzer", OracleDbType.Int32); parm.Value = 6; cmd.Parameters.Add(parm);
parm = new OracleParameter("Baujahr", OracleDbType.Int32); parm.Value = dbCfg.Baujahr; cmd.Parameters.Add(parm);
parm = new OracleParameter("VT_Fernum", OracleDbType.Varchar2); parm.Value = pcbNr; cmd.Parameters.Add(parm);
parm = new OracleParameter("ANBID", OracleDbType.Int32); parm.Value = Anbid_StaraTura; cmd.Parameters.Add(parm);
int rowsUpdated = cmd.ExecuteNonQuery();
}
{
OracleCommand cmd = new OracleCommand("INSERT INTO VT_ZAEHLER_PINDEX_PD(" +
@ -428,7 +475,7 @@ namespace TBF.BenchControl.DB.SensusOracle
parm = new OracleParameter("Pruefindex", OracleDbType.Int32); parm.Value = MAX_Pruefindex % 100; cmd.Parameters.Add(parm);
parm = new OracleParameter("ANBID", OracleDbType.Int32); parm.Value = Anbid_StaraTura; cmd.Parameters.Add(parm);
parm = new OracleParameter("ID_Pruefstand", OracleDbType.Int32); parm.Value = 18000 + dbCfg.TestBenchId; cmd.Parameters.Add(parm);
parm = new OracleParameter("ID_WzPruefreihe", OracleDbType.Int32); parm.Value = 0;/*TODO*/ cmd.Parameters.Add(parm);
parm = new OracleParameter("ID_WzPruefreihe", OracleDbType.Int32); parm.Value = results[0].BatchNr; cmd.Parameters.Add(parm);
parm = new OracleParameter("Hydr_Pruefung", OracleDbType.Int32); parm.Value = Hydr_Pruefung; cmd.Parameters.Add(parm);
// ReedKontakt
// ReedKontaktOK

View File

@ -173,33 +173,56 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
{
Entities.TestResult tstRslt = new Entities.TestResult(test, 1, Entities.MetersKind.Single);
tstRslt.BatchNr = Program.LocalSettings.BatchNr;
tstRslt.MassStart = oriTestRslt.MassStart;
tstRslt.MassEnd = oriTestRslt.MassEnd;
tstRslt.MassDiff = oriTestRslt.MassEnd;
tstRslt.DensityIn = oriTestRslt.DensityIn;
tstRslt.DensityOut = oriTestRslt.DensityOut;
tstRslt.DensityDiv = oriTestRslt.DensityDiv;
tstRslt.Time = oriTestRslt.Time;
tstRslt.FlowMass = oriTestRslt.FlowMass;
tstRslt.FlowVolume = oriTestRslt.FlowVolume;
tstRslt.VolumeCTV = oriTestRslt.VolumeCTV;
tstRslt.VolumeMaster = oriTestRslt.VolumeMaster;
tstRslt.PulsesMaster = oriTestRslt.PulsesMaster;
tstRslt.ConstMaster = oriTestRslt.ConstMaster;
tstRslt.ErrorMaster = oriTestRslt.ErrorMaster;
tstRslt.TimeDivStart0 = oriTestRslt.TimeDivStart0;
tstRslt.TimeDivStart1 = oriTestRslt.TimeDivStart1;
tstRslt.TimeDivStart2 = oriTestRslt.TimeDivStart2;
tstRslt.TimeDivStart3 = oriTestRslt.TimeDivStart3;
tstRslt.TimeDivStart4 = oriTestRslt.TimeDivStart4;
tstRslt.TimeDivStart5 = oriTestRslt.TimeDivStart5;
tstRslt.TimeDivEnd0 = oriTestRslt.TimeDivEnd0;
tstRslt.TimeDivEnd1 = oriTestRslt.TimeDivEnd1;
tstRslt.TimeDivEnd2 = oriTestRslt.TimeDivEnd2;
tstRslt.TimeDivEnd3 = oriTestRslt.TimeDivEnd3;
tstRslt.TimeDivEnd4 = oriTestRslt.TimeDivEnd4;
tstRslt.TimeDivEnd5 = oriTestRslt.TimeDivEnd5;
tstRslt.BatchNr = Program.LocalSettings.BatchNr;
tstRslt.TimeStart = oriTestRslt.TimeStart;
tstRslt.TimeEnd = oriTestRslt.TimeEnd;
tstRslt.AmbientTempAve = oriTestRslt.AmbientTempAve;
tstRslt.AmbientPressAve = oriTestRslt.AmbientPressAve;
tstRslt.AmbientHumiAve = oriTestRslt.AmbientHumiAve;
tstRslt.PressInAvrg = oriTestRslt.PressInAvrg;
tstRslt.PressInStart = oriTestRslt.PressInStart;
tstRslt.PressInEnd = oriTestRslt.PressInEnd;
tstRslt.PressOutAvrg = oriTestRslt.PressOutAvrg;
tstRslt.PressOutStart = oriTestRslt.PressOutStart;
tstRslt.PressOutEnd = oriTestRslt.PressOutEnd;
tstRslt.TempInAvrg = oriTestRslt.TempInAvrg;
tstRslt.TempInStart = oriTestRslt.TempInStart;
tstRslt.TempInEnd = oriTestRslt.TempInEnd;
tstRslt.TempOutAvrg = oriTestRslt.TempOutAvrg;
tstRslt.TempOutStart = oriTestRslt.TempOutStart;
tstRslt.TempOutEnd = oriTestRslt.TempOutEnd;
tstRslt.TempDivAvrg = oriTestRslt.TempDivAvrg;
tstRslt.TempDivStart = oriTestRslt.TempDivStart;
tstRslt.TempDivEnd = oriTestRslt.TempDivEnd;
tstRslt.MassStartRaw = oriTestRslt.MassStartRaw;
tstRslt.MassStart = oriTestRslt.MassStart;
tstRslt.MassEndRaw = oriTestRslt.MassEndRaw;
tstRslt.MassEnd = oriTestRslt.MassEnd;
tstRslt.MassDiff = oriTestRslt.MassEnd;
tstRslt.DensityIn = oriTestRslt.DensityIn;
tstRslt.DensityOut = oriTestRslt.DensityOut;
tstRslt.DensityDiv = oriTestRslt.DensityDiv;
tstRslt.Buoyancy = oriTestRslt.Buoyancy;
tstRslt.FlowMass = oriTestRslt.FlowMass;
tstRslt.FlowVolume = oriTestRslt.FlowVolume;
tstRslt.VolumeCTV = oriTestRslt.VolumeCTV;
tstRslt.VolumeMaster = oriTestRslt.VolumeMaster;
tstRslt.Time = oriTestRslt.Time;
tstRslt.ErrorMaster = oriTestRslt.ErrorMaster;
tstRslt.PulsesMaster = oriTestRslt.PulsesMaster;
tstRslt.ConstMaster = oriTestRslt.ConstMaster;
tstRslt.TimeDivStart0 = oriTestRslt.TimeDivStart0;
tstRslt.TimeDivStart1 = oriTestRslt.TimeDivStart1;
tstRslt.TimeDivStart2 = oriTestRslt.TimeDivStart2;
tstRslt.TimeDivStart3 = oriTestRslt.TimeDivStart3;
tstRslt.TimeDivStart4 = oriTestRslt.TimeDivStart4;
tstRslt.TimeDivStart5 = oriTestRslt.TimeDivStart5;
tstRslt.TimeDivEnd0 = oriTestRslt.TimeDivEnd0;
tstRslt.TimeDivEnd1 = oriTestRslt.TimeDivEnd1;
tstRslt.TimeDivEnd2 = oriTestRslt.TimeDivEnd2;
tstRslt.TimeDivEnd3 = oriTestRslt.TimeDivEnd3;
tstRslt.TimeDivEnd4 = oriTestRslt.TimeDivEnd4;
tstRslt.TimeDivEnd5 = oriTestRslt.TimeDivEnd5;
for (int i = 0; i < Math.Min(tstRslt.Meters.Count, oriTestRslt.Meters.Count); i++)
{

View File

@ -25,6 +25,9 @@ namespace TBF
static readonly ILog log = LogManager.GetLogger(typeof(Program));
const string log4netConfigFName = "log4netConfig.xml";
/// Program version string
public static string Version;
/// Local settings
public static LocalSettings LocalSettings;
public const string LocalSettingsFileName = "config.xml";
@ -87,6 +90,10 @@ namespace TBF
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyHandler);
/// Program version string
Version ver = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
Version = string.Format("TBF v.{0}.{1}.{2}", ver.Major, ver.Minor, ver.Build);
/// Local program configuration directory including the trailing backslash
string locAppDataDir = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) +
Path.DirectorySeparatorChar + "TestBenchFramework" + Path.DirectorySeparatorChar;

View File

@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("1.5.140.1")]
[assembly: AssemblyFileVersion("1.5.140.1")]
[assembly: AssemblyVersion("1.5.141.1")]
[assembly: AssemblyFileVersion("1.5.141.1")]