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); }
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); } }
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"); }
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!"); } }
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"); } }
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!"); } }
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); } } }
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; } }
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)); }
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(); } } } }
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(); } } }
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)); }
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); }