private void buttonCadastrarProduto_Click(object sender, EventArgs e)
        {
            string     titulo           = textBoxCadastroProdutoTitulo.Text;
            string     autor            = textBoxCadastroProdutoAutor.Text;
            int        ano              = Convert.ToInt32(textBoxCadastroProdutoAno.Text);
            ProdutoDTO itemParaCadastro = new ProdutoDTO(titulo, ano, autor);
            Produto    produto;

            if (ControleEstoque.VerificarAnoDeLancamento(Convert.ToInt32(textBoxCadastroProdutoAno.Text)))
            {
                if (radioButtonLivro.Checked)
                {
                }
                else if (radioButtonRevista.Checked)
                {
                }
                else
                {
                    AtualizarComboBoxItens();
                }
            }
            else
            {
                MessageBox.Show("Protudo muito antigo");
            }

            textBoxCadastroProdutoTitulo.Text = "";
            textBoxCadastroProdutoAutor.Text  = "";
            textBoxCadastroProdutoAno.Text    = "";
        }
 public void AtualizarComboBoxItens()
 {
     comboBoxItens.Items.Clear();
     foreach (Produto l in ControleEstoque.ListarItens())
     {
         comboBoxItens.Items.Add(l.Titulo);
     }
 }
        private void comboBoxLivros_SelectedIndexChanged(object sender, EventArgs e)
        {
            Produto produto = ControleEstoque.LocalizarProdudoPorIndice(comboBoxItens.SelectedIndex);

            textBoxTitulo.Text     = produto.Titulo;
            textBoxAutor.Text      = produto.Autor;
            textBoxLancamento.Text = Convert.ToString(produto.AnoDePublicacao);
        }
