Beispiel #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);
        }
Beispiel #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();
        }
Beispiel #3
0
        private void bgwImportaExcel_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            AccessBD AccessBD = new AccessBD();

            AccessBD.FecharConexao();
            BarraProgresso.Dispose();
            lblStripImportar.Dispose();

            dgvPos.DataSource          = output.Tables[0];
            dgvPos.AutoGenerateColumns = true;
        }
Beispiel #4
0
        private void bgwGrafEvolucaoRotativo_DoWork_1(object sender, DoWorkEventArgs e)
        {
            AccessBD conex = new AccessBD();

            conex.AbrirConexao();
            double rotativoPercent = 0;
            int    totalPos, pendentePos;

            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");
            SQL         = "SELECT COUNT(POS_DEP) FROM(SELECT DAT_CONT, POS_DEP FROM INVENTARIO WHERE DAT_CONT Between 20160701 And 20160705 GROUP BY DAT_CONT, POS_DEP, DOC_INV1)";
            totalPos    = Convert.ToInt32(conex.consultaScalar("SELECT COUNT(POSICAO) FROM POSICAO"));
            pendentePos = Convert.ToInt32(conex.consultaScalar(SQL));

            lblPosContadas.Text  = pendentePos.ToString();
            lblPosPendentes.Text = (totalPos - pendentePos).ToString();

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

            grafRotativoPercent.Titles.Add("Evolução da contagem Rotativa (" + dtpDe1.Text + " à " + dtpAte1.Text + ")"); // adiciona título
            grafRotativoPercent.Titles[0].Font = new Font("", 14, FontStyle.Bold);                                        // coloca o título como negrito

            grafRotativoPercent.Series.Add("Contado");
            grafRotativoPercent.Series["Contado"].ChartType           = SeriesChartType.Pie;
            grafRotativoPercent.Series["Contado"].IsValueShownAsLabel = true;

            grafRotativoPercent.Series["Contado"].Points.AddXY("Contado", 0);                              // Setando o valor para "Contado"
            grafRotativoPercent.Series["Contado"].Points.AddXY("Pendente", 1);                             // Setando o valor para "Pendente"

            grafRotativoPercent.Series["Contado"].Points[0].Color          = Color.FromArgb(45, 204, 112); // Cor da parte "Contado"
            grafRotativoPercent.Series["Contado"].Points[0].LabelForeColor = Color.White;                  // Cor da Fonte
            grafRotativoPercent.Series["Contado"].Points[0].LabelFormat    = "{P2}";                       // Formata para porcentagem
            grafRotativoPercent.Series["Contado"].Points[0].Font           = new Font("", 10, FontStyle.Bold);

            grafRotativoPercent.Series["Contado"].Points[1].Color          = Color.FromArgb(63, 86, 100);                                 // Cor da parte "Pendente"
            grafRotativoPercent.Series["Contado"].Points[1].LabelForeColor = Color.White;
            grafRotativoPercent.Series["Contado"].Points[1].LabelFormat    = "{P2}";
            grafRotativoPercent.Series["Contado"].Points[1].Font           = new Font("", 10, FontStyle.Bold);
            grafRotativoPercent.Series[0].ShadowColor  = Color.DarkGray;
            grafRotativoPercent.Series[0].ShadowOffset = 5;

            SQL             = "SELECT ROUND((SELECT COUNT(POS) FROM (SELECT POS_DEP AS POS FROM INVENTARIO WHERE DAT_CONT BETWEEN " + dataDe + " AND " + dataAte + " GROUP BY POS_DEP)) / COUNT(CODPOS), 4) FROM POSICAO";
            rotativoPercent = Convert.ToDouble(conex.consultaScalar(SQL));
            grafRotativoPercent.Series["Contado"].YValueType = ChartValueType.Double;

            grafRotativoPercent.Series["Contado"].Points[0].YValues[0] = rotativoPercent;
            grafRotativoPercent.Series["Contado"].Points[1].YValues[0] = Math.Round(1 - rotativoPercent, 4);
        }
Beispiel #5
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));
            }
        }
