include "tupi.inicializar.php";
$codTemplate = "relatorioHorizontal";
include "tupi.template.inicializar.php";
$codAcesso = 37;
include "tupi.seguranca.php";
//titulo do relatorio
$tpl->TITULO = "Relatório de desistentes por período";
$tpl->DATA_RELATORIO = "Data/Hora:" . date("d/m/Y h:i:s");
//declara as classes
$om = new Moeda();
$oP = new Pagamento();
$oTP = new TipoPagamento();
$oTT = new TipoTransferencia();
$oG = new Grupo();
$oPartic = new Participante();
$oF = new FinalidadePagamento();
$oC = new Credito();
$oG->getById($oG->md5_decrypt($_REQUEST['idGrupo']));
$totalRecebDollar = 0;
$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;
$oGrupo = new Grupo();
$oPagamento = new Pagamento();
$idGrupo = $oGrupo->md5_decrypt($_REQUEST['idGrupo']);
$oGrupo->getById($idGrupo);
$tpl->NOME_GRUPO = $oGrupo->nomePacote;
$tpl->ID_GRUPO = $_REQUEST['idGrupo'];
$tpl->ID_PARTICIPANTE = $_REQUEST['idParticipante'];
$tpl->ID_PARTICIPANTE_REP = $oGrupo->md5_decrypt($_REQUEST['idParticipante']);
$oPartic = new Participante();
$oPartic->getById($oPartic->md5_decrypt($_REQUEST['idParticipante']));
$tpl->NOME_PARTICIPANTE = $oPartic->cliente->nomeCompleto;
$tpl->ACAO = 'IncluirPagamento';
$tpl->DEV = $_REQUEST['dev'];
$otp = new TipoPagamento();
$rs = $otp->getRows();
$ofin = new FinalidadePagamento();
$rsf = $ofin->getRows();
$idtp = 0;
$idFinalidade = 0;
$tpl->ABAT_AUTO_CHECKED = 'checked="checked"';
//carrega dados do pagamento
if (isset($_REQUEST['idPagamento'])) {
    $tpl->ACAO = 'AlterarPagamento';
    $oPagamento->getById($oPagamento->md5_decrypt($_REQUEST['idPagamento']));
    $idtp = $oPagamento->tipo->id;
    $idFinalidade = $oPagamento->finalidade->id;
    $tpl->DATA_PAGAMENTO = $oPagamento->convdata($oPagamento->dataPagamento, "mtn");
    $tpl->OBS = $oPagamento->obs;
    $tpl->ABAT_AUTO_CHECKED = $oPagamento->abatimentoAutomatico == 1 ? 'checked="checked"' : "";
    $tpl->ID_TIPO = $idtp;
    $tpl->ID = $oPagamento->id;
 function cancelar()
 {
     $this->getById($this->md5_Decrypt($_REQUEST['idParticipante']));
     $oPag = new Pagamento();
     $fp = new FinalidadePagamento();
     $rs = $oPag->getRows(0, 999, array(), array("participante" => "=" . $this->id, "cancelado" => "=0", "finalidade" => "!=" . $fp->CANCELAMENTO()));
     foreach ($rs as $key => $pag) {
         $pag->cancelarPagamento();
     }
     if ($_REQUEST['valorMulta'] != "" && $_REQUEST['valorMulta'] > 0) {
         $oPag->participante = $this;
         $oPag->dataPagamento = date("Y-m-d");
         $oPag->valorPagamento = $this->money($_REQUEST['valorMulta'], "bta");
         $oPag->obs = "Cancelamento de Inscri??o - Multa Recis?ria";
         $oPag->abatimentoAutomatico = 0;
         $oPag->cotacaoReal = $this->money($_REQUEST['cotacaoReal'], "bta");
         $oPag->cotacaoMoedaReal = 0;
         $oPag->parcela = 1;
         $oPag->cancelado = 0;
         $oPag->devolucao = 0;
         $oFinalidade = new FinalidadePagamento();
         $oFinalidade->id = $oFinalidade->CANCELAMENTO();
         $oPag->finalidade = $oFinalidade;
         $oMoeda = new Moeda();
         $oMoeda->id = $this->grupo->moeda->id;
         $oTipoP = new TipoPagamento();
         $oTipoP->id = $oTipoP->DINHEIRO();
         $oPag->moeda = $oMoeda;
         $oPag->tipo = $oTipoP;
         $oPag->save();
         //gera o abatimento do pagamento de cancelamento para o relat?rio
         $oG = new Grupo();
         $oG->getById($this->grupo->id);
         $oAbat = new Abatimento();
         if ($oG->moeda->id == $oMoeda->DOLLAR()) {
             $oAbat->valor = $oPag->CALCULA_DOLLAR();
         } else {
             $oAbat->valor = $oPag->CALCULA_REAL();
         }
         $oAbat->participante = $this;
         $oAbat->pagamento = $oPag;
         $oAbat->save();
     }
     if ($_REQUEST['valorCredito'] != "" && $_REQUEST['valorCredito'] > 0) {
         $oCred = new Credito();
         $oCred->cliente = $this->cliente;
         $oCred->moeda = $this->grupo->moeda;
         $oCred->valor = $this->money($_REQUEST['valorCredito'], "bta");
         $oCred->data = date("Y-m-d");
         $oCred->participante = $this;
         $oCred->obs = "Cancelamento de Inscri??o - Cr?dito do Grupo: " . $this->grupo->nomePacote;
         $oCred->bitUtilizado = 0;
         $oCred->cotacaoReal = $this->money($_REQUEST['cotacaoReal'], "bta");
         $oCred->save();
     }
     $oS = new StatusParticipante();
     $oS->id = $this->STATUS_DESISTENTE();
     $this->status = $oS;
     $this->dataInscricao = date("Y-m-d");
     $this->save();
     $oD = new Distribuicao();
     $oD->remover($this->md5_decrypt($_REQUEST['idParticipante']));
     //grava log de usuario
     $oLog = new LogUsuario();
     $data = date("Y-m-d H:i:s");
     $usuario = new Usuario();
     $usuario->id = $_SESSION['ag_idUsuario'];
     $movimento = "CANCELAR (DESISTENTE) PARTICIPANTE<BR> CLIENTE: " . $this->cliente->nomeCompleto . "<BR> GRUPO: " . $this->grupo->nomePacote;
     $oLog->usuario = $usuario;
     $oLog->data = $data;
     $oLog->movimento = $movimento;
     $oLog->save();
     //fim da log
     $_SESSION['tupi.mensagem'] = 25;
 }