Exemple #1
0
        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);
        }
Exemple #5
0
        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");
        }