Example #1
0
        private void bsResumoCliente_PositionChanged(object sender, EventArgs e)
        {
            if (bsResumoCliente.Current != null)
            {
                string Cd_vendedor = (bsResumoVendedor.Current as TRegistro_ResumoVendedor).Cd_vendedor;
                int    mes         = (bsResumoVendedor.Current as TRegistro_ResumoVendedor).Mes;
                //Resumo Vendedor
                TList_ResumoVendedor lRClienteGrupo = new TList_ResumoVendedor();
                (bsResumoCliente.DataSource as TList_ResumoVendedor).ForEach(y =>
                {
                    lItemVenda.GroupBy(p => p.Cd_grupo,
                                       (aux, venda) =>
                                       new TRegistro_ResumoVendedor()
                    {
                        Cd_grupo    = aux,
                        Ds_grupo    = venda.ToList().Find(p => p.Cd_grupo.Equals(aux)).Ds_grupo.Trim(),
                        Mes         = mes,
                        Cd_clifor   = y.Cd_clifor,
                        Nm_clifor   = y.Nm_clifor,
                        Cd_vendedor = Cd_vendedor,
                        Vl_cupom    = venda.ToList().FindAll(x => x.Cd_vendedor.Equals(Cd_vendedor) &&
                                                             x.Dt_emissao.Value.Month.Equals(mes) &&
                                                             x.Nm_clifor.Equals(y.Nm_clifor)).Sum(x => x.Vl_subtotalliquido),
                        Vl_devolucao = venda.ToList().FindAll(x => x.Cd_vendedor.Equals(Cd_vendedor) &&
                                                              x.Dt_emissao.Value.Month.Equals(mes) &&
                                                              x.Nm_clifor.Equals(y.Nm_clifor)).Sum(x => x.Qtd_devolvida * (x.Vl_subtotalliquido / x.Quantidade)),
                        Vl_TotalLiquido = (venda.ToList().FindAll(x => x.Cd_vendedor.Equals(Cd_vendedor) &&
                                                                  x.Dt_emissao.Value.Month.Equals(mes) &&
                                                                  x.Nm_clifor.Equals(y.Nm_clifor)).Sum(x => x.Vl_subtotalliquido - (x.Qtd_devolvida * (x.Vl_subtotalliquido / x.Quantidade)))),
                    }).OrderByDescending(p => p.Vl_TotalLiquido).Where(p => p.Vl_TotalLiquido > decimal.Zero).ToList().ForEach(p => lRClienteGrupo.Add(p));
                });


                TList_ResumoVendedor ListaClienteGrupo = new TList_ResumoVendedor();
                lRClienteGrupo.ForEach(p =>
                {
                    if (ListaClienteGrupo.Count.Equals(0) || !ListaClienteGrupo.Exists(x => x.Ds_grupo.Equals(p.Nm_clifor)))
                    {
                        TRegistro_ResumoVendedor r = new TRegistro_ResumoVendedor();
                        r.Ds_grupo  = p.Nm_clifor;
                        r.Nm_clifor = p.Nm_clifor;
                        ListaClienteGrupo.Add(r);
                    }
                    ListaClienteGrupo.Add(p);
                    ListaClienteGrupo.FindLast(x => string.IsNullOrEmpty(x.Cd_clifor)).Vl_cupom        += p.Vl_cupom;
                    ListaClienteGrupo.FindLast(x => string.IsNullOrEmpty(x.Cd_clifor)).Vl_devolucao    += p.Vl_devolucao;
                    ListaClienteGrupo.FindLast(x => string.IsNullOrEmpty(x.Cd_clifor)).Vl_TotalLiquido += p.Vl_TotalLiquido;
                });

                bsResumoClienteGrupos.DataSource = ListaClienteGrupo;
            }
        }
