Ejemplo n.º 1
0
        private void grava_historico(Compra compra, bool baixaEstoque) 
        {
            Historico_Estoque_Preco historico;
            Produto produto;

            compra.Salvar();
            produtos_venda_todos.Deletar(compra.COM_CODIGO);

            foreach (Produtos_Compra produtos_compra_anterior in produtos_venda_todos_anterior)
            {
                produto = new Produto(produtos_compra_anterior.PC_PRODUTO);
                produto.PRO_ESTOQUE -= produtos_compra_anterior.PC_QTDE;
                produto.Salvar();

                historico = new Historico_Estoque_Preco();
                historico.HEP_CODIGO = 0;
                historico.HEP_COMPRA = compra.COM_CODIGO;
                historico.HEP_DATA = DateTime.Now;
                historico.HEP_ESTOQUE_ANTERIOR = produto.PRO_ESTOQUE + produtos_compra_anterior.PC_QTDE;
                historico.HEP_ESTOQUE_ATUAL = produto.PRO_ESTOQUE;
                historico.HEP_PRECO_UNITARIO = produtos_compra_anterior.PC_PRECO_COMPRA;
                historico.HEP_PRECO_TOTAL = produtos_compra_anterior.PC_TOTAL;
                historico.HEP_PRODUTO = produtos_compra_anterior.PC_PRODUTO;
                historico.HEP_QTDE = produtos_compra_anterior.PC_QTDE;
                historico.HEP_USUARIO = Global.FUN_CODIGO;
                historico.Salvar();
            }
            foreach (Produtos_Compra produtos_compra in produtos_venda_todos)
            {
                produtos_compra.PC_COMPRA = compra.COM_CODIGO;
                produtos_compra.Salvar();

                produto = new Produto(produtos_compra.PC_PRODUTO);

                if (baixaEstoque)
                {
                    produto.PRO_ESTOQUE -= produtos_compra.PC_QTDE;
                    if (produto.PRO_ULT_COMPRA < compra.COM_CODIGO)
                    {
                        produto.PRO_ULT_COMPRA = compra.COM_CODIGO;
                        produto.PRO_PRECO_VENDA = produtos_compra.PC_PRECO_COMPRA;
                    }
                    produto.Salvar();
                }
                

                historico = new Historico_Estoque_Preco();
                historico.HEP_CODIGO = 0;
                historico.HEP_COMPRA = compra.COM_CODIGO;
                historico.HEP_DATA = DateTime.Now;
                historico.HEP_ESTOQUE_ANTERIOR = produto.PRO_ESTOQUE - produtos_compra.PC_QTDE;
                historico.HEP_ESTOQUE_ATUAL = produto.PRO_ESTOQUE;
                historico.HEP_PRECO_UNITARIO = produtos_compra.PC_PRECO_COMPRA;
                historico.HEP_PRECO_TOTAL = produtos_compra.PC_TOTAL;
                historico.HEP_PRODUTO = produtos_compra.PC_PRODUTO;
                historico.HEP_QTDE = produtos_compra.PC_QTDE;
                historico.HEP_USUARIO = Global.FUN_CODIGO;
                historico.Salvar();
            }
        }