Exemple #4
0
        private void BaixaExtraMatPrima()
        {
            try
            {
                //Atualizando o Estoque dos Produtos Envasados
                MvEstoque      MvProducao = new MvEstoque();
                MvEstoqueItens MvItens    = new MvEstoqueItens();

                Controles.ControleEstoque ControleEstoque = new ControleEstoque();
                ControleEstoque.Controle = Controle;

                MvItens.Controle    = Controle;
                MvProducao.Controle = Controle;
                MvProducao.LerDados(0);

                //Gerando o Movimento Lanc. Produção
                DataSet TabPrd = new DataSet();
                TabPrd = Controle.ConsultaTabela("SELECT * FROM MapaProducaoProdutos WHERE QTDEEXTRA > 0 AND ID_MAPA=" + Mapa.IdMapa.ToString());
                if (TabPrd.Tables[0].Rows.Count > 0)
                {
                    MvProducao.LerDados(0);
                    MvProducao.TpMov        = "BMAPR";
                    MvProducao.Observacao   = "Movimento extra Gerado Automatico Pelo Sistema Ref. Mapa de Produção No." + string.Format("{0:D6}", Mapa.IdMapa);
                    MvProducao.Data         = Mapa.Data;
                    MvProducao.IdFilial     = FrmPrincipal.IdFilialConexao;
                    MvProducao.DtEmissao    = Mapa.Data;
                    MvProducao.DtEntSai     = Mapa.Data;
                    MvProducao.Documento    = "PRODUÇÂO AUT.";
                    MvProducao.NumDocumento = string.Format("{0:D6}", Mapa.IdMapa);
                    MvProducao.GravarDados();

                    for (int I = 0; I <= TabPrd.Tables[0].Rows.Count - 1; I++)
                    {
                        MvItens.LerDados(0);
                        MvItens.IdMov     = MvProducao.IdMov;
                        MvItens.IdProduto = int.Parse(TabPrd.Tables[0].Rows[I]["ID_PRODUTO"].ToString());
                        MvItens.Qtde      = decimal.Parse(TabPrd.Tables[0].Rows[I]["QtdeExtra"].ToString());
                        MvItens.GravarDados();
                    }
                }

                //Concluindo o Movimento de Produção
                SqlDataReader Tab;
                if (MvProducao.IdMov > 0)
                {
                    Tab = Controle.ConsultaSQL("SELECT * FROM MVESTOQUEITENS WHERE Id_Mov=" + MvProducao.IdMov.ToString());
                    ControleEstoque.MovimentoEstoque(Tab, 1, 2, false, MvProducao.TpMov, MvProducao.DtEntSai, MvProducao.IdFilial);
                    MvProducao.Concluir();
                }
                Mapa.Status = 1;
                Mapa.GravarDados();
                FrmPrincipal.RegistrarAuditoria(this.Text, Mapa.IdMapa, Mapa.IdProdProd.ToString(), 4, "Baixa Extra da Produção: " + LstProduto.SelectedText.ToString().Trim() + " Qtde: " + Mapa.Qtde.ToString());
            }
            catch
            {
                MessageBox.Show("Erro ao enviar o Mapa para Produção", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemple #5
0
        private void button2_Click(object sender, EventArgs e)
        {
            button2.Enabled      = false;
            progressBar1.Maximum = GridDados.SelectedRows.Count;
            progressBar1.Value   = 0;
            for (int G = 0; G <= GridDados.SelectedRows.Count - 1; G++)
            {
                int IdPrd = 0;
                IdPrd       = int.Parse(GridDados.SelectedRows[G].Cells[0].Value.ToString());
                label1.Text = GridDados.SelectedRows[G].Cells[0].Value.ToString();
                Application.DoEvents();

                Controle.ExecutaSQL("DELETE FROM SALDOESTOQUE  WHERE ID_PRODUTO in (" + IdPrd.ToString() + ")");
                string sSql = "SELECT T1.ID_ITEM,T1.ID_PRODUTO,T7.GRUPO,T1.DTMOVIM,T1.QTDE,T1.TPMOV,T1.VLRUNITARIO,T2.REFERENCIA,T2.DESCRICAO,T3.ESTOQUE,T3.DESCRICAO AS TIPOMOVIMENTO," +
                              "   T6.RAZAOSOCIAL,T5.DOCUMENTO,T5.NUMDOCUMENTO " +
                              " FROM EXTRATOESTOQUE T1" +
                              " LEFT JOIN PRODUTOS T2 ON (T2.ID_PRODUTO=T1.ID_PRODUTO)" +
                              " LEFT JOIN TABELASAUX T3 ON (T3.CHAVE=T1.TPMOV)" +
                              " LEFT JOIN MVESTOQUEITENS T4 ON (T4.ID_ITEM=T1.ID_ITEM)" +
                              " LEFT JOIN MVESTOQUE T5 ON (T5.ID_MOV=T4.ID_MOV)" +
                              " LEFT JOIN PESSOAS T6 ON (T6.ID_PESSOA=T5.ID_PESSOA)" +
                              " LEFT JOIN GRUPOPRODUTO T7 ON (T7.ID_GRUPO=T2.ID_GRUPO)" +
                              " WHERE T3.CAMPO='TPMVEST'" +
                              " AND T1.ID_Produto=" + IdPrd.ToString() +
                              " UNION" +
                              " SELECT T1.ID_ITEM,T1.ID_PRODUTO,T7.GRUPO,T1.DTMOVIM,T1.QTDE,T1.TPMOV,T1.VLRUNITARIO,T2.REFERENCIA,T2.DESCRICAO," +
                              "        CASE T4.TIPOITEM WHEN 'E' THEN 1 ELSE 2 END AS Estoque,T3.DESCRICAO AS TIPOMOVIMENTO," +
                              "        T6.RAZAOSOCIAL,CONVERT(CHAR,T5.ID_VENDA) AS DOCUMENTO,T5.NUMDOCUMENTO" +
                              " FROM EXTRATOESTOQUE T1" +
                              " LEFT JOIN PRODUTOS T2 ON (T2.ID_PRODUTO=T1.ID_PRODUTO)" +
                              " LEFT JOIN TABELASAUX T3 ON (T3.CHAVE=T1.TPMOV)" +
                              " LEFT JOIN MVVENDAITENS T4 ON (T4.ID_ITEM=T1.ID_ITEM AND T4.TIPOITEM IN ('S','E'))" +
                              " LEFT JOIN MVVENDA T5 ON (T5.ID_VENDA=T4.ID_VENDA)" +
                              " LEFT JOIN PESSOAS T6 ON (T6.ID_PESSOA=T5.ID_PESSOA)" +
                              " LEFT JOIN GRUPOPRODUTO T7 ON (T7.ID_GRUPO=T2.ID_GRUPO)" +
                              " WHERE T3.CAMPO='VENDA' " +
                              " AND T1.ID_Produto=" + IdPrd.ToString() +
                              " ORDER BY DTMOVIM,ID_ITEM";
                SqlDataReader             Tab     = Controle.ConsultaSQL(sSql);
                Controles.ControleEstoque Estoque = new ControleEstoque();
                Estoque.Controle = Controle;
                while (Tab.Read())
                {
                    if (Tab["Estoque"].ToString() == "1")
                    {
                        Estoque.Atlz_SaldoEstoque("E", "I", int.Parse(Tab["Id_Produto"].ToString()), DateTime.Parse(Tab["DtMovim"].ToString()), decimal.Parse(Tab["Qtde"].ToString()));
                    }
                    else
                    {
                        Estoque.Atlz_SaldoEstoque("S", "I", int.Parse(Tab["Id_Produto"].ToString()), DateTime.Parse(Tab["DtMovim"].ToString()), decimal.Parse(Tab["Qtde"].ToString()));
                    }
                }
                progressBar1.Value = progressBar1.Value + 1;
            }
            button2.Enabled = true;
            MessageBox.Show("Ok Fim");
        }
Exemple #6
0
        public void InicializarProdutos()
        {
            var livro1 = new Livro("Clean Code", "R.C. Martin", 2009);
            var livro2 = new Livro("O Hobbit", "J.R.R. Tolkien", 2012);
            var livro3 = new Livro("Apenda Java", "Glauco Todesco", 2005);
            var livro4 = new Livro("Scrum", "Antonio Bandeira", 2016);

            ControleEstoque.AdicionarItem(livro1);
            ControleEstoque.AdicionarItem(livro2);
            ControleEstoque.AdicionarItem(livro3);
            ControleEstoque.AdicionarItem(livro4);
        }
        private void buttonComprar_Click(object sender, EventArgs e)
        {
            var           cliente = ControleClientes.LocalizarClientePorIndice(comboBoxClientes.SelectedIndex);
            var           item    = ControleEstoque.LocalizarProdudoPorIndice(comboBoxItens.SelectedIndex);
            Administrador administrador;

            if (usuarioIsAdministrador)
            {
                administrador = (Administrador)usuarioLogadoNoSistema;
                administrador.VenderItem(item, cliente);
                MessageBox.Show("Sucesso");
            }
            else
            {
                MessageBox.Show("Funcionário sem permissão para realizar a venda!");
            }
        }
Exemple #8
0
        private void BtnCancMov_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Confirma o Cancelamento do Balanço ?", "Confirmação", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                MvEstoque MvEntrada   = new MvEstoque();
                MvEstoque MvSaida     = new MvEstoque();
                MvEstoque LancBalanco = new MvEstoque();
                MvEntrada.Controle   = Controle;
                MvSaida.Controle     = Controle;
                LancBalanco.Controle = Controle;

                Controles.ControleEstoque ControleEstoque = new ControleEstoque();
                ControleEstoque.Controle = Controle;

                //Concluindo o Movimento de Entrada
                SqlDataReader Tab;
                if (MvBalanco.IdEntrada > 0)
                {
                    MvEntrada.LerDados(MvBalanco.IdEntrada);
                    Tab = Controle.ConsultaSQL("SELECT * FROM MVESTOQUEITENS WHERE Id_Mov=" + MvEntrada.IdMov.ToString());
                    ControleEstoque.MovimentoEstoque(Tab, 1, 2, false, MvEntrada.TpMov, MvEntrada.DtEntSai, MvEntrada.IdFilial);
                    MvEntrada.Excluir();
                }
                //Concluindo o Movimento de Saida
                if (MvBalanco.IdSaida > 0)
                {
                    MvSaida.LerDados(MvBalanco.IdSaida);
                    Tab = Controle.ConsultaSQL("SELECT * FROM MVESTOQUEITENS WHERE Id_Mov=" + MvSaida.IdMov.ToString());
                    ControleEstoque.MovimentoEstoque(Tab, 2, 2, false, MvSaida.TpMov, MvSaida.DtEntSai, MvSaida.IdFilial);
                    MvSaida.Excluir();
                }
                //Concluindo o Movimento do Novo Saldo
                if (MvBalanco.IdSaldo > 0)
                {
                    LancBalanco.LerDados(MvBalanco.IdSaldo);
                    Tab = Controle.ConsultaSQL("SELECT * FROM MVESTOQUEITENS WHERE Id_Mov=" + LancBalanco.IdMov.ToString());
                    ControleEstoque.MovimentoEstoque(Tab, 1, 2, false, LancBalanco.TpMov, LancBalanco.DtEntSai, LancBalanco.IdFilial);
                    LancBalanco.Excluir();
                }
                Controle.ExecutaSQL("UPDATE BALANCO SET STATUS=0,ID_ENTRADA=0,ID_SAIDA=0,ID_SALDO=0 WHERE ID_BALANCO=" + MvBalanco.IdBalanco.ToString());
                FrmPrincipal.RegistrarAuditoria(this.Text + " Item", MvBalanco.IdBalanco, MvBalanco.IdBalanco.ToString(), 4, "Cancelamento do Balanço");
                MessageBox.Show("Cancelamento do Balanço Concluido", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
                PopularCampos(MvBalanco.IdBalanco);
            }
        }
        private void buttonAgendar_Click(object sender, EventArgs e)
        {
            var            cliente         = ControleClientes.LocalizarClientePorIndice(comboBoxClientes.SelectedIndex);
            DateTime       dataAgendamento = monthCalendarAgendamento.SelectionStart;
            Produto        item            = ControleEstoque.LocalizarProdudoPorIndice(comboBoxItens.SelectedIndex);
            AgendamentoDTO agendamento     = new AgendamentoDTO(item, dataAgendamento, cliente);

            if (usuarioLogadoNoSistema.CompararDataDeAgendamento(dataAgendamento))
            {
                if (usuarioLogadoNoSistema.AgendarItem(agendamento))
                {
                    MessageBox.Show("Livro Agendado!");
                }
            }
            else
            {
                MessageBox.Show("Deu ruim");
            }
        }
Exemple #10
0
        private void BtnCancMov_Click(object sender, EventArgs e)
        {
            if (StaFormEdicao)
            {
                MessageBox.Show("Cadastro do Mapa de Produção em edição", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                if (Mapa.Status == 2)
                {
                    MessageBox.Show("Mapa já Concluido", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                if (MessageBox.Show("Confirma o Cancelamento do Mapa de Produção", "Confirmação", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    MvEstoque      MvProducao = new MvEstoque();
                    MvEstoqueItens MvItens    = new MvEstoqueItens();

                    Controles.ControleEstoque ControleEstoque = new ControleEstoque();
                    ControleEstoque.Controle = Controle;

                    MvItens.Controle    = Controle;
                    MvProducao.Controle = Controle;
                    MvProducao.LerDados(Mapa.IdMvMatPrima);

                    SqlDataReader Tab;
                    if (MvProducao.IdMov > 0)
                    {
                        Tab = Controle.ConsultaSQL("SELECT * FROM MVESTOQUEITENS WHERE Id_Mov=" + MvProducao.IdMov.ToString());
                        ControleEstoque.MovimentoEstoque(Tab, 2, 1, false, MvProducao.TpMov, MvProducao.DtEntSai, MvProducao.IdFilial);
                        MvProducao.Cancelar();
                    }

                    Mapa.Status = 0;
                    Mapa.GravarDados();
                    PopularCampos(Mapa.IdMapa);
                    FrmPrincipal.RegistrarAuditoria(this.Text, Mapa.IdMapa, Mapa.IdProdProd.ToString(), 6, "Cancelamento do Mapa de Produção: " + LstProduto.SelectedText.ToString().Trim() + " Qtde: " + Mapa.Qtde.ToString());
                    MessageBox.Show("Mapa de Produção Cancelado", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        private void buttonAlugar_Click(object sender, EventArgs e)
        {
            var cliente    = ControleClientes.LocalizarClientePorIndice(comboBoxClientes.SelectedIndex);
            var produto    = ControleEstoque.LocalizarProdudoPorIndice(comboBoxItens.SelectedIndex);
            var itemLocado = new Locacao(cliente, produto);

            if (cliente.PodeFazerLocacao())
            {
                if (produto is Livro && usuarioIsAdministrador)
                {
                    if (usuarioLogadoNoSistema.AlugarItem(itemLocado))
                    {
                        MessageBox.Show("Livro locado");
                    }
                    else
                    {
                        MessageBox.Show("Problema na locação");
                    }
                }
                else
                {
                    if (ControleAluguel.AdicionarItem(itemLocado))
                    {
                        MessageBox.Show("Livro locado");
                    }
                    else
                    {
                        MessageBox.Show("Problema na locação");
                    }
                }
            }
            else
            {
                MessageBox.Show("Limite de locações alcançado. \n" + "Devolva um item para poder locar outro!");
            }
        }
Exemple #12
0
        private void BtnBaixaAut_Click(object sender, EventArgs e)
        {
            Controles.ControleEstoque ControleEstoque = new ControleEstoque();
            ControleEstoque.Controle = Controle;

            int IdCX = int.Parse(LstCaixa.SelectedValue.ToString());

            if (GridVenda.CurrentRow == null)
            {
                MessageBox.Show("Não existe Registro para Confirmar", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            if (Cb_IncCx.Checked && IdCX == 0)
            {
                MessageBox.Show("Favor Selecionar o Caixa", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            else
            {
                if (MessageBox.Show("Atenção: Apenas os movimentos faturamentos são confirmados, Confirma Baixa Geral de Entrega ?", "Confirmação", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    SqlDataReader TabMapa;
                    for (int I = 0; I <= GridVenda.Rows.Count - 1; I++)
                    {
                        int IdVenda = 0;
                        IdVenda = int.Parse(GridVenda.Rows[I].Cells[0].Value.ToString());
                        decimal VlrVenda = decimal.Parse(GridVenda.Rows[I].Cells[6].Value.ToString());

                        TabMapa = Controle.ConsultaSQL("SELECT T2.STATUS FROM MapaEntregaItens T1 LEFT JOIN MAPAENTREGA T2 ON (T2.ID_MAPA=T1.ID_MAPA) WHERE T1.STATUS=0 AND T1.ID_VENDA=" + IdVenda.ToString());
                        if (TabMapa.HasRows)
                        {
                            TabMapa.Read();
                            if (TabMapa["STATUS"].ToString() == "0")
                            {
                                continue;
                            }
                        }

                        if (IdCX > 0 && Cb_IncCx.Checked)
                        {
                            Controle.ExecutaSQL("Update MvVenda Set Id_Caixa=" + IdCX.ToString() + ",Status=3,DataConfirmacao=Convert(DateTime,'" + DateTime.Now.Date.ToShortDateString() + "',103) where Id_Venda=" + IdVenda.ToString());
                        }
                        else
                        {
                            Controle.ExecutaSQL("Update MvVenda Set Status=3,DataConfirmacao=Convert(DateTime,'" + DateTime.Now.Date.ToShortDateString() + "',103) where Id_Venda=" + IdVenda.ToString());
                        }

                        Controle.ExecutaSQL("DELETE FROM LANCFINANCEIRO WHERE ID_VENDA IN (SELECT ID_VENDA FROM MVVENDA WHERE TPVENDA='OE' AND VINCULOVD='" + string.Format("{0:D6}", IdVenda.ToString()) + "')");
                        Controle.ExecutaSQL("UPDATE MvVenda Set Faturado=1 Where VinculoVd='" + string.Format("{0:D6}", IdVenda.ToString()) + "'");
                        Controle.ExecutaSQL("Update MapaEntregaItens set Status=1 where Id_Venda=" + IdVenda.ToString() + " and Status=0");

                        //Verificando se credito um credito pro cliente
                        if (VlrVenda < 0)
                        {
                            Controle.ExecutaSQL("UPDATE PESSOAS SET CREDITO=Round(CREDITO+" + Controle.FloatToStr(-1 * VlrVenda, 2) + ",2) WHERE ID_PESSOA=" + int.Parse(GridVenda.Rows[I].Cells[15].Value.ToString()));
                        }

                        //Atualizando o Troca de Estoque
                        MvVenda Vendas = new MvVenda();
                        Vendas.Controle = Controle;
                        Vendas.LerDados(IdVenda);

                        if (Vendas.TpVenda == "TROCA")
                        {
                            if (Vendas.SemMovEst == 0)
                            {
                                SqlDataReader TabEntrada = Controle.ConsultaSQL("SELECT T1.*, '' AS NCM FROM MvVendaItens T1 WHERE T1.TipoItem='E' and T1.Id_Venda=" + Vendas.IdVenda.ToString());
                                if (TabEntrada.HasRows)
                                {
                                    ControleEstoque.MovimentoEstoque(TabEntrada, 1, 1, false, Vendas.TpVenda, Vendas.Data, 0);
                                }
                            }
                        }
                        //Registrando Movimento de Auditoria
                        FrmPrincipal.RegistrarAuditoria(this.Text, int.Parse(GridVenda.Rows[I].Cells[0].Value.ToString()), GridVenda.Rows[I].Cells[3].Value.ToString(), 7, "Confirmação da Entrega Automatica");
                        GridVenda.Rows[I].Cells[14].Value = "3";
                        GridVenda.Rows[I].Cells[2].Value  = "Entregue";
                    }
                    MessageBox.Show("Confirmação de Entrega Concluida", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
Exemple #13
0
        private void BtnConcluir_Click(object sender, EventArgs e)
        {
            if (StaFormEdicao)
            {
                MessageBox.Show("Cadastro do Mapa de Produção em edição", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                if (Mapa.IdMapa > 0)
                {
                    if (Mapa.Status == 0)
                    {
                        MessageBox.Show("Mapa de Produção em Aberto", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    if (Mapa.Status == 2)
                    {
                        MessageBox.Show("Mapa já Concluido", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                }
                if (MessageBox.Show("Confirma a Conclusão Mapa para Produção", "Confirmação", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    BtnConcluir.Enabled = false;
                    Application.DoEvents();
                    //
                    try
                    {
                        //Atualizando o Estoque dos Produtos Envasados
                        MvEstoque      MvProducao = new MvEstoque();
                        MvEstoqueItens MvItens    = new MvEstoqueItens();

                        Controles.ControleEstoque ControleEstoque = new ControleEstoque();
                        ControleEstoque.Controle = Controle;

                        MvItens.Controle    = Controle;
                        MvProducao.Controle = Controle;
                        MvProducao.LerDados(0);

                        //Gerando o Movimento Lanc. Produção
                        DataSet TabPrd = new DataSet();
                        TabPrd = Controle.ConsultaTabela("SELECT * FROM MAPAPRODUCAOITENS WHERE ID_MAPA=" + Mapa.IdMapa.ToString());
                        if (TabPrd.Tables[0].Rows.Count > 0)
                        {
                            MvProducao.LerDados(0);
                            MvProducao.TpMov        = "ENTPR";
                            MvProducao.Observacao   = "Movimento Gerado Automatico Pelo Sistema Ref. Mapa de Produção No." + string.Format("{0:D6}", Mapa.IdMapa);
                            MvProducao.Data         = Mapa.Data;
                            MvProducao.IdFilial     = FrmPrincipal.IdFilialConexao;
                            MvProducao.DtEmissao    = Mapa.Data;
                            MvProducao.DtEntSai     = Mapa.Data;
                            MvProducao.Documento    = "PRODUÇÂO AUT.";
                            MvProducao.NumDocumento = string.Format("{0:D6}", Mapa.IdMapa);
                            MvProducao.GravarDados();

                            for (int I = 0; I <= TabPrd.Tables[0].Rows.Count - 1; I++)
                            {
                                MvItens.LerDados(0);
                                MvItens.IdMov     = MvProducao.IdMov;
                                MvItens.IdProduto = int.Parse(TabPrd.Tables[0].Rows[I]["ID_PRODUTO"].ToString());
                                MvItens.Qtde      = decimal.Parse(TabPrd.Tables[0].Rows[I]["Qtde"].ToString());
                                MvItens.GravarDados();
                            }
                        }

                        //Concluindo o Movimento de Produção
                        SqlDataReader Tab;
                        if (MvProducao.IdMov > 0)
                        {
                            Tab = Controle.ConsultaSQL("SELECT * FROM MVESTOQUEITENS WHERE Id_Mov=" + MvProducao.IdMov.ToString());
                            ControleEstoque.MovimentoEstoque(Tab, 1, 1, false, MvProducao.TpMov, MvProducao.DtEntSai, MvProducao.IdFilial);
                            MvProducao.Concluir();
                        }

                        BaixaExtraMatPrima();

                        Mapa.Status       = 2;
                        Mapa.IdMvMatPrima = MvProducao.IdMov;
                        Mapa.GravarDados();
                        FrmPrincipal.RegistrarAuditoria(this.Text, Mapa.IdMapa, Mapa.IdProdProd.ToString(), 5, "Concluir o Mapa de Produção");
                        PopularCampos(Mapa.IdMapa);
                        PopularGridItens();
                        PopularGridProd();
                        MessageBox.Show("Mapa de Produção Concluido", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    catch
                    {
                        MessageBox.Show("Erro ao Concluir o Mapa para Produção", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                BtnConcluir.Enabled = true;
            }
        }
Exemple #14
0
        private void BtnConfirmar_Click(object sender, EventArgs e)
        {
            if (MvBalanco.Status == 1)
            {
                MessageBox.Show("Balanço já Concluido", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            MvEstoque MvEntrada   = new MvEstoque();
            MvEstoque MvSaida     = new MvEstoque();
            MvEstoque LancBalanco = new MvEstoque();

            MvEstoqueItens EntradaItens = new MvEstoqueItens();
            MvEstoqueItens SaidaItens   = new MvEstoqueItens();
            MvEstoqueItens LancBalItens = new MvEstoqueItens();

            Controles.ControleEstoque ControleEstoque = new ControleEstoque();
            ControleEstoque.Controle = Controle;

            MvEntrada.Controle    = Controle;
            MvSaida.Controle      = Controle;
            LancBalanco.Controle  = Controle;
            EntradaItens.Controle = Controle;
            SaidaItens.Controle   = Controle;
            LancBalItens.Controle = Controle;
            MvSaida.LerDados(0);
            MvEntrada.LerDados(0);
            LancBalanco.LerDados(0);

            BtnConfirmar.Enabled = false;
            Application.DoEvents();

            if (MessageBox.Show("Confirma a Conclusão do Balanço?", "Confirmação", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                BarProc.Visible = true;
                //Gerando o Movimento de Saida
                DataSet TabSaida = new DataSet();
                TabSaida = Controle.ConsultaTabela("SELECT * FROM BALANCOITENS WHERE SALDOESTOQUE > 0 AND ID_BALANCO=" + MvBalanco.IdBalanco.ToString());
                if (TabSaida.Tables[0].Rows.Count > 0)
                {
                    BarProc.Value   = 0;
                    BarProc.Maximum = TabSaida.Tables[0].Rows.Count;

                    MvSaida.LerDados(0);
                    MvSaida.TpMov        = "ACESA";
                    MvSaida.Observacao   = "Movimento Gerado Automatico Pelo Sistema para Ajuste do Estoque Ref. Balanço:" + string.Format("{0:D6}", MvBalanco.IdBalanco);
                    MvSaida.Data         = MvBalanco.Data;
                    MvSaida.IdFilial     = FrmPrincipal.IdFilialConexao;
                    MvSaida.DtEmissao    = MvBalanco.Data;
                    MvSaida.DtEntSai     = MvBalanco.Data;
                    MvSaida.Solicitante  = MvBalanco.Responsavel;
                    MvSaida.Documento    = "BALANÇO AUT.";
                    MvSaida.NumDocumento = string.Format("{0:D6}", MvBalanco.IdBalanco);
                    MvSaida.GravarDados();

                    for (int I = 0; I <= TabSaida.Tables[0].Rows.Count - 1; I++)
                    {
                        SaidaItens.LerDados(0);
                        SaidaItens.IdMov     = MvSaida.IdMov;
                        SaidaItens.IdProduto = int.Parse(TabSaida.Tables[0].Rows[I]["ID_PRODUTO"].ToString());
                        SaidaItens.Qtde      = decimal.Parse(TabSaida.Tables[0].Rows[I]["SALDOESTOQUE"].ToString());
                        SaidaItens.GravarDados();
                        BarProc.Value = BarProc.Value + 1;
                        Application.DoEvents();
                    }
                }
                //Gerando o Movimento de Entrada
                DataSet TabEntrada = new DataSet();
                TabEntrada = Controle.ConsultaTabela("SELECT * FROM BALANCOITENS WHERE SALDOESTOQUE < 0 AND ID_BALANCO=" + MvBalanco.IdBalanco.ToString());
                if (TabEntrada.Tables[0].Rows.Count > 0)
                {
                    BarProc.Value   = 0;
                    BarProc.Maximum = TabEntrada.Tables[0].Rows.Count;

                    MvEntrada.LerDados(0);
                    MvEntrada.TpMov        = "ACEEN";
                    MvEntrada.Observacao   = "Movimento Gerado Automatico Pelo Sistema para Ajuste do Estoque Ref. Balanço:" + string.Format("{0:D6}", MvBalanco.IdBalanco);
                    MvEntrada.Data         = MvBalanco.Data;
                    MvEntrada.IdFilial     = FrmPrincipal.IdFilialConexao;
                    MvEntrada.DtEmissao    = MvBalanco.Data;
                    MvEntrada.DtEntSai     = MvBalanco.Data;
                    MvEntrada.Solicitante  = MvBalanco.Responsavel;
                    MvEntrada.Documento    = "BALANÇO AUT.";
                    MvEntrada.NumDocumento = string.Format("{0:D6}", MvBalanco.IdBalanco);
                    MvEntrada.GravarDados();

                    for (int I = 0; I <= TabEntrada.Tables[0].Rows.Count - 1; I++)
                    {
                        EntradaItens.LerDados(0);
                        EntradaItens.IdMov     = MvEntrada.IdMov;
                        EntradaItens.IdProduto = int.Parse(TabEntrada.Tables[0].Rows[I]["ID_PRODUTO"].ToString());
                        EntradaItens.Qtde      = -1 * decimal.Parse(TabEntrada.Tables[0].Rows[I]["SALDOESTOQUE"].ToString());
                        EntradaItens.GravarDados();
                        BarProc.Value = BarProc.Value + 1;
                        Application.DoEvents();
                    }
                }
                //Verificando os Lançamentos de Saida
                DataSet TabSaldo = new DataSet();
                TabSaldo = Controle.ConsultaTabela("SELECT * FROM BALANCOITENS WHERE ID_BALANCO=" + MvBalanco.IdBalanco.ToString());
                if (TabSaldo.Tables[0].Rows.Count > 0)
                {
                    BarProc.Value   = 0;
                    BarProc.Maximum = TabSaldo.Tables[0].Rows.Count;

                    LancBalanco.LerDados(0);
                    LancBalanco.TpMov        = "BALAN";
                    LancBalanco.Observacao   = "Movimento Gerado Automatico Lançametno do Saldo de Balanço Ref. Balanço:" + string.Format("{0:D6}", MvBalanco.IdBalanco);
                    LancBalanco.Data         = MvBalanco.Data;
                    LancBalanco.IdFilial     = FrmPrincipal.IdFilialConexao;
                    LancBalanco.DtEmissao    = MvBalanco.Data;
                    LancBalanco.DtEntSai     = MvBalanco.Data;
                    LancBalanco.Solicitante  = MvBalanco.Responsavel;
                    LancBalanco.Documento    = "BALANÇO AUT.";
                    LancBalanco.NumDocumento = string.Format("{0:D6}", MvBalanco.IdBalanco);
                    LancBalanco.GravarDados();

                    for (int I = 0; I <= TabSaldo.Tables[0].Rows.Count - 1; I++)
                    {
                        LancBalItens.LerDados(0);
                        LancBalItens.IdMov     = LancBalanco.IdMov;
                        LancBalItens.IdProduto = int.Parse(TabSaldo.Tables[0].Rows[I]["ID_PRODUTO"].ToString());
                        LancBalItens.Qtde      = decimal.Parse(TabSaldo.Tables[0].Rows[I]["QTDE"].ToString());
                        LancBalItens.GravarDados();
                        BarProc.Value = BarProc.Value + 1;
                        Application.DoEvents();
                    }
                }

                //Concluindo o Movimento de Entrada
                SqlDataReader Tab;
                if (MvEntrada.IdMov > 0)
                {
                    Tab = Controle.ConsultaSQL("SELECT * FROM MVESTOQUEITENS WHERE Id_Mov=" + MvEntrada.IdMov.ToString());
                    ControleEstoque.MovimentoEstoque(Tab, 1, 1, false, MvEntrada.TpMov, MvEntrada.DtEntSai, MvEntrada.IdFilial);
                    MvEntrada.Concluir();
                }
                //Concluindo o Movimento de Saida
                if (MvSaida.IdMov > 0)
                {
                    Tab = Controle.ConsultaSQL("SELECT * FROM MVESTOQUEITENS WHERE Id_Mov=" + MvSaida.IdMov.ToString());
                    ControleEstoque.MovimentoEstoque(Tab, 2, 1, false, MvSaida.TpMov, MvSaida.DtEntSai, MvSaida.IdFilial);
                    MvSaida.Concluir();
                }

                //Concluindo o Movimento do Novo Saldo
                if (LancBalanco.IdMov > 0)
                {
                    Tab = Controle.ConsultaSQL("SELECT * FROM MVESTOQUEITENS WHERE Id_Mov=" + LancBalanco.IdMov.ToString());
                    ControleEstoque.MovimentoEstoque(Tab, 1, 1, false, LancBalanco.TpMov, LancBalanco.DtEntSai, LancBalanco.IdFilial);
                    LancBalanco.Concluir();
                }
                Controle.ExecutaSQL("UPDATE BALANCO SET STATUS=1,ID_ENTRADA=" + MvEntrada.IdMov.ToString() + ",ID_SAIDA=" + MvSaida.IdMov.ToString() + ",ID_SALDO=" + LancBalanco.IdMov.ToString() + " WHERE ID_BALANCO=" + MvBalanco.IdBalanco.ToString());
                FrmPrincipal.RegistrarAuditoria(this.Text + " Item", MvBalanco.IdBalanco, MvBalanco.IdBalanco.ToString(), 4, "Concluisão do Balanço");
                MessageBox.Show("Balanço Concluido", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
                BarProc.Visible = false;
                PopularCampos(MvBalanco.IdBalanco);
            }
        }
        private void buttonListarTodosProdutos_Click(object sender, EventArgs e)
        {
            var produtos = ControleEstoque.ListarItens();

            MessageBox.Show(mensagem.MontarMensagemDeItens(produtos));
        }
Exemple #16
0
        private void Confirma_Entrega()
        {
            int IdCX = int.Parse(LstCaixa.SelectedValue.ToString());

            if (GridVenda.CurrentRow == null)
            {
                MessageBox.Show("Não existe Registro para Confirmar", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            else
            {
                int IdVenda = 0;
                IdVenda = int.Parse(GridVenda.CurrentRow.Cells[0].Value.ToString());

                if (int.Parse(GridVenda.CurrentRow.Cells[16].Value.ToString()) > 0 && int.Parse(GridVenda.CurrentRow.Cells[18].Value.ToString()) == 0)
                {
                    MessageBox.Show("Solicite a Confirmação na Filial de Entrega", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }

                if (int.Parse(GridVenda.CurrentRow.Cells[14].Value.ToString()) == 3)
                {
                    MessageBox.Show("Entrega ja confirmada", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    if (int.Parse(GridVenda.CurrentRow.Cells[17].Value.ToString()) > 0)
                    {
                        if (!ConfirmaLocalEntrega(IdVenda))
                        {
                            return;
                        }
                    }
                }
                else if (GridVenda.CurrentRow.Cells[8].Value.ToString().Trim() == "")
                {
                    MessageBox.Show("Entregador não informado", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }

                else if (Cb_IncCx.Checked && IdCX == 0)
                {
                    MessageBox.Show("Favor Selecionar o Caixa", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
                else
                {
                    if (IdCX > 0)
                    {
                        if (VerificaCaixa(IdCX))
                        {
                            MessageBox.Show("Entrega não pode ser confirmada e incluida no caixa (caixa ja fechado)", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            return;
                        }
                    }
                    if (int.Parse(GridVenda.CurrentRow.Cells[18].Value.ToString()) > 0)
                    {
                        if (VerificaCaixa(int.Parse(GridVenda.CurrentRow.Cells[18].Value.ToString())))
                        {
                            MessageBox.Show("Entrega não pode ser confirmada, em um caixa ja fechado", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            return;
                        }
                    }
                    //Verificando o Mapa de Entrega
                    SqlDataReader TabMapa = Controle.ConsultaSQL("SELECT T2.STATUS FROM MapaEntregaItens T1 LEFT JOIN MAPAENTREGA T2 ON (T2.ID_MAPA=T1.ID_MAPA) WHERE T1.STATUS=0 AND T1.ID_VENDA=" + IdVenda.ToString());
                    if (TabMapa.HasRows)
                    {
                        TabMapa.Read();
                        if (TabMapa["STATUS"].ToString() == "0")
                        {
                            MessageBox.Show("Mapa de Entrega não foi Concluido", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            return;
                        }
                    }
                    string TpVd = GridVenda.CurrentRow.Cells[19].Value.ToString().Trim();
                    if (int.Parse(GridVenda.CurrentRow.Cells[14].Value.ToString()) != 2 && (TpVd == "PV" || TpVd == "TROCA" || TpVd == "OE" || TpVd == "AM"))
                    {
                        MessageBox.Show("Atenção: Movimento não Faturado", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return;
                    }

                    if (MessageBox.Show("Confirma a Entrega ?", "Confirmação", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        //Atualizando o Troca de Estoque
                        MvVenda Vendas = new MvVenda();
                        Vendas.Controle = Controle;
                        Vendas.LerDados(IdVenda);

                        if (Vendas.TpVenda != "PV" && Vendas.TpVenda != "TROCA" && IdCX > 0)
                        {
                            MessageBox.Show("Atenção: Esse movimento não pode ser incluido no caixa", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            return;
                        }

                        decimal VlrVenda = decimal.Parse(GridVenda.CurrentRow.Cells[6].Value.ToString());

                        if (int.Parse(GridVenda.CurrentRow.Cells[17].Value.ToString()) > 0)
                        {
                            if (!ConfirmaLocalEntrega(IdVenda))
                            {
                                return;
                            }
                        }

                        if (IdCX > 0 && Cb_IncCx.Checked)
                        {
                            Controle.ExecutaSQL("Update MvVenda Set Id_Caixa=" + IdCX.ToString() + ",Status=3,DataConfirmacao=Convert(DateTime,'" + DateTime.Now.Date.ToShortDateString() + "',103),PrevEntrega=Convert(DateTime,'" + DateTime.Now.Date.ToShortDateString() + "',103) where Id_Venda=" + IdVenda.ToString());
                        }
                        else
                        {
                            Controle.ExecutaSQL("Update MvVenda Set Status=3,DataConfirmacao=Convert(DateTime,'" + DateTime.Now.Date.ToShortDateString() + "',103) where Id_Venda=" + IdVenda.ToString());
                        }

                        Controle.ExecutaSQL("DELETE FROM LANCFINANCEIRO WHERE ID_VENDA IN (SELECT ID_VENDA FROM MVVENDA WHERE TPVENDA='OE' AND VINCULOVD='" + string.Format("{0:D6}", IdVenda.ToString()) + "')");
                        Controle.ExecutaSQL("UPDATE MvVenda Set Faturado=1 Where VinculoVd='" + string.Format("{0:D6}", IdVenda.ToString()) + "'");
                        Controle.ExecutaSQL("Update MapaEntregaItens set Status=1 where Id_Venda=" + IdVenda.ToString() + " and Status=0");

                        //Verificando se credito um credito pro cliente
                        if (VlrVenda < 0 && int.Parse(GridVenda.CurrentRow.Cells[17].Value.ToString()) == 0)
                        {
                            Controle.ExecutaSQL("UPDATE PESSOAS SET CREDITO=Round(CREDITO+" + Controle.FloatToStr(-1 * VlrVenda, 2) + ",2) WHERE ID_PESSOA=" + int.Parse(GridVenda.CurrentRow.Cells[15].Value.ToString()));
                        }

                        if (Vendas.TpVenda == "CO")
                        {
                            Controle.ExecutaSQL("UPDATE PESSOAS SET COMODATO=1 WHERE ID_PESSOA=" + Vendas.IdPessoa.ToString());
                        }

                        if (Vendas.TpVenda == "TROCA")
                        {
                            if (Vendas.SemMovEst == 0)
                            {
                                Controles.ControleEstoque ControleEstoque = new ControleEstoque();
                                ControleEstoque.Controle = Controle;

                                SqlDataReader TabEntrada = Controle.ConsultaSQL("SELECT T1.*, '' AS NCM FROM MvVendaItens T1 WHERE T1.TipoItem='E' and T1.Id_Venda=" + Vendas.IdVenda.ToString());
                                if (TabEntrada.HasRows)
                                {
                                    ControleEstoque.MovimentoEstoque(TabEntrada, 1, 1, false, Vendas.TpVenda, Vendas.Data, 0);
                                }
                            }
                        }
                        //Registrando Movimento de Auditoria
                        FrmPrincipal.RegistrarAuditoria(this.Text, int.Parse(GridVenda.CurrentRow.Cells[0].Value.ToString()), GridVenda.CurrentRow.Cells[3].Value.ToString(), 7, "Confirmação da Entrega");
                        MessageBox.Show("Entrega confirmada", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        GridVenda.CurrentRow.Cells[14].Value = "3";
                        GridVenda.CurrentRow.Cells[2].Value  = "Entregue";
                        //PopularGridVenda();
                    }
                }
            }
        }
Exemple #17
0
        private void BtnCancMov_Click(object sender, EventArgs e)
        {
            int IdVenda = 0;

            IdVenda = int.Parse(GridVenda.CurrentRow.Cells[0].Value.ToString());

            MvVenda Vendas = new MvVenda();

            Vendas.Controle = Controle;

            if (GridVenda.CurrentRow == null)
            {
                MessageBox.Show("Não existe Registro para Confirmar", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            else
            {
                if (int.Parse(GridVenda.CurrentRow.Cells[14].Value.ToString()) != 3)
                {
                    MessageBox.Show("Entrega não foi confirmada", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
                else if (GridVenda.CurrentRow.Cells[8].Value.ToString().Trim() == "")
                {
                    MessageBox.Show("Entregador não informado", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
                if (int.Parse(GridVenda.CurrentRow.Cells[14].Value.ToString()) == 3 && (GridVenda.CurrentRow.Cells[19].Value.ToString().Trim() != "AM" && GridVenda.CurrentRow.Cells[19].Value.ToString().Trim() != "BONIF"))
                {
                    Vendas.LerDados(IdVenda);

                    if (Vendas.IdCaixa > 0)
                    {
                        if (VerificaCaixa(Vendas.IdCaixa))
                        {
                            MessageBox.Show("Movimento já Entregue e Caixa já fechado", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            return;
                        }
                    }
                }

                if (MessageBox.Show("Confirma o Cancelamento da Entrega ?", "Confirmação", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    if (int.Parse(GridVenda.CurrentRow.Cells[17].Value.ToString()) > 0)
                    {
                        if (!CancelaLocalEntrega(IdVenda))
                        {
                            return;
                        }
                    }
                    decimal VlrVenda = decimal.Parse(GridVenda.CurrentRow.Cells[6].Value.ToString());

                    Controle.ExecutaSQL("Update MvVenda Set ID_Entregador=0,Status=2, DataConfirmacao=Null where Id_Venda=" + IdVenda.ToString());
                    Controle.ExecutaSQL("UPDATE MvVenda Set Faturado=0 Where VinculoVd='" + string.Format("{0:D6}", IdVenda.ToString()) + "'");
                    Controle.ExecutaSQL("Update MapaEntregaItens set Status=2 where Id_Venda=" + IdVenda.ToString() + " and Status=1");

                    //Verificando se credito um credito pro cliente
                    if (VlrVenda < 0 && int.Parse(GridVenda.CurrentRow.Cells[17].Value.ToString()) == 0)
                    {
                        Controle.ExecutaSQL("UPDATE PESSOAS SET CREDITO=Round(CREDITO-" + Controle.FloatToStr(-1 * VlrVenda, 2) + ",2) WHERE ID_PESSOA=" + int.Parse(GridVenda.CurrentRow.Cells[15].Value.ToString()));
                    }

                    //Atualizando o Troca de Estoque

                    Vendas.LerDados(IdVenda);

                    if (Vendas.TpVenda == "TROCA")
                    {
                        if (Vendas.SemMovEst == 0)
                        {
                            Controles.ControleEstoque ControleEstoque = new ControleEstoque();
                            ControleEstoque.Controle = Controle;

                            SqlDataReader TabEntrada = Controle.ConsultaSQL("SELECT T2.* FROM MVVENDA T1 LEFT JOIN MVVENDAITENS T2 ON (T2.ID_VENDA=T1.ID_VENDA) WHERE T2.TipoItem='E' AND T1.ID_VDMASTER=" + Vendas.IdVdMaster.ToString());
                            if (TabEntrada.HasRows)
                            {
                                ControleEstoque.MovimentoEstoque(TabEntrada, 1, 2, false, Vendas.TpVenda, Vendas.Data, 0);
                            }
                        }
                    }

                    //Registrando Movimento de Auditoria
                    FrmPrincipal.RegistrarAuditoria(this.Text, int.Parse(GridVenda.CurrentRow.Cells[0].Value.ToString()), GridVenda.CurrentRow.Cells[3].Value.ToString(), 7, "Cancelando a confirmação da Entrega");
                    MessageBox.Show("Entrega cancelada", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    GridVenda.CurrentRow.Cells[14].Value = "2";
                    GridVenda.CurrentRow.Cells[2].Value  = "Faturado";
                    PopularGridVenda();
                }
            }
        }
Exemple #18
0
        public string RegistrarVenda(int IdFilial, XmlDocument XmlCadPessoa, XmlDocument XmlVenda, XmlDocument XmlItens)
        {
            int IdVenda = 0;

            try
            {
                if (IdFilial == 0)
                {
                    return("-3");
                }

                //string StringConexao = "Data Source=SERVIDOR;Initial Catalog=BD_ERP_SGE; User ID=talimpo; Password=systalimpo; MultipleActiveResultSets=True;";
                Conexao = new SqlConnection(StringConexao);
                Conexao.Open();

                Executar.Conexao      = Conexao;
                RegAuditoria.Controle = Executar;
                FormaPgto.Controle    = Executar;
                Vendedor.Controle     = Executar;
                Vendas.Controle       = Executar;
                MvItens.Controle      = Executar;
                VerificarCad.Controle = Executar;

                Parametros ParamFilial = new Parametros();
                ParamFilial.Controle = Executar;
                ParamFilial.LerDados(1);

                Controles.ControleEstoque ControleEstoque = new ControleEstoque();
                ControleEstoque.Controle = Executar;

                // Abrindo os XML de Cliente
                DataSet       TabCliente = new DataSet();
                XmlNodeReader XmlCliente = new XmlNodeReader(XmlCadPessoa);
                TabCliente.ReadXml(XmlCliente);

                CadPessoa.Controle = Executar;

                if (!Ver_CadCliente(TabCliente))
                {
                    return("-1");  //Cadastro de Cliente não Localizado
                }
                DataSet       TabVenda = new DataSet();
                XmlNodeReader XmlVd    = new XmlNodeReader(XmlVenda);
                TabVenda.ReadXml(XmlVd);

                //Verificando a Forma de Pagamento
                int IdFormaPgto = 0;

                if (int.Parse(TabVenda.Tables[0].Rows[0]["Id_FormaPgto"].ToString()) > 0)
                {
                    IdFormaPgto = VerificarCad.Verificar_ExisteCadastro("Id_FormaPgto", "SELECT * FROM FORMAPAGAMENTO WHERE FORMAPGTO='" + TabVenda.Tables[0].Rows[0]["NomeFormaPgto"].ToString().Trim() + "'");
                    if (IdFormaPgto == 0)
                    {
                        FormaPgto.LerDados(0);
                        FormaPgto.FormaPgto   = TabVenda.Tables[0].Rows[0]["NomeFormaPgto"].ToString().Trim();
                        FormaPgto.NumParcelas = 1;
                        FormaPgto.Financeiro  = 1;
                        FormaPgto.GravarDados();
                        IdFormaPgto = FormaPgto.IdFormaPgto;
                    }
                }

                //Verificando Vendedor
                int IdVendedor = VerificarCad.Verificar_ExisteCadastro("Id_Vendedor", "SELECT * FROM VENDEDORES WHERE VENDEDOR='" + TabVenda.Tables[0].Rows[0]["NomeVendedor"].ToString().Trim() + "'");

                if (IdVendedor == 0)
                {
                    Vendedor.LerDados(0);
                    Vendedor.Vendedor = TabVenda.Tables[0].Rows[0]["NomeVendedor"].ToString().Trim();
                    Vendedor.Ativo    = 1;
                    Vendedor.GravarDados();
                    IdVendedor = Vendedor.IdVendedor;
                }

                Vendas.LerDados(0);
                Vendas.TpVenda         = TabVenda.Tables[0].Rows[0]["TpVenda"].ToString();
                Vendas.IdPessoa        = CadPessoa.IdPessoa;
                Vendas.IdVendedor      = IdVendedor;
                Vendas.IdFormaPgto     = IdFormaPgto;
                Vendas.PrazoPgto       = TabVenda.Tables[0].Rows[0]["PrazoPgto"].ToString();
                Vendas.Observacao      = TabVenda.Tables[0].Rows[0]["Observacao"].ToString();
                Vendas.NmPessoa        = CadPessoa.RazaoSocial;
                Vendas.CnpjCpf         = CadPessoa.Cnpj;
                Vendas.InscUF          = CadPessoa.InscUF;
                Vendas.Endereco        = CadPessoa.Endereco;
                Vendas.Numero          = CadPessoa.Numero;
                Vendas.Complemento     = CadPessoa.Complemento;
                Vendas.Fone            = CadPessoa.Fone;
                Vendas.Cep             = CadPessoa.Cep;
                Vendas.Bairro          = CadPessoa.Bairro;
                Vendas.Cidade          = CadPessoa.Cidade;
                Vendas.IdUF            = CadPessoa.IdUF;
                Vendas.Pais            = CadPessoa.Pais;
                Vendas.VlrSubTotal     = decimal.Parse(TabVenda.Tables[0].Rows[0]["VlrSubTotal"].ToString().Replace(".", ","));
                Vendas.VlrDesconto     = decimal.Parse(TabVenda.Tables[0].Rows[0]["VlrDesconto"].ToString().Replace(".", ","));
                Vendas.VlrCredito      = decimal.Parse(TabVenda.Tables[0].Rows[0]["Credito"].ToString().Replace(".", ","));
                Vendas.VlrTotal        = decimal.Parse(TabVenda.Tables[0].Rows[0]["VlrTotal"].ToString().Replace(".", ","));
                Vendas.IdFilial        = int.Parse(TabVenda.Tables[0].Rows[0]["Id_Filial"].ToString());
                Vendas.IdFilialEntrega = int.Parse(TabVenda.Tables[0].Rows[0]["Id_FilialEntrega"].ToString());
                Vendas.IdUsuAutDeb     = int.Parse(TabVenda.Tables[0].Rows[0]["Id_UsuAutDeb"].ToString());
                Vendas.IdUsuboleto     = int.Parse(TabVenda.Tables[0].Rows[0]["Id_UsuBoleto"].ToString());
                Vendas.NumPedido       = TabVenda.Tables[0].Rows[0]["NumPedido"].ToString();

                if (Vendas.TpVenda.Trim() == "PC" || Vendas.TpVenda.Trim() == "OE")
                {
                    Vendas.Status = 2;
                }
                else
                {
                    Vendas.Status = 1;
                }
                Vendas.GravarDados();

                IdVenda = Vendas.IdVenda;
                RegistrarAuditoria("Rec.Movimento", Vendas.IdVenda, Vendas.NumDocumento, 1, "Pessoa:" + Vendas.NmPessoa);

                Executar.ExecutaSQL("Update MvVenda set DtEnvioRec=GetDate(), Id_VdOrigem=" + TabVenda.Tables[0].Rows[0]["Id_Venda"].ToString() + ",Id_FilialOrigem=" + IdFilial.ToString() + " WHERE ID_VENDA=" + IdVenda.ToString());

                if (TabVenda.Tables[0].Rows[0]["Id_UsuLibParc"].ToString() != "")
                {
                    Executar.ExecutaSQL("Update MvVenda set Id_UsuLibParc=" + TabVenda.Tables[0].Rows[0]["Id_UsuLibParc"].ToString() + " WHERE ID_VENDA=" + IdVenda.ToString());
                }


                //Incluindo os Itens;
                DataSet       TabItens   = new DataSet();
                XmlNodeReader XmlVdItens = new XmlNodeReader(XmlItens);
                TabItens.ReadXml(XmlVdItens);
                int IdPrd = 0;

                for (int i = 0; i < TabItens.Tables[0].Rows.Count; i++)
                {
                    IdPrd = VerificarCad.Verificar_ExisteCadastro("Id_Produto", "SELECT T1.ID_PRODUTO FROM PRODUTOS T1 LEFT JOIN GRUPOPRODUTO T2 ON (T2.ID_GRUPO=T1.ID_GRUPO) WHERE T1.ATIVO=1 AND T2.ATIVO=1 AND T2.LISTAVENDA=1 AND T1.REFERENCIA='" + TabItens.Tables[0].Rows[i]["REFERENCIA"].ToString().Trim() + "'");

                    if (IdPrd == 0)
                    {
                        Executar.ExecutaSQL("DELETE FROM MVVENDA WHERE ID_VENDA=" + Vendas.IdVenda.ToString());
                        Executar.ExecutaSQL("DELETE FROM MVVENDAITENS WHERE ID_VENDA=" + Vendas.IdVenda.ToString());
                        return("-2 Ref.Produto: " + TabItens.Tables[0].Rows[i]["REFERENCIA"].ToString().Trim()); //Produto não Localizado
                    }
                    MvItens.LerDados(0);
                    MvItens.IdVenda  = Vendas.IdVenda;
                    MvItens.TipoItem = TabItens.Tables[0].Rows[i]["TipoItem"].ToString();
                    if (Vendas.TpVenda != "TROCA")
                    {
                        if (TabItens.Tables[0].Rows[i]["TipoItem"].ToString() == "S")
                        {
                            MvItens.TipoItem = "N";
                        }
                        else
                        {
                            if (int.Parse(TabItens.Tables[0].Rows[i]["Vinculado"].ToString()) == 0)
                            {
                                MvItens.TipoItem = "S";
                            }
                            else
                            {
                                MvItens.TipoItem = "N";
                            }
                        }
                    }

                    MvItens.IdProduto      = IdPrd;
                    MvItens.PrcEspecial    = decimal.Parse(TabItens.Tables[0].Rows[i]["PrcEspecial"].ToString().Replace(".", ","));
                    MvItens.PrcVarejo      = decimal.Parse(TabItens.Tables[0].Rows[i]["PrcVarejo"].ToString().Replace(".", ","));
                    MvItens.PrcMinimo      = decimal.Parse(TabItens.Tables[0].Rows[i]["PrcMinimo"].ToString().Replace(".", ","));
                    MvItens.PrcAtacado     = decimal.Parse(TabItens.Tables[0].Rows[i]["PrcAtacado"].ToString().Replace(".", ","));
                    MvItens.PrcSensacional = decimal.Parse(TabItens.Tables[0].Rows[i]["PrcSensacional"].ToString().Replace(".", ","));
                    MvItens.Qtde           = decimal.Parse(TabItens.Tables[0].Rows[i]["Qtde"].ToString().Replace(".", ","));
                    MvItens.VlrUnitario    = decimal.Parse(TabItens.Tables[0].Rows[i]["VlrUnitario"].ToString().Replace(".", ","));
                    MvItens.VlrTotal       = MvItens.Qtde * MvItens.VlrUnitario;
                    MvItens.PrcCusto       = decimal.Parse(TabItens.Tables[0].Rows[i]["PrcCusto"].ToString().Replace(".", ","));
                    MvItens.Vinculado      = int.Parse(TabItens.Tables[0].Rows[i]["VInculado"].ToString());
                    MvItens.ItemPed        = int.Parse(TabItens.Tables[0].Rows[i]["ItemPed"].ToString());
                    MvItens.GravarDados();
                    RegistrarAuditoria("Rec. Item", MvItens.IdItem, Vendas.NumDocumento, 1, "Incluindo Item Produto:" + MvItens.IdProduto.ToString() + "  Vr.Unit:" + MvItens.VlrUnitario.ToString() + "  Qtde:" + MvItens.Qtde.ToString());
                }
                //Concluindo a Venda
                if (int.Parse(TabVenda.Tables[0].Rows[0]["Id_Caixa"].ToString()) > 0)
                {
                    Vendas.IdFilialOrigem = IdFilial;
                    Vendas.VlrDesconto    = Vendas.VlrSubTotal;
                    Vendas.VlrCredito     = 0;
                    Vendas.VlrTotal       = 0;
                    Vendas.GravarDados();
                }

                //Calculando a comissao
                SqlDataReader TabComissao = Executar.ConsultaSQL("SELECT T1.*,T3.COMISSAO AS PCOMVEND FROM MvVendaItens T1 LEFT JOIN MVVENDA T2 ON (T2.ID_VENDA=T1.ID_VENDA)" +
                                                                 " LEFT JOIN VENDEDORES T3 ON (T3.ID_VENDEDOR=T2.ID_VENDEDOR) WHERE T1.TipoItem<>'E' and T1.Id_Venda=" + Vendas.IdVenda.ToString());
                Controles.Comissao CalcComissao = new Controles.Comissao();
                CalcComissao.Controle = Executar;

                decimal PDesconto = 0;
                if ((Vendas.VlrDesconto + Vendas.VlrCredito) > 0)
                {
                    PDesconto = 100 / (Vendas.VlrSubTotal / (Vendas.VlrDesconto + Vendas.VlrCredito));
                }

                CalcComissao.CalcularMovimento(TabComissao, PDesconto, CadPessoa.Clie_Forn == 3, ParamFilial, CadPessoa.ComissaoFixa, CadPessoa.IdPessoa);

                //Atualizando o Saldo do Estoque
                SqlDataReader TabSaida = Executar.ConsultaSQL("SELECT * FROM MvVendaItens WHERE TipoItem='S' and Id_Venda=" + Vendas.IdVenda.ToString());
                ControleEstoque.MovimentoEstoque(TabSaida, 2, 1, false, Vendas.TpVenda, Vendas.Data, 0);

                //Finalizando a venda
                RegistrarAuditoria("Rec.Movimento", Vendas.IdVenda, Vendas.NumDocumento, 5, "Confirmação do Movimento");
            }
            catch (Exception erro)
            {
                /*StreamWriter Xmlerr;
                 * Xmlerr = File.CreateText(@"D:\WS_erro.txt");
                 * Xmlerr.Write("Erro ao Atualizar: " + erro.ToString());
                 * Xmlerr.Close();*/

                RegistroLog("Erro Registro de Venda: " + erro.ToString());

                Executar.ExecutaSQL("DELETE FROM MVVENDA WHERE ID_VENDA=" + Vendas.IdVenda.ToString());
                Executar.ExecutaSQL("DELETE FROM MVVENDAITENS WHERE ID_VENDA=" + Vendas.IdVenda.ToString());

                Conexao.Dispose();
                return("-3");
            }
            Conexao.Dispose();
            return(string.Format("{0:D6}", IdVenda));
        }
Exemple #19
0
        public int RegistrarVenda(int IdFilial, int IdPessoa, int IdVendedor, int IdFormaPgto, string PrazoPgto, string Obs, string Subtotal, string Desconto, string Credito, string Total, string XmlItens)
        {
            try
            {
                //string StringConexao = "Data Source=SERVIDOR;Initial Catalog=BD_ERP_SGE; User ID=talimpo; Password=systalimpo; MultipleActiveResultSets=True;";
                Conexao = new SqlConnection(StringConexao);
                Conexao.Open();

                Funcoes Executar = new Funcoes();
                Executar.Conexao = Conexao;

                RegAuditoria.Controle = Executar;

                Parametros ParamFilial = new Parametros();
                ParamFilial.Controle = Executar;
                ParamFilial.LerDados(1);

                Controles.ControleEstoque ControleEstoque = new ControleEstoque();
                ControleEstoque.Controle = Executar;

                Pessoas CadPessoa = new Pessoas();
                CadPessoa.Controle = Executar;
                CadPessoa.LerDados(IdPessoa);

                MvVenda Venda = new MvVenda();
                Venda.Controle = Executar;

                MvVendaItens MvItens = new MvVendaItens();
                MvItens.Controle = Executar;

                Venda.LerDados(0);
                Venda.TpVenda     = "PV";
                Venda.IdPessoa    = IdPessoa;
                Venda.IdVendedor  = IdVendedor;
                Venda.IdFormaPgto = IdFormaPgto;
                Venda.PrazoPgto   = PrazoPgto;
                Venda.Observacao  = Obs;
                Venda.NmPessoa    = CadPessoa.RazaoSocial;
                Venda.CnpjCpf     = CadPessoa.Cnpj;
                Venda.InscUF      = CadPessoa.InscUF;
                Venda.Endereco    = CadPessoa.Endereco;
                Venda.Numero      = CadPessoa.Numero;
                Venda.Complemento = CadPessoa.Complemento;
                Venda.Fone        = CadPessoa.Fone;
                Venda.Cep         = CadPessoa.Cep;
                Venda.Bairro      = CadPessoa.Bairro;
                Venda.Cidade      = CadPessoa.Cidade;
                Venda.IdUF        = CadPessoa.IdUF;
                Venda.Pais        = CadPessoa.Pais;
                Venda.VlrSubTotal = decimal.Parse(Subtotal.ToString().Replace(".", ","));
                Venda.VlrDesconto = decimal.Parse(Desconto.ToString().Replace(".", ","));
                Venda.VlrCredito  = decimal.Parse(Credito.ToString().Replace(".", ","));
                Venda.VlrTotal    = decimal.Parse(Total.ToString().Replace(".", ","));
                if (CadPessoa.IdFilial == 0)
                {
                    Venda.IdFilial = IdFilial;
                }
                else
                {
                    Venda.IdFilial = CadPessoa.IdFilial;
                }
                Venda.GravarDados();
                RegistrarAuditoria("Venda Mobile Venda", Venda.IdVenda, Venda.NumDocumento, 1, "Pessoa:" + Venda.NmPessoa);

                //Incluindo os Itens;
                System.IO.StringReader Xml = new System.IO.StringReader(XmlItens);
                DataSet Tab = new DataSet();
                Tab.ReadXml(Xml);
                for (int i = 0; i < Tab.Tables[0].Rows.Count; i++)
                {
                    MvItens.LerDados(0);
                    MvItens.IdVenda     = Venda.IdVenda;
                    MvItens.TipoItem    = "S";
                    MvItens.IdProduto   = int.Parse(Tab.Tables[0].Rows[i]["cProd"].ToString());
                    MvItens.PrcEspecial = decimal.Parse(Tab.Tables[0].Rows[i]["cPrcE"].ToString().Replace(".", ","));
                    MvItens.PrcVarejo   = decimal.Parse(Tab.Tables[0].Rows[i]["cPrcV"].ToString().Replace(".", ","));
                    MvItens.PrcMinimo   = decimal.Parse(Tab.Tables[0].Rows[i]["cPrcM"].ToString().Replace(".", ","));
                    MvItens.PrcAtacado  = decimal.Parse(Tab.Tables[0].Rows[i]["cPrcA"].ToString().Replace(".", ","));
                    MvItens.Qtde        = decimal.Parse(Tab.Tables[0].Rows[i]["cQtde"].ToString().Replace(".", ","));
                    MvItens.VlrUnitario = decimal.Parse(Tab.Tables[0].Rows[i]["cPrcU"].ToString().Replace(".", ","));
                    MvItens.VlrTotal    = MvItens.Qtde * MvItens.VlrUnitario;
                    MvItens.GravarDados();
                    RegistrarAuditoria("Venda Mobile Item", MvItens.IdItem, Venda.NumDocumento, 1, "Incluindo Item Produto:" + MvItens.IdProduto.ToString() + "  Vr.Unit:" + MvItens.VlrUnitario.ToString() + "  Qtde:" + MvItens.Qtde.ToString());
                }
                //Atualizando o Estoque e Concluindo a Venda

                //Atualizando o Credito do Cliente
                if (Venda.VlrCredito > 0)
                {
                    Executar.ExecutaSQL("UPDATE PESSOAS SET CREDITO=CREDITO-" + Executar.FloatToStr(Venda.VlrCredito, 2) + " WHERE ID_PESSOA=" + Venda.IdPessoa.ToString());
                }

                //Calculando a comissao
                SqlDataReader TabComissao = Executar.ConsultaSQL("SELECT T1.*,T3.COMISSAO AS PCOMVEND FROM MvVendaItens T1 LEFT JOIN MVVENDA T2 ON (T2.ID_VENDA=T1.ID_VENDA)" +
                                                                 " LEFT JOIN VENDEDORES T3 ON (T3.ID_VENDEDOR=T2.ID_VENDEDOR) WHERE T1.TipoItem<>'E' and T1.Id_Venda=" + Venda.IdVenda.ToString());
                Controles.Comissao CalcComissao = new Controles.Comissao();
                CalcComissao.Controle = Executar;

                decimal PDesconto = 0;
                if ((Venda.VlrDesconto + Venda.VlrCredito) > 0)
                {
                    PDesconto = 100 / (Venda.VlrSubTotal / (Venda.VlrDesconto + Venda.VlrCredito));
                }
                CalcComissao.CalcularMovimento(TabComissao, PDesconto, CadPessoa.Clie_Forn == 3, ParamFilial, CadPessoa.ComissaoFixa, CadPessoa.IdPessoa);

                //Atualizando o Saldo do Estoque
                SqlDataReader TabSaida = Executar.ConsultaSQL("SELECT * FROM MvVendaItens WHERE TipoItem='S' and Id_Venda=" + Venda.IdVenda.ToString());
                ControleEstoque.MovimentoEstoque(TabSaida, 2, 1, false, Venda.TpVenda, Venda.Data, 0);

                //Finalizando a venda
                Venda.Concluir(1);
                RegistrarAuditoria("Venda Mobile", Venda.IdVenda, Venda.NumDocumento, 5, "Confirmação do Movimento");
            }
            catch
            {
                Conexao.Dispose();
                return(-1);
            }
            Conexao.Dispose();
            return(0);
        }