Example #2
0
 private void bsResumoVendedor_PositionChanged(object sender, EventArgs e)
 {
     if (bsResumoVendedor.Current != null)
     {
         string Cd_vendedor = (bsResumoVendedor.Current as TRegistro_ResumoVendedor).Cd_vendedor;
         int    mes         = (bsResumoVendedor.Current as TRegistro_ResumoVendedor).Mes;
         //Resumo CLIENTE
         TList_ResumoVendedor lRCliente = new TList_ResumoVendedor();
         lItemVenda.GroupBy(p => p.Cd_clifor,
                            (aux, venda) =>
                            new TRegistro_ResumoVendedor()
         {
             Mes             = mes,
             Cd_clifor       = aux,
             Nm_clifor       = venda.ToList().Find(p => p.Cd_clifor.Equals(aux)).Nm_clifor,
             Cd_vendedor     = Cd_vendedor,
             Vl_cupom        = venda.ToList().FindAll(x => x.Cd_vendedor.Equals(Cd_vendedor) && x.Dt_emissao.Value.Month.Equals(mes)).Sum(x => x.Vl_subtotalliquido),
             Vl_devolucao    = venda.ToList().FindAll(x => x.Cd_vendedor.Equals(Cd_vendedor) && x.Dt_emissao.Value.Month.Equals(mes)).Sum(x => x.Qtd_devolvida * (x.Vl_subtotalliquido / x.Quantidade)),
             Vl_TotalLiquido = (venda.ToList().FindAll(x => x.Cd_vendedor.Equals(Cd_vendedor) && x.Dt_emissao.Value.Month.Equals(mes)).Sum(x => x.Vl_subtotalliquido - (x.Qtd_devolvida * (x.Vl_subtotalliquido / x.Quantidade)))),
         }).OrderByDescending(p => p.Vl_TotalLiquido).Where(p => p.Vl_TotalLiquido > decimal.Zero).ToList().ForEach(p => lRCliente.Add(p));
         bsResumoCliente.DataSource = lRCliente;
         bsResumoCliente_PositionChanged(this, new EventArgs());
     }
 }
