public override int buscarRegistros() { TList_CadCFGBanco lista = TCN_CadCFGBanco.Buscar(id_config.Text, cd_banco.Text, cd_empresa.Text, codigocedente.Text, tp_cobranca.SelectedValue != null ? tp_cobranca.SelectedValue.ToString() : string.Empty, cd_contager.Text, string.Empty, string.Empty, 0, null); if (lista != null) { if (lista.Count > 0) { this.Lista = lista; bsCFGBanco.DataSource = lista; } else if ((vTP_Modo == TTpModo.tm_Standby) || ((vTP_Modo == TTpModo.tm_busca))) { bsCFGBanco.Clear(); } return(lista.Count); } else { return(0); } }
public static void ProcessarRemessa(TRegistro_LoteRemessa val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_LoteRemessa qtb_lote = new TCD_LoteRemessa(); try { if (banco == null) { st_transacao = qtb_lote.CriarBanco_Dados(true); } else { qtb_lote.Banco_Dados = banco; } if (val.lTitulos.Count < 1) { throw new Exception("Lote não possui titulos para gerar arquivo remessa."); } TList_CadCFGBanco lCfgBanco = TCN_CadCFGBanco.Buscar(string.Empty, val.lTitulos[0].Cd_banco, val.Cd_empresa, val.lTitulos[0].Cedente.CodigoCedente, "CR", val.Cd_contager, "A", string.Empty, 1, qtb_lote.Banco_Dados); if (lCfgBanco.Count < 1) { throw new Exception("Não existe configuração para emissão de bloquetos para o banco: " + val.lTitulos[0].Cd_banco); } //Criar registro cobranca blCobranca rCobranca = new blCobranca(); if (val.Nr_arqRemessa > decimal.Zero) { rCobranca.SequencialArq = val.Nr_arqRemessa; } else { //Sequencial do Arquivo object obj = new TCD_LoteRemessa(qtb_lote.Banco_Dados).BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.id_config", vOperador = "=", vVL_Busca = lCfgBanco[0].Id_configstr } }, "isnull(max(a.nr_arqremessa), 0)"); rCobranca.SequencialArq = obj == null ? 1 : decimal.Parse(obj.ToString()) + 1; val.Nr_arqRemessa = rCobranca.SequencialArq; } rCobranca.Cd_instrucao = blCobranca.TratarInstrucaoRemessa(val.lTitulos[0].Cd_banco, val.Tp_instrucao); rCobranca.DataArquivo = CamadaDados.UtilData.Data_Servidor(qtb_lote.Banco_Dados); rCobranca.LayoutArquivo = lCfgBanco[0].Tp_layoutremessa.Trim().Equals("2") ? TLayoutArquivo.laCNAB240 : lCfgBanco[0].Tp_layoutremessa.Trim().Equals("4") ? TLayoutArquivo.laCNAB400 : TLayoutArquivo.laOutro; rCobranca.TipoMovimento = TTipoMovimento.tmRemessa; rCobranca.Cd_bancocorrespondente = lCfgBanco[0].Cd_bancocorrespondente; rCobranca.Titulos = val.lTitulos; if (rCobranca.GerarRemessa(val.lTitulos[0].Cd_banco, val.Path_remessa)) { val.St_registro = "P";//Processado val.Dt_lote = rCobranca.DataArquivo; Gravar(val, qtb_lote.Banco_Dados); } if (st_transacao) { qtb_lote.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_lote.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gerar arquivo remessa: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_lote.deletarBanco_Dados(); } } }
public TList_CadCFGBanco Select(TpBusca[] vBusca, Int32 vTop, string vNM_Campo) { TList_CadCFGBanco lista = new TList_CadCFGBanco(); bool podeFecharBco = false; if (Banco_Dados == null) { podeFecharBco = CriarBanco_Dados(false); } SqlDataReader reader = ExecutarBusca(SqlCodeBusca(vBusca, Convert.ToInt16(vTop), vNM_Campo)); try { while (reader.Read()) { TRegistro_CadCFGBanco reg = new TRegistro_CadCFGBanco(); //Dados da config banco if (!reader.IsDBNull(reader.GetOrdinal("id_config"))) { reg.Id_config = reader.GetDecimal(reader.GetOrdinal("id_config")); } if (!reader.IsDBNull(reader.GetOrdinal("ds_config"))) { reg.Ds_config = reader.GetString(reader.GetOrdinal("ds_config")); } if (!reader.IsDBNull(reader.GetOrdinal("codigocedente"))) { reg.Codigocedente = reader.GetString(reader.GetOrdinal("codigocedente")); } if (!(reader.IsDBNull(reader.GetOrdinal("DigitoCedente")))) { reg.Digitocedente = reader.GetString(reader.GetOrdinal("DigitoCedente")); } if (!(reader.IsDBNull(reader.GetOrdinal("Ano")))) { reg.Ano = reader.GetString(reader.GetOrdinal("Ano")); } if (!(reader.IsDBNull(reader.GetOrdinal("NossoNumero")))) { reg.Nossonumero = reader.GetDecimal(reader.GetOrdinal("NossoNumero")); } if (!(reader.IsDBNull(reader.GetOrdinal("DS_LocalPagamento")))) { reg.Ds_localpagamento = reader.GetString(reader.GetOrdinal("DS_LocalPagamento")); } if (!(reader.IsDBNull(reader.GetOrdinal("PostoCedente")))) { reg.Postocedente = reader.GetString(reader.GetOrdinal("PostoCedente")); } if (!reader.IsDBNull(reader.GetOrdinal("Aceite_SN"))) { reg.Aceite_sn = reader.GetString(reader.GetOrdinal("Aceite_SN")); } if (!reader.IsDBNull(reader.GetOrdinal("EspecieDocumento"))) { reg.EspecieDocumento = reader.GetDecimal(reader.GetOrdinal("EspecieDocumento")); } if (!reader.IsDBNull(reader.GetOrdinal("DS_Instrucoes"))) { reg.Ds_instrucoes = reader.GetString(reader.GetOrdinal("DS_Instrucoes")); } if (!reader.IsDBNull(reader.GetOrdinal("logo_banco"))) { reg.Img = (byte[])reader.GetValue(reader.GetOrdinal("logo_banco")); } if (!reader.IsDBNull(reader.GetOrdinal("tp_cobranca"))) { reg.Tp_cobranca = reader.GetString(reader.GetOrdinal("tp_cobranca")); } if (!reader.IsDBNull(reader.GetOrdinal("tp_carteira"))) { reg.Tp_carteira = reader.GetString(reader.GetOrdinal("tp_carteira")); } if (!reader.IsDBNull(reader.GetOrdinal("modalidade"))) { reg.Modalidade = reader.GetString(reader.GetOrdinal("modalidade")); } if (!reader.IsDBNull(reader.GetOrdinal("CD_Portador"))) { reg.Cd_portador = reader.GetString(reader.GetOrdinal("CD_Portador")); } if (!reader.IsDBNull(reader.GetOrdinal("DS_Portador"))) { reg.Ds_portador = reader.GetString(reader.GetOrdinal("DS_Portador")); } if (!reader.IsDBNull(reader.GetOrdinal("PC_JuroDia"))) { reg.Pc_jurodia = reader.GetDecimal(reader.GetOrdinal("PC_JuroDia")); } if (!reader.IsDBNull(reader.GetOrdinal("tp_jurodia"))) { reg.Tp_jurodia = reader.GetString(reader.GetOrdinal("tp_jurodia")); } if (!reader.IsDBNull(reader.GetOrdinal("PC_Desconto"))) { reg.Pc_desconto = reader.GetDecimal(reader.GetOrdinal("PC_Desconto")); } if (!reader.IsDBNull(reader.GetOrdinal("tp_desconto"))) { reg.Tp_desconto = reader.GetString(reader.GetOrdinal("tp_desconto")); } if (!reader.IsDBNull(reader.GetOrdinal("NR_DiasDesconto"))) { reg.Nr_diasdesconto = reader.GetDecimal(reader.GetOrdinal("NR_DiasDesconto")); } if (!reader.IsDBNull(reader.GetOrdinal("PC_Multa"))) { reg.Pc_multa = reader.GetDecimal(reader.GetOrdinal("PC_Multa")); } if (!reader.IsDBNull(reader.GetOrdinal("tp_multa"))) { reg.Tp_multa = reader.GetString(reader.GetOrdinal("tp_multa")); } if (!reader.IsDBNull(reader.GetOrdinal("NR_DiasMulta"))) { reg.Nr_diasmulta = reader.GetDecimal(reader.GetOrdinal("NR_DiasMulta")); } if (!reader.IsDBNull(reader.GetOrdinal("Cd_Contager"))) { reg.Cd_contager = reader.GetString(reader.GetOrdinal("CD_Contager")); } if (!reader.IsDBNull(reader.GetOrdinal("DS_Contager"))) { reg.Ds_contager = reader.GetString(reader.GetOrdinal("DS_Contager")); } if (!reader.IsDBNull(reader.GetOrdinal("nr_contacorrente"))) { reg.Nr_contacorrente = reader.GetString(reader.GetOrdinal("nr_contacorrente")); } if (!reader.IsDBNull(reader.GetOrdinal("digitoconta"))) { reg.Digitoconta = reader.GetString(reader.GetOrdinal("digitoconta")); } if (!reader.IsDBNull(reader.GetOrdinal("TP_LayoutBloqueto"))) { reg.Tp_layoutbloqueto = reader.GetString(reader.GetOrdinal("TP_LayoutBloqueto")); } if (!reader.IsDBNull(reader.GetOrdinal("NR_DiasProtesto"))) { reg.Nr_diasprotesto = reader.GetDecimal(reader.GetOrdinal("NR_DiasProtesto")); } if (!reader.IsDBNull(reader.GetOrdinal("TP_LayoutRemessa"))) { reg.Tp_layoutremessa = reader.GetString(reader.GetOrdinal("TP_LayoutRemessa")); } if (!reader.IsDBNull(reader.GetOrdinal("TP_LayoutRetorno"))) { reg.Tp_layoutretorno = reader.GetString(reader.GetOrdinal("TP_LayoutRetorno")); } if (!reader.IsDBNull(reader.GetOrdinal("st_protestoauto"))) { reg.St_protestoauto = reader.GetString(reader.GetOrdinal("st_protestoauto")); } if (!reader.IsDBNull(reader.GetOrdinal("conveniocobranca"))) { reg.ConvenioCobranca = reader.GetString(reader.GetOrdinal("conveniocobranca")); } if (!reader.IsDBNull(reader.GetOrdinal("cd_bancocorrespondente"))) { reg.Cd_bancocorrespondente = reader.GetString(reader.GetOrdinal("cd_bancocorrespondente")); } if (!reader.IsDBNull(reader.GetOrdinal("ds_bancocorrespondente"))) { reg.Ds_bancocorrespondente = reader.GetString(reader.GetOrdinal("ds_bancocorrespondente")); } if (!reader.IsDBNull(reader.GetOrdinal("nr_agenciacorrespondente"))) { reg.Nr_agenciacorrespondente = reader.GetString(reader.GetOrdinal("nr_agenciacorrespondente")); } if (!reader.IsDBNull(reader.GetOrdinal("nr_contacorrespondente"))) { reg.Nr_contacorrespondente = reader.GetString(reader.GetOrdinal("nr_contacorrespondente")); } if (!reader.IsDBNull(reader.GetOrdinal("carteiracorrespondente"))) { reg.Carteiracorrespondente = reader.GetString(reader.GetOrdinal("carteiracorrespondente")); } //Dados do banco if (!(reader.IsDBNull(reader.GetOrdinal("CD_Banco")))) { reg.Banco.Cd_banco = reader.GetString(reader.GetOrdinal("CD_Banco")); } if (!reader.IsDBNull(reader.GetOrdinal("DS_Banco"))) { reg.Banco.Ds_banco = reader.GetString(reader.GetOrdinal("DS_Banco")); } //Dados da empresa if (!(reader.IsDBNull(reader.GetOrdinal("CD_Empresa")))) { reg.Empresa.Cd_empresa = reader.GetString(reader.GetOrdinal("CD_Empresa")); } if (!reader.IsDBNull(reader.GetOrdinal("NM_Empresa"))) { reg.Empresa.Nm_empresa = reader.GetString(reader.GetOrdinal("NM_Empresa")); } //Dados Historico Desconto if (!reader.IsDBNull(reader.GetOrdinal("CD_Historico_Desconto"))) { reg.Cd_historico_desconto = reader.GetString(reader.GetOrdinal("CD_Historico_Desconto")); } if (!reader.IsDBNull(reader.GetOrdinal("DS_Historico_Desconto"))) { reg.Ds_historico_desconto = reader.GetString(reader.GetOrdinal("DS_Historico_Desconto")); } //Dados Historico Taxa Desconto if (!reader.IsDBNull(reader.GetOrdinal("CD_Historico_TaxaDesc"))) { reg.Cd_historico_taxadesc = reader.GetString(reader.GetOrdinal("CD_Historico_TaxaDesc")); } if (!reader.IsDBNull(reader.GetOrdinal("DS_Historico_TaxaDesc"))) { reg.Ds_historico_taxadesc = reader.GetString(reader.GetOrdinal("DS_Historico_TaxaDesc")); } //Dados Historico Baixa Desconto if (!reader.IsDBNull(reader.GetOrdinal("CD_Historico_BaixaDesc"))) { reg.Cd_historico_baixadesc = reader.GetString(reader.GetOrdinal("CD_Historico_BaixaDesc")); } if (!reader.IsDBNull(reader.GetOrdinal("DS_Historico_BaixaDesc"))) { reg.Ds_historico_baixadesc = reader.GetString(reader.GetOrdinal("DS_Historico_BaixaDesc")); } //Dados Historico Taxa Cobranca if (!reader.IsDBNull(reader.GetOrdinal("CD_Historico_TaxaCob"))) { reg.Cd_historico_taxacob = reader.GetString(reader.GetOrdinal("CD_Historico_TaxaCob")); } if (!reader.IsDBNull(reader.GetOrdinal("DS_Historico_TaxaCob"))) { reg.Ds_historico_taxacob = reader.GetString(reader.GetOrdinal("DS_Historico_TaxaCob")); } //Centro Resultado Taxa Cobranca if (!reader.IsDBNull(reader.GetOrdinal("cd_centroresultTXCob"))) { reg.Cd_centroresultTXCob = reader.GetString(reader.GetOrdinal("cd_centroresultTXCob")); } if (!reader.IsDBNull(reader.GetOrdinal("ds_centroresultTXCob"))) { reg.Ds_centroresultTXCob = reader.GetString(reader.GetOrdinal("ds_centroresultTXCob")); } if (!reader.IsDBNull(reader.GetOrdinal("st_registro"))) { reg.St_registro = reader.GetString(reader.GetOrdinal("st_registro")); } if (!reader.IsDBNull(reader.GetOrdinal("vl_taxa"))) { reg.Vl_taxa = reader.GetDecimal(reader.GetOrdinal("vl_taxa")); } lista.Add(reg); } } finally { reader.Close(); reader.Dispose(); if (podeFecharBco) { deletarBanco_Dados(); } } return(lista); }
public static string ProcessarLote(TRegistro_LoteBloqueto val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_LoteBloqueto qtb_lote = new TCD_LoteBloqueto(); try { if (banco == null) { st_transacao = qtb_lote.CriarBanco_Dados(true); } else { qtb_lote.Banco_Dados = banco; } //Lancamento de caixa no valor liquido //Buscar historico na configuracao do banco TList_CadCFGBanco lCfg = Cadastros.TCN_CadCFGBanco.Buscar(val.Id_configstr, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, 1, qtb_lote.Banco_Dados); if (lCfg.Count > 0) { if (string.IsNullOrEmpty(lCfg[0].Cd_historico_desconto)) { throw new Exception("Não existe configuração de historico para desconto de bloquetos\r\n" + "para a configuração " + val.Ds_config.Trim()); } decimal total_bloquetos = val.ListaBloqueto.Sum(p => p.Vl_documento); string retorno = TCN_LanCaixa.GravaLanCaixa( new TRegistro_LanCaixa() { Cd_ContaGer = val.Cd_contager, Cd_Empresa = val.Cd_empresa, Cd_Historico = lCfg[0].Cd_historico_desconto, ComplHistorico = "DESCONTO DE BLOQUETOS DO LOTE " + val.Id_lotestr, Dt_lancto = val.Dt_processamento, Nr_Docto = "LOTE" + val.Id_lotestr, St_Estorno = "N", Vl_PAGAR = 0, Vl_RECEBER = total_bloquetos }, qtb_lote.Banco_Dados); //Amarrar este lancamento de caixa ao lote //com o campo TP_Registro = D (DESCONTO) TCN_Bloqueto_X_Caixa.Gravar(new TRegistro_Lote_X_Caixa() { Cd_contager = val.Cd_contager, Cd_lanctocaixa = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_CD_LANCTOCAIXA")), Id_lote = val.Id_lote.Value, Tp_registro = "D" }, qtb_lote.Banco_Dados); //Lancar Taxa if (string.IsNullOrEmpty(lCfg[0].Cd_historico_taxadesc)) { throw new Exception("Não existe configuração de historico para taxa desconto de bloquetos\r\n" + "para a configuração " + val.Ds_config.Trim()); } retorno = TCN_LanCaixa.GravaLanCaixa(new TRegistro_LanCaixa() { Cd_ContaGer = val.Cd_contager, Cd_Empresa = val.Cd_empresa, Cd_Historico = lCfg[0].Cd_historico_taxadesc, ComplHistorico = "TAXA DESCONTO BLOQUETOS DO LOTE " + val.Id_lotestr, Dt_lancto = val.Dt_processamento, Nr_Docto = "LOTE" + val.Id_lote, St_Estorno = "N", Vl_PAGAR = val.Vl_taxa, Vl_RECEBER = decimal.Zero }, qtb_lote.Banco_Dados); //Amarrar este lancamento de caixa ao lote //com o campo TP_Registro = T (TAXA) TCN_Bloqueto_X_Caixa.Gravar(new TRegistro_Lote_X_Caixa() { Cd_contager = val.Cd_contager, Cd_lanctocaixa = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_CD_LANCTOCAIXA")), Id_lote = val.Id_lote.Value, Tp_registro = "T" }, qtb_lote.Banco_Dados); //Gravar centro resultado taxa cobrança if (!string.IsNullOrEmpty(lCfg[0].Cd_centroresultTXCob)) { //Gravar Lancto Resultado string id = CCustoLan.TCN_LanCCustoLancto.Gravar( new CamadaDados.Financeiro.CCustoLan.TRegistro_LanCCustoLancto() { Cd_empresa = val.Cd_empresa, Cd_centroresult = lCfg[0].Cd_centroresultTXCob, Vl_lancto = val.Vl_taxa, Dt_lancto = val.Dt_processamento }, qtb_lote.Banco_Dados); //Amarrar Lancto a Caixa TCN_Caixa_X_CCusto.Gravar(new TRegistro_Caixa_X_CCusto() { Cd_contager = val.Cd_contager, Cd_lanctocaixa = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_CD_LANCTOCAIXA")), Id_ccustolan = decimal.Parse(id) }, qtb_lote.Banco_Dados); } val.ListaBloqueto.ForEach(p => { //Alterar status dos bloquetos para D - Descontado p.St_registro = "D"; TCN_Titulo.Gravar(p, qtb_lote.Banco_Dados); //Criar lista de lote x titulo val.lBloquetos.Add(new TRegistro_Lote_X_Titulo() { Cd_empresa = p.Cd_empresa, Cd_parcela = p.Cd_parcela, Id_cobranca = p.Id_cobranca, Id_lote = val.Id_lote.Value, Nr_lancto = p.Nr_lancto, Vl_documento = p.Vl_documento }); }); //Calcular valor taxa por bloqueto val.lBloquetos.ForEach(p => p.Vl_taxa = Math.Round(((val.Vl_taxa / total_bloquetos) * p.Vl_documento), 2)); decimal total_taxa = val.lBloquetos.Sum(p => p.Vl_taxa); if (val.Vl_taxa != total_taxa) { val.lBloquetos[val.lBloquetos.Count - 1].Vl_taxa += (val.Vl_taxa - total_taxa); } //Gravar lote x titulo com o valor da taxa val.lBloquetos.ForEach(p => TCN_Lote_X_Titulo.Gravar(p, qtb_lote.Banco_Dados)); //Limpar lista de bloquetos para //que a gravacao do lote nao altere //novamente a lista de bloquetos val.ListaBloqueto.Clear(); //Alterar status do lote para processado val.St_registro = "P"; Gravar(val, qtb_lote.Banco_Dados); if (st_transacao) { qtb_lote.Banco_Dados.Commit_Tran(); } return(retorno); } else { throw new Exception("Não existe configuração para emissão de bloquetos para a empresa " + val.Cd_empresa.Trim() + " e conta gerencial " + val.Cd_contager.Trim()); } } catch (Exception ex) { if (st_transacao) { qtb_lote.Banco_Dados.RollBack_Tran(); } throw new Exception(ex.Message); } finally { if (st_transacao) { qtb_lote.deletarBanco_Dados(); } } }