SensusOracle : UID and Pwd invisible, CreateWztypIfMissing, VtAuftragPd, VtPruefpunktSollSd.Qbezeichnung max 8 char, more logging
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user