Example #3
0
        public void BuscarRel()
        {
            if (bsVendedor.Current != null)
            {
                //Buscar Vendas do ultimos 12 meses
                string dt_ini = Convert.ToDateTime(new DateTime(CamadaDados.UtilData.Data_Servidor().AddMonths(-12).Year,
                                                                CamadaDados.UtilData.Data_Servidor().AddMonths(-12).Month, 1)).ToString("dd/MM/yyyy");
                string dt_fin = Convert.ToDateTime(new DateTime(CamadaDados.UtilData.Data_Servidor().AddMonths(-1).Year,
                                                                CamadaDados.UtilData.Data_Servidor().AddMonths(-1).Month,
                                                                DateTime.DaysInMonth(CamadaDados.UtilData.Data_Servidor().AddMonths(-1).Year,
                                                                                     CamadaDados.UtilData.Data_Servidor().AddMonths(-1).Month), 23, 59, 59)).ToString("dd/MM/yyyy");

                //Buscar Totais Vendas por Mês
                lItemVenda =
                    new CamadaDados.Faturamento.PDV.TCD_VendaRapida_Item().Select(
                        new Utils.TpBusca[]
                {
                    new Utils.TpBusca()
                    {
                        vNM_Campo = "a.cd_empresa",
                        vOperador = "=",
                        vVL_Busca = "'" + cbEmpresa.SelectedValue.ToString() + "'"
                    },
                    new Utils.TpBusca()
                    {
                        vNM_Campo = "isnull(cf.st_registro, 'A')",
                        vOperador = "<>",
                        vVL_Busca = "'C'"
                    },
                    new Utils.TpBusca()
                    {
                        vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), cf.dt_emissao)))",
                        vOperador = ">=",
                        vVL_Busca = "'" + Convert.ToDateTime(dt_ini).ToString("yyyyMMdd") + "'"
                    },
                    new Utils.TpBusca()
                    {
                        vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), cf.dt_emissao)))",
                        vOperador = "<=",
                        vVL_Busca = "'" + Convert.ToDateTime(dt_fin).ToString("yyyyMMdd") + "'"
                    }
                }, 0, string.Empty, "cf.dt_emissao");


                //Resumo Empresa
                TList_ResumoEmpresa lREmpresa = new TList_ResumoEmpresa();
                lItemVenda.GroupBy(p => p.Dt_emissao.Value.Month,
                                   (aux, venda) =>
                                   new TRegistro_ResumoEmpresa()
                {
                    Mes             = aux,
                    Vl_cupom        = venda.Sum(x => x.Vl_subtotalliquido),
                    Vl_devolucao    = venda.Sum(x => x.Qtd_devolvida * (x.Vl_subtotalliquido / x.Quantidade)),
                    VL_TotalLiquido = venda.Sum(x => x.Vl_subtotalliquido - (x.Qtd_devolvida * (x.Vl_subtotalliquido / x.Quantidade))),
                }).ToList().ForEach(p => lREmpresa.Add(p));
                bsResumoEmpresa.DataSource = lREmpresa;

                #region Resumo Grupo de Produto Empresa
                TList_ResumoEmpresa lREmpresaGrupos = new TList_ResumoEmpresa();
                lREmpresa.ForEach(y =>
                {
                    lItemVenda.GroupBy(p => p.Cd_grupo,
                                       (aux, venda) =>
                                       new TRegistro_ResumoEmpresa()
                    {
                        Mes             = y.Mes,
                        Cd_grupo        = aux,
                        Ds_grupo        = venda.ToList().Find(p => p.Cd_grupo.Equals(aux)).Ds_grupo.Trim(),
                        Vl_cupom        = venda.ToList().FindAll(x => x.Dt_emissao.Value.Month.Equals(y.Mes)).Sum(x => x.Vl_subtotalliquido),
                        Vl_devolucao    = venda.ToList().FindAll(x => x.Dt_emissao.Value.Month.Equals(y.Mes)).Sum(x => x.Qtd_devolvida * (x.Vl_subtotalliquido / x.Quantidade)),
                        VL_TotalLiquido = venda.ToList().FindAll(x => x.Dt_emissao.Value.Month.Equals(y.Mes)).Sum(x => x.Vl_subtotalliquido - (x.Qtd_devolvida * (x.Vl_subtotalliquido / x.Quantidade))),
                    }).Where(p => p.VL_TotalLiquido > decimal.Zero).OrderByDescending(p => p.VL_TotalLiquido).ToList().ForEach(p => lREmpresaGrupos.Add(p));
                });

                TList_ResumoEmpresa ListaEmpresaGrupos = new TList_ResumoEmpresa();
                lREmpresaGrupos.ForEach(p =>
                {
                    if (ListaEmpresaGrupos.Count.Equals(0) || !ListaEmpresaGrupos.Exists(x => x.Ds_Mes.Equals(p.Ds_Mes)))
                    {
                        TRegistro_ResumoEmpresa r = new TRegistro_ResumoEmpresa();
                        r.Ds_grupo = p.Ds_Mes;
                        r.Mes      = p.Mes;
                        ListaEmpresaGrupos.Add(r);
                    }
                    ListaEmpresaGrupos.Add(p);
                    ListaEmpresaGrupos.FindLast(x => string.IsNullOrEmpty(x.Cd_grupo)).Vl_cupom        += p.Vl_cupom;
                    ListaEmpresaGrupos.FindLast(x => string.IsNullOrEmpty(x.Cd_grupo)).Vl_devolucao    += p.Vl_devolucao;
                    ListaEmpresaGrupos.FindLast(x => string.IsNullOrEmpty(x.Cd_grupo)).VL_TotalLiquido += p.VL_TotalLiquido;
                });
                bsResumoEmpresaGrupos.DataSource = ListaEmpresaGrupos;
                #endregion

                #region Total Vendedor Mes
                TList_ResumoVendedor lRVendedor = new TList_ResumoVendedor();
                (bsVendedor.DataSource as CamadaDados.Financeiro.Cadastros.TList_CadClifor).ForEach(y =>
                {
                    cbxVendedor.Items.Add(y.Nm_clifor);
                    lItemVenda.GroupBy(p => p.Dt_emissao.Value.Month,
                                       (aux, venda) =>
                                       new TRegistro_ResumoVendedor()
                    {
                        Mes             = aux,
                        Cd_vendedor     = y.Cd_clifor,
                        Nm_vendedor     = y.Nm_clifor,
                        Vl_cupom        = venda.ToList().FindAll(x => x.Cd_vendedor.Equals(y.Cd_clifor)).Sum(x => x.Vl_subtotalliquido),
                        Vl_devolucao    = venda.ToList().FindAll(x => x.Cd_vendedor.Equals(y.Cd_clifor)).Sum(x => x.Qtd_devolvida * (x.Vl_subtotalliquido / x.Quantidade)),
                        Vl_TotalLiquido = (venda.ToList().FindAll(x => x.Cd_vendedor.Equals(y.Cd_clifor)).Sum(x => x.Vl_subtotalliquido - (x.Qtd_devolvida * (x.Vl_subtotalliquido / x.Quantidade)))),
                    }).Where(p => p.Vl_TotalLiquido > decimal.Zero).ToList().ForEach(p => lRVendedor.Add(p));
                });

                TList_ResumoVendedor ListaVendedorMes = new TList_ResumoVendedor();
                lRVendedor.ForEach(p =>
                {
                    if (ListaVendedorMes.Count.Equals(0) || !ListaVendedorMes.Exists(x => x.Nm_vendedor.Equals(p.Nm_vendedor)))
                    {
                        TRegistro_ResumoVendedor r = new TRegistro_ResumoVendedor();
                        r.Nm_vendedor = p.Nm_vendedor;
                        r.Ds_Mes      = p.Nm_vendedor;
                        ListaVendedorMes.Add(r);
                    }
                    ListaVendedorMes.Add(p);
                    ListaVendedorMes.FindLast(x => x.Mes == 0).Vl_cupom        += p.Vl_cupom;
                    ListaVendedorMes.FindLast(x => x.Mes == 0).Vl_devolucao    += p.Vl_devolucao;
                    ListaVendedorMes.FindLast(x => x.Mes == 0).Vl_TotalLiquido += p.Vl_TotalLiquido;
                });
                bsResumoVendedor.DataSource = ListaVendedorMes;
                #endregion
            }
        }
