Пример #1
0
        public static string DeletarLanRoyaltiesGMO(TRegistro_LanRoyaltiesGMO val, TObjetoBanco banco)
        {
            bool st_transacao = false;
            TCD_LanRoyaltiesGMO Qtb_LanRoyaltiesGMO = new TCD_LanRoyaltiesGMO();

            try
            {
                if (banco == null)
                {
                    Qtb_LanRoyaltiesGMO.CriarBanco_Dados(true);
                    banco        = Qtb_LanRoyaltiesGMO.Banco_Dados;
                    st_transacao = true;
                }
                else
                {
                    Qtb_LanRoyaltiesGMO.Banco_Dados = banco;
                }
                //Deletar Uf
                TList_Lan_RetencaoFinanceiraGMO lRgmo = TCN_Lan_RetencaoFinanceiraGMO.Buscar(val.Id_lanctoGMO.Value.ToString(),
                                                                                             string.Empty,
                                                                                             string.Empty,
                                                                                             string.Empty,
                                                                                             string.Empty,
                                                                                             string.Empty,
                                                                                             string.Empty,
                                                                                             banco);
                if (lRgmo.Count > 0)
                {
                    TCN_Lan_RetencaoFinanceiraGMO.Deletar(lRgmo[0], banco);
                }

                TList_LanPesagemGMO lPsgGmo = TCN_LanPesagemGMO.Buscar(val.Id_lanctoGMO.Value.ToString(),
                                                                       string.Empty,
                                                                       string.Empty,
                                                                       string.Empty,
                                                                       banco);
                if (lPsgGmo.Count > 0)
                {
                    TCN_LanPesagemGMO.Excluir(lPsgGmo[0], banco);
                }

                TList_Lan_NotaFiscalGMO lNfGmo = TCN_Lan_NotaFiscalGMO.Buscar(val.Id_lanctoGMO.Value.ToString(),
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              banco);
                if (lNfGmo.Count > 0)
                {
                    TCN_Lan_NotaFiscalGMO.Excluir(lNfGmo[0], banco);
                }


                Qtb_LanRoyaltiesGMO.Excluir(val);
                if (st_transacao)
                {
                    Qtb_LanRoyaltiesGMO.Banco_Dados.Commit_Tran();
                }
                return("OK");
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    Qtb_LanRoyaltiesGMO.Banco_Dados.RollBack_Tran();
                }
                else
                {
                    throw new Exception(ex.Message);
                }
                return("");
            }
            finally
            {
                if (st_transacao)
                {
                    Qtb_LanRoyaltiesGMO.deletarBanco_Dados();
                }
            }
        }
