SensusOracle : UID and Pwd invisible, CreateWztypIfMissing, VtAuftragPd, VtPruefpunktSollSd.Qbezeichnung max 8 char, more logging

This commit is contained in:
Milan Hanajik
2021-12-09 17:12:51 +01:00
parent cd84c82475
commit 2c00ed6dc4
10 changed files with 419 additions and 85 deletions
+64 -54
View File
@@ -176,6 +176,15 @@ namespace TBF.Rig.Output.DB.SensusOracle
/// Get VT_WZTYP_SD content
vtWztypSdList = VtWztypSd.Read(SelectedDB);
if (vtWztypSdList != null)
{
log.DebugFormat("{0} records read from VT_WZTYP_SD", vtWztypSdList.Count);
foreach (var r in vtWztypSdList) log.Debug(r.ToString());
}
else
{
log.Debug("Unable to read from VT_WZTYP_SD");
}
SelectedDB.Close();
@@ -788,7 +797,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
{
toBeInserted2vtWztypSdList = null;
if (IsAutoWMType && CreateWztypIfMissing)
if (true /* IsAutoWMType && CreateWztypIfMissing */ )
{
int idBenutzer = (ProducerAnbid== 4) ? 6 : 365;
VtWztypSd recordFromBatch = VtWztypSd.FromBatch(b, idBenutzer);
@@ -796,22 +805,25 @@ namespace TBF.Rig.Output.DB.SensusOracle
if (existingRecord == null)
{
/// Appropriate record does not exist - create a new record from the batch and write it to the database
log.Debug("Appropriate record does not exist - create a new record from the batch and write it to the database");
VtWztypSd sameNameRecord = vtWztypSdList.FirstOrDefault(x => x.Wztyp == recordFromBatch.Wztyp);
if (sameNameRecord != null)
{
/// Make record with the same name inactive
OracleCommand cmd = new OracleCommand("UPDATE vt_wztyp_pd SET aktiv=:4 " +
"WHERE anbid=:1 AND id_wztyp=:2 AND rev_wztyp=:3", conn);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = ProducerAnbid}); /// :1
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = sameNameRecord.IdWztyp }); /// :2
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = sameNameRecord.RevWztyp }); /// :3
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// :4
log.DebugFormat("Record with the same name exists, making it inactive, IdWztyp={0}, new RevWztyp={1}",
sameNameRecord.IdWztyp, sameNameRecord.RevWztyp + 1);
if (cmd.ExecuteNonQuery() != 1) throw (new Exception(string.Format("Failed to update vt_wztyp_pd record {0}/{1}",
sameNameRecord.IdWztyp, sameNameRecord.RevWztyp)));
var cmd = new OracleCommand("UPDATE vt_wztyp_sd SET aktiv=:1 WHERE anbid=:2 AND id_wztyp=:3 AND rev_wztyp=:4", conn);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// :1
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = ProducerAnbid }); /// :2
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = sameNameRecord.IdWztyp }); /// :3
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = sameNameRecord.RevWztyp }); /// :4
int rowsUpdated = cmd.ExecuteNonQuery();
if (rowsUpdated != 1) throw (new Exception(string.Format("Failed to update vt_wztyp_sd record {0}/{1}",
sameNameRecord.IdWztyp, sameNameRecord.RevWztyp)));
/// IdWztyp and RevWztyp of the new record: new revision of the record with the same name
recordFromBatch.IdWztyp = sameNameRecord.IdWztyp;
recordFromBatch.RevWztyp = sameNameRecord.RevWztyp + 1;
@@ -832,16 +844,21 @@ namespace TBF.Rig.Output.DB.SensusOracle
recordFromBatch.Write(conn);
toBeInserted2vtWztypSdList = recordFromBatch;
new VtPruefstandWztypSd
int idPruefstand = dbCfg.TestBenchGroupId + b.TestBenchId;
var vtPruefstandWztypSdList = VtPruefstandWztypSd.Read(conn, idPruefstand, recordFromBatch.IdWztyp);
if (vtPruefstandWztypSdList.Count == 0)
{
IdPruefstand = dbCfg.TestBenchGroupId + b.TestBenchId,
IdWztyp = recordFromBatch.IdWztyp,
RevPruefstandWztyp = 1,
Bemerkung = recordFromBatch.Wztyp,
IdBenutzer = idBenutzer,
Aenderungsdatum = DateTime.Now,
Aktiv = true,
}.Write(conn);
new VtPruefstandWztypSd
{
IdPruefstand = idPruefstand,
IdWztyp = recordFromBatch.IdWztyp,
RevPruefstandWztyp = 1,
Bemerkung = recordFromBatch.Wztyp,
IdBenutzer = idBenutzer,
Aenderungsdatum = DateTime.Now,
Aktiv = true,
}.Write(conn);
}
}
else
{
@@ -1311,42 +1328,35 @@ namespace TBF.Rig.Output.DB.SensusOracle
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 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);
"SET max_pruefindex=:1, vt_identnummer=:2, auftragsnummer=:3, vt_baugruppen_nr=:4, mbus_adr=:5," +
" liegenschafts_nr=:6, sekundaere_adr=:7, hydr_pruefung=:8, mark_date=:9, baujahr=:10, eich_jahr=:11," +
" umkarton_nr=:12, palette_nr=:13, zaehlernummer=:14, prefix=:15, suffix=:16, z_nr_komplett=:17," +
" id_benutzer=:18, albatrosid=:19, vt_modul_snr=:20 " +
"WHERE vt_fernum = :21 AND anbid = :22", conn);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr }); /// 1
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = ProducerAnbid}); /// 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
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = max_Pruefindex }); /// 1 max_pruefindex
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = vt_identnummer }); /// 2 vt_identnummer
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.PurchaseOrder }); /// 3 auftragsnummer
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNrAux }); /// 4 vt_baugruppen_nr = PCB number of 640 meter
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 = wm.AssignedSerialNr }); /// 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 = idBenutzer }); /// 18
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.OriRadioAddress }); /// 19 albatrosid = original radio address
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.RadioAddress }); /// 20 vt_modul_snr = new radio address
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = wm.SerialNr }); /// 21
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = ProducerAnbid }); /// 22
int updatedRows = cmd.ExecuteNonQuery();
int insertedRows = 0;
+55 -18
View File
@@ -62,14 +62,14 @@ namespace TBF.Rig.Output.DB.SensusOracle
public void InitializeAll()
{
ProductionDataSource = "STARA01.WORLD";
ProductionUserId = "deltachef";
ProductionPassword = "deltachef";
ProductionUserId = "abc";
ProductionPassword = "def";
QualityDataSource = "STARA01.WORLD";
QualityUserId = "deltaqual";
QualityPassword = "test";
QualityUserId = "ghi";
QualityPassword = "jkl";
TestDataSource = "STARA_TEST";
TestUserId = "deltachef";
TestPassword = "deltachef";
TestUserId = "mno";
TestPassword = "pqr";
ProducerId = 4;
TestBenchGroupId = 18000;
}
@@ -101,13 +101,13 @@ namespace TBF.Rig.Output.DB.SensusOracle
switch (i)
{
case 0: return ProductionDataSource;
case 1: return ProductionUserId;
case 1: return AkaPwd;
case 2: return AkaPwd;
case 3: return QualityDataSource;
case 4: return QualityUserId;
case 4: return AkaPwd;
case 5: return AkaPwd;
case 6: return TestDataSource;
case 7: return TestUserId;
case 6: return TestDataSource;
case 7: return AkaPwd;
case 8: return AkaPwd;
case 9: return ProducerId.ToString();
case 10: return TestBenchGroupId.ToString();
@@ -126,8 +126,19 @@ namespace TBF.Rig.Output.DB.SensusOracle
{
switch (i)
{
case 0: ProductionDataSource = str; return CfgUpdateFlags.RestartRqrd;
case 1: ProductionUserId = str; return CfgUpdateFlags.RestartRqrd;
case 0:
ProductionDataSource = str;
return CfgUpdateFlags.RestartRqrd;
case 1:
if (!str.Contains(AkaPwd1))
{
ProductionUserId = str;
return CfgUpdateFlags.RestartRqrd;
}
else
{
return CfgUpdateFlags.None;
}
case 2:
if (!str.Contains(AkaPwd1))
{
@@ -138,8 +149,19 @@ namespace TBF.Rig.Output.DB.SensusOracle
{
return CfgUpdateFlags.None;
}
case 3: QualityDataSource = str; return CfgUpdateFlags.RestartRqrd;
case 4: QualityUserId = str; return CfgUpdateFlags.RestartRqrd;
case 3:
QualityDataSource = str;
return CfgUpdateFlags.RestartRqrd;
case 4:
if (!str.Contains(AkaPwd1))
{
QualityUserId = str;
return CfgUpdateFlags.RestartRqrd;
}
else
{
return CfgUpdateFlags.None;
}
case 5:
if (!str.Contains(AkaPwd1))
{
@@ -150,8 +172,19 @@ namespace TBF.Rig.Output.DB.SensusOracle
{
return CfgUpdateFlags.None;
}
case 6: TestDataSource = str; return CfgUpdateFlags.RestartRqrd;
case 7: TestUserId = str; return CfgUpdateFlags.RestartRqrd;
case 6:
TestDataSource = str;
return CfgUpdateFlags.RestartRqrd;
case 7:
if (!str.Contains(AkaPwd1))
{
TestUserId = str;
return CfgUpdateFlags.RestartRqrd;
}
else
{
return CfgUpdateFlags.None;
}
case 8:
if (!str.Contains(AkaPwd1))
{
@@ -162,8 +195,12 @@ 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;
case 9:
ProducerId = int.Parse(str);
return CfgUpdateFlags.RestartRqrd;
case 10:
TestBenchGroupId = int.Parse(str);
return CfgUpdateFlags.RestartRqrd;
default:
return CfgUpdateFlags.None;
}
@@ -0,0 +1,253 @@
///
/// Copyright (c) 2021 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using System.Linq;
using log4net;
#if MANAGED
using Oracle.ManagedDataAccess.Client;
#else
using Oracle.DataAccess.Client;
#endif
using Common;
namespace TBF.Rig.Output.DB.SensusOracle
{
public class VtAuftragPd
{
private static readonly ILog log = LogManager.GetLogger(typeof(VtAuftragPd));
public string Auftragsnummer;
public int Produktion_anbid;
public int Produktion_id_anlage;
public int Produktion_usestate;
public string Kd_auftr_nr;
public string Kd_auftr_pos;
public int Geraetetyp;
public string Variantencode;
public string Status;
public int Anbid;
public int Id_benutzer;
public DateTime Erfasst_am;
public DateTime Sollende;
public int Sollstueck;
public int Iststueck;
public int Stopbeiiststueck;
public int Sollstueckueberproduktion;
public int Kunden_z_nr;
public int Zaehlerinkrement;
public int Erste_zaehlernr;
public string Prefix;
public bool Prefix_flag;
public string Suffix;
public bool Suffix_flag;
public bool Zaehlernummer_bc_flag;
public bool Mbus_adr_flag;
public int Mbus_adr;
public int Mbus_adr_schritte;
public bool Liegenschafts_nr_flag;
public long Liegenschafts_nr;
public int Liegenschafts_nr_schritte;
public bool Sekundaere_adr_flag;
public int Sekundaere_adr;
public int Sekundaere_adr_schritte;
public bool Kdartnr_flag;
public string Kdartnr;
public string Kdlogoname;
public byte Eich_jahr_simple;
public string Zusatztext;
public int Zaehlwerk;
public int Modul;
public bool Archiv;
public int Prioritaet;
public int Umkarton;
public int Paletteumkarton;
public int Usestate;
public int Znrlaenge;
public DateTime Changedate;
public string Modul_param;
/// <summary>
/// Default constructor
/// </summary>
public VtAuftragPd()
{
}
static public VtAuftragPd FromOrderInfo(IOrderInfo orderInfo, Config.Entities.Procedure procedure, int idBenutzer)
{
VtAuftragPd rslt = new VtAuftragPd
{
Auftragsnummer = orderInfo.POName,
Produktion_anbid = Database.ProducerAnbid,
Produktion_id_anlage = 4,
Produktion_usestate = 0,
Kd_auftr_nr = null,
Kd_auftr_pos = null,
Geraetetyp = 0,
Variantencode = orderInfo.VariantCode,
Status = "NEU",
Anbid = Database.ProducerAnbid,
Id_benutzer = idBenutzer,
Erfasst_am = DateTime.Now,
Sollende = DateTime.Now + new TimeSpan(7,0,0,0),
Sollstueck = orderInfo.PiecesCount,
Iststueck = 0,
Stopbeiiststueck = orderInfo.PiecesCount,
Sollstueckueberproduktion = 0,
Kunden_z_nr = 0,
Zaehlerinkrement = 1,
Erste_zaehlernr = orderInfo.SNFirst,
Prefix = string.IsNullOrEmpty(orderInfo.SNPrefix) ? null : orderInfo.SNPrefix,
Prefix_flag = !string.IsNullOrEmpty(orderInfo.SNPrefix),
Suffix = string.IsNullOrEmpty(orderInfo.SNSuffix) ? null : orderInfo.SNSuffix,
Suffix_flag = !string.IsNullOrEmpty(orderInfo.SNSuffix),
Zaehlernummer_bc_flag = false,
Mbus_adr_flag = false,
Mbus_adr = 0,
Mbus_adr_schritte = 0,
Liegenschafts_nr_flag = false,
Liegenschafts_nr = 0,
Liegenschafts_nr_schritte = 0,
Sekundaere_adr_flag = false,
Sekundaere_adr = 0,
Sekundaere_adr_schritte = 0,
Kdartnr_flag = false,
Kdartnr = "S640CFV1", /// TODO
Kdlogoname = null,
Eich_jahr_simple = 21, /// TODO
Zusatztext = orderInfo.Remark,
Zaehlwerk = 68118031, /// TODO
Modul = 0,
Archiv = false,
Prioritaet = 0,
Umkarton = 10, /// TODO
Paletteumkarton = 20, /// TODO
Usestate = 0,
Znrlaenge = orderInfo.SNDigitsCount,
Changedate = DateTime.Now,
Modul_param = orderInfo.ModuleParam,
};
return rslt;
}
public int Write(OracleConnection conn, bool aktiv = true)
{
var cmd = new OracleCommand("INSERT INTO vt_auftrag_pd(auftragsnummer, produktion_anbid, produktion_id_anlage," +
" produktion_usestate, kd_auftr_nr, kd_auftr_pos, geraetetyp, variantencode, status," +
" anbid, id_benutzer, erfasst_am, sollende, sollstueck, iststueck, stopbeiiststueck," +
" sollstueckueberproduktion, kunden_z_nr, zaehlerinkrement, erste_zaehlernr, prefix," +
" prefix_flag, suffix, suffix_flag, zaehlernummer_bc_flag, mbus_adr_flag, mbus_adr," +
" mbus_adr_schritte, liegenschafts_nr_flag, liegenschafts_nr, liegenschafts_nr_schritte," +
" sekundaere_adr_flag, sekundaere_adr, sekundaere_adr_schritte, kdartnr_flag, kdartnr," +
" kdlogoname, eich_jahr_simple, zusatztext, zaehlwerk, modul, archiv, prioritaet," +
" umkarton, paletteumkarton, usestate, znrlaenge, changedate, modul_param) " +
"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, :28, :29, :30, :31, :32, :33," +
" :34, :35, :36, :37, :38, :39, :40, :41, :42, :43, :44, :45, :46, :47, :48, :49)", conn);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Auftragsnummer }); /// :1
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Produktion_anbid }); /// :2
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Produktion_id_anlage }); /// :3
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Produktion_usestate }); /// :4
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Kd_auftr_nr }); /// :5
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Kd_auftr_pos }); /// :6
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Geraetetyp }); /// :7
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Variantencode }); /// :8
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Status }); /// :9
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid }); /// :10
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Id_benutzer }); /// :11
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.TimeStamp, Value = Erfasst_am }); /// :12
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.TimeStamp, Value = Sollende }); /// :13
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Sollstueck }); /// :14
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Iststueck }); /// :15
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Stopbeiiststueck }); /// :16
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Sollstueckueberproduktion }); /// :17
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Kunden_z_nr }); /// :18
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Zaehlerinkrement }); /// :19
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Erste_zaehlernr }); /// :20
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Prefix }); /// :21
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Prefix_flag ? -1 : 0 }); /// :22
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Suffix }); /// :23
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Suffix_flag ? -1 : 0 }); /// :24
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Zaehlernummer_bc_flag ? -1 : 0 }); /// :25
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Mbus_adr_flag ? -1 : 0 }); /// :26
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Mbus_adr }); /// :27
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Mbus_adr_schritte }); /// :28
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Liegenschafts_nr_flag ? -1 : 0 }); /// :29
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int64, Value = Liegenschafts_nr }); /// :30
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Liegenschafts_nr_schritte }); /// :31
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Sekundaere_adr_flag ? -1 : 0 }); /// :32
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Sekundaere_adr }); /// :33
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Sekundaere_adr_schritte }); /// :34
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Kdartnr_flag ? -1 : 0 }); /// :35
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Kdartnr }); /// :36
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Kdlogoname }); /// :37
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Eich_jahr_simple }); /// :38
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Zusatztext }); /// :39
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Zaehlwerk }); /// :40
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Modul }); /// :41
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Archiv }); /// :42
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Prioritaet }); /// :43
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Umkarton }); /// :44
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Paletteumkarton }); /// :45
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Usestate }); /// :46
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Znrlaenge }); /// :47
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.TimeStamp, Value = Changedate }); /// :48
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Modul_param }); /// :49
///
return cmd.ExecuteNonQuery();
}
public static IList<OrderDetails> Read(OracleConnection conn, string poName)
{
var cmd = new OracleCommand("SELECT status, variantencode, erste_zaehlernr, prefix, suffix," +
" zaehlwerk, erfasst_am, sollende, sollstueck, zusatztext, znrlaenge, modul_param " +
"FROM vt_auftrag_pd " +
"WHERE auftragsnummer=:1 AND produktion_anbid=:2", conn);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = poName }); /// :1
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Database.ProducerAnbid }); /// :2
var rslt = new List<OrderDetails>();
OracleDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
int i = 0;
string status = 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; }
rslt.Add(new OrderDetails { POName = poName,
VariantCode = variantencode,
SNFirst = erste_zaehlernr,
SNPrefix = prefix,
SNSuffix = suffix,
Zaehlwerk = zaehlwerk,
Created = erfasst_am,
DueDate = sollende,
PiecesCount = sollstueck,
Remark = zusatztext,
SNDigitsCount = znrlaenge,
ModuleParam = modul_param });
}
dr.Close();
return rslt;
}
}
}
@@ -62,7 +62,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
Negfehlerwarm = 0,
Pruefbereichmin = isQ3orQ4 ? 90 : 100,
Pruefbereichmax = isQ3orQ4 ? 100 : 110,
Qbezeichnung = tr.Name(),
Qbezeichnung = tr.Name().Substring(0, Math.Min(tr.Name().Length, 8)),
Mindruck = 0,
Maxdruck = 0,
Fkorrektur = 0,
@@ -96,7 +96,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
Negfehlerwarm = 0,
Pruefbereichmin = isQ3orQ4 ? 90 : 100,
Pruefbereichmax = isQ3orQ4 ? 100 : 110,
Qbezeichnung = test.Name,
Qbezeichnung = test.Name.Substring(0, Math.Min(test.Name.Length, 8)),
Mindruck = 0,
Maxdruck = 0,
Fkorrektur = 0,
@@ -115,7 +115,7 @@ namespace TBF.Rig.Output.DB.SensusOracle
/// <param name="aktiv">WM type Id</param>
/// <param name="aktiv">WM type revision</param>
/// <returns>List of VtWztypSd records</returns>
public void Write(OracleConnection conn, VtPruefpunktSollSd record, int id_wztyp, int rev_wztyp)
public int Write(OracleConnection conn, VtPruefpunktSollSd record, int id_wztyp, int rev_wztyp)
{
var cmd = new OracleCommand("INSERT INTO vt_pruefpunkt_soll_sd(anbid, id_wztyp, rev_wztyp, pruefungsnr, q_soll, pruefzeit," +
" posfehlerkalt, negfehlerkalt, posfehlerwarm, negfehlerwarm, pruefbereichmin, pruefbereichmax," +
@@ -139,6 +139,10 @@ namespace TBF.Rig.Output.DB.SensusOracle
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Single, Value = Maxdruck }); /// :16
///
var rowsUpdated = cmd.ExecuteNonQuery();
log.DebugFormat("Successfully writen to DB: {0}", ToString());
return rowsUpdated;
}
/// <summary>
@@ -78,7 +78,15 @@ namespace TBF.Rig.Output.DB.SensusOracle
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Verwendet ? 1 : 0 }); /// :21
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = aktiv ? 1 : 0 }); /// :22
///
return cmd.ExecuteNonQuery(); /// returns updated rows count
int rowsUpdated = cmd.ExecuteNonQuery(); /// returns updated rows count
if (rowsUpdated == 1)
log.DebugFormat("Successfully writen to DB: {0}", ToString());
else
log.DebugFormat("Not writen to DB (updated rows {0}): {1}", rowsUpdated, ToString());
return rowsUpdated;
}
public static IList<VtPruefstandWztypSd> Read(OracleConnection conn, int idPruefstand, int idWztyp)
+4 -2
View File
@@ -125,8 +125,8 @@ namespace TBF.Rig.Output.DB.SensusOracle
" 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);
"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
@@ -165,6 +165,8 @@ namespace TBF.Rig.Output.DB.SensusOracle
}
}
log.DebugFormat("Successfully writen to DB: {0}", ToString());
return rowsUpdated;
}