Guest User

importa_retorno.php

a guest
Sep 20th, 2014
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 10.25 KB | None | 0 0
  1. <?php
  2. include_once("config.php");
  3. function formataData($data) {
  4.       if($data=="")
  5.            return "";
  6.         //formata a data par ao padrão americano MM/DD/AA
  7.         $data =  substr($data, 2, 2) . "/". substr($data, 0, 2) . "/" . substr($data, 4, 4);
  8.  
  9.         //formata a data, a partir do padrão americano, para o padrão DD/MM/AAAA
  10.         return date("d/m/Y", strtotime($data));
  11.  
  12.     }
  13. // Pasta onde o arquivo vai ser salvo
  14. $_UP['pasta'] = 'uploads/';
  15.  
  16. // Tamanho máximo do arquivo (em Bytes)
  17. $_UP['tamanho'] = 2048 * 2048 * 2; // 2Mb
  18.  
  19. // Array com as extensões permitidas
  20. $_UP['extensoes'] = array('ret', 'cmp');
  21.  
  22. // Renomeia o arquivo? (Se true, o arquivo será salvo como .jpg e um nome único)
  23. $_UP['renomeia'] = false;
  24.  
  25. // Array com os tipos de erros de upload do PHP
  26. $_UP['erros'][0] = 'Não houve erro';
  27. $_UP['erros'][1] = 'O arquivo no upload é maior do que o limite do PHP';
  28. $_UP['erros'][2] = 'O arquivo ultrapassa o limite de tamanho especifiado no HTML';
  29. $_UP['erros'][3] = 'O upload do arquivo foi feito parcialmente';
  30. $_UP['erros'][4] = 'Não foi feito o upload do arquivo';
  31.  
  32. // Verifica se houve algum erro com o upload. Se sim, exibe a mensagem do erro
  33. if ($_FILES['arquivo']['error'] != 0) {
  34. die("Não foi possível fazer o upload, erro:<br />" . $_UP['erros'][$_FILES['arquivo']['error']]);
  35. exit; // Para a execução do script
  36. }
  37.  
  38. // Caso script chegue a esse ponto, não houve erro com o upload e o PHP pode continuar
  39.  
  40. // Faz a verificação da extensão do arquivo
  41. $extensao = strtolower(end(explode('.', $_FILES['arquivo']['name'])));
  42. if (array_search($extensao, $_UP['extensoes']) === false) {
  43. echo "Por favor, envie arquivos com as seguintes extensões: ret ou cmp";
  44. }
  45.  
  46. // Faz a verificação do tamanho do arquivo
  47. else if ($_UP['tamanho'] < $_FILES['arquivo']['size']) {
  48. echo "O arquivo enviado é muito grande, envie arquivos de até 4Mb.";
  49. }
  50.  
  51. // O arquivo passou em todas as verificações, hora de tentar movê-lo para a pasta
  52. else {
  53. // Primeiro verifica se deve trocar o nome do arquivo
  54. if ($_UP['renomeia'] == true) {
  55. // Cria um nome baseado no UNIX TIMESTAMP atual e com extensão .jpg
  56. $nome_final = time().'.ret';
  57. } else {
  58. // Mantém o nome original do arquivo
  59. $nome_final = $_FILES['arquivo']['name'];
  60. }
  61.  
  62. // Depois verifica se é possível mover o arquivo para a pasta escolhida
  63. //if (move_uploaded_file($_FILES['arquivo']['tmp_name'], $_UP['pasta'] . $nome_final)) {
  64. // Upload efetuado com sucesso, exibe uma mensagem e um link para o arquivo
  65. //echo "Upload efetuado com sucesso!";
  66. //echo '<br /><a href="' . $_UP['pasta'] . $nome_final . '">Clique aqui para acessar o arquivo</a>';
  67. //} else {
  68. // Não foi possível fazer o upload, provavelmente a pasta está incorreta
  69. //echo "Não foi possível enviar o arquivo, tente novamente";
  70. //}
  71. if (move_uploaded_file($_FILES['arquivo']['tmp_name'], $_UP['pasta'] . $nome_final)) {
  72.             $lendo = @fopen($_UP['pasta']."/".$nome_final,"r");
  73.             if (!$lendo){
  74.                 echo "Erro ao abrir a URL.";
  75.                 exit;
  76.             }
  77.             $i = 0;
  78.            
  79.             while (!feof($lendo)){
  80.                 $i++;
  81.                 $linha = fgets($lendo,9999);
  82.                 $t_u_segmento = substr($linha,13,1);//Segmento T ou U
  83.                 $t_tipo_reg = substr($linha,7,1);//Tipo de Registro
  84.                 if($t_u_segmento == 'T'){
  85.                     $t_cod_banco = substr($linha,0,3);//Código do banco na compensação
  86.                     $t_lote = substr($linha,3,4);//Lote de serviço - Número seqüencial para identificar um lote de serviço.
  87.                     $t_n_sequencial = substr($linha,8,5);//Nº Sequencial do registro no lote
  88.                     $t_cod_seg = substr($linha,15,2);//Cód. Segmento do registro detalhe
  89.                     $t_cod_conv_banco = substr($linha,23,6);//Código do convênio no banco - Código fornecido pela CAIXA, através da agência de relacionamento do cliente. Deve ser preenchido com o código do Cedente (6 posições).
  90.                     $t_n_banco_sac = substr($linha,32,3);//Numero do banco de sacados
  91.                     $t_mod_nosso_n = substr($linha,39,2);//Modalidade nosso número
  92.                     $t_id_titulo_banco = substr($linha,38,19);//Identificação do titulo no banco - Número adotado pelo Banco Cedente para identificar o Título.
  93.                     $t_cod_carteira = substr($linha,57,1);//Código da carteira - Código adotado pela FEBRABAN, para identificar a característica dos títulos. 1=Cobrança Simples, 3=Cobrança Caucionada, 4=Cobrança Descontada
  94.                     $t_num_doc_cob = substr($linha,52,5);//Número do documento de cobrança - Número utilizado e controlado pelo Cliente, para identificar o título de cobrança.
  95.                     $t_dt_vencimento = substr($linha,73,8);//Data de vencimento do titulo - Data de vencimento do título de cobrança.
  96.                     $t_v_nominal = substr($linha,81,13);//Valor nominal do titulo - Valor original do Título. Quando o valor for expresso em moeda corrente, utilizar 2 casas decimais.
  97.                     $t_cod_banco2 = substr($linha,96,3);//Código do banco
  98.                     $t_cod_ag_receb = substr($linha,99,5);//Codigo da agencia cobr/receb - Código adotado pelo Banco responsável pela cobrança, para identificar o estabelecimento bancário responsável pela cobrança do título.
  99.                     $t_dv_ag_receb = substr($linha,104,1);//Dígito verificador da agencia cobr/receb
  100.                     $t_id_titulo_empresa = substr($linha,105,25);//identificação do título na empresa - Campo destinado para uso da Empresa Cedente para identificação do Título. Informar o Número do Documento - Seu Número.
  101.                     $t_cod_moeda = substr($linha,130,2);//Código da moeda
  102.                     $t_tip_inscricao = substr($linha,132,1);//Tipo de inscrição - Código que identifica o tipo de inscrição da Empresa ou Pessoa Física perante uma Instituição governamental: 0=Não informado, 1=CPF, 2=CGC / CNPJ, 9=Outros.
  103.                     $t_num_inscricao = substr($linha,133,15);//Número de inscrição - Número de inscrição da Empresa (CNPJ) ou Pessoa Física (CPF).
  104.                     $t_nome = substr($linha,148,40);//Nome - Nome que identifica a entidade, pessoa física ou jurídica, Cedente original do título de cobrança.
  105.                     $t_v_tarifa_custas = substr($linha,198,13);//Valor da tarifa/custas
  106.                     $t_id_rejeicoes = substr($linha,213,10);//Identificação para rejeições, tarifas, custas, liquidação e baixas
  107.                     $t_data_credito = substr($linha, 200,8);
  108.  
  109.                 }
  110.                 if($t_u_segmento == 'U'){
  111.                     $t_id_titulo_banco;
  112.                     $u_cod_banco = substr($linha,0,3);//Código do banco na compensação
  113.                     $u_lote = substr($linha,3,4);//Lote de serviço - Número seqüencial para identificar um lote de serviço.
  114.                     $u_tipo_reg = substr($linha,7,1);//Tipo de Registro - Código adotado pela FEBRABAN para identificar o tipo de registro: 0=Header de Arquivo, 1=Header de Lote, 3=Detalhe, 5=Trailer de Lote, 9=Trailer de Arquivo.
  115.                     $u_n_sequencial = substr($linha,8,5);//Nº Sequencial do registro no lote
  116.                     $u_cod_seg = substr($linha,15,2);//Cód. Segmento do registro detalhe
  117.                     $u_juros_multa = substr($linha,17,15);//Jurus / Multa / Encargos - Valor dos acréscimos efetuados no título de cobrança, expresso em moeda corrente.
  118.                     $u_desconto = substr($linha,32,15);//Valor do desconto concedido - Valor dos descontos efetuados no título de cobrança, expresso em moeda corrente.
  119.                     $u_abatimento = substr($linha,47,15);//Valor do abat. concedido/cancel. - Valor dos abatimentos efetuados ou cancelados no título de cobrança, expresso em moeda corrente.
  120.                     $u_iof = substr($linha,62,15);//Valor do IOF recolhido - Valor do IOF - Imposto sobre Operações Financeiras - recolhido sobre o Título, expresso em moeda corrente.
  121.                     $u_v_pago = substr($linha,77,15);//Valor pago pelo sacado - Valor do pagamento efetuado pelo Sacado referente ao título de cobrança, expresso em moeda corrente.
  122.                     $u_v_liquido = substr($linha,92,15);//Valor liquido a ser creditado - Valor efetivo a ser creditado referente ao Título, expresso em moeda corrente.
  123.                     $u_v_despesas = substr($linha,107,15);//Valor de outras despesas - Valor de despesas referente a Custas Cartorárias, se houver.
  124.                     $u_v_creditos = substr($linha,122,15);//Valor de outros creditos - Valor efetivo de créditos referente ao título de cobrança, expresso em moeda corrente.
  125.                     $u_dt_ocorencia = substr(substr($linha,137,8),4,4).'-'.substr(substr($linha,137,8),2,2).'-'.substr(substr($linha,137,8),0,2);//Data da ocorrência - Data do evento que afeta o estado do título de cobrança.
  126.                     $u_dt_efetivacao = formataData(substr($linha,  145,8));//Data da efetivação do credito - Data de efetivação do crédito referente ao pagamento do título de cobrança.
  127.                     $u_dt_efetivacao1 = substr($linha,145,2);//Data da efetivação do credito - Data de efetivação do crédito referente ao pagamento do título de cobrança.
  128.                     $u_dt_efetivacao2 = substr($linha,145,4);//Data da efetivação do credito - Data de efetivação do crédito referente ao pagamento do título de cobrança.
  129.  
  130.                     $u_dt_debito = substr($linha,157,8);//Data do débito da tarifa
  131.                     $u_cod_sacado = substr($linha,167,15);//Código do sacado no banco
  132.                     $u_cod_banco_comp = substr($linha,210,3);//Cód. Banco Correspondente compens - Código fornecido pelo Banco Central para identificação na Câmara de Compensação, do Banco ao qual será repassada a Cobrança do Título.
  133.                     $u_nn_banco = substr($linha,213,20);//Nosso Nº banco correspondente - Código fornecido pelo Banco Correspondente para identificação do Título de Cobrança. Deixar branco (Somente para troca de arquivos entre Bancos).
  134.  
  135.                     $u_juros_multa = substr($u_juros_multa,0,13).'.'.substr($u_juros_multa,13,2);
  136.                     $u_desconto = substr($u_desconto,0,13).'.'.substr($u_desconto,13,2);
  137.                     $u_abatimento = substr($u_abatimento,0,13).'.'.substr($u_abatimento,13,2);
  138.                     $u_iof = substr($u_iof,0,13).'.'.substr($u_iof,13,2);
  139.                     $u_v_pago = substr($u_v_pago,0,13).'.'.substr($u_v_pago,13,2);
  140.                     $u_v_liquido = substr($u_v_liquido,0,13).'.'.substr($u_v_liquido,13,2);
  141.                     $u_v_despesas = substr($u_v_despesas,0,13).'.'.substr($u_v_despesas,13,2);
  142.                     $u_v_creditos = substr($u_v_creditos,0,13).'.'.substr($u_v_creditos,13,2);
  143.  
  144.                     $data_agora = date('Y-m-d');
  145.                     $hora_agora = date('H:i:s');
  146.                     $atualiza = "UPDATE numero SET status ='pago'  WHERE numero='$t_id_titulo_banco'";
  147.                     $query = mysql_query($atualiza);
  148.                     echo $t_num_doc_cob;
  149.                 }
  150.             }
  151.             if ($lendo){
  152.                 echo "Atualizado.";
  153.                 exit;
  154.                 } else {echo "houve um erro ao ler o arquivo";}
  155.             fclose($lendo);
  156.         }
  157. }
  158.  
  159.  
  160.        
  161.            
  162. ?>
Advertisement
Add Comment
Please, Sign In to add comment