public function confirmarEnvioPropostaAoMincAction() { /* =============================================================================== */ /* ==== VERIFICA PERMISSAO DE ACESSO DO PROPONENTE A PROPOSTA OU AO PROJETO ====== */ /* =============================================================================== */ $this->verificarPermissaoAcesso(true, false, false); //recupera parametros $get = Zend_Registry::get('get'); $idPreProjeto = $get->idPreProjeto; $valida = $get->valida; $idTecnico = null; $rsTecnicos = array(); if (isset($_REQUEST['edital'])) { $edital = "&edital=s"; } else { $edital = ""; } if (!empty($idPreProjeto) && $valida == "s") { $tblPreProjeto = new PreProjeto(); $tblAvaliacao = new AnalisarPropostaDAO(); //recupera dados do projeto $rsPreProjeto = $tblPreProjeto->find($idPreProjeto)->current(); if ($rsPreProjeto->AreaAbrangencia == 0) { $idOrgaoSuperior = 262; } else { $idOrgaoSuperior = 171; } //verifica se a proposta ja foi recebida por um tecnico $avaliacao = $tblAvaliacao->verificarAvaliacao($idPreProjeto); //SE A PROPOSTA JA FOI AVALIADA POR UM TECNICO E O MESMO ESTIVER ATIVO, ATRIBUI A AVALIACAO A ELE if (count($avaliacao) > 0) { if ($avaliacao[0]->ConformidadeOK == 0 || $avaliacao[0]->ConformidadeOK == 1) { //verifica se o tecnico esta habilitado $arrBusca = array(); $arrBusca['sis_codigo = '] = 21; $arrBusca['gru_codigo = '] = 92; $arrBusca['usu_codigo = '] = $avaliacao[0]->idTecnico; $analista = AdmissibilidadeDAO::buscarAnalistas($arrBusca); if (count($analista) > 0) { if ($analista[0]->uog_status == 1) { $idTecnico = $avaliacao[0]->idTecnico; } else { $idTecnico = null; //recupera todos os tecnicos do orgao para fazer o balanceamento $rsTecnicos = $tblPreProjeto->recuperarTecnicosOrgao($idOrgaoSuperior); } } else { $idTecnico = null; //recupera todos os tecnicos do orgao para fazer o balanceamento $rsTecnicos = $tblPreProjeto->recuperarTecnicosOrgao($idOrgaoSuperior); } } } else { //recupera todos os tecnicos do orgao para fazer o balanceamento $rsTecnicos = $tblPreProjeto->recuperarTecnicosOrgao($idOrgaoSuperior); } //SE A PROPOSTA NUNCA FOI AVALIADA OU SE O TECNICO Q A AVALIOU ESTA DESABILITADO FAZ O BALANCEAMENTO if (count($rsTecnicos) > 0 && $idTecnico == null) { $arrTecnicosPropostas = array(); foreach ($rsTecnicos as $tecnico) { $rsAvaliacaoPorTecnico = $tblAvaliacao->recuperarQtdePropostaTecnicoOrgao($tecnico->uog_orgao, $tecnico->usu_codigo); $arrTecnicosPropostas[$tecnico->usu_codigo] = $rsAvaliacaoPorTecnico[0]->qtdePropostas; } asort($arrTecnicosPropostas); //PEGA O ID DO TECNICO Q TEM MENOS PROPOSTAS $ct = 1; foreach ($arrTecnicosPropostas as $chave => $valor) { if ($ct == 1) { $idTecnico = $chave; $ct++; } else { break; } } } //INICIA PERSISTENCIA DOS DADOS if ($idTecnico) { // $db = Zend_Db_Table::getDefaultAdapter(); // $db->beginTransaction(); try { //======== PERSXISTE DADOS DA MOVIMENTACAO ==========/ //atualiza status da ultima movimentacao $tblAvaliacao->updateEstadoMovimentacao($idPreProjeto); //PERSISTE DADOS DA MOVIMENTACAO $tblMovimentacao = new Movimentacao(); $dados = array("idProjeto" => $idPreProjeto, "Movimentacao" => "96", "DtMovimentacao" => date("Y/m/d H:i:s"), "stEstado" => "0", "Usuario" => $this->idResponsavel); $tblMovimentacao->salvar($dados); //======== PERSXISTE DADOS DA AVALIACAO ==========/ //atualiza status da ultima avaliacao //$tblAvaliacao->updateEstadoAvaliacao($idPreProjeto); //COMENTANDO CODIGO PARA DEIXAR SP (SAC..tbMovimentacao.trMovimentacao_Insert) TRABALHAR $dados = array(); $dados['idPreProjeto'] = $idPreProjeto; $dados['idTecnico'] = $idTecnico; //$this->idResponsavel; $dados['dtEnvio'] = "'" . date("Y/m/d H:i:s") . "'"; $dados['dtAvaliacao'] = "'" . date("Y/m/d H:i:s") . "'"; $dados['avaliacao'] = ""; $dados['conformidade'] = 9; $dados['estado'] = 0; //PERSISTE DADOS DA AVALIACAO PROPOSTA //$tblAvaliacao->inserirAvaliacao($dados); //COMENTANDO CODIGO PARA DEIXAR SP (SAC..tbMovimentacao.trMovimentacao_Insert) TRABALHAR // $db->commit(); parent::message("A Proposta foi enviado com sucesso ao Ministério da Cultura!", "/manterpropostaincentivofiscal/enviar-proposta-ao-minc?idPreProjeto=" . $idPreProjeto . $edital, "CONFIRM"); die; } catch (Exception $e) { // $db->rollback(); // xd($e->getMessage()); parent::message("A Proposta não foi enviado ao Ministério da Cultura.", "/manterpropostaincentivofiscal/enviar-proposta-ao-minc?idPreProjeto=" . $idPreProjeto . $edital, "ERROR"); die; } } else { //fecha IF se encontrou tecnicos para enviar a proposta parent::message("A Proposta não foi enviado ao Ministério da Cultura.", "/manterpropostaincentivofiscal/enviar-proposta-ao-minc?idPreProjeto=" . $idPreProjeto . $edital, "ERROR"); die; } } else { //xd($e->getMessage()); parent::message("A Proposta não foi enviado ao Ministério da Cultura.", "/manterpropostaincentivofiscal/enviar-proposta-ao-minc?idPreProjeto=" . $idPreProjeto . $edital, "ERROR"); } }
public function arquivarpropostaAction() { $dao = new AnalisarPropostaDAO(); try { //Enviar e-mail informando arquivamento e a justificativa //$dao->deletePreProjeto($this->idPreProjeto); $tblPreProjeto = new PreProjeto(); $rsPreProjeto = $tblPreProjeto->find($this->idPreProjeto)->current(); $rsPreProjeto->DtArquivamento = date("Y/m/d H:i:s"); $rsPreProjeto->stEstado = 0; $rsPreProjeto->save(); //Enviar e-mail informando arquivamento e a justificativa $tipo = $rsPreProjeto->idEdital ? 'arquivamento_proposta_Edital' : 'arquivamento_proposta_IF'; $msg = new Zend_Config_Ini(getcwd() . '/public/admissibilidade/mensagens_email_proponente.ini', $tipo); $this->eviarEmail($this->idPreProjeto, $msg->msg); parent::message("Operação realizada com sucesso!", "/admissibilidade/listar-propostas", "CONFIRM"); return; die; } catch (Exception $e) { parent::message("Erro ao realizar operação!", "/admissibilidade/listar-propostas", "ERROR"); } }
public function confirmarEnvioPropostaAoMincAction() { /* =============================================================================== */ /* ==== VERIFICA PERMISSAO DE ACESSO DO PROPONENTE A PROPOSTA OU AO PROJETO ====== */ /* =============================================================================== */ $this->verificarPermissaoAcesso(true, false, false); //recupera parametros $get = Zend_Registry::get('get'); $idPreProjeto = $get->idPreProjeto; $valida = $get->valida; $idTecnico = null; $rsTecnicos = array(); $idOrgaoSuperior = null; if (isset($_REQUEST['edital'])) { $edital = "&edital=s"; } else { $edital = ""; } if (!empty($idPreProjeto) && $valida == "s") { $tblPreProjeto = new PreProjeto(); $tblAvaliacao = new AnalisarPropostaDAO(); //recupera dados do projeto $rsPreProjeto = $tblPreProjeto->find($idPreProjeto)->current(); // Recuperando edital $tblEdital = new Edital(); $rsEdital = $tblEdital->buscar(array("idEdital = ?" => $rsPreProjeto->idEdital))->current(); $idOrgaoSuperior = $rsEdital->idOrgao; //verifica se a proposta ja foi recebida por um tecnico $avaliacao = $tblAvaliacao->verificarAvaliacao($idPreProjeto); //SE A PROPOSTA JA FOI AVALIADA POR UM TECNICO E O MESMO ESTIVER ATIVO, ATRIBUI A AVALIACAO A ELE if (count($avaliacao) > 0) { if ($avaliacao[0]->ConformidadeOK == 0 || $avaliacao[0]->ConformidadeOK == 1) { //verifica se o tecnico esta habilitado $arrBusca = array(); $arrBusca['sis_codigo = '] = 21; $arrBusca['gru_codigo = '] = 92; $arrBusca['usu_codigo = '] = $avaliacao[0]->idTecnico; $analista = AdmissibilidadeDAO::buscarAnalistas($arrBusca); if (count($analista) > 0) { if ($analista[0]->uog_status == 1) { $idTecnico = $avaliacao[0]->idTecnico; } else { $idTecnico = null; //recupera todos os tecnicos do orgao para fazer o balanceamento $rsTecnicos = $tblPreProjeto->recuperarTecnicosOrgao($idOrgaoSuperior); } } else { $idTecnico = null; //recupera todos os tecnicos do orgao para fazer o balanceamento $rsTecnicos = $tblPreProjeto->recuperarTecnicosOrgao($idOrgaoSuperior); } } else { $idTecnico = $avaliacao[0]->idTecnico; } } else { //recupera todos os tecnicos do orgao para fazer o balanceamento $rsTecnicos = $tblPreProjeto->recuperarTecnicosOrgao($idOrgaoSuperior); } //SE A PROPOSTA NUNCA FOI AVALIADA OU SE O TECNICO Q A AVALIOU ESTA DESABILITADO FAZ O BALANCEAMENTO if (count($rsTecnicos) > 0 && $idTecnico == null) { $arrTecnicosPropostas = array(); foreach ($rsTecnicos as $tecnico) { $rsAvaliacaoPorTecnico = $tblAvaliacao->recuperarQtdePropostaTecnicoOrgao($tecnico->uog_orgao, $tecnico->usu_codigo); $arrTecnicosPropostas[$tecnico->usu_codigo] = $rsAvaliacaoPorTecnico[0]->qtdePropostas; } asort($arrTecnicosPropostas); //PEGA O ID DO TECNICO Q TEM MENOS PROPOSTAS $ct = 1; foreach ($arrTecnicosPropostas as $chave => $valor) { if ($ct == 1) { $idTecnico = $chave; $ct++; } else { break; } } } //INICIA PERSISTENCIA DOS DADOS if ($idTecnico) { $db = Zend_Db_Table::getDefaultAdapter(); //$db->beginTransaction(); try { //======== PERSXISTE DADOS DA MOVIMENTACAO ==========/ //atualiza status da ultima movimentacao //$tblAvaliacao->updateEstadoMovimentacao($idPreProjeto); $tblMovimentacao = new Movimentacao(); //Mudando as movimentacoes anteriores para o stEstado = 1 $rsRetorno = $tblMovimentacao->update(array("stEstado" => 1), "idProjeto = {$idPreProjeto}"); //Pegando ultima movimentacao $rsMov = $tblMovimentacao->buscar(array("idProjeto = ?" => $idPreProjeto), array("idMovimentacao DESC"), 1, 0)->current(); if (count($rsMov) > 0) { $ultimaMovimentacao = $rsMov->Movimentacao; //xd($ultimaMovimentacao); //Pegando penultima movimentacao $rsMov = $tblMovimentacao->buscar(array("idProjeto = ?" => $idPreProjeto, "Movimentacao <> ?" => $ultimaMovimentacao), array("idMovimentacao DESC"), 1, 0)->current(); //xd($rsMov->toArray()); $movimentacaoDestino = 96; if (count($rsMov) > 0) { $movimentacaoDestino = $rsMov->Movimentacao; } //xd($movimentacaoDestino); } else { $movimentacaoDestino = 96; } //PERSISTE DADOS DA MOVIMENTACAO $tblMovimentacao = new Movimentacao(); $dados = array("idProjeto" => $idPreProjeto, "Movimentacao" => $movimentacaoDestino, "DtMovimentacao" => new Zend_Db_Expr('GETDATE()'), "stEstado" => "0", "Usuario" => $this->idUsuario); $tblMovimentacao->inserir($dados); //======== PERSXISTE DADOS DA AVALIACAO ==========/ //atualiza status da ultima avaliacao $tblAvaliacao->updateEstadoAvaliacao($idPreProjeto); $dados = array(); $dados['idPreProjeto'] = $idPreProjeto; $dados['idTecnico'] = $idTecnico; //$this->idUsuario; $dados['dtEnvio'] = "'" . date("Y/m/d H:i:s") . "'"; $dados['dtAvaliacao'] = "'" . date("Y/m/d H:i:s") . "'"; $dados['avaliacao'] = ""; $dados['conformidade'] = 9; $dados['estado'] = 0; //PERSISTE DADOS DA AVALIACAO PROPOSTA $tblAvaliacao->inserirAvaliacao($dados); // //REMOVER AS PENDENCIAS DE DOCUMENTO // $tblDocAnexados = new tbDocumentosPreProjeto(); // $rsDocsAnexados = $tblDocAnexados->buscar(array("idProjeto = ?"=>$idPreProjeto)); // $tblDocumentosPendentesProjeto = new DocumentosProjeto(); // $tblDocumentosPendentesProponente = new DocumentosProponente(); // //xd($rsDocsAnexados); // foreach($rsDocsAnexados as $anexo){ // $tblDocumentosPendentesProjeto->delete("idProjeto = {$idPreProjeto} AND CodigoDocumento = {$anexo->CodigoDocumento}"); // $tblDocumentosPendentesProponente->delete("idProjeto = {$idPreProjeto} AND CodigoDocumento = {$anexo->CodigoDocumento}"); // } //$db->commit(); parent::message("A Proposta foi enviado com sucesso ao Ministério da Cultura!", "/manterpropostaedital/enviar-proposta-ao-minc?idPreProjeto=" . $idPreProjeto . $edital, "CONFIRM"); die; } catch (Exception $e) { //$db->rollback(); //xd($e->getMessage()); parent::message("O Projeto não foi enviado ao Ministério da Cultura!", "/manterpropostaedital/enviar-proposta-ao-minc?idPreProjeto=" . $idPreProjeto . $edital, "ERROR"); die; } } else { //fecha IF se encontrou tecnicos para enviar a proposta parent::message("A Proposta não foi enviado ao Ministério da Cultura. Técnico não localizado", "/manterpropostaedital/enviar-proposta-ao-minc?idPreProjeto=" . $idPreProjeto . $edital, "ERROR"); die; } } else { //xd($e->getMessage()); parent::message("A Proposta não foi enviado ao Ministério da Cultura.", "/manterpropostaedital/enviar-proposta-ao-minc?idPreProjeto=" . $idPreProjeto . $edital, "ERROR"); } }
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"); }