Ejemplo n.º 1
0
        public static string Gravar(TRegistro_CartaFrete val, BancoDados.TObjetoBanco banco)
        {
            bool           st_transacao = false;
            TCD_CartaFrete qtb_carta    = new TCD_CartaFrete();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_carta.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_carta.Banco_Dados = banco;
                }
                val.Nr_cartafretestr = CamadaDados.TDataQuery.getPubVariavel(qtb_carta.Gravar(val), "@P_NR_CARTAFRETE");
                if (st_transacao)
                {
                    qtb_carta.Banco_Dados.Commit_Tran();
                }
                return(val.Nr_cartafretestr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_carta.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar carta frete: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_carta.deletarBanco_Dados();
                }
            }
        }
Ejemplo n.º 2
0
        public static string Excluir(TRegistro_CartaFrete val, BancoDados.TObjetoBanco banco)
        {
            bool           st_transacao = false;
            TCD_CartaFrete qtb_carta    = new TCD_CartaFrete();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_carta.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_carta.Banco_Dados = banco;
                }
                qtb_carta.Excluir(val);
                if (st_transacao)
                {
                    qtb_carta.Banco_Dados.Commit_Tran();
                }
                return(val.Nr_cartafretestr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_carta.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro excluir carta frete: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_carta.deletarBanco_Dados();
                }
            }
        }
Ejemplo n.º 3
0
        public static string AlterarUnidPagadora(TRegistro_CartaFrete val, TObjetoBanco banco)
        {
            bool           st_transacao = false;
            TCD_CartaFrete qtb_cf       = new TCD_CartaFrete();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_cf.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_cf.Banco_Dados = banco;
                }
                //Buscar Endereco CD.Unidade Pagadora
                object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadEndereco(qtb_cf.Banco_Dados).BuscarEscalar(
                    new Utils.TpBusca[]
                {
                    new Utils.TpBusca()
                    {
                        vNM_Campo = "a.cd_clifor",
                        vOperador = "=",
                        vVL_Busca = "'" + val.Cd_unidpagadora.Trim() + "'"
                    }
                }, "a.cd_endereco");
                if (obj != null)
                {
                    val.Cd_endunidpagadora = obj.ToString();
                }
                //Verificar se DUPLICATA ESTA AGRUPADA
                if (new CamadaDados.Financeiro.Duplicata.TCD_LanParcela().BuscarEscalar(
                        new Utils.TpBusca[]
                {
                    new Utils.TpBusca()
                    {
                        vNM_Campo = "a.cd_empresa",
                        vOperador = "=",
                        vVL_Busca = "'" + val.Cd_empresa.Trim() + "'"
                    },
                    new Utils.TpBusca()
                    {
                        vNM_Campo = "a.nr_lancto",
                        vOperador = "=",
                        vVL_Busca = val.Nr_lanctostr
                    },
                    new Utils.TpBusca()
                    {
                        vNM_Campo = "a.vl_agrupado",
                        vOperador = ">",
                        vVL_Busca = "0"
                    }
                }, "1") != null)
                {
                    throw new Exception("Carta frete possui duplicata agrupada!");
                }
                //Verificar se PARCELA ESTA LIQUIDADA
                if (new CamadaDados.Financeiro.Duplicata.TCD_LanParcela().BuscarEscalar(
                        new Utils.TpBusca[]
                {
                    new Utils.TpBusca()
                    {
                        vNM_Campo = "a.cd_empresa",
                        vOperador = "=",
                        vVL_Busca = "'" + val.Cd_empresa.Trim() + "'"
                    },
                    new Utils.TpBusca()
                    {
                        vNM_Campo = "a.nr_lancto",
                        vOperador = "=",
                        vVL_Busca = val.Nr_lanctostr
                    },
                    new Utils.TpBusca()
                    {
                        vNM_Campo = "a.vl_liquidado",
                        vOperador = ">",
                        vVL_Busca = "0"
                    }
                }, "1") != null)
                {
                    throw new Exception("Carta frete possui parcela liquidada!");
                }
                qtb_cf.Gravar(val);
                //Buscar Duplicata
                qtb_cf.executarSql("update TB_FIN_Duplicata set CD_Clifor = '" + val.Cd_unidpagadora.Trim() + "', " +
                                   "CD_Endereco = '" + val.Cd_endunidpagadora.Trim() + "', DT_Alt = GETDATE() " +
                                   "where CD_Empresa = '" + val.Cd_empresa.Trim() + "' " +
                                   "and Nr_Lancto = " + val.Nr_lanctostr, null);
                if (st_transacao)
                {
                    qtb_cf.Banco_Dados.Commit_Tran();
                }
                return(val.Id_cartafretestr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_cf.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar carta frete: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_cf.deletarBanco_Dados();
                }
            }
        }
