示例#1
0
        private void bgwEanPosicao_DoWork(object sender, DoWorkEventArgs e)//:::::::::: EAN x Posição (Diário):::
        {
            AccessBD    conex = new AccessBD();
            string      SQL;
            IDataReader retornoBD;

            grafEanPosicaoDiario.Titles.Clear();
            grafEanPosicaoDiario.Series.Clear();

            grafEanPosicaoDiario.Titles.Add("Acompanhamento diário de EAN x Posição");
            grafEanPosicaoDiario.Titles[0].Font = new Font("", 14, FontStyle.Bold);

            grafEanPosicaoDiario.Series.Add("acuracia");
            grafEanPosicaoDiario.Series["acuracia"].BackHatchStyle      = System.Windows.Forms.DataVisualization.Charting.ChartHatchStyle.BackwardDiagonal;
            grafEanPosicaoDiario.Series["acuracia"].IsValueShownAsLabel = true;
            grafEanPosicaoDiario.Series["acuracia"].Color      = Color.FromArgb(53, 152, 219);
            grafEanPosicaoDiario.Series["acuracia"].XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.DateTime;
            grafEanPosicaoDiario.Series["acuracia"].YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Double;

            SQL = "SELECT RIGHT(DAT_CONT, 2) & '/' & MID(DAT_CONT, 5, 2) & '/' & LEFT(DAT_CONT, 4), ROUND(AVG(ACUR) * 100, 2) " +
                  "FROM(SELECT DAT_CONT, DOC_INV1, POS_DEP, IIF(COUNT(PRODUTO) > 1,0,1) AS ACUR " +
                  "FROM(SELECT A.DAT_CONT, A.DOC_INV1, A.POS_DEP, A.PRODUTO FROM INVENTARIO AS A LEFT JOIN POSICAO AS B ON A.POS_DEP = B.POSICAO WHERE A.DAT_CONT BETWEEN " + dataDe + " AND " + dataAte + " and B.TIPO_DEP NOT IN (1003,7001,7004) AND A.PRODUTO <> '' GROUP BY A.DOC_INV1, A.POS_DEP, A.PRODUTO, A.DAT_CONT) " +
                  "GROUP BY DOC_INV1, POS_DEP, DAT_CONT) " +
                  "GROUP BY DAT_CONT";
            retornoBD = conex.consultaReader(SQL);
            while (retornoBD.Read())
            {
                grafEanPosicaoDiario.Series["acuracia"].Points.AddXY(retornoBD.GetString(0), retornoBD.GetDouble(1));
            }
            grafEanPosicaoDiario.Titles.Add("Acompanhamento diário de  EAN x Posição (" + dtpDataDe2.Text + " à " + dtpDataAte2.Text + ")");
            grafEanPosicaoDiario.Titles[0].Font = new Font("", 14, FontStyle.Bold);
        }
