public function validaritemAction()
 {
     $auth = Zend_Auth::getInstance();
     // pega a autenticação
     $idPronac = $this->_request->getParam("idPronac");
     $idPlanilhaItem = $this->_request->getParam("idPlanilhaItem");
     $idPlanilhaAprovacao = $this->_request->getParam("idPlanilhaAprovacao");
     $redirector = $this->_helper->getHelper('Redirector');
     $redirector->setExit(false)->setGotoSimple('analisar-comprovacao', 'realizarprestacaodecontas', null, array('idPronac' => $idPronac, 'idPlanilhaAprovacao' => $idPlanilhaAprovacao, 'idPlanilhaItem' => $idPlanilhaItem));
     if (!$this->getRequest()->isPost()) {
         $this->_helper->flashMessenger->addMessage('Erro ao validar item.');
         $this->_helper->flashMessengerType->addMessage('ERROR');
         $redirector->redirectAndExit();
     }
     $itemValidado = false;
     $tblComprovantePag = new ComprovantePagamentoxPlanilhaAprovacao();
     $tblComprovantePag->getAdapter()->beginTransaction();
     foreach ($this->getRequest()->getParam('comprovantePagamento') as $comprovantePagamento) {
         try {
             if (!isset($comprovantePagamento['situacao'])) {
                 continue;
             }
             $rsComprovantePag = $tblComprovantePag->buscar(array('idComprovantePagamento=?' => $comprovantePagamento['idComprovantePagamento'], 'idPlanilhaAprovacao=?' => $comprovantePagamento['idPlanilhaAprovacao']))->current();
             $rsComprovantePag->dtValidacao = date('Y/m/d H:i:s');
             $rsComprovantePag->dsJustificativa = isset($comprovantePagamento['observacao']) ? $comprovantePagamento['observacao'] : null;
             $rsComprovantePag->stItemAvaliado = $comprovantePagamento['situacao'];
             # validacao de valor
             $tblComprovantePag->validarValorComprovado($idPronac, $idPlanilhaAprovacao, $idPlanilhaItem, $rsComprovantePag->vlComprovado);
             $rsComprovantePag->save();
             $itemValidado = true;
         } catch (Exception $e) {
             $this->_helper->flashMessenger->addMessage($e->getMessage());
             $this->_helper->flashMessengerType->addMessage('ERROR');
             $tblComprovantePag->getAdapter()->rollBack();
             $redirector->redirectAndExit();
         }
     }
     if ($itemValidado) {
         $this->_helper->flashMessenger->addMessage('Item validado com sucesso!');
         $this->_helper->flashMessengerType->addMessage('CONFIRM');
     } else {
         $this->_helper->flashMessenger->addMessage('Preencha os dados para validação de item.');
         $this->_helper->flashMessengerType->addMessage('ERROR');
     }
     $tblComprovantePag->getAdapter()->commit();
     $redirector->redirectAndExit();
 }
 /**
  * @todo remover esse metodo apos implementacao ideal planilha comprovacao
  */
 private function comprovarPlanilhaAtualizarStatus($status, $idComprovantePagamento)
 {
     $comprovantePlanilha = new ComprovantePagamentoxPlanilhaAprovacao();
     $comprovantePlanilha->update(array('stItemAvaliado' => $status), array('idComprovantePagamento = ?' => $idComprovantePagamento));
 }
