예제 #1
0
        private void afterBusca()
        {
            //Buscar Nfs
            bsNfs.DataSource =
                new TCD_LanAuditarProdutor().Select(
                    new FiltroAuditar[]
            {
                new FiltroAuditar()
                {
                    Cd_empresa = cbEmpresa.SelectedValue.ToString(),
                    Cd_clifor  = cd_clifor.Text,
                    Dt_ini     = Convert.ToDateTime(dt_ini.Text).ToString("yyyyMMdd 00:00:00"),
                    Dt_fin     = Convert.ToDateTime(dt_fin.Text).ToString("yyyyMMdd 23:59:59")
                }
            });
            //Buscar Balancete
            DateTime?Dt_fin = null;

            if (!string.IsNullOrEmpty(dt_fin.Text.SoNumero()))
            {
                Dt_fin = DateTime.Parse(dt_fin.Text);
            }
            bsBalanco.DataSource = CamadaNegocio.Contabil.TCN_LanContabil.GerarBalanco(cbEmpresa.SelectedValue == null ? string.Empty : cbEmpresa.SelectedValue.ToString(),
                                                                                       string.Empty,
                                                                                       cd_conta.Text,
                                                                                       DateTime.Parse(dt_ini.Text),
                                                                                       Dt_fin,
                                                                                       false,
                                                                                       false,
                                                                                       string.Empty,
                                                                                       false,
                                                                                       false);
            //Somar comercial
            decimal ptot_fixar = (bsNfs.List as TList_LanAuditarProdutor).Where(p => p.Mov.Trim().ToUpper().Equals("PAUTA")).Sum(p => p.Vl_subtotal);

            tot_fixar.Text = ptot_fixar.ToString("N2", new System.Globalization.CultureInfo("pt-BR", true));
            decimal ptot_fixacao = (bsNfs.List as TList_LanAuditarProdutor).Where(p => p.Mov.Trim().ToUpper().Equals("FIXAÇÃO")).Sum(p => p.Vl_subtotal);

            tot_fixacao.Text = ptot_fixacao.ToString("N2", new System.Globalization.CultureInfo("pt-BR", true));
            tot_credito.Text = (ptot_fixacao + ptot_fixar).ToString("N2", new System.Globalization.CultureInfo("pt-BR", true));
            decimal ptot_devolucao = (bsNfs.List as TList_LanAuditarProdutor).Where(p => p.Mov.Trim().ToUpper().Equals("DEVOLUÇÃO")).Sum(p => p.Vl_subtotal);

            tot_devolucao.Text = ptot_devolucao.ToString("N2", new System.Globalization.CultureInfo("pt-BR", true));
            decimal ptot_imposto = (bsNfs.List as TList_LanAuditarProdutor).Where(p => p.Mov.Trim().ToUpper().Equals("IMPOSTOS")).Sum(p => p.Vl_subtotal);

            tot_imposto.Text = ptot_imposto.ToString("N2", new System.Globalization.CultureInfo("pt-BR", true));
            decimal ptot_pagamento = (bsNfs.List as TList_LanAuditarProdutor).Where(p => p.Mov.Trim().ToUpper().Equals("RECEBIMENTO")).Sum(p => p.Vl_subtotal);

            tot_pagamento.Text     = ptot_pagamento.ToString("N2", new System.Globalization.CultureInfo("pt-BR", true));
            tot_debito.Text        = (ptot_devolucao + ptot_pagamento + ptot_imposto).ToString("N2", new System.Globalization.CultureInfo("pt-BR", true));
            tot_credcomercial.Text = (ptot_fixacao + ptot_fixar).ToString("N2", new System.Globalization.CultureInfo("pt-BR", true));
            tot_debcomercial.Text  = (ptot_devolucao + ptot_pagamento + ptot_imposto).ToString("N2", new System.Globalization.CultureInfo("pt-BR", true));
            tot_credcontabil.Text  = (bsBalanco.List as List <TRegistro_BalancoSintetico>).Sum(p => p.Vl_credito).ToString("N2", new System.Globalization.CultureInfo("pt-BR", true));
            tot_debcontabil.Text   = (bsBalanco.List as List <TRegistro_BalancoSintetico>).Sum(p => p.Vl_debito).ToString("N2", new System.Globalization.CultureInfo("pt-BR", true));
            difcredito.Text        = Math.Abs(ptot_fixacao + ptot_fixar - (bsBalanco.List as List <TRegistro_BalancoSintetico>).Sum(p => p.Vl_credito)).ToString("N2", new System.Globalization.CultureInfo("pt-BR", true));
            difdebito.Text         = Math.Abs(ptot_devolucao + ptot_pagamento + ptot_imposto - (bsBalanco.List as List <TRegistro_BalancoSintetico>).Sum(p => p.Vl_debito)).ToString("N2", new System.Globalization.CultureInfo("pt-BR", true));
            //Saldo Fixar
            TList_SaldoFixar lSaldo = new TCD_SaldoFixar().Select_E(cbEmpresa.SelectedValue.ToString(),
                                                                    cd_clifor.Text,
                                                                    string.Empty,
                                                                    DateTime.Parse(dt_fin.Text));
            TList_SaldoFixar resumo = new TList_SaldoFixar();
            var query = from t in lSaldo
                        group t by new { t.Nm_clifor, t.Ds_produto }
            into grp
                select new
            {
                grp.Key.Nm_clifor,
                grp.Key.Ds_produto,
                Peso         = grp.Sum(t => t.Peso),
                Ps_devolvido = grp.Sum(t => t.Ps_devolvido),
                Ps_fixado    = grp.Sum(t => t.Ps_fixado),
                Ps_transf_E  = grp.Sum(t => t.Ps_transf_E),
                Ps_transf_S  = grp.Sum(t => t.Ps_transf_S),
                Valor        = grp.Sum(t => t.Valor),
                Vl_devolvido = grp.Sum(t => t.Vl_devolvido),
                Vl_fixado    = grp.Sum(t => t.Vl_fixado),
                Vl_transf_E  = grp.Sum(t => t.Vl_transf_E),
                Vl_transf_S  = grp.Sum(t => t.Vl_transf_S)
            };

            query.ToList().ForEach(p => resumo.Add(new TRegistro_SaldoFixar {
                Nm_clifor = p.Nm_clifor, Ds_produto = p.Ds_produto,
                Peso      = (p.Peso + p.Ps_transf_E - p.Ps_transf_S - p.Ps_devolvido - p.Ps_fixado),
                Valor     = (p.Valor + p.Vl_transf_E - p.Vl_transf_S - p.Vl_devolvido - p.Vl_fixado)
            }));
            bsSaldoFixar.DataSource = resumo;
            //Buscar Lancamento Avulso
            bsLanContabil.DataSource = CamadaNegocio.Contabil.TCN_LanContabil.Buscar(cbEmpresa.SelectedValue == null ? string.Empty : cbEmpresa.SelectedValue.ToString(),
                                                                                     cd_conta.Text,
                                                                                     dt_ini.Text,
                                                                                     dt_fin.Text,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     decimal.Zero,
                                                                                     decimal.Zero,
                                                                                     "AV",
                                                                                     null);
        }
