コード例 #1
0
        public static string Gravar(TRegistro_LanRoyaltiesGMO val, TObjetoBanco banco)
        {
            bool st_transacao = false;
            TCD_LanRoyaltiesGMO qtb_LanRoyaltiesGMO = new TCD_LanRoyaltiesGMO();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_LanRoyaltiesGMO.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_LanRoyaltiesGMO.Banco_Dados = banco;
                }

                val.Id_lanctoGMO = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(qtb_LanRoyaltiesGMO.Gravar(val), "@P_ID_LANCTOGMO"));

                if (st_transacao)
                {
                    qtb_LanRoyaltiesGMO.Banco_Dados.Commit_Tran();
                }

                return(val.Id_lanctoGMOstr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_LanRoyaltiesGMO.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar royalties: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_LanRoyaltiesGMO.deletarBanco_Dados();
                }
            }
        }
コード例 #2
0
        public static string Excluir(TRegistro_LanRoyaltiesGMO val, TObjetoBanco banco)
        {
            bool st_transacao           = false;
            TCD_LanRoyaltiesGMO qtb_gmo = new TCD_LanRoyaltiesGMO();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_gmo.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_gmo.Banco_Dados = banco;
                }
                qtb_gmo.Excluir(val);
                if (st_transacao)
                {
                    qtb_gmo.Banco_Dados.Commit_Tran();
                }
                return("OK");
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_gmo.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro excluir Royalties: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_gmo.deletarBanco_Dados();
                }
            }
        }
コード例 #3
0
        public static string GravaGMO(TList_RegLanFaturamento_Item val,
                                      bool vTpGMOTestado,
                                      bool vTpGMODeclarado,
                                      string vTP_Movimento,
                                      TObjetoBanco banco)
        {
            TCD_LanRoyaltiesGMO cd = new TCD_LanRoyaltiesGMO();
            bool st_transacao      = false;

            try
            {
                if (banco == null)
                {
                    st_transacao = cd.CriarBanco_Dados(true);
                }
                else
                {
                    cd.Banco_Dados = banco;
                }

                decimal ID_LanctoGMO = decimal.Zero;

                val.ForEach(p =>
                {
                    if (vTP_Movimento.Equals("E"))
                    {
                        //PROCURAR O PEDIDO E O CONTRATO PRA VER SE HE GMO NA CLASSE TCD_CadContratoxPedidoItem
                        //SE FOR GMO QUER DIZER QUE HE DECLARADO *** O TESTADO NUNCA VAI EXISTIR NESSA CONDICAO
                        // vST_GMOTestado = "N"; vST_GMODeclarado = ao que deu no contrato
                        TList_CadContrato lContrato = TCN_CadContrato.BuscarContrato(string.Empty,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     p.Nr_pedido.ToString(),
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     p.Cd_produto,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     banco);
                        if (lContrato.Count > 0)
                        {
                            if (lContrato[0].Tp_prodcontrato.Trim().ToUpper().Equals("ID") ||
                                vTpGMOTestado ||
                                vTpGMODeclarado)
                            {
                                //GRAVA OS DESCONTOS DE GMO
                                ID_LanctoGMO = Convert.ToDecimal(Gravar(new CamadaDados.Graos.TRegistro_LanRoyaltiesGMO()
                                {
                                    CD_Produto  = p.Cd_produto,
                                    Nr_Contrato = lContrato[0].Nr_contrato,
                                    TP_Lancto   = "N",
                                    Tp_gmo      = vTpGMOTestado ? "T" : "D",
                                    QTD_Credito = decimal.Zero,
                                    QTD_Debito  = p.Quantidade_estoque > 0 ? p.Quantidade_estoque : p.Quantidade,
                                }, banco));
                                //GRAVAR  GMO NOTA
                                CamadaNegocio.Graos.TCN_Lan_NotaFiscalGMO.Gravar(new CamadaDados.Graos.TRegistro_Lan_NotaFiscalGMO()
                                {
                                    id_LanctoGmo    = ID_LanctoGMO,
                                    cd_Empresa      = p.Cd_empresa,
                                    nr_LanctoFiscal = p.Nr_lanctofiscal,
                                    id_NfItem       = p.Id_nfitem
                                }, banco);

                                processaFinanceiroGMO(lContrato[0].Nr_contratostr, ID_LanctoGMO, banco);
                            }
                        }
                    }
                });

                if (st_transacao)
                {
                    cd.Banco_Dados.Commit_Tran();
                }

                return(ID_LanctoGMO.ToString());
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    cd.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar Royalties: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    cd.deletarBanco_Dados();
                }
            }
        }
