Exemple #1
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 #2
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();
        }