void InicializaValores() { edtCodigo.Text = fornecedor; ckbData.Checked = filtrar_data; udMesI.Value = mesi; udMesF.Value = mesf; edtAnoI.Text = anoi.ToString(); edtAnoF.Text = anof.ToString(); cbxUsuarios.Text = vendedor; if (vendedorAcao != null) { cbxUsuarios.Text = vendedorAcao; } edtCliente.Text = cliente; edtConsultor.Text = consultor; cCaracteristicas caracteristicas = new cCaracteristicas(); this.Cursor = Cursors.WaitCursor; cbxCaracteristicas.Items.Clear(); caracteristicas.Carrega(cbxCaracteristicas, fornecedor); this.Cursor = Cursors.Default; cbxCaracteristicas.Text = caracteristica; dtpCadastroI.Value = cadastroI; dtpCadastroI.Checked = idt_cadastroI == "S"; dtpCadastroF.Value = cadastroF; dtpCadastroF.Checked = idt_cadastroF == "S"; edtResumo.Text = resumo; }
void BtnItensClick(object sender, EventArgs e) { if (dgvCadastro.Rows.Count == 0) { return; } int i = dgvCadastro.CurrentRow.Index; short codigo = Globais.StrToShort(dgvCadastro.Rows[i].Cells["Cod"].Value.ToString()); string fornecedor = dgvCadastro.Rows[i].Cells["Fornecedor"].Value.ToString(); DateTime data = DateTime.Parse(dgvCadastro.Rows[i].Cells["Data"].Value.ToString()); string cliente = dgvCadastro.Rows[i].Cells["Cliente"].Value.ToString(); string caracteristica = dgvCadastro.Rows[i].Cells["Característica"].Value.ToString().Trim(); cCaracteristicas caracteristicas = new cCaracteristicas(); string formula = caracteristicas.Formula(fornecedor, caracteristica); frmCadItens frm = new frmCadItens(); frm.fornecedor = fornecedor; frm.data = data; frm.cod_orcamento = codigo; frm.cliente = cliente; frm.tabela = dgvCadastro.Rows[i].Cells["Tabela"].Value.ToString(); frm.formula = formula; frm.pedido = dgvCadastro.Rows[i].Cells["P"].Value.ToString().Trim().Equals("S"); frm.ShowDialog(); string chave = dgvCadastro.Rows[i].Cells["Chave"].Value.ToString().Trim(); CarregaOrcamentos(); Grid.Sort(dgvCadastro, col_sorted, ord_sorted); Grid.MarcaSelecionados(dgvCadastro); Grid.Posiciona(dgvCadastro, chave); }
void FrmCadCaracteristicasLoad(object sender, EventArgs e) { caracteristicas = new cCaracteristicas(); this.Cursor = Cursors.WaitCursor; caracteristicas.Carrega(dgvCadastro, chkFiltroAtivos.Checked); cIntroducoes introducoes = new cIntroducoes(); introducoes.Carrega(cbxIntroducoes); cInformacoesFornecimento informacoes = new cInformacoesFornecimento(); informacoes.Carrega(cbxInformacoesFornecimento); cTermosAprovacao termos_aprovacao = new cTermosAprovacao(); termos_aprovacao.Carrega(cbxTermosAprovacao); cCondicoesMontagem condicoes = new cCondicoesMontagem(); condicoes.Carrega(cbxCondicoesMontagem); cTermosGarantia termos_garantia = new cTermosGarantia(); termos_garantia.Carrega(cbxTermosGarantia); this.Cursor = Cursors.Default; SetaEdicaoLocal(false); }
void EdtCodigoTextChanged(object sender, EventArgs e) { cCaracteristicas caracteristicas = new cCaracteristicas(); this.Cursor = Cursors.WaitCursor; cbxCaracteristicas.Items.Clear(); caracteristicas.Carrega(cbxCaracteristicas, edtCodigo.Text); this.Cursor = Cursors.Default; }
void CarregaCaracteristicas() { cCaracteristicas caracteristicas = new cCaracteristicas(); cbxCaracteristicas.Items.Clear(); this.Cursor = Cursors.WaitCursor; caracteristicas.Carrega(cbxCaracteristicas, edtFornecedor.Text); this.Cursor = Cursors.Default; }
void CbxCaracteristicasSelectedIndexChanged(object sender, EventArgs e) { caracteristica = cbxCaracteristicas.SelectedItem.ToString().Trim(); cCaracteristicas caracteristicas = new cCaracteristicas(); formula = caracteristicas.Formula(fornecedor, caracteristica); float limiar = caracteristicas.Limiar(fornecedor, caracteristica); edtLimiar.Text = limiar.ToString("###0.00"); CalculaPreco(); }
void EdtFornecedorLeave(object sender, EventArgs e) { CarregaCaracteristicas(); CarregaTabelas(); cCaracteristicas caracteristicas = new cCaracteristicas(); formula = caracteristicas.Formula(fornecedor, caracteristica); float limiar = caracteristicas.Limiar(fornecedor, caracteristica); edtLimiar.Text = limiar.ToString("###0.00"); }
void EdtConsultorTextChanged(object sender, EventArgs e) { cCaracteristicas caracteristicas = new cCaracteristicas(); float per_comissao = Globais.StrToFloat(edtPerConsultor.Text); if ((per_comissao == 0) && (acao == 'i') && (edtConsultor.Text.Trim().Length > 0)) { per_comissao = caracteristicas.ComissaoConsultor(edtFornecedor.Text, cbxCaracteristicas.Text); edtPerConsultor.Text = per_comissao.ToString("#0.00"); } CalculaValores(); }
void VerificaLimiar() { cCaracteristicas caracteristicas = new cCaracteristicas(); float limiar = caracteristicas.Limiar(edtFornecedor.Text.Trim(), cbxCaracteristicas.Text.Trim()); float per = Globais.StrToFloat(edtPercent.Text) + Globais.StrToFloat(edtPerConsultor.Text); if (per > limiar) { edtPercent.BackColor = Color.Red; } else if (per < limiar) { edtPercent.BackColor = Color.Green; } else { edtPercent.BackColor = Color.Yellow; } }
void SelecionaFornecedor() { if (edtFornecedor.Text.Trim().Length == 0) { return; } Parceiro parceiro = new Parceiro(); if (!parceiro.Le(edtFornecedor.Text)) { MessageBox.Show(edtFornecedor.Text, "Fornecedor não cadastrado", MessageBoxButtons.OK, MessageBoxIcon.Error); edtFornecedor.Focus(); return; } cCaracteristicas caracteristicas = new cCaracteristicas(); cbxCaracteristicas.Items.Clear(); this.Cursor = Cursors.WaitCursor; caracteristicas.Carrega(cbxCaracteristicas, edtFornecedor.Text); this.Cursor = Cursors.Default; cTabelas tabelas = new cTabelas(); this.Cursor = Cursors.WaitCursor; tabelas.Carrega(cbxTabelas, edtFornecedor.Text); this.Cursor = Cursors.Default; if (acao == 'a') { cbxTabelas.Text = tabela; } else { if (cbxTabelas.Items.Count > 0) { cbxTabelas.Text = cbxTabelas.Items[cbxTabelas.Items.Count - 1].ToString(); } else { cbxTabelas.Text = ""; } } }
void BtnCopiaClick(object sender, EventArgs e) { if (edtCodigo.Text.Trim().Length == 0) { MessageBox.Show("Código", "Campo obrigatório", MessageBoxButtons.OK, MessageBoxIcon.Warning); edtCodigo.Focus(); return; } string msg = ""; cCaracteristicas caracteristicas = new cCaracteristicas(); novo_codigo = edtCodigo.Text.Trim(); if (!caracteristicas.Copia(edtCodigo.Text.Trim(), parceiro, codigo_origem, formula, formula_pedido, consultor, vendedor, filial, limiar, observacao, racional, servico, ativo, dias, venpro, venser, conpro, conser, filpro, filser, frete, introducao, fornecimento, garantia, condicao, aceite, imprime_ipi, ref msg)) { MessageBox.Show(edtCodigo.Text, "Erro na cópia da característica", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } Close(); }
void BtnItensClick(object sender, EventArgs e) { if (!Confirma()) { return; } acao = 'a'; short codigo = Globais.StrToShort(edtCodigo.Text); string fornecedor = edtFornecedor.Text; DateTime data = dtpData.Value; string cliente = edtCliente.Text; frmCadItens frm = new frmCadItens(); frm.pedido = (pedido != null) && pedido.Equals("S"); frm.fornecedor = fornecedor; cCaracteristicas caracteristicas = new cCaracteristicas(); frm.formula = caracteristicas.Formula(fornecedor, cbxCaracteristicas.Text); frm.data = data; frm.cod_orcamento = codigo; frm.cliente = cliente; frm.tabela = cbxTabelas.Text; frm.ShowDialog(); CalculaValores(); string salva; salva = edtPercent.Text; calculando = true; edtPercent.Text = ""; calculando = false; edtPercent.Text = salva; salva = edtPerConsultor.Text; calculando = true; edtPerConsultor.Text = ""; calculando = false; edtPerConsultor.Text = salva; }
/* * private void calcula_itens(string fornecedor, DateTime data, short orcamento, string formula, float per_calculo, ref float per_recalculo) * { * FbCommand cmd = new FbCommand("select " + * " a.seq_item, " + * " a.qtd_item, " + * " a.idt_especial, " + * " a.vlr_preco, " + * " b.per_ipi " + * "from ITENS a, PRODUTOS b " + * "where a.cod_fornecedor='" + fornecedor + "' and " + * " a.dat_orcamento='" + data.ToString("M/d/yyyy") + "' and " + * " a.cod_orcamento=" + orcamento + " and " + * " a.cod_fornecedor=b.cod_parceiro and " + * " a.cod_produto=b.cod_produto and " + * " a.sub_codigo=b.sub_codigo " + * " order by a.seq_item", * Globais.bd); * float valor_recalculo = 0; * FbDataReader reader = cmd.ExecuteReader(CommandBehavior.Default); * while (reader.Read()) * { * short seq = (short)(!reader.IsDBNull(0) ? (int)reader.GetInt16(0) : 0); * short qtd = (short)(!reader.IsDBNull(1) ? (int)reader.GetInt16(1) : 0); * string especial = (reader.IsDBNull(2) ? reader.GetString(2) : ""); * float valor = (!reader.IsDBNull(3) ? (int)reader.GetFloat(3) : 0f); * float ipi = (!reader.IsDBNull(4) ? (int)reader.GetFloat(4) : 0f); * valor_recalculo = valor; * Globais.CalculaFormula(ref valor_recalculo, formula, 0); * per_recalculo = valor_recalculo * per_calculo / valor; * } * reader.Close(); * } */ void calcula() { cComissaoLimiar comissao_limiar = new cComissaoLimiar(); float tot_pedido = 0; float tot_valor = 0; float tot_calculo = 0; float tot_recalculo = 0; float tot_pago = 0; float tot_comissao = 0; float valor_pago = 0; float valor_pagar = 0; int n = 0; if (rbtVendedor.Checked || rbtFilial.Checked) { dgvCadastro.Columns["Vendedor"].HeaderText = "Vendedor"; } else { dgvCadastro.Columns["Vendedor"].HeaderText = "Consultor"; } dgvCadastro.Rows.Clear(); cCaracteristicas carac = new cCaracteristicas(); int isel = 0; foreach (DataGridViewRow sel in dgvSelecao.Rows) { if (!(bool)sel.Cells["S"].Value) { isel++; continue; } int i = dgvCadastro.Rows.Add(); DataGridViewRow row = dgvCadastro.Rows[i]; row.Cells["isel"].Value = isel; DateTime data = DateTime.Parse(sel.Cells["Data"].Value.ToString()); short orcamento = CodOrcamento(sel.Cells["Orçamento"].Value.ToString()); float valor = Globais.StrToFloat(sel.Cells["Valor"].Value.ToString()); string fornecedor = sel.Cells["Fornecedor Orçamento"].Value.ToString(); string caracteristica = sel.Cells["Característica"].Value.ToString(); string venpro = "", venser = "", conpro = "", conser = "", filpro = "", filser = ""; carac.FormulasComissao(fornecedor, caracteristica, ref venpro, ref venser, ref conpro, ref conser, ref filpro, ref filser); float sinal = Globais.StrToFloat(sel.Cells["Sinal"].Value.ToString()); int cod_pedido = Globais.StrToInt(sel.Cells["CodPedido"].Value.ToString()); float vlr_frete = Globais.StrToFloat(sel.Cells["Valor Frete"].Value.ToString()); float vlr_frete_item = 0; float per_frete = 0; if (vlr_frete > 0) { vlr_frete_item = cPedidos.RateiaFrete(fornecedor, data, orcamento, (short)cod_pedido, ref vlr_frete); } else { per_frete = cCaracteristicas.Frete(fornecedor, caracteristica); } float per_pago = 0; bool pago = false; string formula = ""; if (rbtVendedor.Checked) { pago = sel.Cells["IdtVendedor"].Value.ToString().Equals("S"); per_pago = Globais.StrToFloat(sel.Cells["PerVendedor"].Value.ToString()); row.Cells["Justificativa"].Value = sel.Cells["JusVendedor"].Value.ToString(); if (cod_pedido == 1) { formula = venpro; } else { formula = venser; } } if (rbtConsultor.Checked) { pago = sel.Cells["IdtConsultor"].Value.ToString().Equals("S"); per_pago = Globais.StrToFloat(sel.Cells["PerConsultor"].Value.ToString()); row.Cells["Justificativa"].Value = sel.Cells["JusConsultor"].Value.ToString(); if (cod_pedido == 1) { formula = conpro; } else { formula = conser; } } if (rbtFilial.Checked) { pago = sel.Cells["IdtFilial"].Value.ToString().Equals("S"); per_pago = Globais.StrToFloat(sel.Cells["PerFilial"].Value.ToString()); row.Cells["Justificativa"].Value = sel.Cells["JusFilial"].Value.ToString(); if (cod_pedido == 1) { formula = venpro; } else { formula = venser; } } float valor_pedido = valor; Globais.CalculaFormula(ref valor, formula, 0, per_frete, vlr_frete_item); isel++; float per_calculo = 0; if (rbtConsultor.Checked) { per_calculo = Globais.StrToFloat(sel.Cells["Comissão Consultor"].Value.ToString()); } else if (rbtFilial.Checked) { if (cod_pedido == 1) { per_calculo = Globais.StrToFloat(sel.Cells["Comissão Filial"].Value.ToString()); } else { per_calculo = 100; } } else { per_calculo = comissao_limiar.Calcula(fornecedor, caracteristica, valor, sinal); } row.Cells["PG"].Value = pago; float valor_recalculo = valor; float per_recalculo = per_calculo; if (formula.Length > 0) { //calcula_itens(fornecedor, data, orcamento, formula, per_calculo, ref per_recalculo); } //if ((per_pago == 0) && !pago_zerado) if ((per_pago == 0) && !pago) { per_pago = per_calculo; } float comissao = per_pago * valor / 100f; bool pg = row.Cells["PG"].Value != null?bool.Parse(row.Cells["PG"].Value.ToString()) : false; tot_pedido += valor_pedido; tot_valor += valor; tot_calculo += per_calculo; tot_recalculo += per_recalculo; tot_pago += per_pago; tot_comissao += comissao; if (!pg) { valor_pagar += comissao; } else { valor_pago += comissao; } n++; row.Cells["Fornecedor"].Value = sel.Cells["Fornecedor"].Value.ToString(); row.Cells["FornecedorOrcamento"].Value = sel.Cells["Fornecedor Orçamento"].Value.ToString(); row.Cells["Data"].Value = DateTime.Parse(sel.Cells["Data"].Value.ToString()).ToString("d/M/yyyy"); row.Cells["Orcamento"].Value = sel.Cells["Orçamento"].Value.ToString(); row.Cells["Pedido"].Value = sel.Cells["Ped"].Value.ToString(); row.Cells["CodPedido"].Value = sel.Cells["CodPedido"].Value.ToString(); row.Cells["Cliente"].Value = sel.Cells["Cliente"].Value.ToString(); if (rbtVendedor.Checked || rbtFilial.Checked) { row.Cells["Vendedor"].Value = sel.Cells["Vendedor"].Value.ToString(); } else { row.Cells["Vendedor"].Value = sel.Cells["Consultor"].Value.ToString(); } row.Cells["ValorPedido"].Value = valor_pedido.ToString("#,###,##0.00"); row.Cells["Valor"].Value = valor.ToString("#,###,##0.00"); row.Cells["Calculo"].Value = per_calculo.ToString("#0.00"); //row.Cells["Recalculo"].Value = per_recalculo.ToString("#0.00"); row.Cells["Pago"].Value = per_pago.ToString("#0.00"); row.Cells["Comissao"].Value = comissao.ToString("#,###,##0.00"); if (rbtVendedor.Checked) { edtJustificativa.Text = sel.Cells["JusVendedor"].Value.ToString(); } if (rbtConsultor.Checked) { edtJustificativa.Text = sel.Cells["JusConsultor"].Value.ToString(); } if (rbtFilial.Checked) { edtJustificativa.Text = sel.Cells["JusFilial"].Value.ToString(); } } edtTotPedido.Text = tot_pedido.ToString("#,###,##0.00"); edtTotValor.Text = tot_valor.ToString("#,###,##0.00"); if (n > 0) { edtTotCalculo.Text = (tot_calculo / n).ToString("#0.00"); //edtTotRecalculo.Text= (tot_recalculo / n).ToString("#0.00"); edtTotPago.Text = (tot_pago / n).ToString("#0.00"); } else { edtTotCalculo.Text = 0.ToString("#0.00"); //edtTotRecalculo.Text= (tot_recalculo / n).ToString("#0.00"); edtTotPago.Text = 0.ToString("#0.00"); } edtTotComissao.Text = tot_comissao.ToString("#,###,##0.00"); edtValorPago.Text = valor_pago.ToString("#,###,##0.00"); edtValorPagar.Text = valor_pagar.ToString("#,###,##0.00"); }
public bool Gera(char tipo, string arquivo, string titulo, bool idt_inicial, DateTime data_inicial, bool idt_final, DateTime data_final, bool pagos, bool abertos) { FluxoCaixa fluxo = new FluxoCaixa(); /* * PDF pdf = new PDF(arquivo); * pdf.Abre(); * fluxo.Parte1(pdf, titulo, idt_inicial, data_inicial, idt_final, data_final); */ FileStream fs = new FileStream(arquivo, FileMode.Create); Document doc = new Document(PageSize.LETTER.Rotate()); PdfWriter writer = PdfWriter.GetInstance(doc, fs); doc.Open(); PdfContentByte buf = writer.DirectContent; string periodo = ""; if (idt_inicial || idt_final) { periodo = "Período: "; if (idt_inicial && idt_final) { periodo += "de " + data_inicial.ToString("dd/MM/yyyy") + " até " + data_final.ToString("dd/MM/yyyy"); } else { if (idt_inicial) { periodo += "a partir de " + data_inicial.ToString("dd/MM/yyyy"); } else { periodo += "até " + data_final.ToString("dd/MM/yyyy"); } } } if (pagos && !abertos) { Graficos.Cabecalho(doc, titulo + "- Pagos", periodo); } else if (!pagos && abertos) { Graficos.Cabecalho(doc, titulo + "- Abertos", periodo); } else { Graficos.Cabecalho(doc, titulo, periodo); } string where; string where2 = ""; string col_cod; string col_per; if (tipo == 'v') { col_cod = "O.COD_VENDEDOR"; col_per = "P.PER_VENDEDOR"; if (pagos && abertos) { where = "where P.DAT_PEDIDO is not null "; } else if (pagos) { where = "where P.IDT_VENDEDOR = 'S' and P.DAT_PEDIDO is not null "; } else { where = "where P.IDT_VENDEDOR <> 'S' and P.DAT_PEDIDO is not null "; } } else if (tipo == 'c') { col_cod = "O.COD_CONSULTOR"; col_per = "P.PER_CONSULTOR"; if (pagos && abertos) { where = "where P.DAT_PEDIDO is not null "; } else if (pagos) { where = "where P.IDT_CONSULTOR = 'S' and P.DAT_PEDIDO is not null "; } else { where = "where P.IDT_CONSULTOR <> 'S' and P.DAT_PEDIDO is not null "; } } else { col_cod = "P.COD_FORNECEDOR"; col_per = "0"; where = "where P.COD_PEDIDO = '1' and P.DAT_PEDIDO is not null "; where2 = "where P.COD_PEDIDO = '2' and P.DAT_PEDIDO is not null "; } if (idt_inicial || idt_final) { if (idt_inicial && idt_final) { where += "and (P.DAT_PEDIDO between '" + data_inicial.ToString("M/d/yyyy") + "' and '" + data_final.ToString("M/d/yyyy") + "') "; where2 += "and (P.DAT_PEDIDO between '" + data_inicial.ToString("M/d/yyyy") + "' and '" + data_final.ToString("M/d/yyyy") + "') "; } else { if (idt_inicial) { where += "and (P.DAT_PEDIDO >= '" + data_inicial.ToString("M/d/yyyy") + "') "; where2 += "and (P.DAT_PEDIDO >= '" + data_inicial.ToString("M/d/yyyy") + "') "; } else { where += "and (P.DAT_PEDIDO <= '" + data_final.ToString("M/d/yyyy") + "') "; where2 += "and (P.DAT_PEDIDO <= '" + data_final.ToString("M/d/yyyy") + "') "; } } } string sql = "select " + col_cod + "," + "P.VLR_PEDIDO," + col_per + "," + "O.PER_CONSULTOR as PER_CONSULTOR_ORC," + "O.VLR_ORCAMENTO," + "O.VLR_DESCONTO," + "O.COD_CARACTERISTICA," + "C.PER_LIMIAR," + "C.PER_FILIAL," + "O.COD_FORNECEDOR," + "P.VLR_FRETE," + "C.PER_FRETE," + "P.DAT_ORCAMENTO," + "P.COD_ORCAMENTO," + "P.COD_PEDIDO " + "from PEDIDOS P " + "inner join ORCAMENTOS O " + "on O.COD_FORNECEDOR=P.COD_FORNECEDOR and O.DAT_ORCAMENTO=P.DAT_ORCAMENTO and O.COD_ORCAMENTO=P.COD_ORCAMENTO " + "inner join CARACTERISTICAS C " + "on C.COD_FORNECEDOR=O.COD_FORNECEDOR and C.COD_CARACTERISTICA=O.COD_CARACTERISTICA " + where; if (tipo == 'f') { sql = sql + "union " + "select " + "'SERVICO-' || P.COD_FORNECEDOR," + "P.VLR_PEDIDO," + col_per + "," + "O.PER_CONSULTOR as PER_CONSULTOR_ORC, " + "O.VLR_ORCAMENTO," + "O.VLR_DESCONTO," + "O.COD_CARACTERISTICA," + "C.PER_LIMIAR," + "C.PER_FILIAL," + "O.COD_FORNECEDOR," + "P.VLR_FRETE," + "C.PER_FRETE," + "P.DAT_ORCAMENTO," + "P.COD_ORCAMENTO," + "P.COD_PEDIDO " + "from PEDIDOS P " + "inner join ORCAMENTOS O " + "on O.COD_FORNECEDOR=P.COD_FORNECEDOR and O.DAT_ORCAMENTO=P.DAT_ORCAMENTO and O.COD_ORCAMENTO=P.COD_ORCAMENTO " + "inner join CARACTERISTICAS C " + "on C.COD_FORNECEDOR=O.COD_FORNECEDOR and C.COD_CARACTERISTICA=O.COD_CARACTERISTICA " + where2; } sql = sql + "order by 1"; StreamWriter log = new StreamWriter("gerencial.log"); log.WriteLine(sql); log.Flush(); FbCommand cmd = new FbCommand(sql, Globais.bd); FbDataReader reader = cmd.ExecuteReader(CommandBehavior.Default); string codigo; float valor; float percentual; string ultimo = ""; float total = 0; ArrayList valores = new ArrayList(); ArrayList descricoes = new ArrayList(); VendedorConsultor vendedor_consultor = null; ArrayList lista = new ArrayList(); cOrcamentos orcamento = new cOrcamentos(); cComissaoLimiar comissao = new cComissaoLimiar(); cCaracteristicas carac = new cCaracteristicas(); while (reader.Read()) { codigo = reader.GetString(0); valor = reader.GetFloat(1); percentual = reader.GetFloat(2); float vlr_itens = reader.GetFloat(4); float vlr_desconto = reader.GetFloat(5); string caracteristica = reader.GetString(6); float limiar = reader.GetFloat(7); string fornecedor = reader.GetString(9); float vlr_frete = reader.IsDBNull(10) ? 0 : reader.GetFloat(10); float per_frete = reader.IsDBNull(11) ? 0 : reader.GetFloat(11); DateTime dat_orcamento = reader.GetDateTime(12); short cod_orcamento = reader.GetInt16(13); short cod_pedido = reader.GetInt16(14); float vlr_frete_item = 0; if (vlr_frete > 0) { vlr_frete_item = cPedidos.RateiaFrete(fornecedor, dat_orcamento, cod_orcamento, cod_pedido, ref vlr_frete); } string venpro = "", venser = "", conpro = "", conser = "", filpro = "", filser = ""; carac.FormulasComissao(fornecedor, caracteristica, ref venpro, ref venser, ref conpro, ref conser, ref filpro, ref filser); if (percentual == 0) { if (tipo == 'v') { if (codigo.StartsWith("SERVICO-")) { //Globais.CalculaFormula(ref valor, venser, 0, per_frete, vlr_frete_item); } else { //Globais.CalculaFormula(ref valor, venpro, 0, per_frete, vlr_frete_item); } percentual = reader.GetFloat(3); // consultor float vlr_orcamento = vlr_itens - vlr_desconto; float sinal = orcamento.CalculaSinal(fornecedor, caracteristica, vlr_itens, vlr_desconto, percentual, limiar); percentual = comissao.Calcula(fornecedor, caracteristica, valor, sinal); } else if (tipo == 'c') { if (codigo.StartsWith("SERVICO-")) { //Globais.CalculaFormula(ref valor, conser, 0, per_frete, vlr_frete_item); } else { //Globais.CalculaFormula(ref valor, conpro, 0, per_frete, vlr_frete_item); } percentual = reader.GetFloat(3); } else { if (codigo.StartsWith("SERVICO-")) { //Globais.CalculaFormula(ref valor, filser, 0, per_frete, vlr_frete_item); percentual = 100; } else { //Globais.CalculaFormula(ref valor, filpro, 0, per_frete, vlr_frete_item); percentual = reader.GetFloat(8); } } } if (!codigo.Equals(ultimo)) { if (!ultimo.Equals("")) { lista.Add(vendedor_consultor); } ultimo = codigo; vendedor_consultor = new VendedorConsultor(); vendedor_consultor.codigo = codigo; vendedor_consultor.vendas = 0; vendedor_consultor.percentual = 0; vendedor_consultor.n = 0; } vendedor_consultor.vendas += valor; vendedor_consultor.percentual += percentual; if (percentual > 0.01) { vendedor_consultor.n++; } total += valor; log.WriteLine(valor.ToString() + " " + total.ToString()); log.Flush(); } log.Close(); if (!ultimo.Equals("")) { lista.Add(vendedor_consultor); } reader.Close(); foreach (VendedorConsultor vc in lista) { valores.Add(vc.vendas); descricoes.Add(vc.codigo); } //if (valores.Count > 12) //{ ArrayList valores12 = new ArrayList(); ArrayList descricoes12 = new ArrayList(); int max = valores.Count > 12 ? 11 : valores.Count; //for (int i=0; i<11; i++) for (int i = 0; i < max; i++) { float maior = -1; int v = 0, imaior = -1; foreach (float vlr in valores) { if (vlr > maior) { maior = vlr; imaior = v; } v++; } float vmaior = float.Parse(valores[imaior].ToString()); string dmaior = descricoes[imaior].ToString(); valores12.Add(vmaior); descricoes12.Add(dmaior); valores.RemoveAt(imaior); descricoes.RemoveAt(imaior); } if (valores.Count > 12) { float voutros = 0; foreach (float vlr in valores) { voutros += vlr; } valores12.Add(voutros); descricoes12.Add("OUTROS"); } Graficos.Pizza(buf, valores12, descricoes12, 200, 250, 120); //} //else //Graficos.Pizza(buf, valores, descricoes, 200, 250, 120); doc.NewPage(); Tabela table = new Tabela(tipo == 'f' ? 3 : 4); if (tipo == 'v') { fluxo.AdicionaCelula(table, "Vendedor", BaseFont.HELVETICA_BOLD, 8, iTextSharp.text.Color.LIGHT_GRAY, 1); } else if (tipo == 'c') { fluxo.AdicionaCelula(table, "Consultor", BaseFont.HELVETICA_BOLD, 8, iTextSharp.text.Color.LIGHT_GRAY, 1); } else { fluxo.AdicionaCelula(table, "Fornecedor", BaseFont.HELVETICA_BOLD, 8, iTextSharp.text.Color.LIGHT_GRAY, 1); } fluxo.AdicionaCelula(table, "Vendas", BaseFont.HELVETICA_BOLD, 8, iTextSharp.text.Color.LIGHT_GRAY, Element.ALIGN_RIGHT, 1); fluxo.AdicionaCelula(table, "% Total", BaseFont.HELVETICA_BOLD, 8, iTextSharp.text.Color.LIGHT_GRAY, Element.ALIGN_RIGHT, 1); if (tipo != 'f') { fluxo.AdicionaCelula(table, "Média Comissão", BaseFont.HELVETICA_BOLD, 8, iTextSharp.text.Color.LIGHT_GRAY, Element.ALIGN_RIGHT, 1); } foreach (VendedorConsultor vc in lista) { fluxo.AdicionaCelula(table, vc.codigo, BaseFont.HELVETICA, 8, Element.ALIGN_LEFT, 1); fluxo.AdicionaCelula(table, vc.vendas.ToString("#,###,##0.00"), BaseFont.HELVETICA, 8, Element.ALIGN_RIGHT, 1); fluxo.AdicionaCelula(table, (vc.vendas * 100 / total).ToString("#,###,##0.00"), BaseFont.HELVETICA, 8, Element.ALIGN_RIGHT, 1); if (tipo != 'f') { fluxo.AdicionaCelula(table, (vc.percentual / vc.n).ToString("#,###,##0.00"), BaseFont.HELVETICA, 8, Element.ALIGN_RIGHT, 1); } } fluxo.AdicionaCelula(table, "Total", BaseFont.HELVETICA_BOLD, 8, Color.GRAY, 1); fluxo.AdicionaCelula(table, total.ToString("#,###,##0.00"), BaseFont.HELVETICA, 8, Color.GRAY, Element.ALIGN_RIGHT, 1); fluxo.AdicionaCelula(table, "", BaseFont.HELVETICA_BOLD, 8, Color.GRAY, tipo == 'f' ? 1 : 2); doc.Add(table); doc.Close(); return(true); }
void BtnPedidoClick(object sender, EventArgs e) { if (dgvCadastro.Rows.Count == 0) { return; } int i = dgvCadastro.CurrentRow.Index; // pedidos com sinal negativo só podem ser gerados pelo administrador int sinal = int.Parse(dgvCadastro.Rows[i].Cells["Sinal"].Value.ToString()); if ((sinal < 0) && !Globais.bAdministrador) { MessageBox.Show("Esse pedido precisa de autorização"); return; } string fornecedor = dgvCadastro.Rows[i].Cells["Fornecedor"].Value.ToString().Trim(); string caracteristica = dgvCadastro.Rows[i].Cells["Característica"].Value.ToString().Trim(); DateTime data = DateTime.Parse(dgvCadastro.Rows[i].Cells["Data"].Value.ToString()); short codigo = Globais.StrToShort(dgvCadastro.Rows[i].Cells["Cod"].Value.ToString()); string especial = orcamento.Especial(fornecedor, data, codigo); if (especial.Equals("S") && !Globais.bAdministrador) { MessageBox.Show("Esse pedido precisa de autorização"); return; } float vlr_itens = Globais.StrToFloat(dgvCadastro.Rows[i].Cells["Valor Itens"].Value.ToString()); float vlr_desconto = Globais.StrToFloat(dgvCadastro.Rows[i].Cells["Desconto"].Value.ToString()); string cliente = dgvCadastro.Rows[i].Cells["Cliente"].Value.ToString().Trim(); cCaracteristicas caracteristicas = new cCaracteristicas(); string servico = ""; float dif = caracteristicas.DiferencaFormulas(fornecedor, caracteristica, data, codigo, ref servico); short dias = caracteristicas.DiasMontagem(fornecedor, caracteristica); cPedidos pedidos = new cPedidos(); if (pedidos.Existe(fornecedor, data, codigo)) { MessageBox.Show("Já existe pedido para esse orçamento", "", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } fGeraPedido frm = new fGeraPedido(dif, fornecedor, data, codigo, vlr_itens, vlr_desconto, servico, sinal, cliente, dias); frm.ShowDialog(); if (frm.result) { string msg = ""; if (!orcamento.AlteraStatus(fornecedor, data, codigo, 'F', ref msg)) { MessageBox.Show("Erro na alteração da situação\r\r" + msg); } if (!orcamento.AlteraPedido(fornecedor, data, codigo, 'S')) { MessageBox.Show("Erro na alteração do IDT de pedido"); } dgvCadastro.Rows[i].Cells["P"].Value = 'S'; dgvCadastro.Rows[i].Cells["Situação"].Value = "Fechado"; } }
void FrmCadOrcamentoLoad(object sender, EventArgs e) { calculando = false; if (acao == 'i') { edtFornecedor.Text = ""; edtCodigo.Text = "0"; cbxUsuarios.Text = ""; edtCliente.Text = ""; edtContato.Text = ""; edtConsultor.Text = ""; cbxCaracteristicas.Text = ""; cbxTabelas.Text = ""; edtResumo.Text = ""; edtObservacao.Text = ""; cbxSituacao.Text = ""; edtValor.Text = "0,00"; edtPercent.Text = "0,00"; edtDesconto.Text = "0,00"; edtTotal.Text = "0,00"; edtPerConsultor.Text = "0,00"; edtVlrConsultor.Text = "0,00"; //edtPercent.Enabled = false; //edtDesconto.Enabled = false; } cUsuarios usuarios = new cUsuarios(); this.Cursor = Cursors.WaitCursor; usuarios.Carrega(cbxUsuarios); this.Cursor = Cursors.Default; cbxUsuarios.Text = Globais.sUsuario; cSituacoes situacoes = new cSituacoes(); situacoes.Carrega(cbxSituacao); //cbxSituacao.Items.Add("Em Andamento"); //cbxSituacao.Items.Add("Cancelado"); //cbxSituacao.Items.Add("Substituido"); //cbxSituacao.Items.Add("Fechado"); cbxSituacao.Text = "3 BAIXA Probabilidade"; if (acao == 'a') { this.Text = "Alteração de Orçamento"; if (pedido.CompareTo("S") == 0) { cbxSituacao.Enabled = false; edtPercent.Enabled = false; edtDesconto.Enabled = false; edtPerConsultor.Enabled = false; edtVlrConsultor.Enabled = false; } edtFornecedor.Enabled = false; cbxUsuarios.Text = usuario; cCaracteristicas caracteristicas = new cCaracteristicas(); cbxCaracteristicas.Items.Clear(); this.Cursor = Cursors.WaitCursor; caracteristicas.Carrega(cbxCaracteristicas, edtFornecedor.Text); this.Cursor = Cursors.Default; cbxCaracteristicas.Text = caracteristica; foreach (string item in cbxCaracteristicas.Items) { if (item.Trim().CompareTo(caracteristica.Trim()) == 0) { cbxCaracteristicas.Text = item; break; } } VerificaLimiar(); foreach (string s in cbxSituacao.Items) { if (situacao == s.Substring(2)) { cbxSituacao.Text = s; break; } } /* * switch (situacao[0]) * { * case 'E': cbxSituacao.Text = "Em Andamento"; break; * case 'C': cbxSituacao.Text = "Cancelado"; break; * case 'S': cbxSituacao.Text = "Substituido"; break; * case 'F': cbxSituacao.Text = "Fechado"; break; * } */ cTabelas tabelas = new cTabelas(); this.Cursor = Cursors.WaitCursor; tabelas.Carrega(cbxTabelas, edtFornecedor.Text); this.Cursor = Cursors.Default; cbxTabelas.Text = tabela; if (situacao[0] == 'F') { cbxTabelas.Enabled = false; cbxCaracteristicas.Enabled = false; if (!Globais.bAdministrador) { cbxSituacao.Enabled = false; edtPercent.Enabled = false; edtDesconto.Enabled = false; edtPerConsultor.Enabled = false; edtVlrConsultor.Enabled = false; } } } if (alteracaoRestrita) { edtFornecedor.Enabled = false; dtpData.Enabled = false; edtCodigo.Enabled = false; cbxUsuarios.Enabled = false; edtCliente.Enabled = false; edtContato.Enabled = false; edtConsultor.Enabled = false; cbxCaracteristicas.Enabled = false; edtValor.Enabled = false; edtPercent.Enabled = false; edtDesconto.Enabled = false; edtTotal.Enabled = false; edtPerConsultor.Enabled = false; edtVlrConsultor.Enabled = false; btnFornecedor.Enabled = false; btnCliente.Enabled = false; btnConsultor.Enabled = false; btnContato.Enabled = false; btnLimpaConsultor.Enabled = false; cbxTabelas.Enabled = false; btnItens.Enabled = false; edtResumo.Enabled = true; edtObservacao.Enabled = true; cbxSituacao.Enabled = true; } carregando = false; }