$rsm = $oMoeda->getRows();

	foreach($rsm as $key => $row){
		$tpl->ID_MOEDA = $row->id;
		$tpl->LABEL_MOEDA = $row->descricao;
		if(	$idMoedaEdita == $row->id)		
			$tpl->SELECTED_MOEDA = 'selected="selected"';
		$tpl->block("BLOCK_MOEDA");
		$tpl->clear("SELECTED_MOEDA");
	}
	$tpl->CAMBIO_MOEDA_REAL = $oPag->money($oPag->cotacaoMoedaReal,"atb");
	$tpl->CAMBIO_DOLLAR_REAL = $oPag->money($oPag->cotacaoReal,"atb");
	$tpl->VALOR_PAGAMENTO =	$oPag->money($oPag->valorPagamento,"atb");
	$tpl->block('BLOCK_PG_DINHEIRO');
break;
case $oTipoP->CARTAO() :
	$tpl->COD_AUTORIZACAO = $oPag->codAutorizacao;
	$tpl->VALOR_PARCELA = $oPag->money($oPag->valorParcela,"atb");
	$tpl->NUMERO_CARTAO = $oPag->numeroCartao;
	$tpl->CAMBIO_DOLLAR_REAL = $oPag->money($oPag->cotacaoReal,"atb");
	$tpl->VALOR_PAGAMENTO =	$oPag->money($oPag->valorPagamento,"atb");
	if($oPag->bandeira != null)
		$idBandeiraEdita = $oPag->bandeira->id;
	$tpl->PARCELA_CARTAO = $oPag->parcela;
	$oband = new BandeiraCartao();
	$rs = $oband->getRows(0,999,array(),array());
	foreach($rs as $key => $row){
		$tpl->ID_BANDEIRA = $row->id;
		$tpl->IMG_BANDEIRA = $row->imagem;
		if(	$idBandeiraEdita == $row->id)		
			$tpl->SELECTED_BANDEIRA = 'checked="checked"';
//$novos   = array($moeda->plural, strtoupper($moeda->plural), strtoupper($moeda->descricao),$moeda->descricao);
$extenso = $pag->extenso($pag->money($pag->CALCULA_REAL(), "atb"), true);
$tpl->VALOR_EXTENSO = $extenso;
$tpl->REFERENTE = $pag->obs;
$tpl->FINALIDADE = $pag->finalidade->descricao;
$tpl->NOME_GRUPO = $grupo->nomePacote;
$tpl->VALOR_CAMBIO = $pag->money($pag->cotacaoReal, "atb");
$tpl->FORMA_PAGAMENTO = $pag->tipo->descricao;
if ($pag->tipo->id == $oTipoP->CHEQUE()) {
    $rsc = $cheque->getRows(0, 999, array(), array("pagamento" => " = " . $pag->id));
    foreach ($rsc as $key => $cheque) {
        $tpl->EMISSOR = $cheque->emissor->nomeCompleto;
        $tpl->BANCO = $pag->banco->nome;
        $tpl->NR_CHEQUE = $cheque->numeroCheque;
        $tpl->DATA = $pag->convdata($cheque->dataCompensacao, "mtn");
        $tpl->VALOR_CHEQUE = $pag->money($cheque->valor, "atb");
        $tpl->block("BLOCK_ITEM_LISTA");
    }
    $tpl->block("BLOCK_CHEQUES");
}
if ($pag->tipo->id == $oTipoP->CARTAO()) {
    $tpl->parcela = $pag->parcela;
    if ($pag->bandeira != null) {
        $tpl->img_bandeira = $pag->bandeira->imagem;
        $tpl->bandeira = $pag->bandeira->descricao;
    }
    $tpl->block("BLOCK_CARTAO");
}
$tsinscricao = strtotime($pag->dataPagamento);
$tpl->DATA_RECIBO = date("d", $tsinscricao) . " de " . $pag->mesExtenso(date("m", $tsinscricao)) . " de " . date("Y", $tsinscricao);
include "tupi.template.finalizar.php";
$valorTransfd = 0;
$valorDepositod = 0;
$valorDebitod = 0;
//somatorio dos cheques
foreach ($rsCheques as $key => $cheque) {
    $valorChequed += @($cheque->valor / $cheque->pagamento->cotacaoReal);
    $valorCheque += @$cheque->valor;
}
//somatorio dos outros pagamentos
foreach ($rs as $key => $p) {
    switch ($p->tipo->id) {
        case $oTP->DINHEIRO():
            $valorEspecied += @$p->CALCULA_DOLLAR();
            $valorEspecie += $p->CALCULA_REAL();
            break;
        case $oTP->CARTAO():
            $valorCartaod += @$p->CALCULA_DOLLAR();
            $valorCartao += @$p->CALCULA_REAL();
            break;
        case $oTP->DEBITO():
            $valorDebitod += @$p->CALCULA_DOLLAR();
            $valorDebito += @$p->CALCULA_REAL();
            break;
        case $oTP->CHEQUE():
            //$valorChequed += $p->CALCULA_DOLLAR();
            //$valorCheque += $p->CALCULA_REAL();
            break;
        case $oTP->BANCO():
            switch ($p->tipoTransferencia->id) {
                case $oTT->TRANSFERENCIA():
                    $valorTransfd += @$p->CALCULA_DOLLAR();
$ogrupo->getById($ogrupo->md5_decrypt($_REQUEST['idGrupo']));
$tpl->COD_GRUPO = str_pad($ogrupo->id, 7, "0", STR_PAD_LEFT);
$tpl->NOME_GRUPO = $ogrupo->nomePacote;
$tpl->VALOR_GRUPO = $ogrupo->money($ogrupo->getValorTotal(0), "atb");
$tpl->CIFRAO_GRUPO = $ogrupo->moeda->cifrao;
$tpl->MOEDA_GRUPO_PLURAL = $ogrupo->moeda->plural;
//pacote opcional
if ($ogrupo->possuiPacoteOpcional == 1) {
    $tpl->NOME_GRUPO_OPCIONAL = $ogrupo->nomePacoteOpcional;
    $tpl->VALOR_GRUPO_OPCIONAL = $ogrupo->money($ogrupo->getValorTotalOpcional(), "atb");
    $tpl->block("BLOCK_OPCIONAL");
}
//recupera pagamentos cartoes
$oPag = new Pagamento();
$oTipoPag = new TipoPagamento();
$rs = $oPag->getPagamentos($ogrupo->id, $oTipoPag->CARTAO());
$totalGeralPagoReal = 0;
foreach ($rs as $key => $p) {
    $totalReal = 0;
    $tpl->CODIGO = $p->codAutorizacao;
    $tpl->NUMERO_CARTAO = $p->numeroCartao;
    $tpl->VALOR_PARCELA = $oPag->money($p->valorParcela, "atb");
    $tpl->NOME_PARTICIPANTE = $p->participante->cliente->nomeCompleto;
    $tpl->VALOR_PAGO_REAL = $oPag->money($p->valorPagamento, "atb");
    $tpl->DATA = $oPag->convdata($p->dataPagamento, "mtn");
    $totalGeralPagoReal += $p->valorPagamento;
    $tpl->block("BLOCK_ITEM_LISTA");
}
$rs = $oPag->getPagamentos($ogrupo->id, $oTipoPag->DEBITO());
foreach ($rs as $key => $p) {
    $totalReal = 0;
 function alterarAbatimento()
 {
     $idPagamento = $this->md5_decrypt($_REQUEST['idPagamento']);
     $oPag = new Pagamento();
     $om = new Moeda();
     $oTipoP = new TipoPagamento();
     $oPag->getById($idPagamento);
     $this->getById($_REQUEST['id']);
     $valor = $this->money($_REQUEST['valor'], "bta");
     $oPartic = new Participante();
     $oPartic->getById($_REQUEST['participante']);
     $idMoedaGrupo = $oPag->participante->grupo->moeda->id;
     if ($idMoedaGrupo == $om->DOLLAR()) {
         $valorNovo = $oPag->CALCULA_DOLLAR($valor);
     } else {
         $valorNovo = $oPag->CALCULA_REAL($valor);
     }
     //validacao
     if ($idMoedaGrupo == $om->DOLLAR()) {
         $valorMaximo = $oPag->CALCULA_DOLLAR();
     } else {
         $valorMaximo = $oPag->CALCULA_REAL();
     }
     $total = $this->totalAbatimentos($idPagamento);
     $total = $total - $this->valor;
     if ($oTipoP->CARTAO() == $oPag->tipo->id && $oPag->codAutorizacao != "") {
         $_SESSION['tupi.mensagem'] = 61;
         header("Location:participante.abatimentos.php?idPagamento=" . $_REQUEST['idPagamento']);
         exit;
     }
     if (number_format($total + $valorNovo, 2, ".", "") > number_format($valorMaximo, 2, ".", "")) {
         $_SESSION['tupi.mensagem'] = 40;
         header("Location:participante.abatimentos.php?idPagamento=" . $_REQUEST['idPagamento']);
         exit;
     }
     //configurando o objeto
     $this->valor = $valorNovo;
     $this->pagamento = $oPag;
     $this->participante = $oPartic;
     $idAbatimento = $this->save();
     //FAZ A CONFERENCIA PARA MUDAR O STATUS DO PARTICIPANTE
     $oPartic->atualiza_status();
     $_SESSION['tupi.mensagem'] = 42;
 }
 function incluirPagamento()
 {
     $oPartic = new Participante();
     $oPartic->getById($this->md5_decrypt($_REQUEST['idParticipante']));
     $oTipoP = new TipoPagamento();
     $oFin = new FinalidadePagamento();
     $oFin->id = $_REQUEST['finalidade'];
     $oTipoP->getById($_REQUEST['tipo']);
     $om = new Moeda();
     $om->getById($_REQUEST['moeda']);
     $this->dataPagamento = $this->convdata($_REQUEST['dataPagamento'], "ntm");
     $this->obs = $_REQUEST['obs'];
     $this->abatimentoAutomatico = isset($_REQUEST['abatimentoAutomatico']) ? 1 : 0;
     $this->moeda = $om;
     $this->participante = $oPartic;
     $this->tipo = $oTipoP;
     $this->finalidade = $oFin;
     $this->cancelado = 0;
     $this->devolucao = $_REQUEST['dev'];
     $this->valorParcela = 0;
     switch ($_REQUEST['tipo']) {
         case $oTipoP->DINHEIRO():
             $this->valorPagamento = $this->money($_REQUEST['valorPagamento'], "bta");
             $this->cotacaoMoedaReal = isset($_REQUEST['cotacaoMoedaReal']) ? $_REQUEST['cotacaoMoedaReal'] != "" ? $this->money($_REQUEST['cotacaoMoedaReal'], "bta") : 0 : 0;
             $this->cotacaoReal = $this->money($_REQUEST['cotacaoReal'], "bta");
             $this->parcela = 1;
             break;
         case $oTipoP->CARTAO():
             $this->valorPagamento = $this->money($_REQUEST['valorPagamento'], "bta");
             $this->valorParcela = $this->money($_REQUEST['valorParcela'], "bta");
             $this->cotacaoMoedaReal = 0;
             $this->cotacaoReal = $this->money($_REQUEST['cotacaoReal'], "bta");
             $this->codAutorizacao = isset($_REQUEST['codAutorizacao']) ? $_REQUEST['codAutorizacao'] : "";
             $this->parcela = $_REQUEST['parcelaCartao'];
             $oband = new BandeiraCartao();
             $oband->id = $_REQUEST['bandeira'];
             $this->bandeira = $oband;
             break;
         case $oTipoP->DEBITO():
             $this->cotacaoMoedaReal = 0;
             $this->codAutorizacao = isset($_REQUEST['codAutorizacao']) ? $_REQUEST['codAutorizacao'] : "";
             $this->valorPagamento = $this->money($_REQUEST['valorPagamento'], "bta");
             $this->cotacaoReal = $this->money($_REQUEST['cotacaoReal'], "bta");
             $this->parcela = 1;
             $oband = new BandeiraCartao();
             $oband->id = $_REQUEST['bandeira'];
             $this->bandeira = $oband;
             break;
         case $oTipoP->CHEQUE():
             $ob = new Banco();
             $ob->id = $_REQUEST['banco'];
             $this->banco = $ob;
             $Status = new StatusCheque();
             $Status->id = 1;
             $oclienteEmissor = new Cliente();
             $arrayEmissor = explode("-", $_REQUEST['nomeEmissor']);
             if (count($arrayEmissor) > 1) {
                 $oclienteEmissor->id = $arrayEmissor[1];
             } else {
                 $oec = new EstadoCivil();
                 $oec->id = 1;
                 $oclienteEmissor->nomeCompleto = $_REQUEST['nomeEmissor'];
                 $oclienteEmissor->oclienteEmissor->cpf = "";
                 $oclienteEmissor->estadoCivil = $oec;
                 $oclienteEmissor->dataNascimento = date("Y-m-d");
                 $oclienteEmissor->sexo = "";
                 $oclienteEmissor->endereco = "";
                 $oclienteEmissor->bairro = "";
                 $oclienteEmissor->cep = "";
                 $oclienteEmissor->telefoneResidencial = "";
                 $oclienteEmissor->telefoneComercial = "";
                 $oclienteEmissor->celular = "";
                 $oclienteEmissor->fax = "";
                 $oclienteEmissor->rg = "";
                 $oclienteEmissor->orgaoEmissorRg = "";
                 $oclienteEmissor->passaporte = "";
                 $oclienteEmissor->nomeCracha = "";
                 $oclienteEmissor->tamanhoCamisa = "";
                 $oclienteEmissor->problemasSaude = "";
                 $oclienteEmissor->restricaoAlimentar = "";
                 $oclienteEmissor->email = "";
                 $oclienteEmissor->nacionalidade = "";
                 $oclienteEmissor->cidadeEndereco = "";
                 $oclienteEmissor->estadoEndereco = "";
                 $oclienteEmissor->paisEndereco = "";
                 $oclienteEmissor->cidadeNascimento = "";
                 $oclienteEmissor->paisNascimento = "";
                 $oclienteEmissor->estadoNascimento = "";
                 $oclienteEmissor->preferencial = 0;
                 $oclienteEmissor->enviaCorrespondencia = 0;
                 $oclienteEmissor->save();
             }
             $this->parcela = 1;
             $this->emissorCheque = $oclienteEmissor;
             $this->numeroCheque = isset($_REQUEST['numeroCheque1']) ? $_REQUEST['numeroCheque1'] : "";
             $this->dataCompensacao = isset($_REQUEST['dataCompensacao1']) ? $this->convdata($_REQUEST['dataCompensacao1'], "ntm") : '';
             $this->valorPagamento = $this->money($_REQUEST['valorCheque1'], "bta");
             $this->cotacaoReal = $this->money($_REQUEST['cotacaoReal'], "bta");
             $this->cotacaoMoedaReal = 0;
             break;
         case $oTipoP->BANCO():
             $ott = new TipoTransferencia();
             $ott->id = $_REQUEST['tipoTranferencia'];
             $this->tipoTransferencia = $ott;
             $this->valorPagamento = $this->money($_REQUEST['valorPagamento'], "bta");
             $this->cotacaoReal = $this->money($_REQUEST['cotacaoReal'], "bta");
             $this->cotacaoMoedaReal = 0;
             $this->parcela = 1;
             break;
         case $oTipoP->CREDITO():
             //atualizar o credito para utilizado
             $oCredito = new Credito();
             $oCredito->getById($_REQUEST['credito']);
             $oCredito->bitUtilizado = 1;
             $oCredito->save();
             $this->valorPagamento = $oCredito->valor;
             $this->moeda = $oCredito->moeda;
             $this->creditoCliente = $oCredito;
             $this->cotacaoReal = $this->money($_REQUEST['cotacaoReal'], "bta");
             $this->cotacaoMoedaReal = 0;
             $this->parcela = 1;
             break;
         case $oTipoP->CARNE():
             $this->parcela = 1;
             $this->dataCompensacao = isset($_REQUEST['dataVencimento1']) ? $this->convdata($_REQUEST['dataVencimento1'], "ntm") : '';
             $this->valorPagamento = $this->money($_REQUEST['valorCarne1'], "bta");
             $this->cotacaoReal = $this->money($_REQUEST['cotacaoReal'], "bta");
             $this->cotacaoMoedaReal = 0;
             break;
     }
     $idPagamento = $this->save();
     //cheques
     if ($oTipoP->CHEQUE() == $_REQUEST['tipo']) {
         $parcelas = 0;
         $valorTotal = 0;
         for ($i = 1; $i <= 10; $i++) {
             if ($_REQUEST['dataCompensacao' . $i] != "" && $_REQUEST['numeroCheque' . $i] != "" && $_REQUEST['valorCheque' . $i] != "") {
                 //inclui o cheque
                 $parcelas++;
                 $oCheque = new Cheque();
                 $oCheque->status = $Status;
                 $oCheque->emissor = $oclienteEmissor;
                 $oCheque->numeroCheque = $_REQUEST['numeroCheque' . $i];
                 $oCheque->valor = $ob->money($_REQUEST['valorCheque' . $i], "bta");
                 $oCheque->pagamento = $this;
                 $oCheque->dataCompensacao = $ob->convdata($_REQUEST['dataCompensacao' . $i], "ntm");
                 $oCheque->parcela = $i;
                 $oCheque->save();
                 $valorTotal += $oCheque->valor;
             }
         }
         $this->parcela = $parcelas;
         $this->emissorCheque = $oclienteEmissor;
         $this->numeroCheque = isset($_REQUEST['numeroCheque1']) ? $_REQUEST['numeroCheque1'] : "";
         $this->dataCompensacao = isset($_REQUEST['dataCompensacao1']) ? $this->convdata($_REQUEST['dataCompensacao1'], "ntm") : '';
         $this->cotacaoReal = $this->money($_REQUEST['cotacaoReal'], "bta");
         $this->cotacaoMoedaReal = 0;
         $this->valorPagamento = $valorTotal;
         $this->save();
     }
     //carnes
     if ($oTipoP->CARNE() == $_REQUEST['tipo']) {
         $parcelas = 0;
         $valorTotal = 0;
         for ($i = 1; $i <= $_REQUEST['parcelaCarne']; $i++) {
             if ($_REQUEST['dataVencimento' . $i] != "" && $_REQUEST['valorCarne' . $i] != "") {
                 //inclui o cheque
                 $parcelas++;
                 $oCarne = new Carne();
                 $oCarne->valor = $oCarne->money($_REQUEST['valorCarne' . $i], "bta");
                 $oCarne->pagamento = $this;
                 $oCarne->dataVencimento = $oCarne->convdata($_REQUEST['dataVencimento' . $i], "ntm");
                 $oCarne->parcela = $i;
                 $oCarne->save();
                 $valorTotal += $oCarne->valor;
             }
         }
         $this->parcela = $parcelas;
         $this->dataCompensacao = isset($_REQUEST['dataVencimento1']) ? $this->convdata($_REQUEST['dataVencimento1'], "ntm") : '';
         $this->cotacaoReal = $this->money($_REQUEST['cotacaoReal'], "bta");
         $this->cotacaoMoedaReal = 0;
         $this->valorPagamento = $valorTotal;
         $this->save();
     }
     //REALIZA O ABATIMENTO AUTOMATICO DO PARTICIPANTE
     if ($this->abatimentoAutomatico == 1) {
         if ($oTipoP->CARTAO() == $_REQUEST['tipo'] && $this->codAutorizacao != "" || $oTipoP->CARTAO() != $_REQUEST['tipo']) {
             $oG = new Grupo();
             $oG->getById($this->md5_decrypt($_REQUEST['idGrupo']));
             $oAbat = new Abatimento();
             if ($oG->moeda->id == $om->DOLLAR()) {
                 $oAbat->valor = $this->devolucao == 0 ? $this->CALCULA_DOLLAR() : -$this->CALCULA_DOLLAR();
             } else {
                 $oAbat->valor = $this->devolucao == 0 ? $this->CALCULA_REAL() : -$this->CALCULA_REAL();
             }
             $oAbat->participante = $oPartic;
             $oAbat->pagamento = $this;
             $oAbat->save();
         }
     }
     //FAZ A CONFERENCIA PARA MUDAR O STATUS DO PARTICIPANTE
     $oPartic->atualiza_status();
     //grava log de pagamento
     $oLog = new LogUsuario();
     $usuario = new Usuario();
     $usuario->id = $_SESSION['ag_idUsuario'];
     $data = date("Y-m-d H:i:s");
     $movimento = "INCLUIR PAGAMENTO<BR> MOEDA: " . $this->moeda->descricao . "<BR> VALOR: " . $this->money($this->valorPagamento, "atb") . "<BR> TIPO: " . $this->tipo->descricao . "<BR> CLIENTE: " . $this->participante->cliente->nomeCompleto . "<BR> GRUPO: " . $this->participante->grupo->nomePacote;
     $oLog->usuario = $usuario;
     $oLog->data = $data;
     $oLog->movimento = $movimento;
     $oLog->save();
     //fim da log
     $_SESSION['tupi.mensagem'] = 36;
     return $idPagamento;
 }