Exemple #1
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();
        }
Exemple #2
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);
        }
Exemple #3
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();
        }
Exemple #4
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!");
            }
        }
Exemple #5
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);
        }
Exemple #6
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();
        }
Exemple #7
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();
        }