Пример #2
0
        public static TList_RegLanParcela liquidaDuplicatas(TRegistro_SaldoNFGMO rSaldoNf,
                                                            TRegistro_SaldoContratoGMO rSaldoPed,
                                                            decimal vl_Liquidar,
                                                            decimal qtdLancto,
                                                            TObjetoBanco banco)
        {
            TList_RegLanParcela lParcelas =
                Financeiro.Duplicata.TCN_LanParcela.Busca(rSaldoNf.Cd_empresa,
                                                          rSaldoNf.Nr_lanctoduplicata.Value,
                                                          decimal.Zero,
                                                          string.Empty,
                                                          string.Empty,
                                                          string.Empty,
                                                          string.Empty,
                                                          string.Empty,
                                                          0,
                                                          string.Empty,
                                                          banco);

            TRegistro_LanLiquidacao liquid    = new TRegistro_LanLiquidacao();
            TList_Cad_ParamGMO      lParamGMO = TCN_Cad_ParamGMO.Buscar(rSaldoNf.Cd_empresa,
                                                                        string.Empty,
                                                                        string.Empty,
                                                                        string.Empty,
                                                                        banco);

            if (lParamGMO.Count > 0)
            {
                lParcelas.ForEach(p =>
                {
                    liquid                      = new TRegistro_LanLiquidacao();
                    liquid.Cd_empresa           = rSaldoNf.Cd_empresa;
                    liquid.Nr_lancto            = rSaldoNf.Nr_lanctoduplicata.Value;
                    liquid.Cd_parcela           = p.Cd_parcela;
                    liquid.cVl_Atual            = vl_Liquidar;
                    liquid.Cd_contager          = lParamGMO[0].Cd_contager;
                    liquid.Cvl_aliquidar_padrao = vl_Liquidar;
                    liquid.Nr_docto             = p.Nr_docto;
                    liquid.Ds_contaGer          = lParamGMO[0].Ds_contager;
                    liquid.Cd_portador          = lParamGMO[0].Cd_portador;
                    liquid.Ds_portador          = lParamGMO[0].Ds_portador;
                    liquid.Cd_historico         = lParamGMO[0].Cd_historico_pgto;
                    liquid.Ds_historico         = lParamGMO[0].Ds_historico_pgto;
                    liquid.Dt_Liquidacao        = rSaldoNf.Dt_saient;
                    liquid.Tp_mov               = p.Tp_mov;
                    liquid.Vl_parcela           = p.Vl_parcela;
                    liquid.Vl_atual             = p.Vl_atual;
                    liquid.Vl_difcamb_at        = decimal.Zero;
                    liquid.Vl_difcamb_pa        = decimal.Zero;
                    liquid.Vl_Liquidado         = p.Vl_liquidado;
                    liquid.Vl_liquidado_padrao  = p.Vl_liquidado;
                    liquid.Vl_DescontoBonus     = decimal.Zero;
                    liquid.Vl_JuroAcrescimo     = decimal.Zero;
                    liquid.st_registro          = "A";
                    liquid.cVl_Nominal          = decimal.Zero;
                    liquid.cVl_Liquidado        = p.Vl_liquidado;
                    liquid.cVl_JuroTotal        = decimal.Zero;
                    liquid.cVl_DescontoTotal    = decimal.Zero;

                    Financeiro.Duplicata.TCN_LanLiquidacao.GravarLiquidacao(lParcelas,
                                                                            liquid,
                                                                            null,
                                                                            null,
                                                                            null,
                                                                            null,
                                                                            banco);

                    //Cria registro para gravar lançamento de caixa.
                    TRegistro_LanCaixa lCx = new TRegistro_LanCaixa();
                    lCx.Cd_ContaGer        = lParamGMO[0].Cd_contager;
                    lCx.Cd_LanctoCaixa     = decimal.Zero;
                    lCx.Cd_Empresa         = lParamGMO[0].Cd_empresa;
                    lCx.Cd_Historico       = lParamGMO[0].Cd_historico_retencao;
                    lCx.Vl_RECEBER         = vl_Liquidar;
                    lCx.Vl_PAGAR           = decimal.Zero;
                    lCx.Vl_Atual           = decimal.Zero;
                    lCx.Vl_Anterior        = decimal.Zero;
                    lCx.Nr_Docto           = p.Nr_docto;
                    lCx.Dt_lancto          = rSaldoNf.Dt_saient;
                    lCx.ComplHistorico     = string.Empty;

                    string vLanctoCx = Financeiro.Caixa.TCN_LanCaixa.GravaLanCaixa(lCx, banco);
                    decimal lanctoCx = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(vLanctoCx, "@P_CD_LANCTOCAIXA"));

                    if (liquid.Id_liquid.Equals(decimal.Zero) || lanctoCx.Equals(decimal.Zero))
                    {
                        throw new Exception("Erro ao gravar Liquidação/Caixa ");
                    }

                    string credroy = Gravar(new TRegistro_LanRoyaltiesGMO()
                    {
                        CD_Produto    = rSaldoPed.Cd_produto,
                        DS_Observacao = "Crédito Retido GMO nota fiscal Número " + p.Nr_docto,
                        Id_lanctoGMO  = decimal.Zero,
                        Nr_Contrato   = rSaldoPed.Nr_contrato,
                        QTD_Credito   = qtdLancto,
                        QTD_Debito    = decimal.Zero,
                        Tp_gmo        = rSaldoPed.Tp_gmo,
                        TP_Lancto     = "N"
                    }, banco);

                    //Cria registro da retencao financeira
                    TRegistro_Lan_RetencaoFinanceiraGMO lRGmo = new TRegistro_Lan_RetencaoFinanceiraGMO();
                    lRGmo.Id_Liquid      = liquid.Id_liquid;
                    lRGmo.Id_LanctoGMO   = Convert.ToDecimal(credroy);
                    lRGmo.Nr_Lancto      = rSaldoNf.Nr_lanctoduplicata;
                    lRGmo.Cd_ContaGer    = lParamGMO[0].Cd_contager;
                    lRGmo.Cd_Empresa     = rSaldoNf.Cd_empresa;
                    lRGmo.Cd_LanctoCaixa = lanctoCx;
                    lRGmo.Cd_Parcela     = p.Cd_parcela;

                    TCN_Lan_RetencaoFinanceiraGMO.Gravar(lRGmo, banco);
                    if ((rSaldoNf.Nr_lanctofiscal != null) && (rSaldoNf.Id_nfitem != null))
                    {
                        TCN_Lan_NotaFiscalGMO.Gravar(
                            new TRegistro_Lan_NotaFiscalGMO()
                        {
                            cd_Empresa      = rSaldoNf.Cd_empresa,
                            id_LanctoGmo    = Convert.ToDecimal(credroy),
                            id_NfItem       = rSaldoNf.Id_nfitem,
                            nr_LanctoFiscal = rSaldoNf.Nr_lanctofiscal
                        }, banco);
                    }
                });
            }
            else
            {
                throw new Exception("Não existem parâmetros de GMO configurados para a empresa " + rSaldoNf.Cd_empresa.Trim());
            }
            return(lParcelas);
        }