Ejemplo n.º 4
0
        public static string Gravar(TRegistro_CartaFrete val, TObjetoBanco banco)
        {
            bool           st_transacao = false;
            TCD_CartaFrete qtb_cf       = new TCD_CartaFrete();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_cf.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_cf.Banco_Dados = banco;
                }
                //Buscar config carta frete posto
                CamadaDados.PostoCombustivel.Cadastros.TList_CfgPosto lCfg =
                    CamadaNegocio.PostoCombustivel.Cadastros.TCN_CfgPosto.Buscar(val.Cd_empresa, qtb_cf.Banco_Dados);
                if (lCfg.Count.Equals(0))
                {
                    throw new Exception("Não existe configuração para a empresa " + val.Cd_empresa.Trim());
                }
                if (string.IsNullOrEmpty(lCfg[0].Tp_duplicata))
                {
                    throw new Exception("Não existe tipo duplicata configurado para a empresa " + val.Cd_empresa.Trim());
                }
                if (!lCfg[0].Tp_docto.HasValue)
                {
                    throw new Exception("Não existe tipo documento configurado para a empresa " + val.Cd_empresa.Trim());
                }
                //Buscar condicao pagamento
                CamadaDados.Financeiro.Cadastros.TList_CadCondPgto lCond =
                    CamadaNegocio.Financeiro.Cadastros.TCN_CadCondPgto.Buscar(string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              1,
                                                                              decimal.Zero,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              1,
                                                                              string.Empty,
                                                                              qtb_cf.Banco_Dados);
                if (lCond.Count.Equals(0))
                {
                    throw new Exception("Não existe condição pagamento cadastrado com quantidade parcela igual 1");
                }
                //Criar duplicata
                CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata rDup = new CamadaDados.Financeiro.Duplicata.TRegistro_LanDuplicata();
                rDup.Cd_empresa           = val.Cd_empresa;
                rDup.Cd_historico         = lCfg[0].Cd_historico;
                rDup.Tp_docto             = lCfg[0].Tp_docto;
                rDup.Tp_duplicata         = lCfg[0].Tp_duplicata;
                rDup.Cd_clifor            = string.IsNullOrEmpty(val.Cd_unidpagadora) ? val.Cd_transportadora : val.Cd_unidpagadora;
                rDup.Cd_endereco          = string.IsNullOrEmpty(val.Cd_unidpagadora) ? val.Cd_enderecotransp : val.Cd_endunidpagadora;
                rDup.Cd_juro              = lCond[0].Cd_juro;
                rDup.Cd_moeda             = lCond[0].Cd_moeda;
                rDup.Cd_condpgto          = lCond[0].Cd_condpgto;
                rDup.Nr_docto             = "CARTAF" + val.Nr_cartafrete;
                rDup.Vl_documento         = val.Vl_documento;
                rDup.Vl_documento_padrao  = val.Vl_documento;
                rDup.Dt_emissao           = CamadaDados.UtilData.Data_Servidor();
                rDup.Qt_parcelas          = 1;
                rDup.Qt_dias_desdobro     = lCond[0].Qt_diasdesdobro;
                rDup.St_comentrada        = lCond[0].St_comentrada;
                rDup.Tp_juro              = lCond[0].Tp_juro;
                rDup.Pc_jurodiario_atrazo = lCond[0].Pc_jurodiario_atrazo;
                //Cotacao
                rDup.DupCotacao = new CamadaDados.Financeiro.Duplicata.TRegistro_DuplicataCotacao()
                {
                    Cd_moedaresult = CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVL_String_Empresa("CD_MOEDA_PADRAO", rDup.Cd_empresa, qtb_cf.Banco_Dados)
                };
                //Parcela
                rDup.Parcelas.Add(new CamadaDados.Financeiro.Duplicata.TRegistro_LanParcela()
                {
                    Cd_empresa        = val.Cd_empresa,
                    Cd_parcela        = 1,
                    Dt_vencto         = val.Dt_vencimento,
                    Vl_parcela        = val.Vl_documento,
                    Vl_parcela_padrao = val.Vl_documento
                });
                CamadaNegocio.Financeiro.Duplicata.TCN_LanDuplicata.GravarDuplicata(rDup, false, qtb_cf.Banco_Dados);
                val.Nr_lancto        = rDup.Nr_lancto;
                val.Id_cartafretestr = CamadaDados.TDataQuery.getPubVariavel(qtb_cf.Gravar(val), "@P_ID_CARTAFRETE");
                if (st_transacao)
                {
                    qtb_cf.Banco_Dados.Commit_Tran();
                }
                return(val.Id_cartafretestr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_cf.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar carta frete: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_cf.deletarBanco_Dados();
                }
            }
        }
Ejemplo n.º 5
0
        public static string Excluir(TRegistro_CartaFrete val, TObjetoBanco banco)
        {
            bool           st_transacao = false;
            TCD_CartaFrete qtb_cf       = new TCD_CartaFrete();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_cf.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_cf.Banco_Dados = banco;
                }
                //Cancelar duplicata
                CamadaNegocio.Financeiro.Duplicata.TCN_LanDuplicata.Busca(val.Cd_empresa,
                                                                          val.Nr_lanctostr,
                                                                          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,
                                                                          false,
                                                                          1,
                                                                          string.Empty,
                                                                          qtb_cf.Banco_Dados).ForEach(p =>
                                                                                                      CamadaNegocio.Financeiro.Duplicata.TCN_LanDuplicata.CancelarDuplicata(p, qtb_cf.Banco_Dados));
                //Exclusão logica, a venda de origem não esta mais sendo excluida
                val.St_registro = "C";
                qtb_cf.Gravar(val);
                if (st_transacao)
                {
                    qtb_cf.Banco_Dados.Commit_Tran();
                }
                return(val.Id_cartafretestr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_cf.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro excluir carta frete: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_cf.deletarBanco_Dados();
                }
            }
        }