/** * Validacao do valor a ser comprovado, verifica o valor aprovado - total ja aprovado * identificando o valor máximo permitido para comprovação */ public function validarValorComprovado($idPronac, $idPlanilhaAprovacao, $idPlanilhaItem, $vlComprovado) { $planilhaAprovacaoModel = new PlanilhaAprovacao(); $planilhaItem = $planilhaAprovacaoModel->buscar(array('idPlanilhaAprovacao = ?' => $idPlanilhaAprovacao))->current(); $valorAprovado = $planilhaItem->qtItem * $planilhaItem->nrOcorrencia * $planilhaItem->vlUnitario; $comprovantesPagamento = $planilhaAprovacaoModel->buscarcomprovantepagamento($idPronac, $idPlanilhaItem); $totalComprovado = 0; foreach ($comprovantesPagamento as $comprovante) { if (2 == $comprovante->stItemAvaliado) { $totalComprovado += $comprovante->vlComprovadoPlanilhaAprovacao; } } if ($valorAprovado < $totalComprovado + $vlComprovado) { throw new Exception('Comprovação de pagamento do item acima do valor aprovado.'); } }
/** * Controller RealizarPrestacaoDeContas * @method analisaritemAction * @since 14/02/2011 * @version 1.0 * @access AECI */ public function analisaritemAction() { $idPronac = $this->_request->getParam("idPronac"); $idPlanilhaAprovacao = $this->_request->getParam("idPlanilhaAprovacao"); $idPlanilhaItem = $this->_request->getParam("idPlanilhaItem"); $tblPlanilhaAprovacao = new PlanilhaAprovacao(); $rsPlanilha = $tblPlanilhaAprovacao->dadosdoitem($idPlanilhaAprovacao, $idPronac)->current(); if (!empty($rsPlanilha->modalidadeLicitacao)) { $rsPlanilha->modalidadeLicitacao = $this->modalidade[$rsPlanilha->modalidadeLicitacao]; } $this->view->AnalisarItem = $rsPlanilha; if (count($rsPlanilha) > 0) { $planilhaAprovacaoDao = new PlanilhaAprovacao(); $this->view->ComprovantePagamento = $planilhaAprovacaoDao->buscarcomprovantepagamento($rsPlanilha->IdPRONAC, $idPlanilhaItem); $this->view->idPronac = $rsPlanilha->IdPRONAC; $this->view->tipoDocumentoConteudo = $this->tipoDocumento; $this->view->idPlanilhaAprovacao = $idPlanilhaAprovacao; $this->view->idPlanilhaItem = $idPlanilhaItem; } else { $this->_redirect("realizarprestacaodecontas/planilhaorcamentaria?idPronac={$idPronac}&tipoMsg=ALERT&msg=Não houve comprovação para este item."); } }