static private void FinalCheck_ARTICOLI_con_reparto_non_coerente(string dossier) { // DBHelper2 db = DBHelper2.getSageDBHelper("SAURO"); // string command = @" select F.YWCR_0, F.ITMREF_0, AM.MACREP_0, AM.MAC_0 from SAURO.ITMFACILIT F //join SAURO.ITMMASTER M on F.ITMREF_0=M.ITMREF_0 //left join SAURO.YPRDITM P on P.ITMREF_0=F.ITMREF_0 //left join SAURO.YPRDAM AM on P.YATTCOD_0=AM.YCONATT_0 //where F.STOFCY_0='ITS01' and F.YWCR_0<>AM.MACREP_0 and MACREP_0<>'CL' and ITMSTA_0=1 //order by F.YWCR_0, AM.MACREP_0 "; DBHelper2 db = DBHelper2.getSageDBHelper(dossier); string command = @" select F.YWCR_0, F.ITMREF_0, AM.MACREP_0, AM.MAC_0 " + " from " + dossier + ".ITMFACILIT F " + " join " + dossier + ".ITMMASTER M on F.ITMREF_0=M.ITMREF_0 " + " left join " + dossier + ".YPRDITM P on P.ITMREF_0=F.ITMREF_0 " + " left join " + dossier + ".YPRDAM AM on P.YATTCOD_0=AM.YCONATT_0 " + " where F.STOFCY_0='ITS01' and F.YWCR_0<>AM.MACREP_0 and MACREP_0<>'CL' and ITMSTA_0=1 " + " order by F.YWCR_0, AM.MACREP_0 "; _logger.Info("start execution"); string testo_mail = ""; DbDataReader dtr = db.GetReaderSelectCommand(command); object[] row = new object[dtr.FieldCount]; string reparto_articolo = "", articolo = ""; string reparto_macchina = "", macchina = ""; while (dtr.Read()) { dtr.GetValues(row); reparto_articolo = (string)row[0]; articolo = (string)row[1]; reparto_macchina = (string)row[2]; macchina = (string)row[3]; testo_mail += articolo.PadRight(40) + " ha reparto " + reparto_articolo.PadRight(10) + " ma la macchina " + macchina.PadRight(20) + " ha reparto " + reparto_macchina + Utils.NewLineMail(); } Utils.SendMail_Anag(Settings.GetSettings(), testo_mail, "Articoli ATTIVI con reparto non coerente con reparto macchina"); _logger.Info("end execution"); }
static private List <string> Get_Lista_Articoli_RI_Sage(bool mode, string dossier, string codice_like) { List <string> _lista_articoli_rilasciati_in_sage = new List <string>(30000); //recupero totali accantonamenti per ogni articolo presente in ORR string query = Articolo.SelectQuery(true, dossier, codice_like, null); DBHelper2 db = DBHelper2.getSageDBHelper(dossier); DbDataReader dtr = db.GetReaderSelectCommand(query); object[] row = new object[dtr.FieldCount]; while (dtr.Read()) { dtr.GetValues(row); _lista_articoli_rilasciati_in_sage.Add(Item.GetDBV <string>(row[0], "articolo")); } return(_lista_articoli_rilasciati_in_sage); }
static protected DataTable InitTable_ConfigAttrezzura_ConMacchina(string dossier) { //recupero dati Configurazione Attrezzature Macchine dove c'è la macchina, non solo il gruppo DataTable ret = new DataTable(); init_data_table(ret); string query = @"SELECT C.YCONATT_0 ,C.YCONGRP_0 ,C.YCONCDL_0 as WST_0 ,C.YCONLOTSIZ_0 ,C.YCONCAD_0 ,C.YCONCADTIM_0 ,C.YCONENAFLG_0 ,C.YCONDATRIA_0 ,W.WCR_0 from SAURO.YPRDCONF C join SAURO.WORKSTATIO W on C.YCONCDL_0 = W.WST_0 left join SAURO.YPRDATT A on A.YATTCOD_0= C.YCONATT_0 where YCONCDL_0 <> '' " + //and W.WCR_0 <> 'ASSE' @" and A.YATTENAFLG_0=2 order by YCONATT_0, YCONCDL_0 desc"; DBHelper2 db = DBHelper2.getSageDBHelper(dossier); DbDataReader dtr = db.GetReaderSelectCommand(query); object[] row = new object[dtr.FieldCount]; //MEGA accrocchio per velocità: uso lo stesso oggetto Std_Op_Machine tmp = null; while (dtr.Read()) { dtr.GetValues(row); tmp = new Std_Op_Machine(); tmp.Init(row); ret.Rows.Add(tmp.GetCyberRow(ret));//accrocchio per evitare che la riga derivi dall'altra tabella } return(ret); }
static private Dictionary <string, string> Get_Lista_Articoli_Fornitori_Sage(string dossier) { string db = "x3." + dossier; Dictionary <string, string> _lista_articoli_fornitori_sage = new Dictionary <string, string>(1500); //questa query va bene anche se non filtro gli articoli RILASCIATI //perchè poi duplico solo le distinte base già filtrate per articoli rilasciati string query = "select ITMREF_0, BPSNUM_0 from " + db + ".ITMBPS where BPSNUM_0 <> 'A000818' "; DBHelper2 dbh = DBHelper2.getSageDBHelper(dossier); DbDataReader dtr = dbh.GetReaderSelectCommand(query); object[] row = new object[dtr.FieldCount]; while (dtr.Read()) { dtr.GetValues(row); _lista_articoli_fornitori_sage.Add(Item.GetDBV <string>(row[0], "ITMREF_0"), Item.GetDBV <string>(row[1], "BPSNUM_0")); } return(_lista_articoli_fornitori_sage); }
static private void FinalCheck_ATTR_senza_macchina(string dossier) { // DBHelper2 db = DBHelper2.getSageDBHelper("SAURO"); // string command = @" select YATTCOD_0, YATTDES_0 from SAURO.YPRDATT A //left join SAURO.YPRDCONF C on A.YATTCOD_0=C.YCONATT_0 and C.YCONENAFLG_0=2 //where A.YATTENAFLG_0=2 and C.YCONATT_0 is null //order by YSTACOD_0 "; DBHelper2 db = DBHelper2.getSageDBHelper(dossier); string command = @" select YATTCOD_0, YATTDES_0 from " + dossier + ".YPRDATT A " + " left join " + dossier + ".YPRDCONF C on A.YATTCOD_0=C.YCONATT_0 and C.YCONENAFLG_0=2 " + " where A.YATTENAFLG_0=2 and C.YCONATT_0 is null " + " order by YSTACOD_0 "; _logger.Info("start execution"); string testo_mail = ""; DbDataReader dtr = db.GetReaderSelectCommand(command); object[] row = new object[dtr.FieldCount]; string attrezzatura = "", desc = ""; while (dtr.Read()) { dtr.GetValues(row); attrezzatura = (string)row[0]; desc = (string)row[1]; testo_mail += "attrezzatura senza macchine associate: " + attrezzatura.PadRight(40) + desc + Utils.NewLineMail(); } Utils.SendMail_Plan(Settings.GetSettings(), testo_mail, "Attrezzature ATTIVE senza macchine associate"); _logger.Info("end execution"); }