public function RegistrosTransacao($conteudo_arquivo, $cont) { $CString = new CString(); $Cdata = new Data(); $consulta = $this->getConsulta(); foreach ($consulta as $sql){ $vlr_mora = parent::SomenteNumero(number_format(round($sql->getValor() * ($sql->getMORA_CONTA() / 100 / 30), 2), 2)); //Verifica se deve cobrar Multa em caso de pagamento em atraso if (($sql->getMULTA_CONTA() > 0) || ($sql->getMORA_CONTA()) > 0) { $trans_multa = "2"; } else { $trans_multa = "0"; } //Verfica se o tipo de pessoa é física ou jurídica if ($sql->getTipo_Pessoa() == "PF") { $tipo_pessoa = "01"; $Incricao = $sql->getCpfSacado(); } else { $tipo_pessoa = "02"; $Incricao = $sql->getCnpjSacado(); } $id_cr = $sql->getCodBoleto(); $trans_identifi_registro = 1; // 001 a 001 - Identificação do Registro $trans_agencia_cli = str_pad(0, 5, "0", STR_PAD_LEFT); // 002 a 006 - Agência de Débito (Opcional) $trans_dig_ag_cli = str_pad(0, 1, "0", STR_PAD_LEFT); // 007 a 007 - Dígito da Agência de Débito (Opcional) $trans_razao_conta_sacado = str_pad(0, 5, "0", STR_PAD_LEFT); // 008 a 012 - Razão da Conta Corrente (Opcional) $trans_num_conta_cli = str_pad(0, 7, "0", STR_PAD_LEFT); // 013 a 019 - Conta Corrente (Opcional) $trans_dig_conta_corrente_cli = str_pad(0, 1, "0", STR_PAD_LEFT); // 020 a 020 - Dígito da Conta Corrente (Opcional) $trans_ident_empresa_banco = str_pad($this->BradescoIdentificacaoCedente(), 17, " ", STR_PAD_RIGHT); // 021 a 037 - Identificação da Empresa Cedente no Banco $trans_cod_controle = str_pad($sql->getCodBoleto(), 25, " ", STR_PAD_LEFT); // 038 a 062 - Nº Controle do Participante $tran_cod_banco = "000"; // 063 a 065 - Código do Banco $trans_multa = $trans_multa; // 066 a 066 - Campo de Multa (0 = Sem Multa - 2 = Com multa) $trans_percentual_multa = str_pad(parent::SomenteNumero($sql->getMULTA_CONTA()), 4, "0", STR_PAD_LEFT); // 067 a 070 - Percentual de multa //Caso o título seja gerado pela empresa a geração do nosso número será feito pelo sistema if ($sql->getRESP_EMISSAO_BOLETO() == "E") { $trans_nosso_numero_com_digito = $CString->nosso_numero_com_digito("009", $sql->getCodBoleto()); // 071 a 081 - Identificação do Título no Banco + 082 a 082 - Digito de Auto Conferencia do Número Bancário } else { $trans_nosso_numero_com_digito = $CString->nosso_numero_com_digito(0, 0); } $trans_desc_boni_dia = str_pad("0", 10, "0", STR_PAD_LEFT); // 083 a 092 - Desconto Bonificação por dia //Caso o título seja gerado pela empresa o banco não emite o título if ($sql->getRESP_EMISSAO_BOLETO() == "E") { $trans_condicao_emissao_boleto = "2"; // 093 a 093 - Condição para Emissão da Papeleta de Cobrança } else { $trans_condicao_emissao_boleto = "1"; } $trans_condicao_emissao_boleto = $trans_condicao_emissao_boleto; // 093 a 093 - Condição para Emissão da Papeleta de Cobrança $trans_identi_debito_automatico = "N"; // 094 a 094 - Ident. se emite Boleto para Débito Automático $trans_identi_operacao_banco = str_pad(" ", 10, " ", STR_PAD_LEFT); // 095 a 104 - Identificação da Operação do Banco $trans_identificacao_rateio = " "; // 105 a 105 - Indicador Rateio Crédito (Opcional) $trans_end_aviso_deb_automatico = "2"; // 106 a 106 - Endereçamento do Aviso de Débito Automático em Conta Corrente $trans_branco_107_108 = str_pad(" ", 2, " ", STR_PAD_LEFT); // 107 a 108 - Branco $trans_identificacao_ocorrencia = str_pad($sql->getCodOcorrencia(), 2, "0", STR_PAD_LEFT);// 109 a 110 - Nº do Documento $trans_num_documento = str_pad($sql->getCodBoleto(), 10, " ", STR_PAD_LEFT); // 111 a 120 - Nº do Documento $trans_dat_venc_titulo = str_pad(parent::ConvertData($sql->getDataVencimento()), 6, "0", STR_PAD_LEFT); // 121 a 126 - Data do Vencimento do Título $trans_valor_titulo = str_pad($this->SomenteNumero($sql->getValor()), 13, "0", STR_PAD_LEFT); // 127 a 139 - Valor do Título $trans_banco_encarregado_cobr = str_pad("0", 3, "0", STR_PAD_LEFT); // 140 a 142 - Banco Encarregado da Cobrança $trans_agencia_depositaria = str_pad("0", 5, "0", STR_PAD_LEFT); // 143 a 147 - Agência Depositária $trans_especie_titulo = "01"; // 148 a 149 - Espécie de Título $trans_identificacao = "N"; // 150 a 150 - Identificação $trans_data_emissao_titulo = str_pad(parent::ConvertData($sql->getDataFaturamento()), 6, "0", STR_PAD_LEFT);// 151 a 156 - Data da emissão do Título $trans_primeira_instrucao = "00"; // 157 a 158 - 1ª instrução $trans_segunda_instrucao = "00"; // 159 a 160 - 2ª instrução $trans_multa_dia_atraso = str_pad($vlr_mora, 13, "0", STR_PAD_LEFT); // 161 a 173 - Valor a ser cobrado por Dia de Atraso $trans_data_limite_desconto = str_pad("000000", 6, "0", STR_PAD_LEFT); // 174 a 179 - Data Limite P/Concessão de Desconto $trans_valor_desconto = str_pad("00", 13, "0", STR_PAD_LEFT); // 180 a 192 - Valor do Desconto $trans_valor_iof = str_pad("00", 13, "0", STR_PAD_LEFT); // 193 a 205 - Valor do IOF $trans_valor_abatimento = str_pad("00", 13, "0", STR_PAD_LEFT); // 206 a 218 - Valor do Abatimento a ser concedido ou cancelado $trans_tipo_ident_sacado = str_pad($tipo_pessoa, 02, "0", STR_PAD_LEFT); // 219 a 220 - Identificação do Tipo de Inscrição do Sacado $trans_num_inscricao_sacado = str_pad($CString->LimparTexto($Incricao), 14, "0", STR_PAD_LEFT); // 221 a 234 - Nº Inscrição do Sacado $trans_nome_sacado = str_pad(substr($CString->removerAcento($sql->getRazaoSocial()), 0, 40), 40, " ", STR_PAD_RIGHT);// 235 a 274 - Nome do Sacado $trans_endereco_sacado = str_pad(substr($CString->removerAcento($sql->getEND_SACADO() . " " . $sql->getNUMERO_END_SACADO() . " " . $sql->getBAIRRO_END_SACADO()), 0, 40), 40, " ", STR_PAD_RIGHT); // 275 a 314 - Endereço Completo $trans_primeira_mensagem = str_pad(substr("", 0, 12), 12, " ", STR_PAD_LEFT); // 315 a 326 - 1ª Mensagem $trans_cep_sacado = str_pad(substr($sql->getCep_sacado(), 0, 5), 5, "0", STR_PAD_LEFT); // 327 a 331 - CEP Sacado $trans_sufixo_cep = str_pad(substr($sql->getCep_sacado(), 5, 3), 3, "0", STR_PAD_LEFT); // 332 a 334 - Sufixo do CEP $trans_segunda_mensagem = str_pad("", 60, " ", STR_PAD_LEFT); // 335 a 394 - Sacador/Avalista ou 2ª Mensagem $trans_num_sequencial_registro = str_pad($cont++, 6, "0", STR_PAD_LEFT); // 395 a 400 - Nº Seqüencial do Registro $conteudo_arquivo .= $trans_identifi_registro; // 001 a 001 - Identificação do Registro $conteudo_arquivo .= $trans_agencia_cli; // 002 a 006 - Agência de Débito (Opcional) $conteudo_arquivo .= $trans_dig_ag_cli; // 007 a 007 - Dígito da Agência de Débito (Opcional) $conteudo_arquivo .= $trans_razao_conta_sacado; // 008 a 012 - Razão da Conta Corrente (Opcional) $conteudo_arquivo .= $trans_num_conta_cli; // 013 a 019 - Conta Corrente (Opcional) $conteudo_arquivo .= $trans_dig_conta_corrente_cli; // 020 a 020 - Dígito da Conta Corrente (Opcional) $conteudo_arquivo .= $trans_ident_empresa_banco; // 021 a 037 - Identificação da Empresa Cedente no Banco $conteudo_arquivo .= $trans_cod_controle; // 038 a 062 - Nº Controle do Participante $conteudo_arquivo .= $tran_cod_banco; // 063 a 065 - Código do Banco $conteudo_arquivo .= $trans_multa; // 066 a 066 - Campo de Multa (0 = Sem Multa - 2 = Com multa) $conteudo_arquivo .= $trans_percentual_multa; // 067 a 070 - Percentual de multa $conteudo_arquivo .= $trans_nosso_numero_com_digito; // 071 a 081 - Identificação do Título no Banco + 082 a 082 - Digito de Auto Conferencia do Número Bancário $conteudo_arquivo .= $trans_desc_boni_dia; // 083 a 092 - Desconto Bonificação por dia $conteudo_arquivo .= $trans_condicao_emissao_boleto; // 093 a 093 - Condição para Emissão da Papeleta de Cobrança $conteudo_arquivo .= $trans_identi_debito_automatico; // 094 a 094 - Ident. se emite Boleto para Débito Automático $conteudo_arquivo .= $trans_identi_operacao_banco; // 095 a 104 - Identificação da Operação do Banco $conteudo_arquivo .= $trans_identificacao_rateio; // 105 a 105 - Indicador Rateio Crédito (Opcional) $conteudo_arquivo .= $trans_end_aviso_deb_automatico; // 106 a 106 - Endereçamento do Aviso de Débito Automático em Conta Corrente $conteudo_arquivo .= $trans_branco_107_108; // 107 a 108 - Branco $conteudo_arquivo .= $trans_identificacao_ocorrencia; // 109 a 110 - Identificação de Ocorrência (Ver Layout) $conteudo_arquivo .= $trans_num_documento; // 111 a 120 - Nº do Documento $conteudo_arquivo .= $trans_dat_venc_titulo; // 121 a 126 - Data do Vencimento do Título $conteudo_arquivo .= $trans_valor_titulo; // 127 a 139 - Valor do Título $conteudo_arquivo .= $trans_banco_encarregado_cobr; // 140 a 142 - Banco Encarregado da Cobrança $conteudo_arquivo .= $trans_agencia_depositaria; // 143 a 147 - Agência Depositária $conteudo_arquivo .= $trans_especie_titulo; // 148 a 149 - Espécie de Título $conteudo_arquivo .= $trans_identificacao; // 150 a 150 - Identificação $conteudo_arquivo .= $trans_data_emissao_titulo; // 151 a 156 - Data da emissão do Título $conteudo_arquivo .= $trans_primeira_instrucao; // 157 a 158 - 1ª instrução $conteudo_arquivo .= $trans_segunda_instrucao; // 159 a 160 - 2ª instrução $conteudo_arquivo .= $trans_multa_dia_atraso; // 161 a 173 - Valor a ser cobrado por Dia de Atraso $conteudo_arquivo .= $trans_data_limite_desconto; // 174 a 179 - Data Limite P/Concessão de Desconto $conteudo_arquivo .= $trans_valor_desconto; // 180 a 192 - Valor do Desconto $conteudo_arquivo .= $trans_valor_iof; // 193 a 205 - Valor do IOF $conteudo_arquivo .= $trans_valor_abatimento; // 206 a 218 - Valor do Abatimento a ser concedido ou cancelado $conteudo_arquivo .= $trans_tipo_ident_sacado; // 219 a 220 - Identificação do Tipo de Inscrição do Sacado $conteudo_arquivo .= $trans_num_inscricao_sacado; // 221 a 234 - Nº Inscrição do Sacado $conteudo_arquivo .= $trans_nome_sacado; // 235 a 274 - Nome do Sacado $conteudo_arquivo .= $trans_endereco_sacado; // 275 a 314 - Endereço Completo $conteudo_arquivo .= $trans_primeira_mensagem; // 315 a 326 - 1ª Mensagem $conteudo_arquivo .= $trans_cep_sacado; // 327 a 331 - CEP Sacado $conteudo_arquivo .= $trans_sufixo_cep; // 332 a 334 - Sufixo do CEP $conteudo_arquivo .= $trans_segunda_mensagem; // 335 a 394 - Sacador/Avalista ou 2ª Mensagem $conteudo_arquivo .= $trans_num_sequencial_registro; // 395 a 400 - Nº Seqüencial do Registro $conteudo_arquivo .= "\r\n"; // Pula a linha para gravar o próximo registro } $this->RegistroTrailler($conteudo_arquivo, $cont); }