示例#2
0
        protected internal void frmInvRotativo_Load(object sender, EventArgs e)
        {
            AccessBD    conex = new AccessBD();
            string      SQL, posicao, rua = "0", nivel = "0";
            int         qtdCont;
            IDataReader retornoBD;

            dtpDe.Text  = "01/" + DateTime.Now.Month.ToString() + "/" + DateTime.Now.Year.ToString();
            dtpAte.Text = DateTime.Now.ToString();
            cmbPesquisa.SelectedIndex = 0;

            conex.AbrirConexao();
            lblUltimoInvent.Text = conex.consultaScalar("SELECT RIGHT(DAT_post, 2) &'/'& MID(DAT_post, 5, 2) &'/'& LEFT(DAT_post, 4)   & ' ÀS ' & MAX(hr_post) AS hr_post FROM INVENTARIO WHERE (((INVENTARIO.[DAT_POST])=(SELECT Max(dat_POST) FROM INVENTARIO))) group by dat_post");

            try
            {
                //Preenche o datagridview
                SQL = "SELECT INVENTARIO.POS_DEP, COUNT(INVENTARIO.POS_DEP), POSICAO.DAT_CONT " +
                      "FROM(" +
                      "SELECT DOC_INV1, POS_DEP " +
                      "FROM INVENTARIO " +
                      "GROUP BY POS_DEP, DOC_INV1 " +
                      ") , POSICAO " +
                      "WHERE INVENTARIO.POS_DEP = POSICAO.POSICAO " +
                      "GROUP BY  INVENTARIO.POS_DEP, POSICAO.DAT_CONT " +
                      "order by INVENTARIO.POS_DEP ";
                retornoBD = conex.consultaReader(SQL);

                cmbNivel.Items.Add("");
                cmbRua.Items.Add("");

                while (retornoBD.Read())
                {
                    posicao = retornoBD.GetString(0);
                    qtdCont = retornoBD.GetInt32(1);
                    dgvPos.Rows.Add(posicao, qtdCont);

                    //carrega Combo box RUA
                    if (rua != posicao.Substring(0, 5))
                    {
                        rua = posicao.Substring(0, 5);
                        cmbRua.Items.Add(posicao.Substring(0, 5));
                    }
                    if (posicao.Length >= 13)
                    {
                        nivel = posicao.Substring(11, 2);
                    }
                    //Carrega combo box Nivel
                    if (cmbNivel.FindStringExact(nivel) < 0)
                    {
                        cmbNivel.Items.Add(posicao.Substring(11, 2));
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            conex.FecharConexao();
        }
示例#3
0
        private void bgwAcuracidadeDiaria_DoWork(object sender, DoWorkEventArgs e)//:: ACURACIDADE DIÁRIA :::
        {
            AccessBD    conex = new AccessBD();
            string      SQL;
            IDataReader retornoBD;

            //dtpDataDe2.Text = "01/" + DateTime.Now.Month.ToString() + "/" + DateTime.Now.Year.ToString();
            //dtpDataAte2.Text = DateTime.Now.ToString();

            grafAcuracidadeDiario.Titles.Clear();
            grafAcuracidadeDiario.Series.Clear();

            grafAcuracidadeDiario.Titles.Add("Acuracidade de estoque diária (" + dtpDataDe2.Text + " à " + dtpDataAte2.Text + ")");
            grafAcuracidadeDiario.Titles[0].Font = new Font("", 14, FontStyle.Bold);

            grafAcuracidadeDiario.Series.Add("acuracia");
            grafAcuracidadeDiario.Series["acuracia"].BackHatchStyle      = System.Windows.Forms.DataVisualization.Charting.ChartHatchStyle.BackwardDiagonal;
            grafAcuracidadeDiario.Series["acuracia"].IsValueShownAsLabel = true;
            grafAcuracidadeDiario.Series["acuracia"].Color      = Color.FromArgb(231, 126, 35);
            grafAcuracidadeDiario.Series["acuracia"].XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.DateTime;
            grafAcuracidadeDiario.Series["acuracia"].YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Double;

            SQL =
                "SELECT RIGHT(DAT_CONT, 2) & '/' & MID(DAT_CONT, 5, 2) & '/' & LEFT(DAT_CONT, 4), ROUND((1 - (SUM(VALOR2) / " +
                "(SELECT SUM(VALOR2) FROM(SELECT A.DAT_CONT, A.ORDEM, A.POS_DEP, A.PRODUTO, ABS(A.DIFER * B.VALOR) AS VALOR2 " +
                "FROM " +
                "(SELECT DAT_CONT, ORDEM, POS_DEP, PRODUTO, SUM(QTD_DIFER) AS DIFER " +
                "FROM INVENTARIO " +
                "WHERE TIPO_DEP IN(1001, 1002, 1003, 2001, 2002, 3003, 3008, 5002) AND DAT_CONT BETWEEN " + dataDe + " AND " + dataAte +
                " GROUP BY DAT_CONT, ORDEM, POS_DEP, PRODUTO) AS A LEFT JOIN VALPROD AS B ON A.PRODUTO = B.PRODUTO)))) *100, 2) " +

                "FROM " +
                "(SELECT A.DAT_CONT, A.ORDEM, A.POS_DEP, A.PRODUTO, ABS(A.DIFER * B.VALOR) AS VALOR2 " +
                "FROM " +
                "(SELECT DAT_CONT, ORDEM, POS_DEP, PRODUTO, SUM(QTD_DIFER) AS DIFER " +
                "FROM INVENTARIO " +
                "WHERE TIPO_DEP IN(1001, 1002, 1003, 2001, 2002, 3003, 3008, 5002) AND DAT_CONT BETWEEN " + dataDe + " AND " + dataAte +
                " GROUP BY DAT_CONT, ORDEM, POS_DEP, PRODUTO) AS A LEFT JOIN VALPROD AS B ON A.PRODUTO = B.PRODUTO) " +
                "GROUP BY DAT_CONT; ";

            retornoBD = conex.consultaReader(SQL);
            while (retornoBD.Read())
            {
                grafAcuracidadeDiario.Series["acuracia"].Points.AddXY(retornoBD.GetString(0), retornoBD.GetDouble(1));
            }
        }
示例#4
0
        private void bgwPosicoesContadas_DoWork(object sender, DoWorkEventArgs e)//::::::Posições contadas ::::::
        {
            AccessBD    conex = new AccessBD();
            string      SQL;
            IDataReader retornoBD;

            grafRotativoDia.Titles.Clear();                                                                       //Deleta os Tìtulos do gráfico
            grafRotativoDia.Series.Clear();                                                                       //Deleta as séries do gráfico

            grafRotativoDia.Titles.Add("Posições Contadas (" + dtpDataDe2.Text + " à " + dtpDataAte2.Text + ")"); // adiciona título
            grafRotativoDia.Titles[0].Font = new Font("", 14, FontStyle.Bold);                                    // coloca o título como negrito

            grafRotativoDia.Series.Add("Qtd. Contada");                                                           // Adiciona a série "Quantidade contada"
            grafRotativoDia.Series["Qtd. Contada"].BackHatchStyle      = System.Windows.Forms.DataVisualization.Charting.ChartHatchStyle.BackwardDiagonal;
            grafRotativoDia.Series["Qtd. Contada"].IsValueShownAsLabel = true;                                    // Abilita rótulos para a série
            grafRotativoDia.Series["Qtd. Contada"].Color = Color.FromArgb(232, 189, 15);                          // seta cor vermelha para a série


            grafRotativoDia.Series.Add("Target = 461 posições/dia");                                                                                            // adiciona outra série
            grafRotativoDia.Series["Target = 461 posições/dia"].Color = Color.Red;                                                                              // seta cor vermelha para a série
            grafRotativoDia.Series["Target = 461 posições/dia"].IsValueShownAsLabel = true;                                                                     // Abilita rótulos para a série
            grafRotativoDia.Series["Target = 461 posições/dia"].BorderWidth         = 2;                                                                        // Largura da borda como 2
            grafRotativoDia.Series["Target = 461 posições/dia"].ChartType           = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.FastLine; // Tipo do gráfico

            SQL = "SELECT RIGHT(DAT_CONT, 2) & '/' &MID(DAT_CONT, 5, 2) & '/' & LEFT(DAT_CONT, 4), COUNT(POS_DEP) FROM" +
                  "(SELECT DAT_CONT, POS_DEP FROM INVENTARIO WHERE DAT_CONT Between " + dataDe + " And " + dataAte + " GROUP BY DAT_CONT, POS_DEP, DOC_INV1) " +
                  "GROUP BY DAT_CONT " +
                  "ORDER BY dat_cont; ";
            retornoBD = conex.consultaReader(SQL);

            while (retornoBD.Read())
            {
                grafRotativoDia.Series["Qtd. Contada"].Points.AddXY(retornoBD.GetString(0), retornoBD.GetInt32(1));
                grafRotativoDia.Series["Target = 461 posições/dia"].Points.AddXY(retornoBD.GetString(0), 461);
            }
        }
示例#5
0
        protected internal void btnAtualizar_Click(object sender, EventArgs e)
        {
            string      dataDe, dataAte;
            AccessBD    conex = new AccessBD();
            IDataReader retornoBD;

            dataDe  = dtpDe.Text.Substring(6, 4) + dtpDe.Text.Substring(3, 2) + dtpDe.Text.Substring(0, 2);
            dataAte = dtpAte.Text.Substring(6, 4) + dtpAte.Text.Substring(3, 2) + dtpAte.Text.Substring(0, 2);

            dgvPos.Rows.Clear();
            switch (cmbPesquisa.SelectedIndex)
            {
            case 0:         //TODAS AS POSIÇÕES
                if (cmbNivel.Text == "" && cmbRua.Text == "")
                {
                    SQL = "SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) " +
                          "FROM POSICAO LEFT JOIN (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " +
                          "ON POSICAO.POSICAO = INV.POS_DEP " +
                          "GROUP BY POSICAO.POSICAO, INV.POS_DEP";
                }
                else if (cmbNivel.Text != "" && cmbRua.Text != "")
                {
                    SQL = "(SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) " +
                          "FROM POSICAO left join (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " +
                          "ON POSICAO.POSICAO = INV.POS_DEP WHERE RIGHT(POSICAO.POSICAO, 2) = '" + cmbNivel.Text + "' AND LEFT(POSICAO.POSICAO, 5) =  '" + cmbRua.Text +
                          "' GROUP BY POSICAO.POSICAO, INV.POS_DEP)";
                }
                else if (cmbNivel.Text == "" && cmbRua.Text != "")
                {
                    SQL = "SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) " +
                          "FROM POSICAO LEFT JOIN (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " +
                          "ON POSICAO.POSICAO = INV.POS_DEP WHERE LEFT(POSICAO.POSICAO, 5) =  '" + cmbRua.Text +
                          "' GROUP BY POSICAO.POSICAO, INV.POS_DEP";
                }
                else if (cmbNivel.Text != "" && cmbRua.Text == "")
                {
                    SQL = "SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) " +
                          "FROM POSICAO left join (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " +
                          "ON POSICAO.POSICAO = INV.POS_DEP WHERE RIGHT(POSICAO.POSICAO, 2) = '" + cmbNivel.Text +
                          "' GROUP BY POSICAO.POSICAO, INV.POS_DEP";
                }
                break;

            case 1:         // Somente posições não contadas
                if (cmbNivel.Text == "" && cmbRua.Text == "")
                {
                    SQL = "SELECT POSICAO, CONTINV FROM " +
                          "(SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) AS CONTINV " +
                          "FROM POSICAO LEFT JOIN (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " +
                          "ON POSICAO.POSICAO = INV.POS_DEP " +
                          "GROUP BY POSICAO.POSICAO, INV.POS_DEP) " +
                          "WHERE CONTINV = 0";
                }
                else if (cmbNivel.Text != "" && cmbRua.Text != "")
                {
                    SQL = "SELECT POSICAO, CONTINV FROM" +
                          "(SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) AS CONTINV " +
                          "FROM POSICAO left join (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " +
                          "ON POSICAO.POSICAO = INV.POS_DEP " +
                          "WHERE RIGHT(POSICAO.POSICAO, 2) = '" + cmbNivel.Text + "' AND LEFT(POSICAO.POSICAO, 5) =  '" + cmbRua.Text +
                          "' GROUP BY POSICAO.POSICAO, INV.POS_DEP) " +
                          "WHERE CONTINV = 0";
                }
                else if (cmbNivel.Text == "" && cmbRua.Text != "")
                {
                    SQL = "SELECT POSICAO, CONTINV FROM " +
                          "(SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) AS CONTINV " +
                          "FROM POSICAO LEFT JOIN (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " +
                          "ON POSICAO.POSICAO = INV.POS_DEP " +
                          "WHERE LEFT(POSICAO.POSICAO, 5) =  '" + cmbRua.Text +
                          "' GROUP BY POSICAO.POSICAO, INV.POS_DEP) " +
                          "WHERE CONTINV = 0";
                }
                else if (cmbNivel.Text != "" && cmbRua.Text == "")
                {
                    SQL = "SELECT POSICAO, CONTINV FROM " +
                          "(SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) AS CONTINV " +
                          "FROM POSICAO left join (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " +
                          "ON POSICAO.POSICAO = INV.POS_DEP " +
                          "WHERE AND RIGHT(POSICAO.POSICAO, 2) = '" + cmbNivel.Text +
                          "' GROUP BY POSICAO.POSICAO, INV.POS_DEP) " +
                          "WHERE CONTINV = 0";
                }
                break;

            case 2:         // Somente posições
                if (cmbNivel.Text == "" && cmbRua.Text == "")
                {
                    SQL = "SELECT POSICAO, CONTINV FROM " +
                          "(SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) AS CONTINV " +
                          "FROM POSICAO LEFT JOIN (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " +
                          "ON POSICAO.POSICAO = INV.POS_DEP " +
                          "GROUP BY POSICAO.POSICAO, INV.POS_DEP) " +
                          "WHERE CONTINV <> 0";
                }
                else if (cmbNivel.Text != "" && cmbRua.Text != "")
                {
                    SQL = "SELECT POSICAO, CONTINV FROM" +
                          "(SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) AS CONTINV " +
                          "FROM POSICAO left join (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " +
                          "ON POSICAO.POSICAO = INV.POS_DEP " +
                          "WHERE RIGHT(POSICAO.POSICAO, 2) = '" + cmbNivel.Text + "' AND LEFT(POSICAO.POSICAO, 5) =  '" + cmbRua.Text +
                          "' GROUP BY POSICAO.POSICAO, INV.POS_DEP) " +
                          "WHERE CONTINV <> 0";
                }
                else if (cmbNivel.Text == "" && cmbRua.Text != "")
                {
                    SQL = "SELECT POSICAO, CONTINV FROM " +
                          "(SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) AS CONTINV " +
                          "FROM POSICAO LEFT JOIN (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " +
                          "ON POSICAO.POSICAO = INV.POS_DEP " +
                          "WHERE LEFT(POSICAO.POSICAO, 5) =  '" + cmbRua.Text +
                          "' GROUP BY POSICAO.POSICAO, INV.POS_DEP) " +
                          "WHERE CONTINV <> 0";
                }
                else if (cmbNivel.Text != "" && cmbRua.Text == "")
                {
                    SQL = "SELECT POSICAO, CONTINV FROM " +
                          "(SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) AS CONTINV " +
                          "FROM POSICAO left join (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " +
                          "ON POSICAO.POSICAO = INV.POS_DEP " +
                          "WHERE AND RIGHT(POSICAO.POSICAO, 2) = '" + cmbNivel.Text +
                          "' GROUP BY POSICAO.POSICAO, INV.POS_DEP) " +
                          "WHERE CONTINV <> 0";
                }
                break;
            }
            try
            {
                conex.AbrirConexao();
                retornoBD = conex.consultaReader(SQL);

                while (retornoBD.Read())
                {
                    dgvPos.Rows.Add(retornoBD.GetString(0), retornoBD.GetInt32(1));
                }
            }
            catch
            {
                MessageBox.Show("Erro de conexão com o banco de dados!");
            }
        }
示例#6
0
        private void atualizaFirebase()
        {
            IFirebaseClient firebase = new FirebaseClient(config);
            IDataReader     retornoBD;
            AccessBD        conex = new AccessBD();

            conex.AbrirConexao();
            string  dataDe, dataAte;
            decimal rotativoPercent = 0;
            string  mes             = DateTime.Now.Month.ToString();
            string  ano             = DateTime.Now.Year.ToString();


            //:::::::::::::::::::::::::::: Setando FireBase:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
            //EAN x Posicao
            dataDe  = Convert.ToString(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("00") + "01");
            dataAte = Convert.ToString(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00"));
            SQL     = "SELECT EXPR1, EXPR2 FROM (SELECT Mid(DAT_CONT,5,2) AS Expr1, Round(Avg(ACUR)*100,2) AS Expr2 " +
                      "FROM(SELECT DAT_CONT, DOC_INV1, POS_DEP, IIf(COUNT(PRODUTO) > 2, 1, IIf(COUNT(PRODUTO) = 1, 1, 0)) AS ACUR FROM(SELECT INVENTARIO.DAT_CONT, INVENTARIO.DOC_INV1, INVENTARIO.POS_DEP, INVENTARIO.PRODUTO FROM INVENTARIO RIGHT JOIN POSICAO ON INVENTARIO.POS_DEP = POSICAO.POSICAO WHERE POSICAO.TIPO_DEP <> 1003 GROUP BY INVENTARIO.DOC_INV1, INVENTARIO.POS_DEP, INVENTARIO.PRODUTO, INVENTARIO.DAT_CONT)  AS[%$##@_Alias] GROUP BY DOC_INV1, POS_DEP, DAT_CONT) AS [%$##@_Alias] " +
                      "GROUP BY Mid(DAT_CONT, 5, 2)) WHERE EXPR1 <> 0; ";
            string ultimaAtualizacao = conex.consultaScalar("SELECT RIGHT(DAT_post, 2) &'/'& MID(DAT_post, 5, 2) &'/'& LEFT(DAT_post, 4)   & ' ÀS ' & MAX(hr_post) AS hr_post FROM INVENTARIO WHERE (((INVENTARIO.[DAT_POST])=(SELECT Max(dat_POST) FROM INVENTARIO))) group by dat_post");

            retornoBD = conex.consultaReader(SQL);
            while (retornoBD.Read())
            {
                firebase.Set("EanPosicao/" + retornoBD.GetString(0) + ano + "/Acuracidade", retornoBD.GetDouble(1));
                firebase.Set("EanPosicao/" + retornoBD.GetString(0) + ano + "/UltimaAtualizacao", ultimaAtualizacao);
            }

            // Evolução Rotativo
            switch (DateTime.Now.Month)
            {
            case 1:
            case 2:
            case 3:
                dataDe  = DateTime.Now.Year + "0101";
                dataAte = Convert.ToString(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00"));
                break;

            case 4:
            case 5:
            case 6:
                dataDe  = DateTime.Now.Year + "0401";
                dataAte = Convert.ToString(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00"));
                break;

            case 7:
            case 8:
            case 9:
                dataDe  = DateTime.Now.Year + "0701";
                dataAte = Convert.ToString(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00"));
                break;

            case 10:
            case 11:
            case 12:
                dataDe  = DateTime.Now.Year + "1001";
                dataAte = Convert.ToString(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00"));
                break;
            }
            SQL             = "SELECT (SELECT COUNT(POS) FROM (SELECT POS_DEP AS POS FROM INVENTARIO WHERE DAT_CONT BETWEEN " + dataDe + " AND " + dataAte + " GROUP BY POS_DEP)) / COUNT(CODPOS) FROM POSICAO";
            rotativoPercent = Convert.ToDecimal(conex.consultaScalar(SQL));
            firebase.Set("Rotativo/" + mes + ano + "/Concluido", Convert.ToDouble((rotativoPercent * 100).ToString("0.00")));
            firebase.Set("Rotativo/" + mes + ano + "/ultimaAtualizacao", ultimaAtualizacao);
        }
示例#7
0
        private void bgwAcuracidadeMensal_DoWork(object sender, DoWorkEventArgs e)
        {   //::::::::::::::::::::: ACURACIDADE MENSAL :::::::::::::::::::::::::::::::::::::::::::::::::::
            AccessBD    conex = new AccessBD();
            IDataReader retornoBD;

            grafAcuracidadeMensal.Titles.Clear();                                                   //Deleta os Tìtulos do gráfico
            grafAcuracidadeMensal.Series.Clear();                                                   //Deleta as séries do gráfico

            grafAcuracidadeMensal.Titles.Add("Acuracidade de estoque mensal");                      // adiciona título
            grafAcuracidadeMensal.Titles[0].Font = new Font("", 14, FontStyle.Bold);                // coloca o título como negrito

            grafAcuracidadeMensal.Series.Add("acuracidade");                                        // Adiciona a série "Quantidade contada"
            grafAcuracidadeMensal.Series[0].Color = Color.FromArgb(231, 126, 35);
            grafAcuracidadeMensal.Series["acuracidade"].BackHatchStyle      = ChartHatchStyle.BackwardDiagonal;
            grafAcuracidadeMensal.Series["acuracidade"].IsValueShownAsLabel = true;                     // Abilita rótulos para a série
            grafAcuracidadeMensal.Series[0].Font = new Font("", 12, FontStyle.Bold);                    // coloca o título como negrito
            //TODO: refazer racional do SQL abaixo
            SQL = "SELECT D.MES, ROUND((1-(D.VALDIF / E.VALORESTOQUE))*100, 2) " +
                  "FROM " +
                  "(SELECT A.MES, A.VALDIF " +
                  "FROM " +
                  "(SELECT MID(A.DAT_CONT, 5, 2) + MID(A.DAT_CONT, 1, 4)  AS MES, ABS(SUM(A.QTD_DIFER * B.VALOR)) AS VALDIF " +
                  "FROM(INVENTARIO AS A LEFT JOIN VALPROD AS B ON A.PRODUTO = B.PRODUTO) " +
                  "WHERE A.TIPO_DEP IN(1001, 1002, 1003, 2001, 2002, 3003, 3001, 3005, 3008, 5002) " +
                  "GROUP BY MID(A.DAT_CONT, 5, 2) + MID(A.DAT_CONT, 1, 4))  AS A) AS D " +
                  "LEFT JOIN VALOR_ESTOQUE AS E ON D.MES = FORMAT(E.MES, \"000000\") " +
                  "WHERE RIGHT(D.MES, 4) = 2016";
            //SQL = conex.consultaScalar("SELECT valor FROM Acuracidade_Mensal_Config WHERE config = 'SQL'");
            try
            {
                retornoBD = conex.consultaReader(SQL);
                while (retornoBD.Read())
                {
                    string sMes = "";
                    switch (retornoBD.GetString(0))
                    {
                    case "01":
                        sMes = "Janeiro";
                        break;

                    case "02":
                        sMes = "Fevereiro";
                        break;

                    case "03":
                        sMes = "Março";
                        break;

                    case "04":
                        sMes = "Abril";
                        break;

                    case "05":
                        sMes = "Maio";
                        break;

                    case "06":
                        sMes = "Junho";
                        break;

                    case "07":
                        sMes = "Julho";
                        break;

                    case "08":
                        sMes = "Agosto";
                        break;

                    case "09":
                        sMes = "Setembro";
                        break;

                    case "10":
                        sMes = "Outubro";
                        break;

                    case "11":
                        sMes = "Novembro";
                        break;

                    case "12":
                        sMes = "Dezembro";
                        break;
                    }
                    grafAcuracidadeMensal.Series["acuracidade"].Points.AddXY(sMes, retornoBD.GetDouble(1));
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#8
0
        private void bgwEanPosicaoMensal_DoWork(object sender, DoWorkEventArgs e)
        {  //::::::::::::::::::::::: EAN X POSICAO (MENSAL) ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
            AccessBD    conex = new AccessBD();
            IDataReader retornoBD;

            grafEanPosicaoMensal.Titles.Clear();
            grafEanPosicaoMensal.Series.Clear();

            grafEanPosicaoMensal.Titles.Add("EAN x Posição Mensal");
            grafEanPosicaoMensal.Titles[0].Font = new Font("", 14, FontStyle.Bold);

            grafEanPosicaoMensal.Series.Add("acuracia");
            grafEanPosicaoMensal.Series["acuracia"].BackHatchStyle      = ChartHatchStyle.BackwardDiagonal;
            grafEanPosicaoMensal.Series["acuracia"].IsValueShownAsLabel = true;
            grafEanPosicaoMensal.Series["acuracia"].Color      = Color.FromArgb(53, 152, 219);
            grafEanPosicaoMensal.Series["acuracia"].XValueType = ChartValueType.String;
            grafEanPosicaoMensal.Series["acuracia"].YValueType = ChartValueType.Double;
            grafEanPosicaoMensal.Series[0].Font = new Font("", 12, FontStyle.Bold);                  // coloca o título como negrito

            SQL       = Properties.Settings.Default.sqlEANxPosicaoMensal;
            retornoBD = conex.consultaReader(SQL);
            while (retornoBD.Read())
            {
                string sMes = "";
                switch (retornoBD.GetString(0))
                {
                case "01":
                    sMes = "Janeiro";
                    break;

                case "02":
                    sMes = "Fevereiro";
                    break;

                case "03":
                    sMes = "Março";
                    break;

                case "04":
                    sMes = "Abril";
                    break;

                case "05":
                    sMes = "Maio";
                    break;

                case "06":
                    sMes = "Junho";
                    break;

                case "07":
                    sMes = "Julho";
                    break;

                case "08":
                    sMes = "Agosto";
                    break;

                case "09":
                    sMes = "Setembro";
                    break;

                case "10":
                    sMes = "Outubro";
                    break;

                case "11":
                    sMes = "Novembro";
                    break;

                case "12":
                    sMes = "Dezembro";
                    break;
                }
                grafEanPosicaoMensal.Series["acuracia"].Points.AddXY(sMes, retornoBD.GetDouble(1));
            }
        }