Beispiel #6
0
        private void frmIndicadores_Load(object sender, EventArgs e)
        {
            CheckForIllegalCrossThreadCalls = false;
            AccessBD conex = new AccessBD();

            conex.AbrirConexao();

            dtpDe1.Text = "01/" + DateTime.Now.Month.ToString() + "/" + DateTime.Now.Year.ToString();
            dtpDe2.Text = "01/01/" + DateTime.Now.Year.ToString();

            dtpAte1.Text = DateTime.Now.ToString();
            dtpAte2.Text = DateTime.Now.ToString();

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

            //Carrega os gráficos nas Threads
            bgwGrafEvolucaoRotativo.RunWorkerAsync();
            bgwAcuracidadeMensal.RunWorkerAsync();
            bgwEanPosicaoMensal.RunWorkerAsync();
            bgwRupturaPK.RunWorkerAsync();
            conex.FecharConexao();
            liteBD.FecharConexao();
        }
Beispiel #7
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);
            }
        }
Beispiel #8
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!");
            }
        }
Beispiel #9
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);
        }
Beispiel #10
0
        private void frmImportarInventario_Load(object sender, EventArgs e)
        {
            AccessBD AccessBD = new AccessBD();

            txtUltimoInventario.Text = AccessBD.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");
        }
Beispiel #11
0
        //::Salva pos do DataGrid para o BD::
        public void salvarInvent()
        {
            int      cont = 0;                                              // Contador de linhas
            int      contEx = 0;                                            // Contador de exceções
            string   posicao, descProd, umb, referencia, metodo, chave, produto, uc, contador, qtdRegistrada, qtdContada, qtdDif, ordem, docInv1, tipoDep;
            string   hrCriacao, hrAtivacao, hrContagem, hrPostagem;
            int      datCriacao2, datAtivacao2, datContagem2, datPostagem2;
            DateTime datContagem, datPostagem, datAtivacao, datCriacao;
            AccessBD AccessBD = new AccessBD();

            AccessBD.AbrirConexao();

            ToolStripProgressBar BarraProgresso = new ToolStripProgressBar();

            lblStripSalvar.Text = "Salvando Inventários:";
            frmPrincipal.statusStrip1.Items.Add(lblStripSalvar);
            frmPrincipal.statusStrip1.Items.Add(BarraProgresso);

            BarraProgresso.Maximum = dgvPos.RowCount;
            lblStripPorcent.Text   = "0%";
            frmPrincipal.statusStrip1.Items.Add(lblStripPorcent);

            Thread backgroundThread = new Thread(
                new ThreadStart(() =>
            {
                for (cont = 0; cont < dgvPos.RowCount; cont++)
                {
                    try
                    {
                        docInv1       = dgvPos.Rows[cont].Cells[0].Value.ToString();
                        ordem         = dgvPos.Rows[cont].Cells[1].Value.ToString();
                        posicao       = dgvPos.Rows[cont].Cells[2].Value.ToString();
                        produto       = dgvPos.Rows[cont].Cells[3].Value.ToString();
                        descProd      = dgvPos.Rows[cont].Cells[4].Value.ToString().Replace("\"", "").Replace("'", "");
                        qtdRegistrada = dgvPos.Rows[cont].Cells[5].Value.ToString().Replace(",", ".");
                        qtdContada    = dgvPos.Rows[cont].Cells[6].Value.ToString().Replace(",", ".");
                        qtdDif        = dgvPos.Rows[cont].Cells[7].Value.ToString().Replace(",", ".");
                        umb           = dgvPos.Rows[cont].Cells[8].Value.ToString();
                        referencia    = dgvPos.Rows[cont].Cells[9].Value.ToString();
                        metodo        = dgvPos.Rows[cont].Cells[10].Value.ToString();
                        datCriacao    = DateTime.Parse(dgvPos.Rows[cont].Cells[11].Value.ToString().Substring(0, 10));
                        hrCriacao     = dgvPos.Rows[cont].Cells[12].Value.ToString().Substring(11, 5);
                        datAtivacao   = DateTime.Parse(dgvPos.Rows[cont].Cells[13].Value.ToString().Substring(0, 10));
                        hrAtivacao    = dgvPos.Rows[cont].Cells[14].Value.ToString().Substring(11, 5);
                        datContagem   = DateTime.Parse(dgvPos.Rows[cont].Cells[15].Value.ToString().Substring(0, 10));
                        hrContagem    = dgvPos.Rows[cont].Cells[16].Value.ToString().Substring(11, 5);
                        contador      = dgvPos.Rows[cont].Cells[17].Value.ToString();
                        datPostagem   = DateTime.Parse(dgvPos.Rows[cont].Cells[18].Value.ToString().Substring(0, 10));
                        hrPostagem    = dgvPos.Rows[cont].Cells[19].Value.ToString().Substring(11, 5);
                        uc            = dgvPos.Rows[cont].Cells[20].Value.ToString();
                        tipoDep       = dgvPos.Rows[cont].Cells[21].Value.ToString();
                        chave         = docInv1 + posicao + produto + qtdDif;
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Dado inconsistente, por favor, importe a planilha novamente!" + "\n \n" + "Detalhe: " + ex.Message, "Erro na importação", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    //Convertendo datas para o formato do banco de dados
                    datPostagem2 = Convert.ToInt32(datPostagem.Year.ToString() + string.Format("{0,2:00}", datPostagem.Month) + string.Format("{0,2:00}", datPostagem.Day));
                    datAtivacao2 = Convert.ToInt32(datAtivacao.Year.ToString() + string.Format("{0,2:00}", datAtivacao.Month) + string.Format("{0,2:00}", datAtivacao.Day));
                    datContagem2 = Convert.ToInt32(string.Format("{0,2:00}", datContagem.Year) + string.Format("{0,2:00}", datContagem.Month) + string.Format("{0,2:00}", datContagem.Day));
                    datCriacao2  = Convert.ToInt32(string.Format("{0,2:00}", datCriacao.Year) + string.Format("{0,2:00}", datCriacao.Month) + string.Format("{0,2:00}", datCriacao.Day));

                    SQL = "INSERT INTO inventario (chave, doc_inv1, ordem, pos_dep, produto, desc_prod, qtd_regist, qtd_cont, qtd_difer, umb, " +
                          "ref, metodo, dat_criacao, hr_criacao, dat_ativ, hr_ativ, dat_cont, hr_cont, contador, dat_post, hr_post, uc, tipo_dep)" +
                          "values ('"
                          + chave + "', " + docInv1 + "," + ordem + ",'"
                          + posicao + "','" + produto + "','" + descProd + "', " + qtdRegistrada + "," + qtdContada + ","
                          + qtdDif + ",'" + umb + "','" + referencia + "', '" + metodo + "'," + datCriacao2 + ",#" + hrCriacao + "#,"
                          + datAtivacao2 + ",#" + hrAtivacao + "#," + datContagem2 + ", #" + hrContagem + "#," + contador + "," + datPostagem2 + ",#"
                          + hrPostagem + "#,'" + uc + "', " + tipoDep + " )";
                    try
                    {
                        AccessBD.insert_Delete_Update(SQL);
                    }
                    catch (OleDbException)
                    {
                        contEx += 1;
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Erro desconhecido, contate o administrador do sistema! n/n/ " + ex.Message, "Importação de Inventários", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }

                    BarraProgresso.Value = cont;
                    lblStripPorcent.Text = Math.Round(((decimal)cont / (decimal)dgvPos.RowCount) * 100, 1).ToString() + "%";

                    if (produto == "")
                    {
                        produto = "0";
                    }

                    if (cont == dgvPos.RowCount - 1)
                    {    // Se a thread já finalizou, destrói a Progressbar
                        BarraProgresso.Dispose();
                        lblStripSalvar.Dispose();
                        lblStripPorcent.Dispose();
                        if (contEx == 0)
                        {
                            MessageBox.Show("Inventários salvo com sucesso!!!", "Importação de Inventários", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        else
                        {
                            MessageBox.Show("Não foi possível salvar " + contEx + " linhas!", "Importação de Inventários", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        }
                        txtUltimoInventario.Text = AccessBD.consultaScalar("SELECT DAT_post & ' ÀS ' & MAX(hr_post) AS hr_post FROM INVENTARIO WHERE (((INVENTARIO.[DAT_POST])=(SELECT Max(dat_POST) FROM INVENTARIO))) group by dat_post");
                    } //if
                }     //for
                atualizaFirebase();
            }
                                ));//thread

            backgroundThread.Start();
        }
Beispiel #12
0
        //::Salva pos do DataGrid para o BD::
        public void salvarPos()
        {
            int    contador = 0;
            int    datCont2 = 0;
            string posicao, vazia, bloqueioSaida, bloqueioEntrada, bloqueioInvent, tipoPos,
                   unidadePeso, pesoMax, pesoOcupado, qtdUcs, tipoDep;
            DateTime datCont;


            AccessBD Conexao = new AccessBD();

            Conexao.AbrirConexao();
            Conexao.insert_Delete_Update("DELETE * FROM POSICAO");

            ToolStripLabel lblStripSalvar = new ToolStripLabel();

            lblStripSalvar.Text = "Salvando Posições:";
            frmPrincipal.statusStrip1.Items.Add(lblStripSalvar);
            ToolStripProgressBar BarraProgresso = new ToolStripProgressBar();

            BarraProgresso.Maximum = dgvPos.RowCount;
            frmPrincipal.statusStrip1.Items.Add(BarraProgresso);

            ToolStripLabel lblStripPorcent = new ToolStripLabel();

            lblStripPorcent.Text = "0";
            frmPrincipal.statusStrip1.Items.Add(lblStripPorcent);


            Thread backgroundThread = new Thread(
                new ThreadStart(() =>
            {
                try
                {
                    for (contador = 0; contador < dgvPos.RowCount; contador++)
                    {
                        posicao         = dgvPos.Rows[contador].Cells[0].Value.ToString();
                        vazia           = dgvPos.Rows[contador].Cells[1].Value.ToString();
                        bloqueioSaida   = dgvPos.Rows[contador].Cells[2].Value.ToString();
                        bloqueioEntrada = dgvPos.Rows[contador].Cells[3].Value.ToString();
                        bloqueioInvent  = dgvPos.Rows[contador].Cells[4].Value.ToString();
                        tipoPos         = dgvPos.Rows[contador].Cells[5].Value.ToString();
                        qtdUcs          = dgvPos.Rows[contador].Cells[6].Value.ToString();
                        pesoMax         = dgvPos.Rows[contador].Cells[7].Value.ToString().Replace(",", ".");
                        unidadePeso     = dgvPos.Rows[contador].Cells[8].Value.ToString();
                        pesoOcupado     = dgvPos.Rows[contador].Cells[9].Value.ToString().Replace(",", ".");
                        //datCont2 = Convert.ToInt32(dgvPos.Rows[contador].Cells[10].Value);
                        tipoDep = dgvPos.Rows[contador].Cells[11].Value.ToString();

                        if (dgvPos.Rows[contador].Cells[10].Value.ToString() == "")
                        {    // Se a data da contagem estiver vazia
                            datCont2 = 0;
                        }
                        else
                        {    //Se não, converte a data para o formato do banco de dados
                            datCont  = DateTime.Parse(dgvPos.Rows[contador].Cells[10].Value.ToString());
                            datCont2 = Convert.ToInt32(datCont.Year.ToString() + string.Format("{0,2:00}", datCont.Month) + string.Format("{0,2:00}", datCont.Day));
                        }

                        Conexao.insert_Delete_Update("INSERT INTO POSICAO (Posicao, vazia, bloqueio_saida, bloqueio_entrada, bloqueio_invent, tipo_posicao, qtd_uc, peso_max, uni_peso, peso_ocupado, dat_cont, tipo_dep) values ('"
                                                     + posicao + "', '" + vazia + "','" + bloqueioSaida + "','" + bloqueioEntrada + "','"
                                                     + bloqueioInvent + "','" + tipoPos + "'," + qtdUcs + ", " + pesoMax + ",'" + unidadePeso + "'," + pesoOcupado + ", " + datCont2 + ", " + tipoDep + ")");

                        BarraProgresso.Value = contador;
                        lblStripPorcent.Text = Math.Round(((decimal)contador / (decimal)dgvPos.RowCount) * 100, 1).ToString() + "%";

                        if (contador == dgvPos.RowCount - 1)
                        {    // Se a thread já finalizou, destrói a Progressbar
                            BarraProgresso.Dispose();
                            lblStripSalvar.Dispose();
                            lblStripPorcent.Dispose();
                        }
                    } //for
                }     // try
                catch (Exception ex)
                {
                    MessageBox.Show("Parece que o arquivo não está no formato esperado. Verifique!!! /n" + ex, "ERRO", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    BarraProgresso.Dispose();
                    lblStripSalvar.Dispose();
                    lblStripPorcent.Dispose();
                }
            }
                                ));

            backgroundThread.Start();
        }
Beispiel #13
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);
            }
        }
Beispiel #14
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));
            }
        }