SensusOracle.Database synchronized with 2.26/27, TestBenchGroupId, idBenutzer, ver. 3.1.1800
This commit is contained in:
@@ -44,8 +44,9 @@ namespace Results.Entities
|
||||
{
|
||||
public virtual int Id { get; protected set; }
|
||||
public virtual string SerialNr { get; set; } /// S/N _or_ S/N of the main meter of a compound meter _or_ PCB Number of an iPerl water meter
|
||||
public virtual string SerialNrAux { get; set; } /// S/N of the aux. meter of a compound meter _or_ a complete assigned S/N of an iPerl water meter
|
||||
public virtual string PurchaseOrder { get; set; }
|
||||
public virtual string SerialNrAux { get; set; } /// S/N of the aux. meter of a compound meter _or_ eRegister PCB Number of a 640 water meter
|
||||
public virtual string RadioAddress { get; set; }
|
||||
public virtual string PurchaseOrder { get; set; }
|
||||
public virtual int YearOfProduction { get; set; }
|
||||
public virtual int WMPosition { get; set; } /// 1-based water meter position
|
||||
public virtual string EndState { get; set; } /// End state (of the main water meter)
|
||||
@@ -77,7 +78,6 @@ namespace Results.Entities
|
||||
/// <summary>
|
||||
/// Data from a production test bench (in case of tests on iPerl special)
|
||||
/// </summary>
|
||||
public virtual string RadioAddress { get; set; }
|
||||
public virtual int PaletteNr { get; set; }
|
||||
public virtual int UmkartonNr { get; set; }
|
||||
public virtual string ProdTestBench { get; set; }
|
||||
@@ -97,6 +97,7 @@ namespace Results.Entities
|
||||
public virtual string Prefix { get; set; }
|
||||
public virtual string Suffix { get; set; }
|
||||
public virtual string CompleteSerialNr { get; set; }
|
||||
public virtual string OriRadioAddress { get; set; } /// Not mapped to DB !!! Original radio address of a 640 water meter (albatrosID)
|
||||
public virtual int WMTypeRevision { get; set; }
|
||||
public virtual int Pruefindex { get; set; } /// >= 1 ... pruefindex
|
||||
public virtual int HydrPruefung { get; set; }
|
||||
|
||||
@@ -332,6 +332,18 @@ namespace Results
|
||||
Diverter, /// 281
|
||||
RegValve, /// 282
|
||||
|
||||
X1, /// 283
|
||||
X2, /// 284
|
||||
X3, /// 285
|
||||
X4, /// 286
|
||||
X5, /// 287
|
||||
X6, /// 288
|
||||
X7, /// 289
|
||||
X8, /// 290
|
||||
X9, /// 291
|
||||
|
||||
RadioAddress, /// 292
|
||||
|
||||
Count,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,8 @@ namespace Results.Mappings
|
||||
Id(x => x.Id);
|
||||
Map(x => x.SerialNr);
|
||||
Map(x => x.SerialNrAux);
|
||||
Map(x => x.PurchaseOrder);
|
||||
Map(x => x.RadioAddress);
|
||||
Map(x => x.PurchaseOrder);
|
||||
Map(x => x.YearOfProduction);
|
||||
Map(x => x.WMPosition);
|
||||
Map(x => x.EndState);
|
||||
@@ -43,7 +44,6 @@ namespace Results.Mappings
|
||||
Map(x => x.FWVersion);
|
||||
#endif
|
||||
#if TURA_SPECIAL
|
||||
Map(x => x.RadioAddress);
|
||||
Map(x => x.PaletteNr);
|
||||
Map(x => x.UmkartonNr);
|
||||
Map(x => x.ProdTestBench);
|
||||
@@ -60,6 +60,7 @@ namespace Results.Mappings
|
||||
Map(x => x.Prefix);
|
||||
Map(x => x.Suffix);
|
||||
Map(x => x.CompleteSerialNr);
|
||||
Map(x => x.OriRadioAddress);
|
||||
Map(x => x.Pruefindex);
|
||||
Map(x => x.HydrPruefung);
|
||||
Map(x => x.WMTypeRevision);
|
||||
|
||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("3.1.1464.0")]
|
||||
[assembly: AssemblyFileVersion("3.1.1464.0")]
|
||||
[assembly: AssemblyVersion("3.1.1800.0")]
|
||||
[assembly: AssemblyFileVersion("3.1.1800.0")]
|
||||
|
||||
Generated
+18
@@ -906,6 +906,15 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Radio address.
|
||||
/// </summary>
|
||||
internal static string Radio_address {
|
||||
get {
|
||||
return ResourceManager.GetString("Radio_address", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Ref.pulses.
|
||||
/// </summary>
|
||||
@@ -1581,6 +1590,15 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Radio address of the meter.
|
||||
/// </summary>
|
||||
internal static string Tooltip_RA {
|
||||
get {
|
||||
return ResourceManager.GetString("Tooltip_RA", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Calculated density of water from table or formula at water density calibration temperature (r).
|
||||
/// </summary>
|
||||
|
||||
@@ -831,4 +831,10 @@
|
||||
<data name="Info_flags" xml:space="preserve">
|
||||
<value>Info flags</value>
|
||||
</data>
|
||||
<data name="Radio_address" xml:space="preserve">
|
||||
<value>Radio address</value>
|
||||
</data>
|
||||
<data name="Tooltip_RA" xml:space="preserve">
|
||||
<value>Radio address of the meter</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -366,11 +366,12 @@ namespace Results
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Text5, "Text5", Quantity.String, ItemCategory.MeterData, (w, t, u, f, p) => FormatStr(f, w.WaterMeterData.Text5)));
|
||||
|
||||
/// Water meters results
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Serial_Nr, Strings.sn, Strings.Tooltip_sn, Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.SerialNr)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Purchase_order, Strings.PO, Quantity.String, ItemCategory.Other, (w, t, u, f, p) => FormatStr(f, w.PurchaseOrder)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Year_of_production, Strings.Year, Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.YearOfProduction)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.WM_Position, Strings.Pos, Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.WMPosition)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Formatted_WM_ID, "Formatted WM ID", Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => string.IsNullOrEmpty(f) ? string.Format("{0}-{1}", w.BatchNr(), w.WMPosition) : string.Format(f, w.StartTime(), w.EndTime(), w.BatchNr(), w.WMPosition, w.SerialNr)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Serial_Nr, Strings.sn, Strings.Tooltip_sn, Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.SerialNr)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.RadioAddress, Strings.Radio_address, Strings.Tooltip_RA, Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.RadioAddress)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Purchase_order, Strings.PO, Quantity.String, ItemCategory.Other, (w, t, u, f, p) => FormatStr(f, w.PurchaseOrder)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Year_of_production, Strings.Year, Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.YearOfProduction)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.WM_Position, Strings.Pos, Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.WMPosition)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Formatted_WM_ID, "Formatted WM ID", Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => string.IsNullOrEmpty(f) ? string.Format("{0}-{1}", w.BatchNr(), w.WMPosition) : string.Format(f, w.StartTime(), w.EndTime(), w.BatchNr(), w.WMPosition, w.SerialNr)));
|
||||
|
||||
/// Water meters results (single)
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.End_state, Strings.End_state, Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.EndState)));
|
||||
|
||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("3.1.1464.0")]
|
||||
[assembly: AssemblyFileVersion("3.1.1464.0")]
|
||||
[assembly: AssemblyVersion("3.1.1800.0")]
|
||||
[assembly: AssemblyFileVersion("3.1.1800.0")]
|
||||
|
||||
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
[assembly: AssemblyVersion("3.1.1795.0")]
|
||||
[assembly: AssemblyFileVersion("3.1.1795.0")]
|
||||
[assembly: AssemblyVersion("3.1.1800.0")]
|
||||
[assembly: AssemblyFileVersion("3.1.1800.0")]
|
||||
|
||||
@@ -235,9 +235,10 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
|
||||
cmd = new OracleCommand("SELECT pruefungsnr, q_soll, pruefzeit, posfehlerkalt, negfehlerkalt, pruefbereichmin, pruefbereichmax, qbezeichnung " +
|
||||
"FROM vt_pruefpunkt_soll_sd " +
|
||||
"WHERE anbid=4 AND id_wztyp=:1 AND rev_wztyp=:2", conn);
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wmTypeId }); ///:1
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wmTypeRevision }); ///:2
|
||||
"WHERE anbid=:1 AND id_wztyp=:2 AND rev_wztyp=:3", conn);
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer }); ///:1
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wmTypeId }); ///:2
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wmTypeRevision }); ///:3
|
||||
///
|
||||
dr = cmd.ExecuteReader();
|
||||
while (dr.Read())
|
||||
@@ -373,7 +374,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
{
|
||||
log.WarnFormat("{0} : Run() : currentOp = {1}", Name, currentOpState);
|
||||
#if ORACLE_DB
|
||||
if (WriteResultsToDB(SelectedDB, batch, false) == Retv.Error) anyError = true;
|
||||
if (WriteResultsToDB(SelectedDB, batch, WMKind, false) == Retv.Error) anyError = true;
|
||||
#endif
|
||||
}
|
||||
opCompleted = true;
|
||||
@@ -700,7 +701,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
}
|
||||
|
||||
|
||||
public Retv WriteResultsToDB(OracleConnection conn, Results.Entities.Batch batch, bool safeMode)
|
||||
public Retv WriteResultsToDB(OracleConnection conn, Results.Entities.Batch batch, WMKind wmKind, bool safeMode)
|
||||
{
|
||||
OracleTransaction transaction;
|
||||
|
||||
@@ -722,7 +723,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
SaveBatchData(conn, batch);
|
||||
foreach (var wMtr in batch.WaterMeters)
|
||||
{
|
||||
if (WMKind == WMKind.iPERL)
|
||||
if (wmKind == WMKind.iPERL)
|
||||
{
|
||||
if ((wMtr.ErrorFlags & ((int)ErrorFlagMask.E26 | (int)ErrorFlagMask.E27 | (int)ErrorFlagMask.E28)) == 0)
|
||||
{
|
||||
@@ -730,7 +731,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
SaveIperlToDB(conn, wMtr, safeMode);
|
||||
}
|
||||
}
|
||||
else if (WMKind == WMKind.Mechanical)
|
||||
else if (wmKind == WMKind.Mechanical)
|
||||
{
|
||||
SaveMechanicalMeterToDB(conn, wMtr, safeMode);
|
||||
}
|
||||
@@ -862,7 +863,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
"VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16, :17)", conn);
|
||||
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 18000 + b.TestBenchId });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.TestBenchGroupId + 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 });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wmTypeRevision });
|
||||
@@ -907,7 +908,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
"VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16, :17, :18, :19, :20, :21, :22, :23)", conn);
|
||||
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 18000 + b.TestBenchId });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.TestBenchGroupId + b.TestBenchId });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = b.BatchNr });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = testInfo.PruefungsNr });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Units.ConvertTo(Unit.l, tr.VolumeCTV) });
|
||||
@@ -939,7 +940,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
"VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16, :17, :18, :19, :20, :21, :22, :23)", conn);
|
||||
OracleParameter parm;
|
||||
parm = new OracleParameter("ANBID", OracleDbType.Int32); parm.Value = Anbid_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_Pruefstand", OracleDbType.Int32); parm.Value = dbCfg.TestBenchGroupId + 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
|
||||
///
|
||||
@@ -967,12 +968,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} ...)", Anbid_Producer, 18000 + b.TestBenchId, b.BatchNr, testInfo.PruefungsNrDB, Q_ist);
|
||||
log.InfoFormat("VT_PRUEFDURCHFLUSS_PD inserted ({0}, {1}, {2}, {3}, {4} ...)", Anbid_Producer, dbCfg.TestBenchGroupId + b.TestBenchId, b.BatchNr, testInfo.PruefungsNrDB, Q_ist);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
log.WarnFormat("SIM: VT_PRUEFDURCHFLUSS_PD inserted ({0}, {1}, {2}, {3}, {4} ...)", Anbid_Producer, 18000 + b.TestBenchId, b.BatchNr, testInfo.PruefungsNrDB, Q_ist);
|
||||
log.WarnFormat("SIM: VT_PRUEFDURCHFLUSS_PD inserted ({0}, {1}, {2}, {3}, {4} ...)", Anbid_Producer, dbCfg.TestBenchGroupId + b.TestBenchId, b.BatchNr, testInfo.PruefungsNrDB, Q_ist);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1021,7 +1022,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
void SaveOrUpdateIperl(OracleConnection conn, Results.Entities.WaterMeter wm, int max_Pruefindex, int hydr_Pruefung)
|
||||
{
|
||||
int sekundaere_Adr = wm.Passed ? 1 : 0;
|
||||
int idBenutzer = 6; // = wm.Batch.UserNumber;
|
||||
int idBenutzer = (Anbid_Producer == 4) ? 6 : 365; /// TODO: wm.Batch.UserNumber;
|
||||
|
||||
if (dbCfg.DebugLevel == DebugMode.Normal)
|
||||
{
|
||||
@@ -1091,7 +1092,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 = Anbid_Producer });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 18000 + wm.Batch.TestBenchId });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.TestBenchGroupId + 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 });
|
||||
#if IPERL
|
||||
@@ -1228,65 +1229,80 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
|
||||
void SaveOrUpdateMechanicalMeter(OracleConnection conn, Results.Entities.WaterMeter wm, int max_Pruefindex, int hydr_Pruefung)
|
||||
{
|
||||
int idBenutzer = 6; // = wm.Batch.UserNumber;
|
||||
int idBenutzer = (Anbid_Producer == 4) ? 6 : 365; /// TODO: wm.Batch.UserNumber;
|
||||
string vt_identnummer = wm.SerialNr.Length > 8 ? wm.SerialNr.Substring(0, 8) : wm.SerialNr;
|
||||
|
||||
if (dbCfg.DebugLevel == DebugMode.Normal)
|
||||
{
|
||||
//OracleCommand cmd = new OracleCommand("UPDATE vt_zaehler_pd " +
|
||||
// "SET max_pruefindex=:3, vt_identnummer=:4, auftragsnummer=:5, vt_baugruppen_nr=:6, mbus_adr=:7, liegenschafts_nr=:8," +
|
||||
// " sekundaere_adr=:9, hydr_pruefung=:10, mark_date=:11, baujahr=:12, eich_jahr=:13, umkarton_nr=:14," +
|
||||
// " palette_nr=:15, zaehlernummer=:16, prefix=:17, suffix=:18, z_nr_komplett=:19, id_benutzer=:20," +
|
||||
// " albatrosid=:21, vt_modul_snr=:22 " +
|
||||
// "WHERE vt_fernum = :1 AND anbid = :2", conn);
|
||||
OracleCommand cmd = new OracleCommand("UPDATE vt_zaehler_pd " +
|
||||
"SET auftragsnummer=:1, vt_identnummer=:2, max_pruefindex=:3, mbus_adr=:4, liegenschafts_nr=:5," +
|
||||
" sekundaere_adr=:6, hydr_pruefung=:7, mark_date=:8, baujahr=:9, eich_jahr=:10, umkarton_nr=:11," +
|
||||
" palette_nr=:12, zaehlernummer=:13, prefix=:14, suffix=:15, z_nr_komplett=:16, id_benutzer=:17 " +
|
||||
"WHERE vt_fernum = :18 AND anbid = :19", conn);
|
||||
"SET max_pruefindex=:3, vt_identnummer=:4, auftragsnummer=:5, vt_baugruppen_nr=:6, mbus_adr=:7, liegenschafts_nr=:8," +
|
||||
" sekundaere_adr=:9, hydr_pruefung=:10, baujahr=:11, eich_jahr=:12, umkarton_nr=:13," +
|
||||
" palette_nr=:14, zaehlernummer=:15, prefix=:16, suffix=:17, z_nr_komplett=:18, id_benutzer=:19," +
|
||||
" albatrosid=:20, vt_modul_snr=:21 " +
|
||||
"WHERE vt_fernum = :1 AND anbid = :2", 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
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr }); /// 1
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer }); /// 2
|
||||
///
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = max_Pruefindex }); /// 3 max_pruefindex
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = vt_identnummer }); /// 4 vt_identnummer
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.PurchaseOrder }); /// 5 auftragsnummer
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNrAux }); /// 6 vt_baugruppen_nr = PCB number of 640 meter
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// 7 mbus_adr
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// 8 liegenschafts_nr
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wm.AssignedSerialNr }); /// 9 sekundaere_adr
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = hydr_Pruefung }); /// 10
|
||||
//cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.TimeStamp, Value = wm.Batch.EndTime });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = YearOfManufacture }); /// 11
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = YearOfManufacture }); /// 12
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// 13 umkarton_nr
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// 14 palette_nr
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wm.AssignedSerialNr }); /// 15
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.Prefix }); /// 16
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.Suffix }); /// 17
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.CompleteSerialNr }); /// 18
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = idBenutzer }); /// 19
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.OriRadioAddress }); /// 20 albatrosid = original radio address
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.RadioAddress }); /// 21 vt_modul_snr = new radio address
|
||||
|
||||
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," +
|
||||
" 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(vt_fernum, max_pruefindex, vt_identnummer, auftragsnummer, vt_baugruppen_nr," +
|
||||
" 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, albatrosid, vt_modul_snr) " +
|
||||
"VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16, :17, :18, :19, :20, :21, :22)", 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.Varchar2, Value = wm.SerialNr }); /// :3
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = max_Pruefindex }); /// :4
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// :5 MBUS_ADR
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// :6 LIEGENSCHAFTS_NR
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// :7 Sekundaere_Adr
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = hydr_Pruefung }); /// :8
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.TimeStamp, Value = wm.Batch.EndTime }); /// :9
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = YearOfManufacture }); /// :10
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = YearOfManufacture }); /// :11
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// :12 UMKARTON_NR
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// :13 PALETTE_NR
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wm.AssignedSerialNr }); /// :14
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.Prefix }); /// :15
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.Suffix }); /// :16
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.CompleteSerialNr }); /// :17
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer }); /// :18
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = idBenutzer }); /// :19
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr }); /// 1 vt_fernum
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = max_Pruefindex }); /// 2 max_pruefindex
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = vt_identnummer }); /// 3 vt_identnummer
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.PurchaseOrder }); /// 4 auftragsnummer
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNrAux }); /// 5 vt_baugruppen_nr = PCB number of 640 meter
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// 6 mbus_adr
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// 7 liegenschafts_nr
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wm.AssignedSerialNr }); /// 8 sekundaere_adr
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = hydr_Pruefung }); /// 9
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.TimeStamp, Value = wm.Batch.EndTime }); /// 10
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = YearOfManufacture }); /// 11
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = YearOfManufacture }); /// 12
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// 13 umkarton_nr
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// 14 palette_nr
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = wm.AssignedSerialNr }); /// 15
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.Prefix }); /// 16
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.Suffix }); /// 17
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.CompleteSerialNr }); /// 18
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer }); /// 19
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = idBenutzer }); /// 20
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.OriRadioAddress }); /// 21 albatrosid = original radio address
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.RadioAddress }); /// 22 vt_modul_snr = new radio address
|
||||
|
||||
insertedRows = cmd.ExecuteNonQuery();
|
||||
|
||||
@@ -1320,7 +1336,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 = Anbid_Producer });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 18000 + wm.Batch.TestBenchId });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = dbCfg.TestBenchGroupId + 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 });
|
||||
#if IPERL
|
||||
@@ -1404,7 +1420,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 = Anbid_Producer }); /// :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
|
||||
@@ -1437,12 +1453,12 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
/// </summary>
|
||||
/// <param name="connection">Oracle DB connection</param>
|
||||
/// <returns>List of active purchase orders</returns>
|
||||
public IList<Auftrag> ReadOrderNumbersFromOracle()
|
||||
public IList<OrderDetails> ReadOrderNumbers()
|
||||
{
|
||||
OracleConnection connection = ProductionDB;
|
||||
|
||||
/// Read a list of valid order numbers from Oracle
|
||||
IList<Auftrag> orders = new List<Auftrag>();
|
||||
IList<OrderDetails> orders = new List<OrderDetails>();
|
||||
|
||||
if (dbCfg.DebugLevel == DebugMode.Normal)
|
||||
{
|
||||
@@ -1450,97 +1466,50 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
{
|
||||
connection.Open();
|
||||
|
||||
/// STATUS='NEU'
|
||||
OracleCommand cmd = new OracleCommand("SELECT auftragsnummer, sollstueck, variantencode, erste_zaehlernr, " +
|
||||
"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 = Anbid_Producer });
|
||||
OracleDataReader dr = cmd.ExecuteReader();
|
||||
|
||||
while (dr.Read())
|
||||
foreach (string status in new string[] { "NEU", "AKTIV" })
|
||||
{
|
||||
string order = dr.GetString(0);
|
||||
/// STATUS='NEU'
|
||||
OracleCommand cmd = new OracleCommand("SELECT auftragsnummer, variantencode, erste_zaehlernr, prefix, suffix, " +
|
||||
"zaehlwerk, erfasst_am, sollende, sollstueck, zusatztext, znrlaenge, modul_param " +
|
||||
"FROM vt_auftrag_pd " +
|
||||
"WHERE produktion_anbid=:1 AND status=:2 AND produktion_usestate=0", connection);
|
||||
|
||||
int sollStueck; try { sollStueck = dr.GetInt32(1); }
|
||||
catch { sollStueck = 0; }
|
||||
string variantenCode; try { variantenCode = dr.GetString(2); }
|
||||
catch { variantenCode = string.Empty; }
|
||||
int esrsteZaehlerNr; try { esrsteZaehlerNr = dr.GetInt32(3); }
|
||||
catch { esrsteZaehlerNr = 1; }
|
||||
//string prefix; try { prefix = dr.GetString (4); } catch { prefix = string.Empty; }
|
||||
//string suffix; try { suffix = dr.GetString (5); } catch { suffix = string.Empty; }
|
||||
int zaehlwerk; try { zaehlwerk = dr.GetInt32(6); }
|
||||
catch { zaehlwerk = 0; }
|
||||
DateTime created; try { created = dr.GetDateTime(7); }
|
||||
catch { created = DateTime.Now; }
|
||||
DateTime dueDate; try { dueDate = dr.GetDateTime(8); }
|
||||
catch { dueDate = DateTime.Now; }
|
||||
//string remark; try { remark = dr.GetString (9); } catch { remark = string.Empty; }
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = status });
|
||||
|
||||
var ai = new Auftrag
|
||||
OracleDataReader dr = cmd.ExecuteReader();
|
||||
|
||||
while (dr.Read())
|
||||
{
|
||||
AuftragsNummer = order,
|
||||
SollStueck = sollStueck,
|
||||
VariantenCode = variantenCode,
|
||||
EsrsteZaehlerNr = esrsteZaehlerNr,
|
||||
//Prefix = prefix,
|
||||
//Suffix = suffix,
|
||||
Zaehlwerk = zaehlwerk,
|
||||
Created = created,
|
||||
DueDate = dueDate,
|
||||
//Remark = remark,
|
||||
};
|
||||
int i = 0;
|
||||
string auftragsnummer = dr.GetString(i++);
|
||||
string variantencode; try { variantencode = dr.GetString(i++); } catch { variantencode = string.Empty; }
|
||||
int erste_zaehlernr; try { erste_zaehlernr = dr.GetInt32(i++); } catch { erste_zaehlernr = 1; }
|
||||
string prefix; try { prefix = dr.GetString(i++); } catch { prefix = string.Empty; }
|
||||
string suffix; try { suffix = dr.GetString(i++); } catch { suffix = string.Empty; }
|
||||
int zaehlwerk; try { zaehlwerk = dr.GetInt32(i++); } catch { zaehlwerk = 0; }
|
||||
DateTime erfasst_am; try { erfasst_am = dr.GetDateTime(i++); } catch { erfasst_am = DateTime.Now; }
|
||||
DateTime sollende; try { sollende = dr.GetDateTime(i++); } catch { sollende = DateTime.Now; }
|
||||
int sollstueck = dr.GetInt32(i++);
|
||||
string zusatztext; try { zusatztext = dr.GetString (i++); } catch { zusatztext = string.Empty; }
|
||||
int znrlaenge = dr.GetInt32(i++);
|
||||
string modul_param; try { modul_param = dr.GetString(i++); } catch { modul_param = string.Empty; }
|
||||
|
||||
orders.Add(ai);
|
||||
orders.Add(new OrderDetails { AuftragsNummer = auftragsnummer,
|
||||
VariantenCode = variantencode,
|
||||
EsrsteZaehlerNr = erste_zaehlernr,
|
||||
Prefix = prefix,
|
||||
Suffix = suffix,
|
||||
Zaehlwerk = zaehlwerk,
|
||||
Created = erfasst_am,
|
||||
DueDate = sollende,
|
||||
TargetPcsCount = sollstueck,
|
||||
Remark = zusatztext,
|
||||
SNLength = znrlaenge,
|
||||
ModuleParameter = modul_param });
|
||||
}
|
||||
dr.Close();
|
||||
}
|
||||
dr.Close();
|
||||
|
||||
/// STATUS='AKTIV'
|
||||
cmd = new OracleCommand("SELECT auftragsnummer, sollstueck, variantencode, erste_zaehlernr, " +
|
||||
"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 = Anbid_Producer });
|
||||
dr = cmd.ExecuteReader();
|
||||
|
||||
while (dr.Read())
|
||||
{
|
||||
string order = dr.GetString(0);
|
||||
|
||||
int sollStueck; try { sollStueck = dr.GetInt32(1); }
|
||||
catch { sollStueck = 0; }
|
||||
string variantenCode; try { variantenCode = dr.GetString(2); }
|
||||
catch { variantenCode = string.Empty; }
|
||||
int esrsteZaehlerNr; try { esrsteZaehlerNr = dr.GetInt32(3); }
|
||||
catch { esrsteZaehlerNr = 1; }
|
||||
//string prefix; try { prefix = dr.GetString (4); } catch { prefix = string.Empty; }
|
||||
//string suffix; try { suffix = dr.GetString (5); } catch { suffix = string.Empty; }
|
||||
int zaehlwerk; try { zaehlwerk = dr.GetInt32(6); }
|
||||
catch { zaehlwerk = 0; }
|
||||
DateTime created; try { created = dr.GetDateTime(7); }
|
||||
catch { created = DateTime.Now; }
|
||||
DateTime dueDate; try { dueDate = dr.GetDateTime(8); }
|
||||
catch { dueDate = DateTime.Now; }
|
||||
//string remark; try { remark = dr.GetString (9); } catch { remark = string.Empty; }
|
||||
|
||||
var ai = new Auftrag
|
||||
{
|
||||
AuftragsNummer = order,
|
||||
SollStueck = sollStueck,
|
||||
VariantenCode = variantenCode,
|
||||
EsrsteZaehlerNr = esrsteZaehlerNr,
|
||||
//Prefix = prefix,
|
||||
//Suffix = suffix,
|
||||
Zaehlwerk = zaehlwerk,
|
||||
Created = created,
|
||||
DueDate = dueDate,
|
||||
//Remark = remark,
|
||||
};
|
||||
|
||||
orders.Add(ai);
|
||||
}
|
||||
dr.Close();
|
||||
|
||||
log.InfoFormat("Oracle DB query SELECT auftragsnummer, sollstueck FROM vt_auftrag_pd WHERE ... successful. {0} order numbers read", orders.Count);
|
||||
}
|
||||
@@ -1553,14 +1522,131 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
}
|
||||
else
|
||||
{
|
||||
orders = new List<Auftrag> ()
|
||||
orders = new List<OrderDetails> ()
|
||||
{
|
||||
new Auftrag { AuftragsNummer = "1234567", EsrsteZaehlerNr = 1, SollStueck = 100, Prefix = "Pre", Suffix = "Suf", VariantenCode = "abeceda" },
|
||||
new Auftrag { AuftragsNummer = "2345678", EsrsteZaehlerNr = 1, SollStueck = 200, Prefix = "Pfx", Suffix = "Sfx", VariantenCode = "zjedla_deda" },
|
||||
new OrderDetails { AuftragsNummer = "1234567", EsrsteZaehlerNr = 1, TargetPcsCount = 100, Prefix = "Pre", Suffix = "Suf", VariantenCode = "abeceda" },
|
||||
new OrderDetails { AuftragsNummer = "2345678", EsrsteZaehlerNr = 1, TargetPcsCount = 200, Prefix = "Pfx", Suffix = "Sfx", VariantenCode = "zjedla_deda" },
|
||||
};
|
||||
}
|
||||
|
||||
return orders;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Read a list of valid purchase orders.
|
||||
/// </summary>
|
||||
/// <param name="connection">Oracle DB connection</param>
|
||||
/// <returns>List of active purchase orders</returns>
|
||||
public bool ReadOrderDetails(ref OrderDetails auftrag)
|
||||
{
|
||||
if (dbCfg.DebugLevel == DebugMode.Normal)
|
||||
{
|
||||
OracleConnection connection = ProductionDB;
|
||||
|
||||
try
|
||||
{
|
||||
connection.Open();
|
||||
|
||||
|
||||
OracleCommand cmd = new OracleCommand("SELECT iststueck FROM vt_auftrag_pd WHERE auftragsnummer=:1 AND anbid=:2", connection);
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = auftrag.AuftragsNummer });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
OracleDataReader dr = cmd.ExecuteReader();
|
||||
if (dr.Read())
|
||||
{
|
||||
try { auftrag.CurrentPcsCount = dr.GetInt32(0); } catch { auftrag.CurrentPcsCount = 0; }
|
||||
}
|
||||
dr.Close();
|
||||
|
||||
|
||||
cmd = new OracleCommand("SELECT erste_nummer, ltz_nummer, akt_nummer, erste_adresse, ltz_adresse," +
|
||||
" prefix_adresse, suffix_adresse, akt_adresse " +
|
||||
"FROM vt_auft_zaehlernr_pd " +
|
||||
"WHERE auftragsnummer=:1 AND anbid=:2", connection);
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = auftrag.AuftragsNummer });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
dr = cmd.ExecuteReader();
|
||||
if (dr.Read())
|
||||
{
|
||||
int i = 0;
|
||||
auftrag.FirstSerialNr = dr.GetInt32(i++);
|
||||
auftrag.LastSerialNr = dr.GetInt32(i++);
|
||||
auftrag.CurrentSerialNr = dr.GetInt32(i++);
|
||||
auftrag.FirstRadioAddress = dr.GetInt32(i++);
|
||||
auftrag.LastRadioAddress = dr.GetInt32(i++);
|
||||
try { auftrag.RadioAddressPrefix = dr.GetString(i++); } catch { auftrag.RadioAddressPrefix = string.Empty; }
|
||||
try { auftrag.RadioAddressSuffix = dr.GetString(i++); } catch { auftrag.RadioAddressSuffix = string.Empty; }
|
||||
auftrag.CurrentRadioAddress = dr.GetInt32(i++);
|
||||
}
|
||||
dr.Close();
|
||||
|
||||
|
||||
connection.Close();
|
||||
return true;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
log.ErrorFormat("ERROR: Oracle DB query SELECT ... FROM vt_auft_zaehlernr_pd WHERE auftragsnummer={0} failed: {1}",
|
||||
auftrag.AuftragsNummer, exc.Message);
|
||||
if (connection != null) connection.Close();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Read a list of valid purchase orders.
|
||||
/// </summary>
|
||||
/// <param name="connection">Oracle DB connection</param>
|
||||
/// <returns>List of active purchase orders</returns>
|
||||
public int UpdateOrderDetails(OrderDetails auftrag)
|
||||
{
|
||||
if (dbCfg.DebugLevel == DebugMode.Normal)
|
||||
{
|
||||
OracleConnection connection = ProductionDB;
|
||||
|
||||
try
|
||||
{
|
||||
connection.Open();
|
||||
|
||||
|
||||
OracleCommand cmd = new OracleCommand("UPDATE vt_auftrag_pd SET iststueck=:1 WHERE auftragsnummer=:2 AND anbid=:3", connection);
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = auftrag.CurrentPcsCount });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = auftrag.AuftragsNummer });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
int updatedRows = cmd.ExecuteNonQuery();
|
||||
|
||||
|
||||
cmd = new OracleCommand("UPDATE vt_auft_zaehlernr_pd SET akt_nummer=:1, akt_adresse=:2 " +
|
||||
"WHERE auftragsnummer=:3 AND anbid=:4", connection);
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = auftrag.CurrentSerialNr });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = auftrag.CurrentRadioAddress });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = auftrag.AuftragsNummer });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer });
|
||||
updatedRows = Math.Min(cmd.ExecuteNonQuery(), updatedRows);
|
||||
|
||||
|
||||
connection.Close();
|
||||
return updatedRows;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
log.ErrorFormat("ERROR: Oracle DB query SELECT ... FROM vt_auft_zaehlernr_pd WHERE auftragsnummer={0} failed: {1}",
|
||||
auftrag.AuftragsNummer, exc.Message);
|
||||
if (connection != null) connection.Close();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
public string TestUserId;
|
||||
public string TestPassword;
|
||||
public int ProducerId;
|
||||
public int TestBenchGroupId;
|
||||
|
||||
/// <summary> Procedure parameters </summary>
|
||||
[XmlIgnore]
|
||||
@@ -70,6 +71,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
TestUserId = "deltachef";
|
||||
TestPassword = "deltachef";
|
||||
ProducerId = 4;
|
||||
TestBenchGroupId = 18000;
|
||||
}
|
||||
|
||||
string[] paramNames = new string[]
|
||||
@@ -84,6 +86,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
"Test DB User ID",
|
||||
"Test DB Password",
|
||||
"Producer ID",
|
||||
"Test bench group ID",
|
||||
};
|
||||
public string ParamName(int i) { return paramNames[i]; }
|
||||
public int ParamsCount() { return paramNames.Length; }
|
||||
@@ -107,12 +110,15 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
case 7: return TestUserId;
|
||||
case 8: return AkaPwd;
|
||||
case 9: return ProducerId.ToString();
|
||||
case 10: return TestBenchGroupId.ToString();
|
||||
default:
|
||||
return string.Format("{0}: Production={1} Quality={2} Test={3}",
|
||||
return string.Format("{0}: Production={1} Quality={2} Test={3} anbid={4} group={5}",
|
||||
Name,
|
||||
string.IsNullOrEmpty(ProductionDataSource) ? string.Empty : ProductionDataSource,
|
||||
string.IsNullOrEmpty(QualityDataSource) ? string.Empty : QualityDataSource,
|
||||
string.IsNullOrEmpty(TestDataSource) ? string.Empty : TestDataSource);
|
||||
string.IsNullOrEmpty(TestDataSource) ? string.Empty : TestDataSource,
|
||||
ProducerId,
|
||||
TestBenchGroupId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -157,6 +163,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
return CfgUpdateFlags.None;
|
||||
}
|
||||
case 9: ProducerId = int.Parse(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 10: TestBenchGroupId = int.Parse(str); return CfgUpdateFlags.RestartRqrd;
|
||||
default:
|
||||
return CfgUpdateFlags.None;
|
||||
}
|
||||
@@ -182,6 +189,9 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
case 9:
|
||||
if (int.TryParse(str, out idummy) && idummy > 0 && idummy <= 9) return true;
|
||||
break;
|
||||
case 10:
|
||||
if (int.TryParse(str, out idummy) && idummy > 0 && (idummy % 100) == 0) return true;
|
||||
break;
|
||||
default:
|
||||
message = "Invalid index";
|
||||
return false;
|
||||
@@ -202,6 +212,8 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
prms.TestDataSource = this.TestDataSource;
|
||||
prms.TestUserId = this.TestUserId;
|
||||
prms.TestPassword = this.TestPassword;
|
||||
prms.ProducerId = this.ProducerId;
|
||||
prms.TestBenchGroupId = this.TestBenchGroupId;
|
||||
}
|
||||
|
||||
public IParamsProvider Clone()
|
||||
|
||||
+24
-4
@@ -5,10 +5,12 @@ using System;
|
||||
|
||||
namespace TBF.Rig.Output.DB.SensusOracle
|
||||
{
|
||||
public class Auftrag
|
||||
public class OrderDetails
|
||||
{
|
||||
///
|
||||
/// Fixed
|
||||
///
|
||||
public string AuftragsNummer; /// Production order
|
||||
public int SollStueck; /// Targer pieces count
|
||||
public string VariantenCode; /// Spec
|
||||
public int EsrsteZaehlerNr; /// First S/N
|
||||
public string Prefix; /// S/N prefix
|
||||
@@ -16,18 +18,36 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
public int Zaehlwerk; /// SAP number of the counter
|
||||
public DateTime Created;
|
||||
public DateTime DueDate;
|
||||
public int TargetPcsCount; /// Target pieces count
|
||||
public string Remark;
|
||||
public int SNLength;
|
||||
public string ModuleParameter;
|
||||
public int FirstSerialNr;
|
||||
public int LastSerialNr;
|
||||
public int FirstRadioAddress;
|
||||
public int LastRadioAddress;
|
||||
public string RadioAddressPrefix;
|
||||
public string RadioAddressSuffix;
|
||||
///
|
||||
/// Incremented
|
||||
///
|
||||
public int CurrentPcsCount;
|
||||
public int CurrentSerialNr;
|
||||
public int CurrentRadioAddress;
|
||||
|
||||
public Auftrag()
|
||||
public OrderDetails()
|
||||
{
|
||||
Prefix = string.Empty;
|
||||
Suffix = string.Empty;
|
||||
Remark = string.Empty;
|
||||
ModuleParameter = string.Empty;
|
||||
RadioAddressPrefix = string.Empty;
|
||||
RadioAddressSuffix = string.Empty;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Format("{0} [{1}] {2}", AuftragsNummer, SollStueck, VariantenCode);
|
||||
return string.Format("{0} [{1}] {2}", AuftragsNummer, TargetPcsCount, VariantenCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,6 +18,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
|
||||
public class ProcedureParams : ProcedureParamsBase, IParamsProvider, IProcedureParams
|
||||
{
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(ProcedureParams));
|
||||
|
||||
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(ProcedureParams) })[0];
|
||||
public override XmlSerializer GetSerializer() { return Serializer; }
|
||||
|
||||
|
||||
+1
-1
@@ -886,7 +886,7 @@
|
||||
<Compile Include="Rig\Output\DB\SaveFlowmeterCorrections\SaveFlowmeterCorrCfgCtrl.designer.cs">
|
||||
<DependentUpon>SaveFlowmeterCorrCfgCtrl.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Rig\Output\DB\SensusOracle\Auftrag.cs" />
|
||||
<Compile Include="Rig\Output\DB\SensusOracle\OrderDetails.cs" />
|
||||
<Compile Include="Rig\Output\DB\SensusOracle\Database.cs" />
|
||||
<Compile Include="Rig\Output\DB\SensusOracle\DatabaseCfg.cs" />
|
||||
<Compile Include="Rig\Output\DB\SensusOracle\Factory.cs" />
|
||||
|
||||
+2
-2
@@ -728,7 +728,7 @@ namespace TBF.UI
|
||||
IList<ProcedureInfo> procInfos = new List<ProcedureInfo>();
|
||||
IList<Procedure> nativeProcedures = new List<Procedure>();
|
||||
IList<ProcedureSelection> nativeSources = new List<ProcedureSelection>();
|
||||
IList<Rig.Output.DB.SensusOracle.Auftrag> oracleOrders = new List<Rig.Output.DB.SensusOracle.Auftrag>();
|
||||
IList<Rig.Output.DB.SensusOracle.OrderDetails> oracleOrders = new List<Rig.Output.DB.SensusOracle.OrderDetails>();
|
||||
|
||||
foreach (var src in sources)
|
||||
{
|
||||
@@ -752,7 +752,7 @@ namespace TBF.UI
|
||||
}
|
||||
else if (src == ProcedureSelection.OrderNrFromOracleDB)
|
||||
{
|
||||
oracleOrders = Rig.Sequences.ProcessData.OracleDB.ReadOrderNumbersFromOracle();
|
||||
oracleOrders = Rig.Sequences.ProcessData.OracleDB.ReadOrderNumbers();
|
||||
|
||||
foreach (var order in oracleOrders)
|
||||
{
|
||||
|
||||
@@ -256,7 +256,7 @@ namespace TBF.UI.ResultsMI
|
||||
|
||||
|
||||
if ((TBF.Rig.Sequences.ProcessData.OracleDB != null) &&
|
||||
(TBF.Rig.Sequences.ProcessData.OracleDB.WriteResultsToDB(conn, b, true) == Retv.OK))
|
||||
(TBF.Rig.Sequences.ProcessData.OracleDB.WriteResultsToDB(conn, b, WMKind.Mechanical, true) == Retv.OK))
|
||||
{
|
||||
b.RsltsSent = true; /// Result was successfully sent
|
||||
session.SaveOrUpdate(b); /// Update MySQL DB
|
||||
|
||||
Reference in New Issue
Block a user