Example #4
0
        private void cbxVendedor_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(cbxVendedor.SelectedItem.ToString()))
            {
                TList_ResumoVendedor lRGraficoVendedor = new TList_ResumoVendedor();
                lItemVenda.GroupBy(p => p.Dt_emissao.Value.Month,
                                   (aux, venda) =>
                                   new TRegistro_ResumoVendedor()
                {
                    Mes             = aux,
                    Ano             = venda.ToList().Find(x => x.Dt_emissao.Value.Month.Equals(aux)).Dt_emissao.Value.Year,
                    Nm_vendedor     = cbxVendedor.SelectedItem.ToString(),
                    Vl_cupom        = venda.ToList().FindAll(x => x.Nm_vendedor.Equals(cbxVendedor.SelectedItem.ToString())).Sum(x => x.Vl_subtotalliquido),
                    Vl_devolucao    = venda.ToList().FindAll(x => x.Nm_vendedor.Equals(cbxVendedor.SelectedItem.ToString())).Sum(x => x.Qtd_devolvida * (x.Vl_subtotalliquido / x.Quantidade)),
                    Vl_TotalLiquido = (venda.ToList().FindAll(x => x.Nm_vendedor.Equals(cbxVendedor.SelectedItem.ToString())).Sum(x => x.Vl_subtotalliquido - (x.Qtd_devolvida * (x.Vl_subtotalliquido / x.Quantidade)))),
                }).Where(p => p.Vl_TotalLiquido > decimal.Zero && p.Nm_vendedor.Equals(cbxVendedor.SelectedItem.ToString())).ToList().ForEach(p => lRGraficoVendedor.Add(p));

                bsGraficoVendedorMes.DataSource = lRGraficoVendedor;



                chart1.Series.Clear();
                chart1.ChartAreas[0].RecalculateAxesScale();
                chart1.ChartAreas[0].AxisX.IntervalAutoMode = IntervalAutoMode.VariableCount;

                //Buscar Metas

                this.ConfigChart();
                (bsGraficoVendedorMes.DataSource as TList_ResumoVendedor).ForEach(p =>
                {
                    CamadaDados.Faturamento.Cadastros.TList_MetaVendedor lMeta =
                        new CamadaDados.Faturamento.Cadastros.TCD_MetaVendedor().Select(
                            new Utils.TpBusca[]
                    {
                        new Utils.TpBusca()
                        {
                            vNM_Campo = "a.cd_empresa",
                            vOperador = "=",
                            vVL_Busca = "'" + cbEmpresa.SelectedValue.ToString().Trim() + "'",
                        },
                        new Utils.TpBusca()
                        {
                            vNM_Campo = "b.NM_Clifor",
                            vOperador = "=",
                            vVL_Busca = "'" + cbxVendedor.SelectedItem.ToString().Trim() + "'"
                        },
                        new Utils.TpBusca()
                        {
                            vNM_Campo = "a.MesVig",
                            vOperador = "=",
                            vVL_Busca = p.Mes.ToString()
                        },
                        new Utils.TpBusca()
                        {
                            vNM_Campo = "a.AnoVig",
                            vOperador = "=",
                            vVL_Busca = p.Ano.ToString()
                        }
                    }, 0, string.Empty, string.Empty);
                    chart1.Series[3].Points.AddXY(p.Ds_Mes, Math.Round(p.Vl_TotalLiquido, 2));
                    for (int i = 0; i < 3; i++)
                    {
                        chart1.Series[i].Points.AddXY(p.Ds_Mes, Math.Round(lMeta.Count > 0 ? lMeta[i].Vl_meta : 0, 2));
                    }

                    //int cont = 1;
                    //lMeta.ForEach(x =>
                    //{
                    //    string s = "Meta " + cont++.ToString() + p.Ds_Mes;
                    //    chart1.Series.Add(s);
                    //    chart1.Series[s].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;
                    //    chart1.Series[s].Color = Color.Blue;
                    //    chart1.Series[s].IsValueShownAsLabel = true;
                    //    chart1.Series[s].Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold);
                    //    chart1.Series[s].IsVisibleInLegend = true;
                    //    chart1.Series[s].Points.AddXY(p.Ds_Mes, Math.Round(x.Vl_meta, 2));
                    //});
                });
                chart1.DataBind();
            }
        }