Пример #1
0
        private void Excluir(int inv)
        {
            if (this.operacao == "Editar")
            {
                try
                {
                    DALConexao    cx  = new DALConexao(DadosDaConexao.StringDaConexao);
                    BLLInventario bll = new BLLInventario(cx);
                    bll.Excluir(Convert.ToInt32(txtNumeroInventario.Text));

                    this.Salvar();

                    MessageBox.Show("Inventário alterado com sucesso!");
                }
                catch
                {
                    MessageBox.Show("Impossível editar o registro " + txtNumeroInventario.Text + ". \n Ele está sendo utilizado em outro local.");
                }
            }
            else
            {
                try
                {
                    DALConexao    cx  = new DALConexao(DadosDaConexao.StringDaConexao);
                    BLLInventario bll = new BLLInventario(cx);
                    bll.Excluir(Convert.ToInt32(txtNumeroInventario.Text));
                }
                catch
                {
                    MessageBox.Show("Impossível excluir o registro " + txtNumeroInventario.Text + ". \n Ele está sendo utilizado em outro local.");
                }
            }
        }
Пример #2
0
        private void btLocalizar_Click(object sender, EventArgs e)
        {
            frmConsultaInventario f = new frmConsultaInventario(idUsuario);

            f.ShowDialog();
            f.Dispose();

            if (f.numeroInv > 0)
            {
                string retornaInv = "select i.inventario, i.id_unidade, i.data_criacao_inv, i.data_mov_inv, i.tipo, " +
                                    "i.id_produto, p.cod_produto, p.nome_produto, p.marca_produto, p.modelo_produto, " +
                                    "i.quant_inv, i.id_usuario, i.concluido from inventario i " +
                                    "inner join produto p on i.id_produto = p.id_produto " +
                                    "WHERE i.inventario = " + f.numeroInv;

                DALConexao    cx     = new DALConexao(DadosDaConexao.StringDaConexao);
                BLLInventario bll    = new BLLInventario(cx);
                DataTable     tabela = bll.Localizar(retornaInv);

                dgvInventario.Rows.Clear();



                txtNumeroInventario.Text = Convert.ToInt32(tabela.Rows[0]["inventario"]).ToString("00000000");
                txtDataInventario.Text   = Convert.ToDateTime(tabela.Rows[0]["data_criacao_inv"]).ToString("d");
                txtDataMovimento.Text    = Convert.ToDateTime(tabela.Rows[0]["data_mov_inv"]).ToString("d");
                cbUnidade.Text           = Convert.ToInt32(tabela.Rows[0]["id_unidade"]).ToString("00");

                txtAberto.Text = tabela.Rows[0]["concluido"].ToString();

                if (tabela.Rows[0]["tipo"].ToString() == "C")
                {
                    cbTipoInv.Text = "Inventário";
                }
                else
                {
                    cbTipoInv.Text = "Estoque inicial";
                }



                for (int i = 0; i < tabela.Rows.Count; i++)
                {
                    string idProd     = Convert.ToInt32(tabela.Rows[i]["id_produto"]).ToString();
                    string codProduto = tabela.Rows[i]["cod_produto"].ToString();
                    string nomeProd   = tabela.Rows[i]["nome_produto"].ToString();
                    string marcaProd  = tabela.Rows[i]["marca_produto"].ToString();
                    string modeloProd = tabela.Rows[i]["modelo_produto"].ToString();

                    string quantInventario = tabela.Rows[i]["quant_inv"].ToString();


                    String[] P = new string[] { idProd, codProduto, nomeProd, marcaProd, modeloProd, quantInventario };
                    this.dgvInventario.Rows.Add(P);
                }
                this.AlteraBotoes(3);
            }
        }
        private void frmPosicaoDeEstoqueDados_Load(object sender, EventArgs e)
        {
            string idproduto;
            string codprod;
            string nomeprod;
            string quantprod;
            string nomegrupo;
            string codgrupo = "00";
            string busca    = "";

            DALConexao connect = new DALConexao(DadosDaConexao.StringDaConexao);
            BLLUsuario bllu    = new BLLUsuario(connect);

            DTOUsuario modelou = bllu.CarregaModeloUsuario(idUsuario);

            this.Text = this.Text + " - " + modelou.LoginUsuario.ToString() + " (" + modelou.IniciaisUsuario.ToString() + ")";

            SqlConnection  con    = new SqlConnection(DadosDaConexao.StringDaConexao.ToString()); // making connection
            SqlDataAdapter conUni = new SqlDataAdapter("select nome_unidade from unidade where cod_unidade = " + unidade, con);

            DataTable dtu = new DataTable(); //this is creating a virtual table

            conUni.Fill(dtu);

            lbPosicaoDia.Text = lbPosicaoDia.Text + data.ToString("d") + " da unidade " + dtu.Rows[0][0].ToString();


            if (produto != ".")
            {
                busca = "select p.id_produto, p.cod_produto, p.nome_produto, g.nome_grupo from produto p  " +
                        "inner join grupo g on p.id_grupo = g.id_grupo where p.cod_produto = " + produto + " order by cod_produto";
            }
            else
            {
                busca = "select p.id_produto, p.cod_produto, p.nome_produto, g.nome_grupo from produto p  " +
                        "inner join grupo g on p.id_grupo = g.id_grupo where " + grupo + " order by cod_produto";
            }
            SqlDataAdapter sda = new SqlDataAdapter(busca, con);

            DataTable dt = new DataTable(); //this is creating a virtual table

            sda.Fill(dt);

            if (dt.Rows.Count > 0)
            {
                DALConexao cx = new DALConexao(DadosDaConexao.StringDaConexao);

                //posição do item



                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    idproduto = dt.Rows[i][0].ToString();
                    codprod   = dt.Rows[i][1].ToString();
                    nomeprod  = dt.Rows[i][2].ToString();
                    nomegrupo = dt.Rows[i][3].ToString();
                    quantprod = "0";



                    #region busca quant



                    int ultimoInv   = 0;
                    int ultimosMovs = 0;

                    DateTime dataUltimoInv;


                    //Localiza quantidade do último inventario concluído.

                    string buscaUltimoInv = "select inventario, data_mov_inv, id_produto, quant_inv from inventario " +
                                            " where concluido = 'c' and id_produto = " + idproduto + " and id_unidade = " + unidade +
                                            " and data_mov_inv < '" + data.ToString("d") + "' order by data_mov_inv asc;";



                    BLLInventario bll    = new BLLInventario(cx);
                    DataTable     tabela = bll.Localizar(buscaUltimoInv);

                    try
                    {
                        ultimoInv = Convert.ToInt32(tabela.Rows[0]["quant_inv"]);
                    }
                    catch
                    {
                        ultimoInv = 0;
                    }

                    try
                    {
                        dataUltimoInv = Convert.ToDateTime(tabela.Rows[0]["data_mov_inv"]);
                    }
                    catch
                    {
                        DateTime data = new DateTime(1900, 1, 1);
                        dataUltimoInv = data;
                    }


                    //Soma movimentos de um período de tempo.
                    //select sum(quant_mov) as quantidade, id_produto from movimentacao where data_mov between '2016-05-10' and '2016-05-24' and id_produto = 38 group by id_produto, quant_mov;

                    string buscaQuantMovimentacoes = "select sum(quant_mov) as quantidade, id_produto from movimentacao " +
                                                     "where data_mov > '" + dataUltimoInv.ToString("d") + "' and data_mov <= '" + data.ToString("d") +
                                                     "' and id_produto = " + idproduto + " and id_unidade = " + unidade + " group by id_produto;";


                    BLLMovimento bllquantmov = new BLLMovimento(cx);
                    DataTable    tabelamov   = bllquantmov.LocalizarValor(buscaQuantMovimentacoes);

                    try
                    {
                        ultimosMovs = Convert.ToInt32(tabelamov.Rows[0]["quantidade"]);
                    }
                    catch
                    {
                        ultimosMovs = 0;
                    }

                    quantprod = (ultimoInv + ultimosMovs).ToString();


                    #endregion


                    if (Convert.ToInt32(quantprod) >= quant)
                    {
                        if (codgrupo != codprod.Substring(0, 2))
                        {
                            String[] P = new string[] { "", nomegrupo, "" };
                            this.dgvPosicao.Rows.Add(P);

                            String[] P1 = new string[] { codprod, nomeprod, quantprod };
                            this.dgvPosicao.Rows.Add(P1);
                        }
                        else
                        {
                            String[] P = new string[] { codprod, nomeprod, quantprod };
                            this.dgvPosicao.Rows.Add(P);
                        }

                        codgrupo = codprod.Substring(0, 2);
                    }
                }
            }

            this.FormataDados();
        }
        private void Consulta()
        {
            busca = "select i.concluido, i.inventario, i.data_criacao_inv, COUNT(i.inventario) as quant_inventario, " +
                    "u.iniciais_usuario from inventario i inner join usuario u on i.id_usuario = u.id_usuario " +
                    "where i.id_unidade = " + cbUnidade.SelectedValue;

            //Leitura dos filtros

            string prefix       = "";
            int    quantFiltros = 1;

            if (txtDataDe.Text.Trim() != "/  /" && txtDataA.Text == txtDataDe.Text)
            {
                if (quantFiltros > 0)
                {
                    prefix = " and ";
                }

                busca = busca + " i.data_criacao_inv = '" + Convert.ToDateTime(txtDataDe.Text).ToString("d") + "'";
                quantFiltros++;
            }

            if (txtDataDe.Text.Trim() != "/  /" && txtDataA.Text != txtDataDe.Text)
            {
                if (quantFiltros > 0)
                {
                    prefix = " and ";
                }

                busca = busca + prefix + " i.data_criacao_inv >= '" + Convert.ToDateTime(txtDataDe.Text).ToString("d") + "' and " +
                        "i.data_criacao_inv <= '" + Convert.ToDateTime(txtDataA.Text).ToString("d") + "'";

                quantFiltros++;
            }

            if (txtNumero.Text.Trim() != "")
            {
                if (quantFiltros > 0)
                {
                    prefix = " and ";
                }

                busca = busca + prefix + "i.inventario = " + txtNumero.Text;
                quantFiltros++;
            }

            if (cbAbertos.Checked == true)
            {
                if (quantFiltros > 0)
                {
                    prefix = " and ";
                }

                busca = busca + prefix + " i.concluido = 'A'";
            }


            busca = busca + " group by i.inventario, i.concluido, i.data_criacao_inv, u.iniciais_usuario;";

            DALConexao    cx     = new DALConexao(DadosDaConexao.StringDaConexao);
            BLLInventario bll    = new BLLInventario(cx);
            DataTable     tabela = bll.Localizar(busca);

            dgvInventario.Rows.Clear();

            bool Aberto;

            for (int i = 0; i < tabela.Rows.Count; i++)
            {
                try
                {
                    if (quantFiltros > 0)
                    {
                        prefix = " and ";
                    }

                    if (tabela.Rows[i]["concluido"].ToString() == "A")
                    {
                        Aberto = true;
                    }
                    else
                    {
                        Aberto = false;
                    }

                    string nrInv   = Convert.ToInt32(tabela.Rows[i]["inventario"]).ToString("00000000");
                    string data    = Convert.ToDateTime(tabela.Rows[i]["data_criacao_inv"]).ToString("d");
                    string quant   = tabela.Rows[i]["quant_inventario"].ToString();
                    string usuario = tabela.Rows[i]["iniciais_usuario"].ToString();

                    String[] P = new string[] { Aberto.ToString(), nrInv, data, quant, usuario };
                    this.dgvInventario.Rows.Add(P);
                }
                catch
                {
                }
            }

            #endregion
        }
