function enviarEmailsCartoesPrePagos()
 {
     $hoje = date("Y-m-d");
     $hojets = strtotime($hoje);
     $this->getById(2);
     $ultimoDiats = strtotime($this->data);
     $dia = date("Y-m-d", $ultimoDiats);
     $i = 1;
     $dia = date("Y-m-d", mktime(0, 0, 0, date("m", $ultimoDiats), date("d", $ultimoDiats) + $i, date("Y", $ultimoDiats)));
     $i = 2;
     $oPag = new Pagamento();
     $log = "";
     while (str_replace("-", "", $dia) <= str_replace("-", "", $hoje)) {
         $rs = $oPag->getRows(0, 999, array(), array("dataPagamento" => "='" . $dia . "'", "tipo" => "=2"));
         $log .= "Email de Cartões Pré-pagos para o dia: " . $this->convdata($dia, "mtn") . " <br/>";
         $j = 0;
         foreach ($rs as $key => $pagamento) {
             $log .= "Grupo: " . $pagamento->participante->grupo->nomePacote . " - Participante: " . $pagamento->participante->cliente->nomeCompleto . " - Valor: " . $pagamento->valorPagamento . " <br/>";
             $j++;
         }
         if ($j > 0) {
             $this->mail_html($this->destinatarios, $this->REMETENTE, 'Agendamento de Cartões de Crédito', $log);
         }
         $dia = date("Y-m-d", mktime(0, 0, 0, date("m", $ultimoDiats), date("d", $ultimoDiats) + $i, date("Y", $ultimoDiats)));
         $i++;
     }
     //fim do loop de dias
     $this->data = $hoje;
     $this->save();
 }
