SensusOracle : Automatic WZ_TYPE_ID assignment and creation OK, ver. 3.1.1815
This commit is contained in:
@@ -92,24 +92,24 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
Art = "VT",
|
||||
Metrolklasse = wmData.MetrologicalClass,
|
||||
Zulasszeichen = wmData.ApprovalInfo,
|
||||
Impulsrate = 0, // TODO
|
||||
Kontaktwert = 0, // TODO
|
||||
Impulsrate = 0, // TODO
|
||||
Kontaktwert = 0, // TODO
|
||||
Warmpruefen = false,
|
||||
Optikaufsetzen = true,
|
||||
Formatausdruck = string.Empty, // TODO
|
||||
Formatetikett = string.Empty, // TODO
|
||||
Formatnetzwerk = string.Empty, // TODO
|
||||
Formatzaehlernr = string.Empty, // TODO
|
||||
IdWzgruppe = 0,
|
||||
Formatausdruck = "Normal", // TODO
|
||||
Formatetikett = string.Empty, // TODO
|
||||
Formatnetzwerk = "Halle1-Format", // TODO
|
||||
Formatzaehlernr = "nur Ziffern", // TODO
|
||||
IdWzgruppe = batch.ProcedureName.Contains("640") ? 35 : 29, /// 640...35, 620...29
|
||||
Anzahlpruefungen = listOfTests.Count,
|
||||
Materialnr = string.Empty, // TODO
|
||||
Materialnr = batch.WatermetersStr, // TODO
|
||||
Qmax = (float)wmData.Q3_Qn,
|
||||
Pruefart = 0,
|
||||
Zaehlerflag = 0,
|
||||
Korrekturwert = 0,
|
||||
IdBenutzer = idBenutzer,
|
||||
Aenderungsdatum = DateTime.Now,
|
||||
Bemerkung = string.Empty, // TODO
|
||||
Bemerkung = batch.Remark, // TODO
|
||||
Verwendet = true,
|
||||
ListOfTests = listOfTests,
|
||||
};
|
||||
@@ -119,9 +119,110 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
return rslt;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
public int Write(OracleConnection conn, bool aktiv = true)
|
||||
{
|
||||
return string.Format("Id={0} Rev={1} Q3={2} metro={3}", IdWztyp, RevWztyp, Qmax, Metrolklasse);
|
||||
var cmd = new OracleCommand("INSERT INTO vt_wztyp_sd(anbid, id_wztyp, rev_wztyp, wztyp, art, metrolklasse, zulasszeichen," +
|
||||
" impulsrate, kontaktwert, warmpruefen, optikaufsetzen, formatausdruck, formatetikett," +
|
||||
" formatnetzwerk, formatzaehlernr, id_wzgruppe, anzahlpruefungen, materialnr, qmax, pruefart," +
|
||||
" zaehlerflag, korrekturwert, id_benutzer, aenderungsdatum, bemerkung, verwendet, aktiv) " +
|
||||
"VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16, :17, :18, :19, :20," +
|
||||
" :21, :22, :23, :24, :25, :26, :27)", conn);
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Database.ProducerAnbid }); /// :1
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = IdWztyp }); /// :2
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = RevWztyp }); /// :3
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Wztyp }); /// :4
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Art }); /// :5
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Metrolklasse }); /// :6
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Zulasszeichen }); /// :7
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Impulsrate }); /// :8
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Kontaktwert }); /// :9
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Warmpruefen ? 1 : 0 }); /// :10
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Optikaufsetzen ? 1 : 0 }); /// :11
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Formatausdruck }); /// :12
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Formatetikett }); /// :13
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Formatnetzwerk }); /// :14
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Formatzaehlernr }); /// :15
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = IdWzgruppe }); /// :16
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anzahlpruefungen }); /// :17
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Materialnr }); /// :18
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Single, Value = Qmax }); /// :19
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Pruefart }); /// :20
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Zaehlerflag }); /// :21
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Korrekturwert }); /// :22
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = IdBenutzer }); /// :23
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.TimeStamp, Value = Aenderungsdatum }); /// :24
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Bemerkung }); /// :25
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Verwendet ? 1 : 0 }); /// :26
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = aktiv ? 1 : 0 }); /// :27
|
||||
///
|
||||
var rowsUpdated = cmd.ExecuteNonQuery();
|
||||
|
||||
if (rowsUpdated == 1)
|
||||
{
|
||||
foreach (var test in ListOfTests)
|
||||
{
|
||||
test.Write(conn, test, IdWztyp, RevWztyp);
|
||||
}
|
||||
}
|
||||
|
||||
return rowsUpdated;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get VT_WZTYP_SD content
|
||||
/// </summary>
|
||||
/// <param name="conn">Oracle connection</param>
|
||||
/// <param name="aktiv">Active flag</param>
|
||||
/// <returns>List of VtWztypSd records</returns>
|
||||
public static IList<VtWztypSd> Read(OracleConnection conn, bool aktiv = true)
|
||||
{
|
||||
var cmd = new OracleCommand("SELECT id_wztyp, rev_wztyp, wztyp, art, metrolklasse, zulasszeichen, impulsrate," +
|
||||
" kontaktwert, warmpruefen, optikaufsetzen, formatausdruck, formatetikett, formatnetzwerk," +
|
||||
" formatzaehlernr, id_wzgruppe, anzahlpruefungen, materialnr, qmax, pruefart, zaehlerflag," +
|
||||
" korrekturwert, id_benutzer, aenderungsdatum, bemerkung, verwendet " +
|
||||
"FROM vt_wztyp_sd " +
|
||||
"WHERE anbid=:1 AND aktiv=:2 ORDER BY rev_wztyp DESC", conn);
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Database.ProducerAnbid }); /// :1
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = aktiv ? 1 : 0 }); /// :2
|
||||
///
|
||||
var dr = cmd.ExecuteReader();
|
||||
var list = new List<VtWztypSd>();
|
||||
while (dr.Read())
|
||||
{
|
||||
var proc = new VtWztypSd();
|
||||
|
||||
int i = 0;
|
||||
try { proc.IdWztyp = dr.GetInt32(i++); } catch { proc.IdWztyp = 0; }
|
||||
try { proc.RevWztyp = dr.GetInt32(i++); } catch { proc.RevWztyp = 0; }
|
||||
try { proc.Wztyp = dr.GetString(i++); } catch { proc.Wztyp = string.Empty; }
|
||||
try { proc.Art = dr.GetString(i++); } catch { proc.Art = string.Empty; }
|
||||
try { proc.Metrolklasse = dr.GetString(i++); } catch { proc.Metrolklasse = string.Empty; }
|
||||
try { proc.Zulasszeichen = dr.GetString(i++); } catch { proc.Zulasszeichen = string.Empty; }
|
||||
try { proc.Impulsrate = dr.GetDouble(i++); } catch { proc.Impulsrate = 0; }
|
||||
try { proc.Kontaktwert = dr.GetDouble(i++); } catch { proc.Kontaktwert = 0; }
|
||||
try { proc.Warmpruefen = dr.GetBoolean(i++); } catch { proc.Warmpruefen = false; }
|
||||
try { proc.Optikaufsetzen = dr.GetBoolean(i++); } catch { proc.Optikaufsetzen = false; }
|
||||
try { proc.Formatausdruck = dr.GetString(i++); } catch { proc.Formatausdruck = string.Empty; }
|
||||
try { proc.Formatetikett = dr.GetString(i++); } catch { proc.Formatetikett = string.Empty; }
|
||||
try { proc.Formatnetzwerk = dr.GetString(i++); } catch { proc.Formatnetzwerk = string.Empty; }
|
||||
try { proc.Formatzaehlernr = dr.GetString(i++); } catch { proc.Formatzaehlernr = string.Empty; }
|
||||
try { proc.IdWzgruppe = dr.GetInt32(i++); } catch { proc.IdWzgruppe = 0; }
|
||||
try { proc.Anzahlpruefungen = dr.GetInt32(i++); } catch { proc.Anzahlpruefungen = 0; }
|
||||
try { proc.Materialnr = dr.GetString(i++); } catch { proc.Materialnr = string.Empty; }
|
||||
try { proc.Qmax = dr.GetFloat(i++); } catch { proc.Qmax = 0; }
|
||||
try { proc.Pruefart = dr.GetByte(i++); } catch { proc.Pruefart = 0; }
|
||||
try { proc.Zaehlerflag = dr.GetByte(i++); } catch { proc.Zaehlerflag = 0; }
|
||||
try { proc.Korrekturwert = dr.GetDouble(i++); } catch { proc.Korrekturwert = 0; }
|
||||
try { proc.IdBenutzer = dr.GetInt32(i++); } catch { proc.IdBenutzer = 0; }
|
||||
try { proc.Aenderungsdatum = dr.GetDateTime(i++); } catch { proc.Aenderungsdatum = DateTime.Now; }
|
||||
try { proc.Bemerkung = dr.GetString(i++); } catch { proc.Bemerkung = string.Empty; }
|
||||
try { proc.Verwendet = dr.GetBoolean(i++); } catch { proc.Verwendet = false; }
|
||||
|
||||
list.Add(proc);
|
||||
}
|
||||
dr.Close();
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -177,14 +278,14 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
|
||||
if (p1.ListOfTests == null && p1.IdWztyp > 0 && p1.RevWztyp > 0)
|
||||
{
|
||||
p1.ListOfTests = db.ReadVtPruefpunktSollSd(conn, p1.IdWztyp, p1.RevWztyp);
|
||||
p1.ListOfTests = VtPruefpunktSollSd.Read(conn, p1.IdWztyp, p1.RevWztyp);
|
||||
}
|
||||
|
||||
|
||||
if (p2.ListOfTests == null && p2.IdWztyp > 0 && p2.RevWztyp > 0)
|
||||
{
|
||||
p2.ListOfTests = db.ReadVtPruefpunktSollSd(conn, p2.IdWztyp, p2.RevWztyp);
|
||||
p2.ListOfTests = VtPruefpunktSollSd.Read(conn, p2.IdWztyp, p2.RevWztyp);
|
||||
}
|
||||
|
||||
|
||||
conn.Close();
|
||||
}
|
||||
catch (Exception exc)
|
||||
@@ -218,5 +319,10 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
|
||||
return true; /// Two procedures are equal
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Format("Id={0} Rev={1} Q3={2} metro={3}", IdWztyp, RevWztyp, Qmax, Metrolklasse);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user