Пример #5
0
        private void Salvar()
        {
            DALConexao cx = new DALConexao(DadosDaConexao.StringDaConexao);

            DTOInventario rodainv = new DTOInventario();
            BLLInventario bllinv  = new BLLInventario(cx);


            if (this.operacao != "Editar")
            {
                try
                {
                    SqlConnection  con = new SqlConnection(DadosDaConexao.StringDaConexao.ToString()); // making connection
                    SqlDataAdapter sda = new SqlDataAdapter("select max(inventario) from inventario", con);

                    DataTable dt = new DataTable(); //this is creating a virtual table
                    sda.Fill(dt);

                    nrInventario             = Convert.ToInt32(dt.Rows[0][0]);
                    nrInventario             = nrInventario + 1;
                    txtNumeroInventario.Text = nrInventario.ToString("00000000");
                }
                catch
                {
                    txtNumeroInventario.Text = "00000001";
                }
            }

            for (int i = 0; i < dgvInventario.RowCount; i++)
            {
                rodainv.Inventario            = Convert.ToInt32(txtNumeroInventario.Text);
                rodainv.DataCriacaoInventario = Convert.ToDateTime(txtDataInventario.Text);
                rodainv.DataMovInventario     = Convert.ToDateTime(txtDataMovimento.Text);
                rodainv.IdUnidade             = Convert.ToInt32(cbUnidade.SelectedValue);
                rodainv.IdProduto             = Convert.ToInt32(dgvInventario.Rows[i].Cells[0].Value);

                try
                {
                    rodainv.QuantInv = Convert.ToInt32(dgvInventario.Rows[i].Cells[5].Value);
                }
                catch
                {
                    rodainv.QuantInv = 0;
                }


                if (cbTipoInv.Text == "Inventário")
                {
                    rodainv.Tipo = "C";
                }
                else
                {
                    rodainv.Tipo = "I";
                }



                rodainv.IdUsuario = Convert.ToInt32(idUsuario);
                rodainv.concluido = "A";

                bllinv.Incluir(rodainv);
            }
        }