$configPaginacao = $oParticipante->paginar($totalParticipantes, $pagina);
$rsPartic = $oParticipante->pesquisa($configPaginacao['primeiroRegistro'], $configPaginacao['quantidadePorPagina'], $idGrupo, $strBusca);
$tpl->MODELO_CONTRATO = $oGrupo->modeloContrato;
$tpl->MODELO_FICHA = $oGrupo->modeloFicha;
if ($configPaginacao['totalPaginas'] > 1) {
    $tpl->block("BLOCK_PAGINACAO");
}
$tpl->TOTAL_PAGINAS = $configPaginacao['totalPaginas'];
$tpl->PAGINA_ANTERIOR = $configPaginacao['paginaAnterior'];
$tpl->PROXIMA_PAGINA = $configPaginacao['proximaPagina'];
$tpl->PAGINA = $pagina;
foreach ($rsPartic as $key => $participante) {
    //$tpl->ID = $participante->id;
    //calcula o status dos pagamentos;
    $tpl->STATUS_ABAT = 'status-ok';
    $rsPag = $oP->getRows(0, 999, array("id" => "asc"), array("participante" => " = " . $participante->id, "cancelado" => "=0"));
    foreach ($rsPag as $key => $pagamento) {
        $totalAbatMoedaGrupo = $oA->totalAbatimentos($pagamento->id);
        $totalAbatMoedaPagamento = $pagamento->CALCULA_MOEDA($totalAbatMoedaGrupo, $participante->grupo->moeda->id);
        if ($totalAbatMoedaPagamento < $pagamento->valorPagamento && $pagamento->devolucao == 0) {
            $tpl->STATUS_ABAT = 'status-alert';
        }
    }
    $tpl->CIFRAO = $oGrupo->moeda->cifrao;
    $tpl->PAGO = $oParticipante->money($participante->recuperaValorPago(), "atb") . "/" . $oParticipante->money($participante->valorTotal, "atb");
    $tpl->RESTA = "Pendêndia: " . $oGrupo->moeda->cifrao . " " . $oParticipante->money($participante->valorTotal - $participante->recuperaValorPago(), "atb");
    $tpl->DT_INSCR = $participante->convdata($participante->dataInscricao, "mtn");
    $tpl->NOME = $participante->cliente->nomeCompleto;
    $tpl->OPCIONAL = $participante->pacoteOpcional ? "Sim" : "Não";
    $tpl->ID_CLIENTE_HASH = $oParticipante->md5_encrypt($participante->cliente->id);
    $tpl->CPF = $oParticipante->formataCPFCNPJ($participante->cliente->cpf);
$codTemplate = "relatorio";
include "tupi.template.inicializar.php";
$codAcesso = 34;
include "tupi.seguranca.php";
//titulo do relatorio
$tpl->TITULO = "Relatório Mensal de Forma de Pagamento";
$tpl->DATA_RELATORIO = "Data/Hora:" . date("d/m/Y h:i:s");
$oC = new Cheque();
$om = new Moeda();
$oP = new Pagamento();
$oTP = new TipoPagamento();
$oTT = new TipoTransferencia();
$dataRelatorio = $_REQUEST['ano'] . "-" . $_REQUEST['mes'] . "-01";
$dataFimRelatorio = $oP->ultimoDiaMes($dataRelatorio);
$filtro = array("dataPagamento" => "between '" . $dataRelatorio . "' and '" . $dataFimRelatorio . "'", "cancelado" => "=0");
$rs = $oP->getRows(0, 9999, array(), $filtro);
$rsCheques = $oC->pesquisa($dataRelatorio, $dataFimRelatorio, "", 0);
//$tpl->DATA_ATUAL = date("d/m/Y");
$valorEspecie = 0;
$valorCartao = 0;
$valorCheque = 0;
$valorTED = 0;
$valorDOC = 0;
$valorTransf = 0;
$valorDeposito = 0;
$valorDebito = 0;
//dollar
$valorEspecied = 0;
$valorCartaod = 0;
$valorChequed = 0;
$valorTEDd = 0;
     $valorChequed += @($cheque->valor / $cheque->pagamento->cotacaoReal);
     $valorCheque += $cheque->valor;
 }
 //recupera os participantes
 $rsPartic = $oPartic->getRows(0, 999, array(), array("grupo" => "=" . $grupo->id));
 foreach ($rsPartic as $keyPart => $part) {
     //somatorios do custo
     if ($part->status->id != $oPartic->STATUS_DESISTENTE()) {
         if ($grupo->moeda->id == $om->DOLLAR()) {
             @($custoDollar += $part->custoTotal);
         } else {
             @($custoDollar += $part->custoTotal / $grupo->cotacaoCusto);
         }
     }
     //RECUPERA TODOS OS PAGAMENTOS DO GRUPO NO PERIODO
     $rsPgt = $oP->getRows(0, 999, array(), array("participante" => "=" . $part->id, "dataPagamento" => "between '" . $dataRelatorio . "' and '" . $dataFimRelatorio . "'", "cancelado" => "=0"));
     foreach ($rsPgt as $keyPag => $p) {
         switch ($p->tipo->id) {
             case $oTP->DINHEIRO():
                 //somatorios dos valores
                 $recebimentoDollar += @$p->CALCULA_DOLLAR();
                 $recebimentoReal += @$p->CALCULA_REAL();
                 $valorEspecie += $p->CALCULA_REAL();
                 break;
             case $oTP->CARTAO():
                 //somatorios dos valores
                 $recebimentoDollar += @$p->CALCULA_DOLLAR();
                 $recebimentoReal += @$p->CALCULA_REAL();
                 $valorCartao += $p->CALCULA_REAL();
                 break;
             case $oTP->DEBITO():
$totalRecebReal = 0;
$totalDevolucaoDollar = 0;
$totalDevolucaoReal = 0;
$qtdParticipante = 0;
//recupera os participantes
$rsPartic = $oPartic->getRows(0, 999, array(), array("grupo" => "=" . $oG->id, "status" => "=" . $oPartic->STATUS_DESISTENTE()));
foreach ($rsPartic as $keyPart => $part) {
    $qtdParticipante++;
    $RecebDollar = 0;
    $RecebReal = 0;
    $CanceladoDollar = 0;
    $CanceladoReal = 0;
    $CreditoDollar = 0;
    $CreditoReal = 0;
    //RECUPERA TODOS OS PAGAMENTOS CANCELADOS DO PARTICIPANTE
    $rsPgt = $oP->getRows(0, 999, array(), array("participante" => "=" . $part->id, "cancelado" => "=1"));
    foreach ($rsPgt as $keyPag => $p) {
        $RecebDollar += $p->CALCULA_DOLLAR();
        $RecebReal += $p->CALCULA_REAL();
    }
    //recupera os pagamentos de cancelamento do participante
    $rsPgt = $oP->getRows(0, 999, array(), array("participante" => "=" . $part->id, "cancelado" => "=0", "finalidade" => "=" . $oF->CANCELAMENTO()));
    foreach ($rsPgt as $keyPag => $p) {
        $CanceladoDollar += $p->CALCULA_DOLLAR();
        $CanceladoReal += $p->CALCULA_REAL();
    }
    //recupera o credito deixado para o cliente pelo cancelamento
    $rsCred = $oC->getRows(0, 999, array(), array("participante" => "=" . $part->id));
    foreach ($rsCred as $keyCred => $cred) {
        $CreditoDollar += $cred->CALCULA_DOLLAR();
        $CreditoReal += $cred->CALCULA_REAL();
 function recuperaValorTodosPagamentos($idMoeda)
 {
     $oPagamento = new Pagamento();
     $om = new Moeda();
     $total = 0;
     $rs = $oPagamento->getRows(0, 999, array(), array("participante" => "=" . $this->id, "cancelado" => "=0"));
     foreach ($rs as $key => $pag) {
         if ($idMoeda == $om->DOLLAR()) {
             $total += $pag->CALCULA_DOLLAR();
         } else {
             $total += $pag->CALCULA_REAL();
         }
     }
     return $total;
 }