Пример #3
0
        public static string GravaPesagemGMO(TRegistro_LanFaturamento_Item val,
                                             string vTp_Movimento,
                                             TObjetoBanco banco)
        {
            string retorno = string.Empty;
            TList_RegLanAplicacao_NotaFiscal lPesagemGmo = TCN_LanAplicacao_NotaFiscal.Buscar(val.Cd_empresa,
                                                                                              val.Nr_lanctofiscal.ToString(),
                                                                                              val.Id_nfitem.ToString(),
                                                                                              string.Empty,
                                                                                              false,
                                                                                              banco);

            if (lPesagemGmo.Count > 0)
            {
                TList_LanAplicacaoPedido lAplicPedido = TCN_LanAplicacaoPedido.Buscar(lPesagemGmo[0].Id_aplicacao.ToString(),
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty,
                                                                                      string.Empty, banco);
                if (lAplicPedido.Count > 0)
                {
                    TList_RegLanPesagemGraos lPsgraos = CamadaNegocio.Balanca.TCN_LanPesagemGraos.Busca(lAplicPedido[0].Cd_empresa,
                                                                                                        lAplicPedido[0].Id_ticket.ToString(),
                                                                                                        lAplicPedido[0].Tp_pesagem,
                                                                                                        string.Empty,
                                                                                                        string.Empty,
                                                                                                        string.Empty,
                                                                                                        string.Empty,
                                                                                                        string.Empty,
                                                                                                        decimal.Zero,
                                                                                                        string.Empty,
                                                                                                        string.Empty,
                                                                                                        0,
                                                                                                        string.Empty,
                                                                                                        banco);
                    if (lPsgraos.Count > 0)
                    {
                        //procurar GRAVA GMO NOTA
                        TList_Lan_NotaFiscalGMO NfGMO = TCN_Lan_NotaFiscalGMO.Buscar(string.Empty,
                                                                                     lAplicPedido[0].Cd_empresa,
                                                                                     val.Nr_lanctofiscal.ToString(),
                                                                                     val.Id_nfitem.ToString(),
                                                                                     banco);
                        decimal Id_lanctoGMO = decimal.Zero;
                        if (lPsgraos[0].Tp_prodpesagem.Trim().ToUpper().Equals("ID") && NfGMO.Count > 0)
                        {
                            Id_lanctoGMO = NfGMO[0].id_LanctoGmo.Value;
                        }
                        else if (lPsgraos[0].Tp_prodpesagem.Trim().ToUpper().Equals("IT"))
                        {
                            Id_lanctoGMO = Convert.ToDecimal(GravaGMO(new TList_RegLanFaturamento_Item()
                            {
                                val
                            }, true, false, vTp_Movimento, banco));
                        }
                        else if (lPsgraos[0].Tp_prodpesagem.Trim().ToUpper().Equals("ID") && (NfGMO.Count < 1))
                        {
                            Id_lanctoGMO = Convert.ToDecimal(GravaGMO(new TList_RegLanFaturamento_Item()
                            {
                                val
                            }, false, true, vTp_Movimento, banco));
                        }

                        if ((!string.IsNullOrEmpty(lAplicPedido[0].Cd_empresa)) &&
                            (lAplicPedido[0].Id_ticket > 0) &&
                            (!string.IsNullOrEmpty(lAplicPedido[0].Tp_pesagem)) &&
                            (Id_lanctoGMO > 0))
                        {
                            //    GRAVA O LANCTO DO PESAGEM GMO
                            retorno += CamadaNegocio.Graos.TCN_LanPesagemGMO.Gravar(new CamadaDados.Graos.TRegistro_LanPesagemGMO()
                            {
                                ID_Ticket    = lAplicPedido[0].Id_ticket,
                                CD_Empresa   = lAplicPedido[0].Cd_empresa,
                                TP_Pesagem   = lAplicPedido[0].Tp_pesagem,
                                ID_LanctoGMO = Id_lanctoGMO
                            }, banco);
                        }
                    }
                }
            }
            return(retorno);
        }