<?php exit;
include('../../fncr-geral/configuracao_geral.php');

if(isset($_GET['r']) && isset($_GET['m']) && isset($_GET['a'])){

  $registro = preg_replace("/[^0-9]/", "", $_GET['r']); // 1 = Envio / 2 = Alteracao / 3 = Cancelamento
  $periodo_mes = preg_replace("/[^0-9]/", "", $_GET['m']);
  $periodo_ano = preg_replace("/[^0-9]/", "", $_GET['a']);

  // REMESSA DE ENVIO
  if($registro == "1"){

    // Dados do Registro
    $sql_registros = $bd->getConexao()->prepare('
    SELECT clubes_boletos.*,
      clubes_boletos.id AS id_boleto,
      DATE_FORMAT(clubes_boletos.vencimento,"%d%m%Y") AS data_vencimento,
      DATE_FORMAT(clubes_boletos.emissao,"%d%m%Y") AS data_emissao,
      clubes.*
    FROM clubes_boletos
      LEFT JOIN clubes ON clubes.id = clubes_boletos.id_clube
    WHERE clubes_boletos.periodo_mes = :periodo_mes AND clubes_boletos.periodo_ano = :periodo_ano AND clubes_boletos.status = 0 AND clubes_boletos.remessa_envio = 0');
    $sql_registros->bindValue(':periodo_mes', $periodo_mes, PDO::PARAM_STR);
    $sql_registros->bindValue(':periodo_ano', $periodo_ano, PDO::PARAM_STR);
    if( $sql_registros->execute() ) { $resul_registros = $sql_registros->fetchall(PDO::FETCH_ASSOC);}

  }

  function remover_acentos2($string, $slug = false) {
    $string = strtolower($string);
    // Código ASCII das vogais
    $ascii['a'] = range(224, 230);
    $ascii['e'] = range(232, 235);
    $ascii['i'] = range(236, 239);
    $ascii['o'] = array_merge(range(242, 246), array(240, 248));
    $ascii['u'] = range(249, 252);
    // Código ASCII dos outros caracteres
    $ascii['b'] = array(223);
    $ascii['c'] = array(231);
    $ascii['d'] = array(208);
    $ascii['n'] = array(241);
    $ascii['y'] = array(253, 255);
    foreach ($ascii as $key=>$item) {
      $acentos = '';
      foreach ($item AS $codigo) $acentos .= chr($codigo);
      $troca[$key] = '/['.$acentos.']/i';
    }
    $string = preg_replace(array_values($troca), array_keys($troca), $string);
    // Slug?
    if ($slug) {
      // Troca tudo que não for letra ou número por um caractere ($slug)
      $string = preg_replace('/[^a-z0-9]/i', $slug, $string);
      // Tira os caracteres ($slug) repetidos
      $string = preg_replace('/' . $slug . '{2,}/i', $slug, $string);
      $string = trim($string, $slug);
    }
    return $string;
  }

  function remover_acentos($string){
    return preg_replace(array("/(á|à|ã|â|ä)/","/(Á|À|Ã|Â|Ä)/","/(é|è|ê|ë)/","/(É|È|Ê|Ë)/","/(í|ì|î|ï)/","/(Í|Ì|Î|Ï)/","/(ó|ò|õ|ô|ö)/","/(Ó|Ò|Õ|Ô|Ö)/","/(ú|ù|û|ü)/","/(Ú|Ù|Û|Ü)/","/(ñ)/","/(Ñ)/","/(ç)/","/(Ç)/","/(´)/","/(º)/","/(ª)/"),explode(" ","a A e E i I o O u U n N c C"),$string);
  }


  // Dados do Registro
  $sql_remessas = $bd->getConexao()->prepare('SELECT * FROM clubes_boletos_remessa');
  if( $sql_remessas->execute() ) { $resul_remessas = $sql_remessas->fetchall(PDO::FETCH_ASSOC);}

  $seq_remessa = count($resul_remessas)+1;


  // *****************************************************************************************************************
  // DADOS BENEFICIÁRIO
  // *****************************************************************************************************************

  $empresa        = 'App Poker Web Sistemas Ltda'; // nome da empresa tal como esta cadastrado na caixa
  $cpf_cnpj       = '25131762000158'; // cnpj da empresa ou escola
  $banco          = '748'; // numero da agencia da escola
  $agencia        = '0710'; // numero da agencia da escola
  $dv_agencia     = ' ';  // digito da agenda
  $conta          = '21486'; // numero do cedente
  $dv_conta       = '1';  // digito da agenda
  $carteira       = ''; // carteira de boleto com registro da caixa comeca sempre com 14

  // *****************************************************************************************************************
  // INFORMAÇÕES DO ARQUIVO
  // *****************************************************************************************************************

  // Remessas
  $sql_remessas = $bd->getConexao()->prepare('SELECT * FROM clubes_boletos_remessa WHERE emissao = :data');
  $sql_remessas->bindValue(':data', date("Y-m-d"), PDO::PARAM_STR);
  if( $sql_remessas->execute() ) { $resul_remessas = $sql_remessas->fetchall(PDO::FETCH_ASSOC);}

  $qtd_r = count($resul_remessas)+1;

  $num_remessa    = $qtd_r;         // Numero da Remessa do Dia
  $tipo_remessa   = 1;              // 1=entrada / 2=baixa / 6=alterar vencimento (C004)
  $lote_seq       = 1;              // Número sequencial de lotes

  // *****************************************************************************************************************
  // CONFIGURAÇÕES FINANCEIRAS
  // *****************************************************************************************************************

  $forma_cobrar_juros = '3';    // 27.3P -> JUROS --> Tipo de prefer�ncia: 1 = Valor por Dia / 2 = Taxa Mensal  / 3 = Isento
  $taxa_juros_mes     = '000';  // TAXA DE JUROS AO MES COM 2 CASAS DECIMAIS
  $valor_multa        = '000';  // taxa percentual da multa por atraso contendo 2 (duas) casas decimais. P.ex. aqui e' 2,00 %
  $forma_desconto     = '7';    // 30.3P -> DESCONTO 1 --> Cod. do desconto 1. Tipo: 0 = Sem Desconto / 1 = Valor Fixo / 2 = Percentual

  // *****************************************************************************************************************
  // INFORMAÇÕES DOS BOLETOS
  // *****************************************************************************************************************

  $i=0; $boletos=[];
  foreach($resul_registros as $b){

    $nosso_numero = preg_replace("/[^0-9]/", "", $b['nosso_numero']);
    $doc = preg_replace("/[^0-9]/", "", $b['documento']);
    $valor = preg_replace("/[^0-9]/", "", $b['valor']);
    $cep = preg_replace("/[^0-9]/", "", $b['cep']);

    if($b['endereco']!=""){$end = remover_acentos($b['endereco']);}else{$end = "NNN";}
    $bairro = 'NNN';

    if($b['razao']!="" && $b['cnpj']!=""){
      $clube_doc_tipo = 2;
      $clube_doc_num = preg_replace("/[^0-9]/", "", $b['cnpj']);
    }else{
      $clube_doc_tipo = 1;
      $clube_doc_num = preg_replace("/[^0-9]/", "", $b['cpf']);
    }

    // DADOS: Financeiro
    $boletos[$i]['nosso_numero']           = $nosso_numero;           // NOSSO NUMERO USADO NO SEU BOLETO E QUE SERA ENVIADO AO BANCO
    $boletos[$i]['numero_documento']       = $doc;                    // ID REGISTRO FINANCEIRO
    $boletos[$i]['data_vencimento']        = $b['data_vencimento'];   // DATA DE VENCIMENTO DO BOLETO
    $boletos[$i]['valor_boleto']           = $valor;                  // VALOR DO BOLETO COM 2 CASAS DECIMAIS --> R$ 250,45
    $boletos[$i]['data_emissao']           = $b['data_emissao'];      // DATA DE EMISSAO DO BOLETO
    $boletos[$i]['data_juros']             = $b['data_vencimento'];   // DATA DOS JUROS
    $boletos[$i]['data_desconto']          = $b['data_vencimento'];   // DATA LIMITE PARA APLICACAO DO DESCONTO DO BOLETO
    $boletos[$i]['valor_desconto']         = '0000';                  // VALOR DA TAXA DE DESCONTO, AQUI => 13,67% SOBRE O VALOR NOMINAL DO TITULO
    $boletos[$i]['valor_abatimento']       = '000';                   // VALOR DO ABATIMENTO. ( *** PODE DEIXAR ZERADO) PORQUE NAO E' A MESMA COISA QUE DESCONTO

    // DADOS: Clube
    $boletos[$i]['pagador_doc_tipo']       = $clube_doc_tipo;                // Tipo de inscri��o do pagador / 1 = pessoa fisica / 2 = pessoa juridica
    $boletos[$i]['pagador_doc_num']        = $clube_doc_num;                 // ESSE CPF TEM QUE SER VALIDO JUNTO A RECEITA FEDERAL. ESTE USADO AQUI E' APENAS 1 EXEMPLO E FICTICIO. USE UM VALIDO.
    $boletos[$i]['pagador_nome']           = remover_acentos($b['nome']);    // NAO USAR CARACTERES ACENTUADOS, COM TIL, CEDILHA OU SIMBOLOS
    $boletos[$i]['pagador_endereco']       = remover_acentos($end);          // ENDERECO
    $boletos[$i]['pagador_bairro']         = remover_acentos($bairro);       // BAIRRO
    $boletos[$i]['pagador_cep']            = $cep;                           // CEP
    $boletos[$i]['pagador_cidade']         = remover_acentos($b['cidade']);  // CIDADE
    $boletos[$i]['pagador_estado']         = $b['uf'];                       // ESTADO

    $i++;

  }

  if($num_remessa<=10){

    $qtd_boletos = count($boletos);
    include("remessa_gerar.php");

    if($qtd_boletos>0){

      $sql_cadastrar_data = $bd->getConexao()->prepare('INSERT INTO clubes_boletos_remessa
      (periodo_mes, periodo_ano, emissao, tipo, numero, status) VALUES (
      "'.$periodo_mes.'","'.$periodo_ano.'","'.date("Y-m-d").'","1","'.$num_remessa.'","0")');
      if( $sql_cadastrar_data->execute() );

      foreach($resul_registros as $b2){
        $sql_alterar = $bd->getConexao()->prepare('UPDATE clubes_boletos SET remessa_envio = 1 WHERE id = :id_boleto');
        $sql_alterar->bindValue(':id_boleto', $b2['id_boleto'], PDO::PARAM_STR);
        if( $sql_alterar->execute() );
      }

    }

  }else{ echo 'Limite de 10 remessas emitidas no dia'; }

}
?>
<?php $bd = null; $bd_fn = null;?>