コード例 #4
0
        public static List <TRegistro_SaldoContratoGMO> processaFinanceiroGMO(string Nr_contrato,
                                                                              decimal id_LanctoGmo,
                                                                              TObjetoBanco banco)
        {
            //Buscar saldo pedido GMO
            List <TRegistro_SaldoContratoGMO> lSaldoContrato =
                new TCD_LanRoyaltiesGMO(banco).SelectSaldoContratoGMO(
                    new TpBusca[]
            {
                new TpBusca()
                {
                    vNM_Campo = "p.nr_contrato",
                    vOperador = "=",
                    vVL_Busca = Nr_contrato
                }
            }, 0);
            //Buscar Saldo NF GMO
            List <TRegistro_SaldoNFGMO> lSaldoNf =
                new TCD_LanRoyaltiesGMO(banco).SelectSaldoNFGMO(
                    new TpBusca[]
            {
                new TpBusca()
                {
                    vNM_Campo = "contrato.nr_contrato",
                    vOperador = "=",
                    vVL_Busca = Nr_contrato
                }
            }, 0);

            decimal pc_gmo_declarado = ConfigGer.TCN_CadParamGer.BuscaVlNumerico("PC_GMO_DECLARADO", banco);
            decimal pc_gmo_testado   = ConfigGer.TCN_CadParamGer.BuscaVlNumerico("PC_GMO_TESTADO", banco);

            TList_RegLanLiquidacao liq = new TList_RegLanLiquidacao();

            //credito/debito de todas as notas fiscais do pedido
            lSaldoContrato.ForEach(p =>
            {
                if ((p.Saldo_debito - p.Saldo_credito) > 0)
                {
                    //Credito/Debito da nota fiscal atual
                    lSaldoNf.ForEach(v =>
                    {
                        if ((v.Saldo_debito - v.Saldo_credito) > 0)
                        {
                            if (v.Tp_gmo.Trim().ToUpper().Equals("D") && pc_gmo_declarado.Equals(decimal.Zero))
                            {
                                throw new Exception("Não existe configuração percentual de GMO declarado configurado.\r\n" +
                                                    "Va em PARAMETROS->CONFIGURAÇÕES->CONFIGURAÇÕES GERAIS  e configure o percentual GMO declarado.");
                            }
                            if (v.Tp_gmo.Trim().ToUpper().Equals("T") && pc_gmo_testado.Equals(decimal.Zero))
                            {
                                throw new Exception("Não existe configuração percentual de GMO testado configurado.\r\n" +
                                                    "Va em PARAMETROS->CONFIGURAÇÕES->CONFIGURAÇÕES GERAIS  e configure o percentual GMO testado.");
                            }
                            decimal qtd_lancto = decimal.Zero;
                            if ((p.Saldo_debito - p.Saldo_credito) >= (v.Saldo_debito - v.Saldo_credito))
                            {
                                qtd_lancto = v.Saldo_debito - v.Saldo_credito;
                            }
                            else
                            {
                                qtd_lancto = p.Saldo_debito - p.Saldo_credito;
                            }
                            //Calcular impostos Retidos da Nota
                            TList_RegLanFaturamento lNf =
                                TCN_LanFaturamento.Busca(v.Cd_empresa,
                                                         string.Empty,
                                                         string.Empty,
                                                         v.Nr_lanctofiscal.ToString(),
                                                         string.Empty,
                                                         string.Empty,
                                                         decimal.Zero,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         false,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         decimal.Zero,
                                                         decimal.Zero,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         false,
                                                         string.Empty,
                                                         string.Empty,
                                                         string.Empty,
                                                         1,
                                                         string.Empty,
                                                         banco);
                            decimal vl_liquidar = decimal.Zero;
                            if (lNf.Count > 0)
                            {
                                //Buscar Item da Nota
                                TList_RegLanFaturamento_Item lItem =
                                    TCN_LanFaturamento_Item.Busca(v.Cd_empresa,
                                                                  v.Nr_lanctofiscal.Value.ToString(),
                                                                  v.Id_nfitem.Value.ToString(),
                                                                  banco);
                                if (lItem.Count > 0)
                                {
                                    //Calcular Impostos Retidos
                                    TCN_LanFaturamento_Item.PreencherOutrosImpostos(
                                        TCN_LanFaturamento_Item.procuraCondicaoFiscalImpostos(lNf[0].Cd_condfiscal_clifor,
                                                                                              lItem[0].Cd_condfiscal_produto,
                                                                                              lNf[0].Cd_movimentacaostring,
                                                                                              lNf[0].Tp_movimento,
                                                                                              lNf[0].Tp_pessoa,
                                                                                              lNf[0].Cd_empresa,
                                                                                              lNf[0].Nr_serie,
                                                                                              lNf[0].Cd_clifor,
                                                                                              lItem[0].Cd_unidEst,
                                                                                              lNf[0].Dt_emissao,
                                                                                              qtd_lancto,
                                                                                              TCN_CadConvUnidade.ConvertUnid(p.Cd_unidade,
                                                                                                                             p.Cd_unidade_valor,
                                                                                                                             (qtd_lancto * v.Vl_unitario),
                                                                                                                             2,
                                                                                                                             banco),
                                                                                              lNf[0].Tp_nota,
                                                                                              lNf[0].Cd_municipioexecservico,
                                                                                              banco), lItem[0], lNf[0].Tp_movimento);
                                    lNf[0].ItensNota = lItem;
                                }
                                TCN_LanFaturamento.CalcTotalNota(lNf[0]);
                                vl_liquidar = lNf[0].Vl_totalnota * ((v.Tp_gmo.Trim().ToUpper().Equals("D") ? pc_gmo_declarado : pc_gmo_testado) / 100);
                            }
                            else
                            {
                                //Valor liquidar
                                vl_liquidar = TCN_CadConvUnidade.ConvertUnid(p.Cd_unidade,
                                                                             p.Cd_unidade_valor,
                                                                             (qtd_lancto * v.Vl_unitario),
                                                                             2,
                                                                             banco) *
                                              ((v.Tp_gmo.Trim().ToUpper().Equals("D") ? pc_gmo_declarado : pc_gmo_testado) / 100);
                            }
                            //Liquidar duplicata
                            liquidaDuplicatas(v,
                                              p,
                                              vl_liquidar,
                                              qtd_lancto,
                                              banco);
                        }
                    });
                }
            });

            return(lSaldoContrato);
        }
コード例 #5
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();
                }
            }
        }