Esempio n. 3
0
 public function dadosdoitem($idPlanilhaAprovacao, $idpronac)
 {
     $cpxpaDAO = new ComprovantePagamentoxPlanilhaAprovacao();
     $selectAux = $cpxpaDAO->valorComprovadoItem(true);
     $select = $this->select();
     $select->setIntegrityCheck(false);
     $select->from(array('pa' => $this->_name), array('pa.idPlanilhaAprovacao', 'vlItem' => 'pa.vlUnitario', 'vlAprovado' => new Zend_Db_Expr('pa.vlUnitario*pa.qtItem*pa.nrOcorrencia')), 'SAC.dbo');
     $select->joinInner(array('paux' => $this->valoresAgrupados($idpronac, true)), 'pa.idPlanilhaItem = paux.idPlanilhaItem AND
         pa.idEtapa = paux.idEtapa AND
         pa.idProduto = paux.idProduto AND
         pa.idUnidade = paux.idUnidade AND
         paux.idPlanilhaAprovacao = pa.idPlanilhaAprovacao ', array('paux.Total', 'paux.qtTotal'));
     $select->joinInner(array('pli' => 'tbPlanilhaItens'), 'pli.idPlanilhaItens = pa.idPlanilhaItem', array('idPlanilhaItens' => 'pli.idPlanilhaItens', 'NomeItem' => 'pli.Descricao'), 'SAC.dbo');
     $select->joinInner(array('eta' => 'tbPlanilhaEtapa'), 'eta.idPlanilhaEtapa = pa.idEtapa', array('Etapa' => 'eta.Descricao'), 'SAC.dbo');
     $select->joinLeft(array('pro' => 'Produto'), 'pro.Codigo = pa.idProduto', array('Produto' => new Zend_Db_Expr("CASE WHEN pro.Descricao IS NULL\n                    THEN 'Administração do Projeto'\n                    ELSE pro.Descricao END")), 'SAC.dbo');
     $select->joinLeft(array('cpxpa' => 'tbComprovantePagamentoxPlanilhaAprovacao'), 'cpxpa.idPlanilhaAprovacao = pa.idPlanilhaAprovacao', array('cpxpa.stItemAvaliado', 'cpxpa.dsJustificativa', 'CONVERT(CHAR(23), cpxpa.dtValidacao, 120) AS dtValidacao'), 'BDCORPORATIVO.scSAC');
     $select->joinLeft(array('cp' => 'tbComprovantePagamento'), 'cp.idComprovantePagamento = cpxpa.idComprovantePagamento', array(), 'BDCORPORATIVO.scSAC');
     $select->joinLeft(array('di' => $selectAux), 'di.idPlanilhaAprovacao = pa.idPlanilhaAprovacao', array('di.vlComprovado'));
     $select->joinLeft(array('lxpa' => 'tbLicitacaoxPlanilhaAprovacao'), 'lxpa.idPlanilhaAprovacao = pa.idPlanilhaAprovacao', array(), 'BDCORPORATIVO.scSAC');
     $select->joinLeft(array('lic' => 'tbLicitacao'), 'lxpa.idLicitacao = lic.idLicitacao', array('lic.nrLicitacao', 'modalidadeLicitacao' => 'lic.tpModalidade', 'processoLicitacao' => 'lic.nrProcesso', 'CONVERT(CHAR(23), lic.dtPublicacaoEdital, 120) AS dtPubliEditalLicitacao', 'objetoLicitacao' => 'lic.dsObjeto', 'fundamentoLicitacao' => 'lic.dsFundamentoLegal'), 'BDCORPORATIVO.scSAC');
     $select->joinLeft(array('lxa' => 'tbLicitacaoxAgentes'), 'lxa.idLicitacao = lic.idLicitacao and lxa.stVencedor = 1', array(), 'BDCORPORATIVO.scSAC');
     $select->joinLeft(array('dlxpa' => 'tbDispensaLicitacaoxPlanilhaAprovacao'), 'dlxpa.idPlanilhaAprovacao = pa.idPlanilhaAprovacao', array(), 'BDCORPORATIVO.scSAC');
     $select->joinLeft(array('dlic' => 'tbDispensaLicitacao'), 'dlxpa.idDispensaLicitacao = dlic.idDispensaLicitacao', array('dsDispensa' => 'dlic.dsDispensaLicitacao', 'dtDispensa' => 'dlic.dtContrato'), 'BDCORPORATIVO.scSAC');
     $select->joinLeft(array('cxpa' => 'tbCotacaoxPlanilhaAprovacao'), 'cxpa.idPlanilhaAprovacao = pa.idPlanilhaAprovacao', array(), 'BDCORPORATIVO.scSAC');
     $select->joinLeft(array('cota' => 'tbCotacao'), 'cxpa.idCotacao = cota.idCotacao', array('cota.dsCotacao', 'cota.dtCotacao', 'cota.nrCotacao'), 'BDCORPORATIVO.scSAC');
     $select->joinLeft(array('cxa' => 'tbCotacaoxAgentes'), 'cxa.idCotacao = cota.idCotacao and cxa.idCotacaoxAgentes = cxpa.idCotacaoxAgentes', array(), 'BDCORPORATIVO.scSAC');
     $select->joinLeft(array('ag' => 'Agentes'), 'ag.idAgente = lxa.idAgente OR ag.idAgente = dlic.idAgente OR ag.idAgente = cxa.idAgente OR cp.idFornecedor = ag.idAgente', array('cpfcnpjFornecedor' => 'ag.CNPJCPF'), 'AGENTES.dbo');
     $select->joinLeft(array('nm' => 'Nomes'), 'nm.idAgente = ag.idAgente', array('nmFornecedor' => 'nm.Descricao'), 'AGENTES.dbo');
     $select->joinLeft(array('p' => 'Projetos'), 'pa.IdPRONAC = p.IdPRONAC', array('p.IdPRONAC', '(p.AnoProjeto + p.Sequencial) AS PRONAC', 'p.NomeProjeto'), 'SAC.dbo');
     $select->where('pa.idPlanilhaAprovacao = ?', $idPlanilhaAprovacao);
     return $this->fetchAll($select);
 }
 public function verificarvaloresajaxAction()
 {
     /* =============================================================================== */
     /* ==== VERIFICA PERMISSAO DE ACESSO DO PROPONENTE A PROPOSTA OU AO PROJETO ====== */
     /* =============================================================================== */
     $this->verificarPermissaoAcesso(false, true, false);
     $this->_helper->layout->disableLayout();
     $this->_helper->ViewRenderer->setNoRender(true);
     $post = Zend_Registry::get('post');
     $idPlanilhaAprovacao = $post->idPlanilhaAprovacao;
     $valor = $post->valor;
     $idpronac = $post->idpronac;
     if (!empty($idPlanilhaAprovacao)) {
         $valor = str_replace('.', '', $valor);
         $valor = str_replace(',', '', $valor);
         $valor = $valor / 100;
         $cppaDao = new ComprovantePagamentoxPlanilhaAprovacao();
         $total = $cppaDao->valorTotalPorItem($idPlanilhaAprovacao);
         $PlanilhaAprovacaoDAO = new PlanilhaAprovacao();
         $resposta = $PlanilhaAprovacaoDAO->valoresAgrupados($idpronac, false);
         $resp = true;
         $valorAprovado = 0;
         foreach ($resposta as $value) {
             if ($value->idPlanilhaAprovacao == $idPlanilhaAprovacao) {
                 if ($value->Total < $valor + $total[0]->Total) {
                     $valorAprovado = $value->Total;
                     $resp = false;
                 }
             }
         }
         if ($resp) {
             echo json_encode(array('retorno' => true));
         } else {
             echo json_encode(array('retorno' => false, 'mensagem' => utf8_encode('Nao é possivel registrar a comprovoção do valor R$' . number_format($valor + $total[0]->Total, 2, ',', '.') . ', tendo em vista que o valor aprovado é de R$' . number_format($valorAprovado, 2, ',', '.') . '.')));
         }
     } else {
         //echo json_encode(array('retorno'=>false,'mensagem'=>utf8_encode('Selecione um item de custo!')));
         echo json_encode(array('retorno' => true));
     }
 }