/** * */ private function validarCadastrar() { if (!$this->getFornecedor()) { throw new Exception('Fornecedor inválido.'); } if (!$this->getItem()) { throw new Exception('Item inválido.'); } if (!$this->getTipoDocumento()) { throw new Exception('Comprovante inválido.'); } if (!$this->getNif()) { throw new Exception('NIF inválido.'); } # validar periodo $itemModel = new PlanilhaAprovacao(); $projetoModel = new Projetos(); $projeto = $projetoModel->find($itemModel->find($this->item)->current()->IdPRONAC)->current(); $dtInicioExecucao = new DateTime($projeto->DtInicioExecucao); $dtFimExecucao = new DateTime($projeto->DtFimExecucao); if (!$this->dataEmissao || $this->dataEmissao < $dtInicioExecucao || $this->dataEmissao > $dtFimExecucao) { throw new Exception('A data do documento deve estar dentro do período de execução do projeto.'); } if (!$this->comprovanteValor) { throw new Exception('Valor do item inválido.'); } }
public function respostaconsultoriaAction() { $idEncPrestContas = $this->_request->getParam('idEncPrestContas'); if (!empty($idEncPrestContas)) { $tblEncaminhamento = new tbEncaminhamentoPrestacaoContas(); $rsEnc = $tblEncaminhamento->buscar(array('idEncPrestContas = ?' => $idEncPrestContas, 'idOrgaoDestino=?' => $this->codOrgao, 'idSituacaoEncPrestContas=?' => 1), array('dtFimEncaminhamento DESC'))->current(); $this->view->solicitacao = utf8_decode(htmlentities($rsEnc->dsJustificativa)); $idPronac = $rsEnc->idPronac; $tblProjeto = new Projetos(); $rsProjeto = $tblProjeto->find($idPronac)->current(); $this->view->PRONAC = $rsProjeto->AnoProjeto . $rsProjeto->Sequencial; $this->view->NomeProjeto = $rsProjeto->NomeProjeto; } $this->view->idOrgao = $this->codOrgao; $this->view->idEncPrestContas = $idEncPrestContas; }
/** * Faz a publicação na portaria */ public function publicarportariaAction() { ini_set('memory_limit', '-1'); if ($_GET['PortariaAprovacao']) { $PortariaAprovacao = $_GET['PortariaAprovacao']; if (isset($_GET['tipo'])) { switch ($_GET['tipo']) { case '': $TipoAprovacao = 1; $situacaoAtual = 'D09'; break; case 'complementacao': $TipoAprovacao = 2; $situacaoAtual = 'D16'; break; case 'prorrogacao': $TipoAprovacao = 3; $situacaoAtual = 'D17'; break; case 'reducao': $TipoAprovacao = 4; $situacaoAtual = 'D23'; break; case 'aprovacaoPrestacao': $TipoAprovacao = 5; $situacaoAtual = 'D42'; break; case 'reprovacaoPrestacao': $TipoAprovacao = 6; $situacaoAtual = 'D43'; break; case 'readequacao': $TipoAprovacao = 8; //$situacaoAtual = 'D43'; break; } } else { $TipoAprovacao = 1; $situacaoAtual = 'D09'; } $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo'); // cria a sessão com o grupo ativo $orgaoLogado = $GrupoAtivo->codOrgao; // manda o órgão ativo do usuário para a visão $Orgaos = new Orgaos(); $orgaoSuperior = $Orgaos->codigoOrgaoSuperior($orgaoLogado)->current(); $auth = Zend_Auth::getInstance(); // pega a autenticação $usuarioLogado = $auth->getIdentity()->usu_codigo; try { if ($TipoAprovacao == 5) { PublicacaoDouDAO::situcaopublicacaodou($TipoAprovacao, $PortariaAprovacao, 'E19', $situacaoAtual, $usuarioLogado, $orgaoSuperior->Superior); } else { if ($TipoAprovacao == 6) { PublicacaoDouDAO::situcaopublicacaodou($TipoAprovacao, $PortariaAprovacao, 'L05', $situacaoAtual, $usuarioLogado, $orgaoSuperior->Superior); } else { if ($TipoAprovacao == 8) { $where = array(); if ($orgaoSuperior->Superior == 251) { $where['a.Area <> ?'] = 2; } else { $where['a.Area = ?'] = 2; } $where['b.TipoAprovacao = ?'] = 8; $where['b.PortariaAprovacao = ?'] = $PortariaAprovacao; $ap = new Aprovacao(); $projetos = $ap->consultaPortariaReadequacoes($where); foreach ($projetos as $p) { // READEQUAÇÃO DE ALTERAÇÃO DE RAZÃO SOCIAL if ($p->idTipoReadequacao == 3) { $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $p->IdPRONAC))->current(); $Agentes = new Agentes(); $dadosAgente = $Agentes->buscar(array('CNPJCPF=?' => $dadosPrj->CgcCpf))->current(); $Nomes = new Nomes(); $dadosNomes = $Nomes->buscar(array('idAgente=?' => $dadosAgente->idAgente))->current(); $dadosNomes->Descricao = $p->dsSolicitacao; $dadosNomes->save(); // READEQUAÇÃO DE ALTERAÇÃO DE PROPONENTE } else { if ($p->idTipoReadequacao == 10) { $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $p->IdPRONAC))->current(); $cnpjcpf = Mascara::delMaskCPFCNPJ($p->dsSolicitacao); $dadosPrj->CgcCpf = $cnpjcpf; $dadosPrj->save(); // READEQUAÇÃO DE NOME DO PROJETO } else { if ($p->idTipoReadequacao == 12) { $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $p->IdPRONAC))->current(); $dadosPrj->NomeProjeto = $p->dsSolicitacao; $dadosPrj->ProvidenciaTomada = 'Projeto aprovado e publicado no Diário Oficial da União.'; $dadosPrj->Logon = $usuarioLogado; $dadosPrj->save(); // READEQUAÇÃO DE RESUMO DO PROJETO } else { if ($p->idTipoReadequacao == 15) { $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $p->IdPRONAC))->current(); $dadosPrj->ResumoProjeto = $p->dsSolicitacao; $dadosPrj->ProvidenciaTomada = 'Projeto aprovado e publicado no Diário Oficial da União.'; $dadosPrj->Logon = $usuarioLogado; $dadosPrj->save(); } } } } $tbReadequacao = new tbReadequacao(); $dadosReadequacao = $tbReadequacao->buscar(array('idReadequacao = ?' => $p->idReadequacao))->current(); $dadosReadequacao->siEncaminhamento = 15; $dadosReadequacao->stEstado = 1; $dadosReadequacao->save(); } parent::message("Portaria publicada com sucesso!", "publicacaodou/index?pronac=&situacao=" . $this->_getParam('tipo'), "CONFIRM"); } else { PublicacaoDouDAO::situcaopublicacaodou($TipoAprovacao, $PortariaAprovacao, 'E10', $situacaoAtual, $usuarioLogado, $orgaoSuperior->Superior); PublicacaoDouDAO::situcaopublicacaodou($TipoAprovacao, $PortariaAprovacao, 'E12', $situacaoAtual, $usuarioLogado, $orgaoSuperior->Superior); } } } parent::message("Portaria publicada com sucesso!", "publicacaodou/index?pronac=&situacao=" . $_GET['tipo'], "CONFIRM"); } catch (Exception $e) { parent::message("Erro ao atualizar a portaria!" . $e->getMessage(), "publicacaodou/index?pronac=&situacao=" . $_GET['tipo'], "ERROR"); } } // fecha if }
public function gravarArquivoMarcaAction() { $this->_helper->viewRenderer->setNoRender(true); $this->_helper->layout->disableLayout(); // pega as informações do arquivo $post = Zend_Registry::get('post'); $observacao = $post->observacao; $idProposta = $post->idPreProjeto; $idPronac = $post->idPronac; if (!empty($idPronac) && $idPronac != "0") { $tbProjeto = new Projetos(); $rsProjeto = $tbProjeto->find($idPronac)->current(); if (empty($rsProjeto) || count($rsProjeto) <= 0) { $mensagem = "Pronac inválido."; $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n"; $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "ERROR", "script" => $script)); return; } if ($_FILES['arquivo']['tmp_name']) { $arquivoNome = $_FILES['arquivo']['name']; // nome $arquivoTemp = $_FILES['arquivo']['tmp_name']; // nome temporário $arquivoTipo = $_FILES['arquivo']['type']; // tipo $arquivoTamanho = $_FILES['arquivo']['size']; // tamanho if (!empty($arquivoNome) && !empty($arquivoTemp)) { $arquivoExtensao = Upload::getExtensao($arquivoNome); // extensão $arquivoBinario = Upload::setBinario($arquivoTemp); // binário $arquivoHash = Upload::setHash($arquivoTemp); // hash } //VALIDA TAMANHO ARQUIVO if ($arquivoTamanho > $this->limiteTamanhoArq) { $mensagem = "O arquivo deve ser menor que 10 MB<br />"; $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n"; $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "ERROR", "script" => $script)); return; } //VALIDA EXTENSAO ARQUIVO if (!in_array($arquivoExtensao, explode(',', 'jpeg,jpg,gif,bmp,png,tif,raw,pdf,JPG, JPEG,GIF,BMP,PNG,TIF,RAW,PDF'))) { $mensagem = "Arquivo com extensão Inválida<br />"; $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n"; $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "ERROR", "script" => $script)); return; } try { $db = Zend_Registry::get('db'); $db->setFetchMode(Zend_DB::FETCH_OBJ); $db->beginTransaction(); // ==================== PERSISTE DADOS DO ARQUIVO =================// $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'dsTipoPadronizado' => $arquivoTipo, 'nrTamanho' => $arquivoTamanho, 'dtEnvio' => new Zend_Db_Expr('GETDATE()'), 'dsHash' => $arquivoHash, 'stAtivo' => 'I'); $tbArquivo = new tbArquivo(); $idArquivo = $tbArquivo->inserir($dadosArquivo); // ================== PERSISTE DADOS ARQUIVO - BINARIO ============// $dadosBinario = array('idArquivo' => $idArquivo, 'biArquivo' => new Zend_Db_Expr("CONVERT(varbinary(MAX), {$arquivoBinario})")); $tbArquivoImagem = new tbArquivoImagem(); $idArquivoImagem = $tbArquivoImagem->inserir($dadosBinario); // ================= PERSISTE DADOS DO DOCUMENTO ==================// $dadosDoc = array('idArquivo' => $idArquivo, 'idTipoDocumento' => '1', 'dsDocumento' => $observacao); $tbDocumento = new tbDocumento(); $idDocumento = $tbDocumento->inserir($dadosDoc); $idDocumento = $idDocumento['idDocumento']; // ================= PERSISTE DOCUMENTO PROPOSTA ==================// if (!empty($idProposta)) { $dadosDocProposta = array('idProposta' => $idProposta, 'idTipoDocumento' => '1', 'idDocumento' => $idDocumento, 'stAtivoDocumentoProposta' => '0'); $tbDocProposta = new tbDocumentoProposta(); $tbDocProposta->inserir($dadosDocProposta); } // ================= PERSISTE DOCUMENTO PROJETO ===================// if (!empty($idPronac)) { $dadosDocProjeto = array('idPronac' => $idPronac, 'idTipoDocumento' => '1', 'idDocumento' => $idDocumento, 'stAtivoDocumentoProjeto' => '0'); $tbDocProjeto = new tbDocumentoProjeto(); $tbDocProjeto->inserir($dadosDocProjeto); } //$script = "window.parent.document.getElementById('divMensagem').innerHTML = 'Erro ao enviar arquivo.<br />';\n"; $db->commit(); $mensagem = "Arquivo enviado com sucesso."; $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n"; $script .= "\$('#observacao', parent.document.body).val(''); \n \$('#arquivo', parent.document.body).val('');"; $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "CONFIRM", "script" => $script)); return; //echo $script; } catch (Exception $e) { $db->rollBack(); //xd($e->getMessage()); $mensagem = "Erro ao enviar arquivo."; $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n"; $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "ERROR", "script" => $script)); return; } } else { $mensagem = "Nenhum arquivo enviado."; $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n"; $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "ERROR", "script" => $script)); return; } } else { $mensagem = "Pronac inválido."; $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n"; $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "ERROR", "script" => $script)); return; } }
public function encaminharReadequacaoChecklistAction() { if ($this->idPerfil != 93 && $this->idPerfil != 94 && $this->idPerfil != 121 && $this->idPerfil != 122 && $this->idPerfil != 123) { parent::message("Você não tem permissão para acessar essa área do sistema!", "principal", "ALERT"); } $auth = Zend_Auth::getInstance(); $idCoordenador = $auth->getIdentity()->usu_codigo; $get = Zend_Registry::get('get'); $idReadequacao = (int) $get->id; $reuniao = new Reuniao(); $raberta = $reuniao->buscarReuniaoAberta(); $idNrReuniao = $raberta['stPlenaria'] == 'A' ? $raberta['idNrReuniao'] + 1 : $raberta['idNrReuniao']; $tbReadequacaoXParecer = new tbReadequacaoXParecer(); $dadosParecer = $tbReadequacaoXParecer->buscar(array('idReadequacao=?' => $idReadequacao)); foreach ($dadosParecer as $key => $dp) { $pareceres = array(); $pareceres[$key] = $dp->idParecer; } $Parecer = new Parecer(); $parecerTecnico = $Parecer->buscar(array('IdParecer=(?)' => $pareceres), array('IdParecer'))->current(); $tbReadequacao = new tbReadequacao(); if ($parecerTecnico->ParecerFavoravel == 2) { //Se for parecer favorável, atualiza os dados solicitados na readequação $read = $tbReadequacao->buscarReadequacao(array('idReadequacao =?' => $idReadequacao))->current(); // READEQUAÇÃO DE PLANILHA ORÇAMENTÁRIA if ($read->idTipoReadequacao == 2) { $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current(); $tbPlanilhaAprovacao = new tbPlanilhaAprovacao(); //BUSCAR VALOR TOTAL DA PLANILHA ATIVA $where = array(); $where['a.IdPRONAC = ?'] = $read->idPronac; $where['a.stAtivo = ?'] = 'S'; $PlanilhaAtiva = $tbPlanilhaAprovacao->valorTotalPlanilha($where)->current(); //BUSCAR VALOR TOTAL DA PLANILHA DE READEQUADA $where = array(); $where['a.IdPRONAC = ?'] = $read->idPronac; $where['a.tpPlanilha = ?'] = 'SR'; $where['a.stAtivo = ?'] = 'N'; $PlanilhaReadequada = $tbPlanilhaAprovacao->valorTotalPlanilha($where)->current(); if ($PlanilhaAtiva->Total < $PlanilhaReadequada->Total) { $TipoAprovacao = 2; $dadosPrj->Situacao = 'D28'; } else { $TipoAprovacao = 4; $dadosPrj->Situacao = 'D29'; } $dadosPrj->save(); $AprovadoReal = number_format($PlanilhaReadequada->Total - $PlanilhaAtiva->Total, 2, '.', ''); $tbAprovacao = new Aprovacao(); $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => $TipoAprovacao, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'AprovadoReal' => $AprovadoReal, 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao); $idAprovacao = $tbAprovacao->inserir($dadosAprovacao); // READEQUAÇÃO DE ALTERAÇÃO DE RAZÃO SOCIAL } else { if ($read->idTipoReadequacao == 3) { //Se for readequação de alteração de razão social, atualiza os dados na AGENTES.dbo.Nomes. $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current(); $tbAprovacao = new Aprovacao(); $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao); $idAprovacao = $tbAprovacao->inserir($dadosAprovacao); // READEQUAÇÃO DE AGÊNCIA BANCÁRIA } else { if ($read->idTipoReadequacao == 4) { //Se for readequação de agência bancária, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $agenciaBancaria = str_replace('-', '', $read->dsSolicitacao); $tblContaBancaria = new ContaBancaria(); $arrayDadosBancarios = array('Agencia' => $agenciaBancaria, 'ContaBloqueada' => '000000000000', 'DtLoteRemessaCB' => NULL, 'LoteRemessaCB' => '00000', 'OcorrenciaCB' => '000', 'ContaLivre' => '000000000000', 'DtLoteRemessaCL' => NULL, 'LoteRemessaCL' => '00000', 'OcorrenciaCL' => '000', 'Logon' => $this->idUsuario, 'idPronac' => $read->idPronac); $whereDadosBancarios['AnoProjeto = ?'] = $dadosPrj->AnoProjeto; $whereDadosBancarios['Sequencial = ?'] = $dadosPrj->Sequencial; $tblContaBancaria->alterar($arrayDadosBancarios, $whereDadosBancarios); // READEQUAÇÃO DE SINOPSE DA OBRA } else { if ($read->idTipoReadequacao == 5) { //Se for readequação de sinopse da obra, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->Sinopse = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE IMPACTO AMBIENTAL } else { if ($read->idTipoReadequacao == 6) { //Se for readequação de impacto ambiental, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->ImpactoAmbiental = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE ESPECIFICAÇÃO TÉCNICA } else { if ($read->idTipoReadequacao == 7) { //Se for readequação de especificação técnica, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->EspecificacaoTecnica = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE ESTRATÉGIA DE EXECUÇÃO } else { if ($read->idTipoReadequacao == 8) { //Se for readequação de estratégia de execução, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->EstrategiadeExecucao = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE LOCAL DE REALIZAÇÃO } else { if ($read->idTipoReadequacao == 9) { //Se for readequação de local de realização, atualiza os dados na SAC.dbo.Abrangencia. $Abrangencia = new Abrangencia(); $tbAbrangencia = new tbAbrangencia(); $abrangencias = $tbAbrangencia->buscar(array('idReadequacao=?' => $idReadequacao)); foreach ($abrangencias as $abg) { $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); //Se não houve avalição do conselheiro, pega a avaliação técnica como referencia. $avaliacao = $abg->tpAnaliseComissao; if ($abg->tpAnaliseComissao == 'N') { $avaliacao = $abg->tpAnaliseTecnica; } //Se a avaliação foi deferida, realiza as mudanças necessárias na tabela original. if ($avaliacao == 'D') { if ($abg->tpSolicitacao == 'E') { //Se a abrangencia foi excluída, atualiza os status da abrangencia na SAC.dbo.Abrangencia $Abrangencia->delete(array('idProjeto = ?' => $dadosPrj->idProjeto, 'idPais = ?' => $abg->idPais, 'idUF = ?' => $abg->idUF, 'idMunicipioIBGE = ?' => $abg->idMunicipioIBGE)); } else { if ($abg->tpSolicitacao == 'I') { //Se a abangência foi incluída, cria um novo registro na tabela SAC.dbo.Abrangencia $novoLocalRead = array(); $novoLocalRead['idProjeto'] = $dadosPrj->idProjeto; $novoLocalRead['idPais'] = $abg->idPais; $novoLocalRead['idUF'] = $abg->idUF; $novoLocalRead['idMunicipioIBGE'] = $abg->idMunicipioIBGE; $novoLocalRead['Usuario'] = $this->idUsuario; $novoLocalRead['stAbrangencia'] = 1; $Abrangencia->salvar($novoLocalRead); } } } } $dadosAbr = array(); $dadosAbr['stAtivo'] = 'N'; $whereAbr = "idPronac = {$read->idPronac} AND idReadequacao = {$idReadequacao}"; $tbAbrangencia->update($dadosAbr, $whereAbr); // READEQUAÇÃO DE ALTERAÇÃO DE PROPONENTE } else { if ($read->idTipoReadequacao == 10) { //Se for readequação de alteração de proponente, atualiza os dados na SAC.dbo.Projetos. $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current(); $tbAprovacao = new Aprovacao(); $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao); $idAprovacao = $tbAprovacao->inserir($dadosAprovacao); // READEQUAÇÃO DE PLANO DE DISTRIBUIÇÃO } else { if ($read->idTipoReadequacao == 11) { //Se for readequação de plano de distribuição, atualiza os dados na SAC.dbo.PlanoDistribuicaoProduto. $PlanoDistribuicaoProduto = new PlanoDistribuicaoProduto(); $tbPlanoDistribuicao = new tbPlanoDistribuicao(); $planosDistribuicao = $tbPlanoDistribuicao->buscar(array('idReadequacao=?' => $idReadequacao)); foreach ($planosDistribuicao as $plano) { $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); //Se não houve avalição do conselheiro, pega a avaliação técnica como referencia. $avaliacao = $plano->tpAnaliseComissao; if ($plano->tpAnaliseComissao == 'N') { $avaliacao = $plano->tpAnaliseTecnica; } //Se a avaliação foi deferida, realiza as mudanças necessárias na tabela original. if ($avaliacao == 'D') { if ($plano->tpSolicitacao == 'E') { //Se o plano de distribuição foi excluído, atualiza os status do plano na SAC.dbo.PlanoDistribuicaoProduto $PlanoDistribuicaoProduto->delete(array('idProjeto = ?' => $dadosPrj->idProjeto, 'idProduto = ?' => $plano->idProduto, 'Area = ?' => $plano->cdArea, 'Segmento = ?' => $plano->cdSegmento)); } else { if ($plano->tpSolicitacao == 'I') { //Se o plano de distribuição foi incluído, cria um novo registro na tabela SAC.dbo.PlanoDistribuicaoProduto $novoPlanoDistRead = array(); $novoPlanoDistRead['idProjeto'] = $dadosPrj->idProjeto; $novoPlanoDistRead['idProduto'] = $plano->idProduto; $novoPlanoDistRead['Area'] = $plano->cdArea; $novoPlanoDistRead['Segmento'] = $plano->cdSegmento; $novoPlanoDistRead['idPosicaoDaLogo'] = $plano->idPosicaoLogo; $novoPlanoDistRead['QtdeProduzida'] = $plano->qtProduzida; $novoPlanoDistRead['QtdePatrocinador'] = $plano->qtPatrocinador; $novoPlanoDistRead['QtdeProponente'] = $plano->qtProponente; $novoPlanoDistRead['QtdeOutros'] = $plano->qtOutros; $novoPlanoDistRead['QtdeVendaNormal'] = $plano->qtVendaNormal; $novoPlanoDistRead['QtdeVendaPromocional'] = $plano->qtVendaPromocional; $novoPlanoDistRead['PrecoUnitarioNormal'] = $plano->vlUnitarioNormal; $novoPlanoDistRead['PrecoUnitarioPromocional'] = $plano->vlUnitarioPromocional; $novoPlanoDistRead['stPrincipal'] = 0; $novoPlanoDistRead['Usuario'] = $this->idUsuario; $novoPlanoDistRead['dsJustificativaPosicaoLogo'] = null; $novoPlanoDistRead['stPlanoDistribuicaoProduto'] = 1; $PlanoDistribuicaoProduto->inserir($novoPlanoDistRead); } } } } $dadosPDD = array(); $dadosPDD['stAtivo'] = 'N'; $wherePDD = "idPronac = {$read->idPronac} AND idReadequacao = {$idReadequacao}"; $tbPlanoDistribuicao->update($dadosPDD, $wherePDD); // READEQUAÇÃO DE NOME DO PROJETO } else { if ($read->idTipoReadequacao == 12) { //Se for readequação de nome do projeto, insere o registo na tela de Checklist de Publicação. $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current(); $tbAprovacao = new Aprovacao(); $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao); $idAprovacao = $tbAprovacao->inserir($dadosAprovacao); // READEQUAÇÃO DE PERÍODO DE EXECUÇÃO } else { if ($read->idTipoReadequacao == 13) { //Se for readequação de período de execução, atualiza os dados na SAC.dbo.Projetos. $dtFimExecucao = Data::dataAmericana($read->dsSolicitacao); $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current(); $dadosPrj->DtFimExecucao = $dtFimExecucao; $dadosPrj->save(); // READEQUAÇÃO DE PLANO DE DIVULGAÇÃO } else { if ($read->idTipoReadequacao == 14) { //Se for readequação de plano de divulgacao, atualiza os dados na SAC.dbo.PlanoDeDivulgacao. $PlanoDeDivulgacao = new PlanoDeDivulgacao(); $tbPlanoDivulgacao = new tbPlanoDivulgacao(); $planosDivulgacao = $tbPlanoDivulgacao->buscar(array('idReadequacao=?' => $idReadequacao)); foreach ($planosDivulgacao as $plano) { $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); //Se não houve avalição do conselheiro, pega a avaliação técnica como referencia. $avaliacao = $plano->tpAnaliseComissao; if ($plano->tpAnaliseComissao == 'N') { $avaliacao = $plano->tpAnaliseTecnica; } //Se a avaliação foi deferida, realiza as mudanças necessárias na tabela original. if ($avaliacao == 'D') { if ($plano->tpSolicitacao == 'E') { //Se o plano de divulgação foi excluído, atualiza os status do plano na SAC.dbo.PlanoDeDivulgacao $PlanoDivulgacaoEmQuestao = $PlanoDeDivulgacao->buscar(array('idProjeto = ?' => $dadosPrj->idProjeto, 'idPeca = ?' => $plano->idPeca, 'idVeiculo = ?' => $plano->idVeiculo))->current(); $tbLogomarca = new tbLogomarca(); $dadosLogomarcaDaDivulgacao = $tbLogomarca->buscar(array('idPlanoDivulgacao = ?' => $PlanoDivulgacaoEmQuestao->idPlanoDivulgacao))->current(); $dadosLogomarcaDaDivulgacao->delete(); $PlanoDivulgacaoEmQuestao->delete(); } else { if ($plano->tpSolicitacao == 'I') { //Se o plano de divulgação foi incluído, cria um novo registro na tabela SAC.dbo.PlanoDeDivulgacao $novoPlanoDivRead = array(); $novoPlanoDivRead['idProjeto'] = $dadosPrj->idProjeto; $novoPlanoDivRead['idPeca'] = $plano->idPeca; $novoPlanoDivRead['idVeiculo'] = $plano->idVeiculo; $novoPlanoDivRead['Usuario'] = $this->idUsuario; $novoPlanoDivRead['siPlanoDeDivulgacao'] = 0; $novoPlanoDivRead['idDocumento'] = null; $novoPlanoDivRead['stPlanoDivulgacao'] = 1; $PlanoDeDivulgacao->inserir($novoPlanoDivRead); } } } } $dadosPDD = array(); $dadosPDD['stAtivo'] = 'N'; $wherePDD = "idPronac = {$read->idPronac} AND idReadequacao = {$idReadequacao}"; $tbPlanoDivulgacao->update($dadosPDD, $wherePDD); // READEQUAÇÃO DE RESUMO DO PROJETO } else { if ($read->idTipoReadequacao == 15) { //Se for readequação de resumo do projeto, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current(); $tbAprovacao = new Aprovacao(); $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao); $idAprovacao = $tbAprovacao->inserir($dadosAprovacao); // READEQUAÇÃO DE OBJETIVOS } else { if ($read->idTipoReadequacao == 16) { //Se for readequação de objetivos, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->Objetivos = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE JUSTIFICATIVA } else { if ($read->idTipoReadequacao == 17) { //Se for readequação de justificativa, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->Justificativa = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE ACESSIBILIDADE } else { if ($read->idTipoReadequacao == 18) { //Se for readequação de acesibilidade, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->Acessibilidade = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE DEMOCRATIZAÇÃO DE ACESSO } else { if ($read->idTipoReadequacao == 19) { //Se for readequação de democratização de acesso, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->DemocratizacaoDeAcesso = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE ETAPAS DE TRABALHO } else { if ($read->idTipoReadequacao == 20) { //Se for readequação de etapas de trabalho, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->EtapaDeTrabalho = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE FICHA TÉCNICA } else { if ($read->idTipoReadequacao == 21) { //Se for readequação de ficha técnica, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->FichaTecnica = $read->dsSolicitacao; $dadosPreProjeto->save(); } } } } } } } } } } } } } } } } } } } } } //Atualiza a tabela tbReadequacao $dados = array(); $dados['siEncaminhamento'] = 15; //Finalizam sem a necessidade de passar pela publicação no DOU. $dados['stEstado'] = 1; $tiposParaChecklist = array(2, 3, 10, 12, 15); if (in_array($read->idTipoReadequacao, $tiposParaChecklist)) { $dados['siEncaminhamento'] = 9; //Encaminhado pelo sistema para o Checklist de Publicação $dados['stEstado'] = 0; } $dados['idNrReuniao'] = $idNrReuniao; $where = "idReadequacao = {$idReadequacao}"; $return = $tbReadequacao->update($dados, $where); //Atualiza a tabela tbDistribuirReadequacao $dados = array(); $dados['stValidacaoCoordenador'] = 1; $dados['DtValidacaoCoordenador'] = new Zend_Db_Expr('GETDATE()'); $dados['idCoordenador'] = $idCoordenador; $where = "idReadequacao = {$idReadequacao}"; $tbDistribuirReadequacao = new tbDistribuirReadequacao(); $return2 = $tbDistribuirReadequacao->update($dados, $where); if (!$return && !$return2) { parent::message("Não foi possível encaminhar a readequação para o Checklist de Publicação", "readequacoes/painel?tipoFiltro=analisados", "ERROR"); } parent::message("Readequação encaminhada com sucesso!", "readequacoes/painel?tipoFiltro=analisados", "CONFIRM"); }