Пример #6
0
        private void btRodar_Click(object sender, EventArgs e)
        {
            int          quantInv;
            DialogResult d = MessageBox.Show("Deseja rodar o inventário " + txtNumeroInventario.Text + " e gerar os movimentos relativos a ele?", "Aviso", MessageBoxButtons.YesNo);

            if (d.ToString() == "Yes")
            {
                DALConexao cx = new DALConexao(DadosDaConexao.StringDaConexao);

                DTOInventario inv    = new DTOInventario();
                BLLInventario bllinv = new BLLInventario(cx);
                bllinv.Concluir(Convert.ToInt32(txtNumeroInventario.Text));

                // gerar movimentações de estoque

                DTOMovimento mov    = new DTOMovimento();
                BLLMovimento bllmov = new BLLMovimento(cx);

                for (int i = 0; i < dgvInventario.RowCount; i++)
                {
                    mov.Lancamento     = 0;
                    mov.NfMov          = Convert.ToInt32(txtNumeroInventario.Text);
                    mov.DataNfMov      = Convert.ToDateTime(txtDataInventario.Text);
                    mov.DataCriacaoMov = DateTime.Now;
                    mov.DataMov        = Convert.ToDateTime(txtDataMovimento.Text);
                    mov.IdUnidade      = Convert.ToInt32(cbUnidade.SelectedValue);
                    mov.IdFornecedor   = Convert.ToInt32(cbUnidade.SelectedValue);
                    mov.IdUsuario      = idUsuario;
                    mov.TipoMov        = "Inventario";


                    mov.IdProduto = Convert.ToInt32(dgvInventario.Rows[i].Cells[0].Value);


                    //buscar quantidade de diferença
                    try
                    {
                        quantInv = Convert.ToInt32(dgvInventario.Rows[i].Cells[5].Value);
                    }
                    catch
                    {
                        quantInv = 0;
                    }

                    int      ultimoInv   = 0;
                    int      ultimosMovs = 0;
                    DateTime dataUltimoInv;


                    //Localiza quantidade do último inventario concluído.

                    string buscaUltimoInv = "select inventario, data_mov_inv, id_produto, quant_inv from inventario " +
                                            " where concluido = 'c' and id_produto = " + mov.IdProduto +
                                            " and data_mov_inv < '" + Convert.ToDateTime(txtDataMovimento.Text).ToString("d") + "' order by data_mov_inv asc;";

                    BLLInventario bll    = new BLLInventario(cx);
                    DataTable     tabela = bll.Localizar(buscaUltimoInv);

                    try
                    {
                        ultimoInv = Convert.ToInt32(tabela.Rows[0]["quant_inv"]);
                    }
                    catch
                    {
                        ultimoInv = 0;
                    }

                    try
                    {
                        dataUltimoInv = Convert.ToDateTime(tabela.Rows[0]["data_mov_inv"]);
                    }
                    catch
                    {
                        DateTime data = new DateTime(1900, 1, 1);
                        dataUltimoInv = data;
                    }


                    //Soma movimentos de um período de tempo.
                    //select sum(quant_mov) as quantidade, id_produto from movimentacao where data_mov between '2016-05-10' and '2016-05-24' and id_produto = 38 group by id_produto, quant_mov;

                    string buscaQuantMovimentacoes = "select sum(quant_mov) as quantidade, id_produto from movimentacao " +
                                                     "where data_mov > '" + dataUltimoInv.ToString("d") + "' and data_mov <= '" + Convert.ToDateTime(txtDataMovimento.Text).ToString("d") +
                                                     "' and id_produto = " + mov.IdProduto + " group by id_produto;";


                    BLLMovimento bllquantmov = new BLLMovimento(cx);
                    DataTable    tabelamov   = bllquantmov.LocalizarValor(buscaQuantMovimentacoes);

                    try
                    {
                        ultimosMovs = Convert.ToInt32(tabelamov.Rows[0]["quantidade"]);
                    }
                    catch
                    {
                        ultimosMovs = 0;
                    }

                    mov.QuantMov = quantInv - (ultimoInv + ultimosMovs);


                    //Buscar custo unitario da ultima movimentacao de entrada

                    string buscacusto = "select * from movimentacao " +
                                        "where id_produto = " + mov.IdProduto + " order by data_mov desc;";

                    BLLMovimento bllCustotmov = new BLLMovimento(cx);
                    DataTable    tabelacusto  = bllCustotmov.LocalizarValor(buscacusto);
                    try
                    {
                        mov.CustoUnitMov = Convert.ToDouble(tabelacusto.Rows[0]["custo_unitario_mov"]);
                    }
                    catch
                    {
                        mov.CustoUnitMov = 0.00;
                    }
                    bllmov.Incluir(mov);
                }

                MessageBox.Show("Inventário processado com sucesso.");
                LimpaCampos();

                AlteraBotoes(1);
            }
        }