/** * Metodo com a tabela de analise de custos - Projetos em Readequacao * @access public * @param void * @return void */ public function analisedecustosreadequacaoAction() { $auth = Zend_Auth::getInstance(); // pega a autenticao $idagente = GerenciarPautaReuniaoDAO::consultaAgenteUsuario($auth->getIdentity()->usu_codigo); $idagente = $idagente['idAgente']; $tblPlanilhaAprovacao = new PlanilhaAprovacao(); $tblPlanilhaProposta = new PlanilhaProposta(); $tblPlanilhaProjeto = new PlanilhaProjeto(); $tblPlanoDistribuicao = new PlanoDistribuicaoProduto(); $tblAnaliseAprovacao = new AnaliseAprovacao(); // caso o formulario seja enviado via post // atualiza a planilha if ($this->getRequest()->isPost()) { // recebe os dados via post $post = Zend_Registry::get('post'); $idPronac = $post->idpronac; $idplanilhaaprovacao = $post->idPlanilha; $unidade = $post->unidade; $qtdItem = $post->qtd; $ocorrencia = $post->ocorrencia; $vlunitario = Mascara::delMaskMoeda($post->vlunitario); $dias = $post->dias; $justificativa = $post->justificativa; $idEtapa = $post->idEtapaDoItem; try { $rsPlanilhaAtual = $tblPlanilhaAprovacao->buscar(array('IdPRONAC = ?' => $idPronac), array('dtPlanilha DESC'))->current(); $tpPlanilha = !empty($rsPlanilhaAtual) && $rsPlanilhaAtual->tpPlanilha == 'SE' ? 'SE' : 'CO'; $this->view->tpPlanilha = $tpPlanilha; $dados = array('tpPlanilha' => $tpPlanilha, 'dtPlanilha' => new Zend_Db_Expr('GETDATE()'), 'idUnidade' => $unidade, 'qtItem' => $qtdItem, 'nrOcorrencia' => $ocorrencia, 'vlUnitario' => $vlunitario, 'qtDias' => $dias, 'dsJustificativa' => $justificativa, 'idAgente' => $idagente, 'stAtivo' => 'N'); $where = 'idPlanilhaAprovacao = ' . $idplanilhaaprovacao; $alterarPlanilha = $tblPlanilhaAprovacao->alterar($dados, $where); //ATUALIZA ETAPA DO ITEM CASO TENHA SIDO ENVIADA if (!empty($idEtapa)) { //recupera informacoes do item de custo que esta sendo alterado $rsPlanCO = $tblPlanilhaAprovacao->buscar(array('idPlanilhaAprovacao = ? ' => $idplanilhaaprovacao))->current(); //recupera item de custo correspondente na planilha PA $rsPlanPA = $tblPlanilhaAprovacao->buscar(array('idPlanilhaAprovacao = ? ' => $rsPlanCO->idPlanilhaAprovacaoPai))->current(); //recupera item de custo correspondente na planilha SR $rsPlanSR = $tblPlanilhaAprovacao->buscar(array('idPlanilhaAprovacao = ? ' => $rsPlanPA->idPlanilhaAprovacaoPai))->current(); //etapa a ser atualizada $dados = array('idEtapa' => $idEtapa); //ATUALIZA ETAPA - PLANILHA CO ou SE $where = 'idPlanilhaAprovacao = ' . $idplanilhaaprovacao; $tblPlanilhaAprovacao->alterar($dados, $where); //ATUALIZA ETAPA - PLANILHA PA $wherePA = 'idPlanilhaAprovacao = ' . $rsPlanPA->idPlanilhaAprovacao; $tblPlanilhaAprovacao->alterar($dados, $wherePA); //ATUALIZA ETAPA - PLANILHA SR $whereSR = 'idPlanilhaAprovacao = ' . $rsPlanSR->idPlanilhaAprovacao; $tblPlanilhaAprovacao->alterar($dados, $whereSR); } if ($alterarPlanilha) { parent::message("Registro inserido com sucesso!", "realizaranaliseprojeto/analisedecustosreadequacao/idpronac/" . $idPronac . "/?idplanilha=" . $idplanilhaaprovacao, "CONFIRM"); } else { throw new Exception("Erro ao efetuar alteraço!"); } } catch (Exception $e) { parent::message($e->getMessage(), "realizaranaliseprojeto/analisedecustosreadequacao/idpronac/" . $idPronac, "ERROR"); } } else { // recebe os dados via get $idpronac = $this->_request->getParam("idpronac"); $tblPlanilhaAprovacao = new PlanilhaAprovacao(); $tblPlanilhaProposta = new PlanilhaProposta(); $tblPlanilhaProjeto = new PlanilhaProjeto(); $tblProjetos = new Projetos(); $rsPlanilhaAtual = $tblPlanilhaAprovacao->buscar(array('IdPRONAC = ?' => $idpronac), array('dtPlanilha DESC'))->current(); $tipoplanilha = !empty($rsPlanilhaAtual) && $rsPlanilhaAtual->tpPlanilha == 'SE' ? 'SE' : 'CO'; $this->view->tpPlanilha = $tipoplanilha; $rsProjeto = $tblProjetos->buscar(array('IdPRONAC=?' => $idpronac))->current(); $idPreProjeto = !empty($rsProjeto->idProjeto) ? $rsProjeto->idProjeto : '0'; $rsProdutoPrincipal = $tblPlanoDistribuicao->buscar(array('idProjeto=?' => $idPreProjeto, 'stPrincipal=?' => 1, 'stPlanoDistribuicaoProduto = ?' => 1))->current(); $rsAnaliseProdutoPrincipal = $tblAnaliseAprovacao->buscar(array('idPronac=?' => $idpronac, 'idProduto=?' => $rsProdutoPrincipal->idProduto, 'tpAnalise=?' => $tipoplanilha))->current(); $arrBuscaPlanilha = array(); $arrBuscaPlanilha["pap.stAtivo = ? "] = 'N'; $arrBuscaPlanilha["pap.idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')"] = '(?)'; $buscarplanilhaCO = $tblPlanilhaAprovacao->buscarAnaliseCustosPlanilhaAprovacao($idpronac, $tipoplanilha, $arrBuscaPlanilha); //xd($buscarplanilhaCO); $planilhaaprovacao = array(); $count = 0; $fonterecurso = null; foreach ($buscarplanilhaCO as $resuplanilha) { $produto = $resuplanilha->Produto == null ? 'Adminitração do Projeto' : $resuplanilha->Produto; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['idPlanilhaAprovacao'] = $resuplanilha->idPlanilhaAprovacao; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['idUnidade'] = $resuplanilha->idUnidade; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['nrFonteRecurso'] = $resuplanilha->nrFonteRecurso; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['item'] = $resuplanilha->Item; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['Unidade'] = $resuplanilha->Unidade; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['qtitemcomp'] = $resuplanilha->qtItem; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['nrocorrenciacomp'] = $resuplanilha->nrOcorrencia; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['vlunitariocomp'] = $resuplanilha->vlUnitario; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['qtdiascomp'] = $resuplanilha->qtDias; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['Unidadecomp'] = $resuplanilha->Unidade; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['vlconselheiro'] = $resuplanilha->vlTotal ? $resuplanilha->vlTotal : 0; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['justificativaconselheiro'] = $resuplanilha->dsJustificativa; //$planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa.' - '.$resuplanilha->Etapa][$resuplanilha->UF.' - '.$resuplanilha->Cidade][$count]['reducao'] = $resuplanilha->VlSugeridoConselheiro < $resuplanilha->VlSolicitado ? 1 : 0; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['idProduto'] = $resuplanilha->idProduto; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['idEtapa'] = $resuplanilha->idEtapa; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['idPlanilhaItem'] = $resuplanilha->idPlanilhaItem; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['stAvaliacao'] = $resuplanilha->stAvaliacao; //grava array com produtos favorecidos na analise de conteudo if ($resuplanilha->idProduto >= 1) { if ($resuplanilha->stAvaliacao == 1) { $arrProdutosFavoraveis[$produto] = $resuplanilha->stAvaliacao; } } else { if ($rsAnaliseProdutoPrincipal->stAvaliacao == 1) { $arrProdutosFavoraveis[$produto] = 1; //Admistracao do Projeto, que nao possui codigo de produto (so favorece os custos administrativos se o produto principal estiver favorecido) } } $count++; } /******** Planilha aprovacao SR (Proponente - solicitada) ****************/ $arrBuscaPlanilha = array(); $arrBuscaPlanilha["pap.stAtivo = ? "] = 'N'; $arrBuscaPlanilha["pap.idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')"] = '(?)'; $resuplanilha = null; $count = 0; $buscarplanilhaSR = $tblPlanilhaAprovacao->buscarAnaliseCustosPlanilhaAprovacao($idpronac, 'SR', $arrBuscaPlanilha); //xd($buscarplanilhaSR); foreach ($buscarplanilhaSR as $resuplanilha) { $produto = $resuplanilha->Produto == null ? 'Adminitração do Projeto' : $resuplanilha->Produto; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['diasprop'] = $resuplanilha->qtDias; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['quantidadeprop'] = $resuplanilha->qtItem; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['ocorrenciaprop'] = $resuplanilha->nrOcorrencia; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['valorUnitarioprop'] = $resuplanilha->vlUnitario; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['UnidadeProposta'] = $resuplanilha->Unidade; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['vlproponente'] = $resuplanilha->vlTotal ? $resuplanilha->vlTotal : 0; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['justificitivaproponente'] = $resuplanilha->dsJustificativa; $valorConselheiro = $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['vlconselheiro']; $valorSolicitado = $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['vlproponente']; $reducao = $valorConselheiro < $valorSolicitado ? 1 : 0; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['reducao'] = $reducao; $count++; } /******** Planilha aprovacao PA (Parecerista) ****************/ $arrBuscaPlanilha = array(); $arrBuscaPlanilha["pap.stAtivo = ? "] = 'N'; $arrBuscaPlanilha["pap.idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')"] = '(?)'; $resuplanilha = null; $count = 0; $buscarplanilhaPA = $tblPlanilhaAprovacao->buscarAnaliseCustosPlanilhaAprovacao($idpronac, 'PA', $arrBuscaPlanilha); //xd($buscarplanilhaSR); foreach ($buscarplanilhaPA as $resuplanilha) { $produto = $resuplanilha->Produto == null ? 'Adminitração do Projeto' : $resuplanilha->Produto; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['UnidadeProjeto'] = $resuplanilha->Unidade; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['quantidadeparc'] = $resuplanilha->qtItem; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['ocorrenciaparc'] = $resuplanilha->nrOcorrencia; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['diasparc'] = $resuplanilha->qtDias; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['valorUnitarioparc'] = $resuplanilha->vlUnitario; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['vlparecerista'] = $resuplanilha->vlTotal ? $resuplanilha->vlTotal : 0; $planilhaaprovacao[$resuplanilha->FonteRecurso][$produto][$resuplanilha->idEtapa . ' - ' . $resuplanilha->Etapa][$resuplanilha->UF . ' - ' . $resuplanilha->Cidade][$count]['justificativaparecerista'] = $resuplanilha->dsJustificativa; $count++; } $buscarprojeto = $tblProjetos->buscar(array('IdPRONAC = ?' => $idpronac))->current(); //$buscarsomaaprovacao = $tblPlanilhaAprovacao->somarPlanilhaAprovacao($idpronac, 206 , $tipoplanilha, array('PAP.stAtivo=?'=>'N')); $arrWhereSomaPlanilha = array(); $arrWhereSomaPlanilha['idPronac = ?'] = $idpronac; $arrWhereSomaPlanilha['idPlanilhaItem <> ? '] = '206'; //elaboracao e agenciamento $arrWhereSomaPlanilha['tpPlanilha = ? '] = $tipoplanilha; $arrWhereSomaPlanilha['NrFonteRecurso = ? '] = '109'; $arrWhereSomaPlanilha['stAtivo = ? '] = 'N'; $arrWhereSomaPlanilha["idPedidoAlteracao = (SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idpronac}')"] = '(?)'; $arrWhereSomaPlanilha["tpAcao <> ('E') OR tpAcao IS NULL "] = '(?)'; $buscarsomaaprovacao = $tblPlanilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereSomaPlanilha); $arrWhereSomaPlanilha['tpPlanilha = ? '] = 'SR'; $buscarsomaproposta = $tblPlanilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereSomaPlanilha); $arrWhereSomaPlanilha['tpPlanilha = ? '] = 'PA'; $buscarsomaprojeto = $tblPlanilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereSomaPlanilha); //$buscarsomaproposta = $tblPlanilhaProposta->somarPlanilhaProposta($buscarprojeto->idProjeto); //$buscarsomaprojeto = $tblPlanilhaProjeto->somarPlanilhaProjeto($idpronac, 109); $buscarPlanilhaUnidade = PlanilhaUnidadeDAO::buscar(); $this->view->planilhaUnidade = $buscarPlanilhaUnidade; $this->view->planilha = $planilhaaprovacao; //xd($planilhaaprovacao); $this->view->projeto = $buscarprojeto; $this->view->totalcomponente = $buscarsomaaprovacao['soma']; $this->view->totalparecerista = $buscarsomaprojeto['soma']; $this->view->totalproponente = $buscarsomaproposta['soma']; $this->view->produtosFavoraveis = $arrProdutosFavoraveis; $this->montaTela("realizaranaliseprojeto/analisedecustos.phtml", array()); } // fecha else }