예제 #2
0
        private void afterBusca()
        {
            if (cbEmpresa.SelectedIndex < 0)
            {
                MessageBox.Show("Obrigatório informar empresa.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                cbEmpresa.Focus();
                return;
            }
            if (cbProduto.SelectedIndex < 0)
            {
                MessageBox.Show("Obrigatório informar produto.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                cbProduto.Focus();
                return;
            }
            if (string.IsNullOrWhiteSpace(dt_saldo.Text.SoNumero()))
            {
                MessageBox.Show("Obrigatório informar data saldo.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                dt_saldo.Focus();
                return;
            }
            if (tp_movimento.SelectedIndex == 0)
            {
                TList_SaldoFixar lSaldo = new TCD_SaldoFixar().Select_E(cbEmpresa.SelectedValue.ToString(),
                                                                        string.Empty,
                                                                        cbProduto.SelectedValue.ToString(),
                                                                        DateTime.Parse(dt_saldo.Text));
                if (lSaldo.Count > 0)
                {
                    ps_entrada.Value   = lSaldo.Sum(p => p.Peso);
                    Ps_transf_E.Value  = lSaldo.Sum(p => p.Ps_transf_E);
                    Ps_transf_S.Value  = lSaldo.Sum(p => p.Ps_transf_S);
                    Ps_devolvido.Value = lSaldo.Sum(p => p.Ps_devolvido);
                    Ps_fixado.Value    = lSaldo.Sum(p => p.Ps_fixado);
                    ps_saldo.Value     = lSaldo.Sum(p => p.Ps_saldo);

                    vl_entrada.Value   = lSaldo.Sum(p => p.Valor);
                    vl_transf_E.Value  = lSaldo.Sum(p => p.Vl_transf_E);
                    vl_transf_S.Value  = lSaldo.Sum(p => p.Vl_transf_S);
                    vl_devolvido.Value = lSaldo.Sum(p => p.Vl_devolvido);
                    vl_fixado.Value    = lSaldo.Sum(p => p.Vl_fixado);
                    vl_saldo.Value     = lSaldo.Sum(p => p.Vl_saldo);

                    lblPeso.Text      = "(+)Peso Entrada";
                    lblValor.Text     = "(+)Vl. Entrada";
                    lblPsTransfE.Text = "(+)Transf. Entrada";
                    lblVlTransfE.Text = "(+)Transf. Entrada";
                    lblPsTransfS.Text = "(-)Transf. Saida";
                    lblVlTransfS.Text = "(-)Transf. Saida";
                    TList_SaldoFixar resumo = new TList_SaldoFixar();
                    lSaldo.Where(p => p.Ps_saldo > decimal.Zero).GroupBy(p => p.Nm_clifor,
                                                                         (aux, venda) =>
                                                                         new TRegistro_SaldoFixar
                    {
                        Nm_clifor = aux,
                        Peso      = venda.Sum(x => x.Ps_saldo),
                        Valor     = venda.Sum(x => x.Vl_saldo)
                    }).ToList().ForEach(p => resumo.Add(p));
                    bsSaldoFixar.DataSource = resumo;
                }
            }
            else
            {
                TList_SaldoFixar lSaldo = new TCD_SaldoFixar().Select_S(cbEmpresa.SelectedValue.ToString(),
                                                                        cbProduto.SelectedValue.ToString(),
                                                                        DateTime.Parse(dt_saldo.Text));
                if (lSaldo.Count > 0)
                {
                    ps_entrada.Value   = lSaldo.Sum(p => p.Peso);
                    Ps_transf_E.Value  = lSaldo.Sum(p => p.Ps_transf_E);
                    Ps_transf_S.Value  = lSaldo.Sum(p => p.Ps_transf_S);
                    Ps_devolvido.Value = lSaldo.Sum(p => p.Ps_devolvido);
                    Ps_fixado.Value    = lSaldo.Sum(p => p.Ps_fixado);
                    ps_saldo.Value     = lSaldo.Sum(p => p.Ps_saldo);

                    vl_entrada.Value   = lSaldo.Sum(p => p.Valor);
                    vl_transf_E.Value  = lSaldo.Sum(p => p.Vl_transf_E);
                    vl_transf_S.Value  = lSaldo.Sum(p => p.Vl_transf_S);
                    vl_devolvido.Value = lSaldo.Sum(p => p.Vl_devolvido);
                    vl_fixado.Value    = lSaldo.Sum(p => p.Vl_fixado);
                    vl_saldo.Value     = lSaldo.Sum(p => p.Vl_saldo);

                    lblPeso.Text      = "(+)Peso Saida";
                    lblValor.Text     = "(+)Vl. Saida";
                    lblPsTransfE.Text = "(-)Transf. Entrada";
                    lblVlTransfE.Text = "(-)Transf. Entrada";
                    lblPsTransfS.Text = "(+)Transf. Saida";
                    lblVlTransfS.Text = "(+)Transf. Saida";
                    TList_SaldoFixar resumo = new TList_SaldoFixar();
                    lSaldo.Where(p => p.Ps_saldo > decimal.Zero).GroupBy(p => p.Nm_clifor,
                                                                         (aux, venda) =>
                                                                         new TRegistro_SaldoFixar
                    {
                        Nm_clifor = aux,
                        Peso      = venda.Sum(x => x.Ps_saldo),
                        Valor     = venda.Sum(x => x.Vl_saldo)
                    }).ToList().ForEach(p => resumo.Add(p));
                    bsSaldoFixar.DataSource = resumo;
                }
            }
            //Buscar Preço Mercado Commodities
            TList_PrecoCommodities lCotacao = new TCD_PrecoCommodities().SelectProdCotacao(cbProduto.SelectedValue.ToString(), DateTime.Parse(dt_saldo.Text));

            if (lCotacao.Count > 0)
            {
                if (tp_movimento.SelectedIndex == 0 && lCotacao[0].Vl_precocompra > decimal.Zero)
                {
                    lblCompraVenda.Text     = "Valor Compra";
                    vl_compra.ReadOnly      = true;
                    cbUnidade.Enabled       = false;
                    vl_compra.Value         = lCotacao[0].Vl_precocompra;
                    dt_preco.Text           = lCotacao[0].Dt_precostr;
                    cbUnidade.SelectedValue = lCotacao[0].Cd_unidade;
                    //Calcular valor atualizado
                    vl_atualizado.Value = CamadaNegocio.Estoque.Cadastros.TCN_CadConvUnidade.ConvertUnid(lCotacao[0].Cd_unidade, (cbProduto.SelectedItem as CamadaDados.Estoque.Cadastros.TRegistro_CadProduto).CD_Unidade, ps_saldo.Value * lCotacao[0].Vl_precocompra, 2, null);
                }
                else if (tp_movimento.SelectedIndex == 1 && lCotacao[0].Vl_precovenda > decimal.Zero)
                {
                    lblCompraVenda.Text     = "Valor Venda";
                    vl_compra.ReadOnly      = true;
                    cbUnidade.Enabled       = false;
                    vl_compra.Value         = lCotacao[0].Vl_precovenda;
                    dt_preco.Text           = lCotacao[0].Dt_precostr;
                    cbUnidade.SelectedValue = lCotacao[0].Cd_unidade;
                    //Calcular valor atualizado
                    vl_atualizado.Value = CamadaNegocio.Estoque.Cadastros.TCN_CadConvUnidade.ConvertUnid(lCotacao[0].Cd_unidade, (cbProduto.SelectedItem as CamadaDados.Estoque.Cadastros.TRegistro_CadProduto).CD_Unidade, ps_saldo.Value * lCotacao[0].Vl_precovenda, 2, null);
                }
            }
        }