Ejemplo n.º 2
0
        private void btn_voltar_Click(object sender, EventArgs e)
        {
            if (btn_voltar.Text == "Voltar")
            {
                if (ORIGEM == 1 || ORIGEM == 5)
                {
                    Global.PC_PRODUTO = -1;
                }
                else if (ORIGEM == 2)
                {
                    Global.HEP_PRODUTO = -1;
                }
                this.Close();
            }
            else
            {
                int count = 0;
                foreach (Produto produto_foreach in produto_todos)
                {
                    if (produto_foreach.PRO_CODIGO > 0 && produto_foreach.PRO_ESTOQUE.ToString("0.000") != produto_foreach.PRO_EST_ATUAL)
                    {
                        count++;
                        Produto produto = new Produto(produto_foreach.PRO_CODIGO);
                        Historico_Estoque_Preco historico = new Historico_Estoque_Preco();
                        historico.HEP_CODIGO           = 0;
                        historico.HEP_COMPRA           = 0;
                        historico.HEP_DATA             = DateTime.Now;
                        historico.HEP_ESTOQUE_ANTERIOR = produto.PRO_ESTOQUE;
                        historico.HEP_ESTOQUE_ATUAL    = float.Parse(produto_foreach.PRO_EST_ATUAL);
                        historico.HEP_PRECO_UNITARIO   = produto.PRO_PRECO_COMPRA;
                        historico.HEP_PRECO_TOTAL      = produto.PRO_PRECO_COMPRA * float.Parse(produto_foreach.PRO_EST_ATUAL);
                        historico.HEP_PRODUTO          = produto.PRO_CODIGO;
                        historico.HEP_QTDE             = Math.Abs(produto.PRO_ESTOQUE - float.Parse(produto_foreach.PRO_EST_ATUAL));
                        historico.HEP_USUARIO          = Global.FUN_CODIGO;
                        historico.Salvar();

                        produto.PRO_ESTOQUE = float.Parse(produto_foreach.PRO_EST_ATUAL);
                        produto.Salvar();
                    }
                }
                if (count > 0)
                {
                    if (Configuracoes.Default.Mensagem_Gravar == true)
                    {
                        MessageBox.Show(count.ToString() + " produtos foram atualizados com sucesso!", "Joincar", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    Carregar_DGV();

                    tb_igual.Select();
                }
                else
                {
                    if (Configuracoes.Default.Mensagem_Gravar == true)
                    {
                        MessageBox.Show("Nenhum produto foi atualizado!", "Joincar", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    btn_voltar.Select();
                }
            }
        }
Ejemplo n.º 3
0
        private void btn_cancelar_Click(object sender, EventArgs e)
        {
            if (tb_codigo.Text != "" && MessageBox.Show("Deseja realmente cancelar esta venda?", "Joincar", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                Contas_PagarCollection contas_pagar_todos = new Contas_PagarCollection(int.Parse(tb_codigo.Text), Contas_PagarLoadType.LoadByCompra, 2);

                bool possui_parc_paga = false;
                if (contas_pagar_todos.Count > 0)
                {
                    Parcelas_PagarCollection parcela_todos = new Parcelas_PagarCollection(contas_pagar_todos[0].CAP_CODIGO);

                    foreach (Parcelas_Pagar parcela in parcela_todos)
                    {
                        if (parcela.PCA_VALOR_PAGO > 0)
                        {
                            possui_parc_paga = true;
                            break;
                        }
                    }
                    if (possui_parc_paga == false)
                    {
                        parcela_todos.Deletar(contas_pagar_todos[0].CAP_CODIGO);
                        contas_pagar_todos[0].Deletar();
                    }
                }
                if (possui_parc_paga == false)
                {
                    Compra compra = new Compra(int.Parse(tb_codigo.Text),1);
                    Historico_Estoque_Preco historico;
                    Produto produto;

                    if (compra.COM_CODIGO > 0)
                    {
                        compra.COM_CANCELADO = 1;
                        compra.COM_ALTERACAO = DateTime.Now;
                        compra.COM_DATA_CANCELADO = DateTime.Now;
                        compra.Salvar();

                        Log log = new Log();
                        log.LOG_USUARIO = Global.FUN_CODIGO;
                        log.LOG_DATA = DateTime.Now;
                        log.LOG_TELA = this.Text;
                        log.LOG_DESCRICAO = "Cancelou a venda de código: " + compra.COM_CODIGO.ToString() + " e cliente: " + cb_cliente.Text + ".";
                        log.Save();

                        foreach (Produtos_Compra produtos_compra in produtos_venda_todos)
                        {
                            produto = new Produto(produtos_compra.PC_PRODUTO);
                            produto.PRO_ESTOQUE -= produtos_compra.PC_QTDE;
                            produto.Salvar();

                            historico = new Historico_Estoque_Preco();
                            historico.HEP_CODIGO = 0;
                            historico.HEP_COMPRA = compra.COM_CODIGO;
                            historico.HEP_DATA = DateTime.Now;
                            historico.HEP_ESTOQUE_ANTERIOR = produto.PRO_ESTOQUE + produtos_compra.PC_QTDE;
                            historico.HEP_ESTOQUE_ATUAL = produto.PRO_ESTOQUE;
                            historico.HEP_PRECO_UNITARIO = produtos_compra.PC_PRECO_COMPRA;
                            historico.HEP_PRECO_TOTAL = produtos_compra.PC_TOTAL;
                            historico.HEP_PRODUTO = produtos_compra.PC_PRODUTO;
                            historico.HEP_QTDE = produtos_compra.PC_QTDE;
                            historico.HEP_USUARIO = Global.FUN_CODIGO;
                            historico.Salvar();
                        }
                        Limpar();
                        Ativar_Desativar(true);

                        if (Configuracoes.Default.Mensagem_Gravar == true)
                        {
                            MessageBox.Show("Cancelamento efetuado com sucesso!", "Joincar", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }

                        cb_cliente.Focus();
                    }
                }
                else
                {
                    MessageBox.Show("Impossível cancelar compra! É necessário estornar as parcelas antes.", "Joincar", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }
Ejemplo n.º 4
0
        public void Gravar(bool Mensagem_Gravar)
        {
            Compra compra;
            Historico_Estoque_Preco historico;
            Produto produto;

            if (tb_codigo.Text == string.Empty)
            {
                compra                    = new Compra();
                compra.COM_OBS            = "";
                compra.COM_DATA_CANCELADO = DateTime.Parse("01/01/1800");
            }
            else
            {
                compra = new Compra(int.Parse(tb_codigo.Text));
            }

            try
            {
                compra.COM_FORNECEDOR = int.Parse(cb_fornecedor.SelectedValue.ToString());
            }
            catch (Exception)
            {
                compra.COM_FORNECEDOR = 0;
            }
            try
            {
                compra.COM_LANCAMENTO = int.Parse(cb_lancamento.SelectedValue.ToString());
            }
            catch (Exception)
            {
                compra.COM_LANCAMENTO = 0;
            }
            try
            {
                compra.COM_NF = int.Parse(tb_nf.Text);
            }
            catch (Exception)
            {
                compra.COM_NF = 0;
            }
            try
            {
                compra.COM_DATA = DateTime.Parse(tb_data.Text);
            }
            catch (Exception)
            {
                compra.COM_DATA = DateTime.Now;
            }
            compra.COM_ALTERACAO = DateTime.Now;
            if (rb_nao_gerar.Checked)
            {
                compra.COM_TIPO_PAGTO = 0;
            }
            else if (rb_avista.Checked)
            {
                compra.COM_TIPO_PAGTO = 1;
            }
            else
            {
                compra.COM_TIPO_PAGTO = 2;
            }
            compra.COM_OUT_DESPESAS = float.Parse(tb_out_desp.Text);
            compra.COM_FRETE        = float.Parse(tb_frete.Text);
            compra.COM_ACRESCIMO    = float.Parse(tb_acresc.Text);
            compra.COM_DESCONTO     = float.Parse(tb_desc.Text);
            compra.COM_TOTAL        = float.Parse(tb_total.Text);
            compra.Salvar();

            Log log = new Log();

            log.LOG_USUARIO = Global.FUN_CODIGO;
            log.LOG_DATA    = DateTime.Now;
            log.LOG_TELA    = this.Text;
            if (tb_codigo.Text == string.Empty)
            {
                log.LOG_DESCRICAO = "Cadastrou a compra de código: " + compra.COM_CODIGO.ToString() + " e fornecedor: " + cb_fornecedor.Text + ".";

                if (compra.COM_FORNECEDOR > 0)
                {
                    Fornecedor fornecedor = new Fornecedor(compra.COM_FORNECEDOR);
                    fornecedor.FOR_ULT_COMPRA = compra.COM_CODIGO;
                    fornecedor.Salvar();
                }

                produtos_compra_todos.Deletar(compra.COM_CODIGO);

                foreach (Produtos_Compra produtos_compra in produtos_compra_todos)
                {
                    produtos_compra.PC_COMPRA = compra.COM_CODIGO;
                    produtos_compra.Salvar();

                    produto                  = new Produto(produtos_compra.PC_PRODUTO);
                    produto.PRO_ESTOQUE     += produtos_compra.PC_QTDE;
                    produto.PRO_ULT_COMPRA   = compra.COM_CODIGO;
                    produto.PRO_PRECO_COMPRA = produtos_compra.PC_PRECO_COMPRA;
                    produto.Salvar();

                    historico                      = new Historico_Estoque_Preco();
                    historico.HEP_CODIGO           = 0;
                    historico.HEP_COMPRA           = compra.COM_CODIGO;
                    historico.HEP_DATA             = DateTime.Now;
                    historico.HEP_ESTOQUE_ANTERIOR = produto.PRO_ESTOQUE - produtos_compra.PC_QTDE;
                    historico.HEP_ESTOQUE_ATUAL    = produto.PRO_ESTOQUE;
                    historico.HEP_PRECO_UNITARIO   = produtos_compra.PC_PRECO_COMPRA;
                    historico.HEP_PRECO_TOTAL      = produtos_compra.PC_TOTAL;
                    historico.HEP_PRODUTO          = produtos_compra.PC_PRODUTO;
                    historico.HEP_QTDE             = produtos_compra.PC_QTDE;
                    historico.HEP_USUARIO          = Global.FUN_CODIGO;
                    historico.Salvar();
                }
            }
            else
            {
                log.LOG_DESCRICAO = "Alterou a compra de código: " + compra.COM_CODIGO.ToString() + " e fornecedor: " + cb_fornecedor.Text + ".";
            }
            log.Save();

            if (Configuracoes.Default.Mensagem_Gravar == true && Mensagem_Gravar == true)
            {
                if (tb_codigo.Text == string.Empty)
                {
                    MessageBox.Show("Cadastro efetuado com sucesso!", "3Pratos", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("Alteração efetuada com sucesso!", "3Pratos", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            Ativar_Desativar(false);

            tb_codigo.Text       = compra.COM_CODIGO.ToString();
            tb_codigo.Enabled    = false;
            btn_produto.Enabled  = false;
            btn_gravar.Enabled   = false;
            btn_cancelar.Enabled = true;

            cb_fornecedor.Focus();
        }
Ejemplo n.º 5
0
        public void Gravar(bool Mensagem_Gravar)
        {
            Compra compra;
            Historico_Estoque_Preco historico;
            Produto produto;

            if (tb_codigo.Text == string.Empty)
            {
                compra                    = new Compra();
                compra.COM_OBS            = "";
                compra.COM_DATA_CANCELADO = DateTime.Parse("01/01/1800");
            }
            else
            {
                compra = new Compra(int.Parse(tb_codigo.Text), 1);
            }

            try
            {
                compra.COM_CLIENTE_FORNECEDOR = int.Parse(cb_cliente.SelectedValue.ToString());
            }
            catch (Exception)
            {
                compra.COM_CLIENTE_FORNECEDOR = 0;
            }

            compra.COM_LANCAMENTO = 1;

            try
            {
                compra.COM_DATA = DateTime.Parse(tb_data.Text);
            }
            catch (Exception)
            {
                compra.COM_DATA = DateTime.Now;
            }
            compra.COM_ALTERACAO = DateTime.Now;

            if (rb_nao_gerar.Checked)
            {
                compra.COM_TIPO_PAGTO = 0;
            }
            else if (rb_avista.Checked)
            {
                compra.COM_TIPO_PAGTO = 1;
            }
            else
            {
                compra.COM_TIPO_PAGTO = 2;
            }
            compra.COM_OUT_DESPESAS   = float.Parse(tb_out_desp.Text);
            compra.COM_ACRESCIMO      = float.Parse(tb_acresc.Text);
            compra.COM_DESCONTO       = float.Parse(tb_desc.Text);
            compra.COM_TOTAL          = float.Parse(tb_total.Text);
            compra.COM_TIPO_MOVIMENTO = rb_orcamento.Checked ? 0 : rb_venda.Checked ? 1 : -1;
            //ORCAMENTO = 0 , VENDA = 1, ERROR = -1

            string SqlVenda = "BEGIN TRANSACTION ";

            for (int i = 0; i < dgv_produtos.RowCount; i++)
            {
                double qtd      = double.Parse(dgv_produtos["PC_QTDE_FORMATADO", i].Value.ToString());
                int    cod_prod = int.Parse(dgv_produtos["PC_PRODUTO_FORMATADO", i].Value.ToString());
                SqlVenda += string.Format(@" IF (SELECT 1 FROM Produto WHERE PRO_CODIGO = {0} AND (PRO_ESTOQUE - {1}) >= 0) = 1
	                                            BEGIN
		                                            UPDATE Produto SET PRO_ESTOQUE = (PRO_ESTOQUE - {1}) WHERE PRO_CODIGO = {0}
		                                            SELECT 1 as Aviso
                                                    RETURN
	                                            END
                                            ELSE
	                                            BEGIN 
		                                            SELECT 0 as Aviso
                                                    ROLLBACK TRANSACTION
                                                    RETURN
	                                            END"    , cod_prod, qtd);
            }

            SqlVenda += " COMMIT TRANSACTION ";

            if (rb_venda.Enabled == true && rb_venda.Checked == true)
            {
                if (compra.BaixaEstoque(SqlVenda) == 0)
                {
                    MessageBox.Show("Não há produto suficiente para esta transação!", "Joincar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
                else
                {
                    compra.Salvar();
                    produtos_venda_todos.Deletar(compra.COM_CODIGO);

                    foreach (Produtos_Compra produtos_compra_anterior in produtos_venda_todos_anterior)
                    {
                        produto              = new Produto(produtos_compra_anterior.PC_PRODUTO);
                        produto.PRO_ESTOQUE -= produtos_compra_anterior.PC_QTDE;
                        produto.Salvar();

                        historico                      = new Historico_Estoque_Preco();
                        historico.HEP_CODIGO           = 0;
                        historico.HEP_COMPRA           = compra.COM_CODIGO;
                        historico.HEP_DATA             = DateTime.Now;
                        historico.HEP_ESTOQUE_ANTERIOR = produto.PRO_ESTOQUE + produtos_compra_anterior.PC_QTDE;
                        historico.HEP_ESTOQUE_ATUAL    = produto.PRO_ESTOQUE;
                        historico.HEP_PRECO_UNITARIO   = produtos_compra_anterior.PC_PRECO_COMPRA;
                        historico.HEP_PRECO_TOTAL      = produtos_compra_anterior.PC_TOTAL;
                        historico.HEP_PRODUTO          = produtos_compra_anterior.PC_PRODUTO;
                        historico.HEP_QTDE             = produtos_compra_anterior.PC_QTDE;
                        historico.HEP_USUARIO          = Global.FUN_CODIGO;
                        historico.Salvar();
                    }
                    foreach (Produtos_Compra produtos_compra in produtos_venda_todos)
                    {
                        produtos_compra.PC_COMPRA = compra.COM_CODIGO;
                        produtos_compra.Salvar();

                        produto              = new Produto(produtos_compra.PC_PRODUTO);
                        produto.PRO_ESTOQUE -= produtos_compra.PC_QTDE;
                        if (produto.PRO_ULT_COMPRA < compra.COM_CODIGO)
                        {
                            produto.PRO_ULT_COMPRA   = compra.COM_CODIGO;
                            produto.PRO_PRECO_COMPRA = produtos_compra.PC_PRECO_COMPRA;
                        }
                        produto.Salvar();

                        historico                      = new Historico_Estoque_Preco();
                        historico.HEP_CODIGO           = 0;
                        historico.HEP_COMPRA           = compra.COM_CODIGO;
                        historico.HEP_DATA             = DateTime.Now;
                        historico.HEP_ESTOQUE_ANTERIOR = produto.PRO_ESTOQUE - produtos_compra.PC_QTDE;
                        historico.HEP_ESTOQUE_ATUAL    = produto.PRO_ESTOQUE;
                        historico.HEP_PRECO_UNITARIO   = produtos_compra.PC_PRECO_COMPRA;
                        historico.HEP_PRECO_TOTAL      = produtos_compra.PC_TOTAL;
                        historico.HEP_PRODUTO          = produtos_compra.PC_PRODUTO;
                        historico.HEP_QTDE             = produtos_compra.PC_QTDE;
                        historico.HEP_USUARIO          = Global.FUN_CODIGO;
                        historico.Salvar();
                    }
                }
            }

            if (rb_orcamento.Checked == true)
            {
                compra.Salvar();
            }

            Log log = new Log();

            log.LOG_USUARIO = Global.FUN_CODIGO;
            log.LOG_DATA    = DateTime.Now;
            log.LOG_TELA    = this.Text;
            if (tb_codigo.Text == string.Empty)
            {
                log.LOG_DESCRICAO = "Cadastrou a compra de código: " + compra.COM_CODIGO.ToString() + " e cliente: " + cb_cliente.Text + ".";
            }
            else
            {
                log.LOG_DESCRICAO = "Alterou a compra de código: " + compra.COM_CODIGO.ToString() + " e cliente: " + cb_cliente.Text + ".";
            }
            log.Save();

            if (Configuracoes.Default.Mensagem_Gravar == true && Mensagem_Gravar == true)
            {
                if (tb_codigo.Text == string.Empty)
                {
                    MessageBox.Show("Cadastro efetuado com sucesso!", "Joincar", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("Alteração efetuada com sucesso!", "Joincar", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            Ativar_Desativar(false);

            tb_codigo.Text       = compra.COM_CODIGO.ToString();
            tb_codigo.Enabled    = false;
            btn_cancelar.Enabled = true;
            btn_imprimir.Enabled = true;
            dgv_produtos.Enabled = true;
            this.Show();

            cb_cliente.Focus();
        }
Ejemplo n.º 6
0
        private void btn_confirmar_Click(object sender, EventArgs e)
        {
            try
            {
                float.Parse(tb_qtde.Text);
            }
            catch (Exception)
            {
                tb_qtde.Text = "0,000";
            }
            if (tb_codigo.Text == "")
            {
                MessageBox.Show("Produto obrigatório!", "Joincar", MessageBoxButtons.OK, MessageBoxIcon.Error);
                btn_pesquisar.Select();
            }
            else if (float.Parse(tb_qtde.Text) <= 0)
            {
                MessageBox.Show("Quantidade precisa ser maior que zero!", "Joincar", MessageBoxButtons.OK, MessageBoxIcon.Error);
                tb_qtde.Select();
            }
            else
            {
                Produto produto = new Produto(int.Parse(tb_codigo.Text));
                if (cb_tipo.SelectedIndex == 0)
                {
                    produto.PRO_ESTOQUE -= float.Parse(tb_qtde.Text);
                }
                else
                {
                    produto.PRO_ESTOQUE += float.Parse(tb_qtde.Text);
                }
                produto.Salvar();

                Historico_Estoque_Preco historico = new Historico_Estoque_Preco();
                historico.HEP_CODIGO = 0;
                historico.HEP_COMPRA = 0;
                historico.HEP_DATA   = DateTime.Now;
                if (cb_tipo.SelectedIndex == 0)
                {
                    historico.HEP_ESTOQUE_ANTERIOR = produto.PRO_ESTOQUE + float.Parse(tb_qtde.Text);
                }
                else
                {
                    historico.HEP_ESTOQUE_ANTERIOR = produto.PRO_ESTOQUE - float.Parse(tb_qtde.Text);
                }
                historico.HEP_ESTOQUE_ATUAL  = produto.PRO_ESTOQUE;
                historico.HEP_PRECO_UNITARIO = produto.PRO_PRECO_COMPRA;
                historico.HEP_PRECO_TOTAL    = produto.PRO_PRECO_COMPRA * float.Parse(tb_qtde.Text);
                historico.HEP_PRODUTO        = produto.PRO_CODIGO;
                historico.HEP_QTDE           = float.Parse(tb_qtde.Text);
                historico.HEP_USUARIO        = Global.FUN_CODIGO;
                historico.Salvar();

                tb_qtde.Text          = "1,000";
                cb_tipo.SelectedIndex = 1;

                Carregar_DGV(int.Parse(tb_codigo.Text));

                tb_qtde.Select();
            }
        }