public function finalizageralAction() { //idAcaoAvaliacaoItemPedidoAlteracao da Tabela BDCORPORATIVO.scSAC.tbAcaoAvaliacaoItemPedidoAlteracao $idAcao = $_GET['id']; // $new = new tbProposta(); // $ss = $new->finalizarReadequacaoDeProposta('119720'); // xd($ss); //retorna o id do agente logado $idAgenteRemetente = $this->getIdUsuario; $idPerfilRemetente = $this->codGrupo; $db = Zend_Registry::get('db'); $db->setFetchMode(Zend_DB::FETCH_OBJ); try { $db->beginTransaction(); //ATUALIZA OS CAMPOS stAtivo e stVerificacao NA TABELA tbAcaoAvaliacaoItemPedidoAlteracao $sqlfin = ReadequacaoProjetos::retornaSQLfinalizaGeral($idAcao); $dados = $db->fetchAll($sqlfin); //BUSCA OS REGISTROS DA TABELA tbAcaoAvaliacaoItemPedidoAlteracao $sqlfin2 = ReadequacaoProjetos::retornaSQLfinalizaGeral2($idAcao); $dados = $db->fetchAll($sqlfin2); $id = $dados[0]->idAvaliacaoItemPedidoAlteracao; $idOrgao = $dados[0]->idOrgao; //BUSCA OS REGISTROS DOS CAMPOS idPedidoAlteracao E tpAlteracaoProjeto DA TABELA tbAvaliacaoItemPedidoAlteracao $sqlfin3 = ReadequacaoProjetos::retornaSQLfinalizaGeral3($id); $dados = $db->fetchAll($sqlfin3); $idPedidoAlt = $dados[0]->idPedidoAlteracao; $tpAlt = $dados[0]->tpAlteracaoProjeto; $stAvaliacaoItem = $dados[0]->stAvaliacaoItemPedidoAlteracao; //ATUALIZA O CAMPO stVerificacao NA TABELA tbPedidoAlteracaoXTipoAlteracao $sqlfin4 = ReadequacaoProjetos::retornaSQLfinalizaGeral4($idPedidoAlt, $tpAlt); $dados = $db->fetchAll($sqlfin4); //CRIAR NOVO REGISTRO DE ENCAMINHAMENTO NA TABELA tbAcaoAvaliacaoItemPedidoAlteracao if (!isset($_GET['checklist'])) { $sqlfin5 = ReadequacaoProjetos::retornaSQLfinalizaGeral5($id, $idOrgao, $idAgenteRemetente, $idPerfilRemetente); $dados = $db->fetchAll($sqlfin5); } //BUSCA O IDPRONAC DA TABELA tbPedidoAlteracaoProjeto $sqlfin6 = ReadequacaoProjetos::retornaSQLfinalizaGeral6($idPedidoAlt); $dados = $db->fetchAll($sqlfin6); $idPronac = $dados[0]->IdPRONAC; //Verifica se possui item de custo NA TABELA tbPedidoAlteracaoXTipoAlteracao if ($tpAlt == 7) { $sqlfin7 = ReadequacaoProjetos::retornaSQLfinalizaGeral7($idPedidoAlt); $itens = $db->fetchAll($sqlfin7); if (count($itens) == 2) { $tpAlt = 10; } } $auth = Zend_Auth::getInstance(); // pega a autenticação $agente = GerenciarPautaReuniaoDAO::consultaAgenteUsuario($auth->getIdentity()->usu_codigo); $idagente = $agente['idAgente']; if ($stAvaliacaoItem == 'AP') { if ($tpAlt == 1 && isset($_GET['checklist'])) { //NOME DO PROPONENTE $NomeProponenteSolicitado = PedidoAlteracaoDAO::buscarAlteracaoNomeProponente($idPronac); $proponente = new Interessado(); $dados = array('Nome' => mb_convert_case(strtolower($NomeProponenteSolicitado['proponente']), MB_CASE_TITLE, "ISO-8859-1")); $proponente->alterar($dados, array('CgcCpf = ?' => $NomeProponenteSolicitado['CgcCpf'])); } else { if ($tpAlt == 2 && isset($_GET['checklist'])) { //TROCA DE PROPONENTE $trocaProponenteAtual = VerificarAlteracaoProjetoDAO::BuscarDadosGenericos($idPronac); $NomeAtual = $trocaProponenteAtual['proponente']; $CpfCnpjAtual = $trocaProponenteAtual['CgcCpf']; $idNome = $trocaProponenteAtual['idNome']; $trocaProponenteSolicitada = PedidoAlteracaoDAO::buscarAlteracaoRazaoSocial($idPronac); $NomeSolicitado = $trocaProponenteSolicitada['nmRazaoSocial']; $CpfCnpjSolicitado = $trocaProponenteSolicitada['CgcCpf']; // altera o cpf do proponente $_Projetos = new Projetos(); $_alterarProponente = $_Projetos->alterar(array('CgcCpf' => $CpfCnpjSolicitado), array('IdPRONAC = ?' => $idPronac)); // altera o nome do proponente $_Nomes = new Nomes(); $_alterarNome = $_Nomes->alterar(array('Descricao' => $NomeSolicitado), array('idNome = ?' => $idNome)); $proponente = new Interessado(); $dados = array('Nome' => mb_convert_case(strtolower($NomeSolicitado), MB_CASE_TITLE, "ISO-8859-1")); $proponente->alterar($dados, array('CgcCpf = ?' => $CpfCnpjSolicitado)); /** * ============================================================== * INICIO DA ATUALIZACAO DO VINCULO DO PROPONENTE * ============================================================== */ $Projetos = new Projetos(); $Agentes = new Agentes(); $Visao = new Visao(); $tbVinculo = new TbVinculo(); $tbVinculoProposta = new tbVinculoProposta(); /* ========== BUSCA OS DADOS DO PROPONENTE ANTIGO ========== */ $buscarCpfProponenteAntigo = $Projetos->buscar(array('IdPRONAC = ?' => $idPronac)); $cpfProponenteAntigo = count($buscarCpfProponenteAntigo) > 0 ? $buscarCpfProponenteAntigo[0]->CgcCpf : 0; $buscarIdProponenteAntigo = $Agentes->buscar(array('CNPJCPF = ?' => $cpfProponenteAntigo)); $idProponenteAntigo = count($buscarIdProponenteAntigo) > 0 ? $buscarIdProponenteAntigo[0]->idAgente : 0; $idPreProjetoVinculo = count($buscarCpfProponenteAntigo) > 0 ? $buscarCpfProponenteAntigo[0]->idProjeto : 0; /* ========== BUSCA OS DADOS DO NOVO PROPONENTE ========== */ $buscarNovoProponente = $Agentes->buscar(array('CNPJCPF = ?' => $CpfCnpjSolicitado)); $idNovoProponente = count($buscarNovoProponente) > 0 ? $buscarNovoProponente[0]->idAgente : 0; $buscarVisao = $Visao->buscar(array('Visao = ?' => 144, 'idAgente = ?' => $idNovoProponente)); /* ========== BUSCA OS DADOS DA PROPOSTA VINCULADA ========== */ $idVinculo = $tbVinculoProposta->buscar(array('idPreProjeto = ?' => $idPreProjetoVinculo)); /* ========== ATUALIZA O VINCULO DO PROPONENTE ========== */ if (count($buscarVisao) > 0 && count($idVinculo) > 0) { $whereVinculo = array('idVinculo = ?' => $idVinculo[0]->idVinculo); $dadosVinculo = array('idAgenteProponente' => $idNovoProponente, 'dtVinculo' => new Zend_Db_Expr('GETDATE()')); $tbVinculo->alterar($dadosVinculo, $whereVinculo); } else { parent::message("O usuário informado não é Proponente ou o Projeto não está vinculado a uma Proposta!", "verificarreadequacaodeprojeto/verificarreadequacaodeprojetocoordacompanhamento", "ERROR"); } /** * ============================================================== * FIM DA ATUALIZACAO DO VINCULO DO PROPONENTE * ============================================================== */ } else { if ($tpAlt == 3) { //FICHA TÉCNICA $fichatecAtual = FichaTecnicaDAO::buscarFichaTecnicaFinal($idPronac, $idPedidoAlt); $Atual = $fichatecAtual[0]->FichaTecnica; $idPreProjeto = $fichatecAtual[0]->idPreProjeto; $fichatecSolicitada = PedidoAlteracaoDAO::buscarAlteracaoFichaTecnicaFinal($idPronac, $idPedidoAlt); $Solicitada = $fichatecSolicitada[0]['dsFichaTecnica']; $avaliacao = ReadequacaoProjetos::finalizacaoCoordAcomp("SAC.dbo.PreProjeto", "FichaTecnica", $Solicitada, "idPreProjeto", $idPreProjeto); $result = $db->fetchAll($avaliacao); } else { if ($tpAlt == 4) { //LOCAL DE REALIZAÇÃO $local = ProjetoDAO::buscarPronac($idPronac); $idProjeto = $local['idProjeto']; $dadosTbAbran = tbAbrangenciaDAO::buscarDadosTbAbrangencia(null, $id); foreach ($dadosTbAbran as $x) { if (trim($x->tpAcao) == 'I') { $dados = array('idProjeto' => $idProjeto, 'idPais' => $x->idPais, 'idUF' => $x->idUF, 'idMunicipioIBGE' => $x->idMunicipioIBGE, 'Usuario' => $idagente, 'stAbrangencia' => '1'); //if (count(AbrangenciaDAO::verificarLocalRealizacao($idProjeto, $x->idMunicipioIBGE)) <= 0) : $local = AbrangenciaDAO::cadastrar($dados); //endif; //print_r($local); } else { if (trim($x->tpAcao) == 'E') { // altera o status dos locais excluídos $Abrangencia = new Abrangencia(); $Abrangencia->update(array('stAbrangencia' => 0), array('idAbrangencia = ?' => $x->idAbrangenciaAntiga)); //$_local = AbrangenciaDAO::buscarAbrangenciasAtuais($idProjeto, $x->idPais, $x->idUF, $x->idMunicipioIBGE); //$__local = AbrangenciaDAO::excluir($_local[0]->idAbrangencia); } } } } else { if ($tpAlt == 5 && isset($_GET['checklist'])) { //NOME DO PROJETO $Projetos = new Projetos(); $DadosAlteracaoNomeProjeto = PedidoAlteracaoDAO::buscarAlteracaoNomeProjeto($idPronac); $dados = array('NomeProjeto' => $DadosAlteracaoNomeProjeto['nmProjeto']); $Projetos->alterar($dados, array('IdPRONAC = ?' => $idPronac)); } else { if ($tpAlt == 6) { //PROPOSTA PEDAGÓGICA $sqlproposta = ReadequacaoProjetos::retornaSQLproposta("sqlpropostafinalizar", $idPronac); $dadosSolicitado = $db->fetchAll($sqlproposta); $Projeto = new Projetos(); $DadosProj = $Projeto->buscar(array('IdPRONAC = ?' => $idPronac)); if (count($DadosProj) > 0 && !empty($DadosProj[0]->idProjeto)) { $PreProjeto = new PreProjeto(); $dados = array('EstrategiadeExecucao' => $dadosSolicitado[0]['dsEstrategiaExecucao'], 'EspecificacaoTecnica' => $dadosSolicitado[0]['dsEspecificacaoSolicitacao']); PreProjeto::alterarDados($dados, array('idPreProjeto = ?' => $DadosProj[0]->idProjeto)); } } else { if ($tpAlt == 7) { $tbPlanoDistribuicao = new tbPlanoDistribuicao(); $produtosAnalisadosDeferidos = $tbPlanoDistribuicao->produtosAvaliadosReadequacao($idPedidoAlt, $id); foreach ($produtosAnalisadosDeferidos as $valores) { $Projeto = new Projetos(); $DadosProj = $Projeto->buscar(array('IdPRONAC = ?' => $idPronac)); $dadosProduto = array('idPlanoDistribuicao' => $valores->idPlanoDistribuicao, 'idProjeto' => $DadosProj[0]->idProjeto, 'idProduto' => $valores->idProduto, 'Area' => $valores->cdArea, 'Segmento' => $valores->cdSegmento, 'idPosicaoDaLogo' => $valores->idPosicaoLogo, 'QtdeProduzida' => $valores->qtProduzida, 'QtdePatrocinador' => $valores->qtPatrocinador, 'QtdeProponente' => NULL, 'QtdeOutros' => $valores->qtOutros, 'QtdeVendaNormal' => $valores->qtVendaNormal, 'QtdeVendaPromocional' => $valores->qtVendaPromocional, 'PrecoUnitarioNormal' => $valores->vlUnitarioNormal, 'PrecoUnitarioPromocional' => $valores->vlUnitarioPromocional, 'stPrincipal' => $valores->stPrincipal, 'stPlanoDistribuicaoProduto' => 1); //ALTERA OU INSERE O PLANO DE DISTRIBUICAO $PlanoDistribuicao = new PlanoDistribuicao(); $x = $PlanoDistribuicao->salvar($dadosProduto); } } else { if ($tpAlt == 8 && isset($_GET['checklist'])) { //PRORROGACAO DE PRAZOS - CAPTACAO $datas = PedidoAlteracaoDAO::buscarAlteracaoPrazoCaptacao($idPronac); $Projeto = new Projetos(); $DadosProj = $Projeto->buscar(array('IdPRONAC = ?' => $idPronac)); $Aprovacao = new Aprovacao(); $registro = $Aprovacao->buscar(array('AnoProjeto = ?' => $DadosProj[0]->AnoProjeto, 'Sequencial = ?' => $DadosProj[0]->Sequencial)); $dados = array('IdPRONAC' => $idPronac, 'AnoProjeto' => $DadosProj[0]->AnoProjeto, 'Sequencial' => $DadosProj[0]->Sequencial, 'TipoAprovacao' => 3, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'DtInicioCaptacao' => $datas['dtInicioNovoPrazo'], 'DtFimCaptacao' => $datas['dtFimNovoPrazo'], 'Logon' => $idagente); $Aprovacao->inserir($dados); } else { if ($tpAlt == 9 && isset($_GET['checklist'])) { //PRORROGACAO DE PRAZOS - EXECUCAO $datas = PedidoAlteracaoDAO::buscarAlteracaoPrazoExecucao($idPronac); $projetos = new Projetos(); $dados = array('DtInicioExecucao' => $datas['dtInicioNovoPrazo'], 'DtFimExecucao' => $datas['dtFimNovoPrazo']); $projetos->alterar($dados, array('IdPRONAC = ?' => $idPronac)); } else { if ($tpAlt == 10) { $tbPlanoDistribuicao = new tbPlanoDistribuicao(); $produtosAnalisadosDeferidos = $tbPlanoDistribuicao->produtosAvaliadosReadequacao($idPedidoAlt, $id); foreach ($produtosAnalisadosDeferidos as $valores) { $Projeto = new Projetos(); $DadosProj = $Projeto->buscar(array('IdPRONAC = ?' => $idPronac)); $dadosProduto = array('idPlanoDistribuicao' => $valores->idPlanoDistribuicao, 'idProjeto' => $DadosProj[0]->idProjeto, 'idProduto' => $valores->idProduto, 'Area' => $valores->cdArea, 'Segmento' => $valores->cdSegmento, 'idPosicaoDaLogo' => $valores->idPosicaoLogo, 'QtdeProduzida' => $valores->qtProduzida, 'QtdePatrocinador' => $valores->qtPatrocinador, 'QtdeProponente' => NULL, 'QtdeOutros' => $valores->qtOutros, 'QtdeVendaNormal' => $valores->qtVendaNormal, 'QtdeVendaPromocional' => $valores->qtVendaPromocional, 'PrecoUnitarioNormal' => $valores->vlUnitarioNormal, 'PrecoUnitarioPromocional' => $valores->vlUnitarioPromocional, 'stPrincipal' => $valores->stPrincipal, 'stPlanoDistribuicaoProduto' => 1); //ALTERA OU INSERE O PLANO DE DISTRIBUICAO $PlanoDistribuicao = new PlanoDistribuicao(); $x = $PlanoDistribuicao->salvar($dadosProduto); } // PRODUTO + ITEN DE CUSTO $planilhaProposta = new PlanilhaProposta(); $planilhaProjeto = new PlanilhaProjeto(); $DeParaPlanilhaAprovacao = new DeParaPlanilhaAprovacao(); $Projetos = new Projetos(); $planilha = new PlanilhaAprovacao(); $PlanilhasSolicitadas = $planilha->buscar(array('IdPRONAC = ?' => $idPronac, 'tpPlanilha = ?' => 'PA')); $buscarProjeto = $Projetos->buscar(array('IdPRONAC = ?' => $idPronac)); foreach ($PlanilhasSolicitadas as $dadosP) { if (!empty($dadosP->idPedidoAlteracao)) { // busca a ação a ser executada conforme solicitação de readequação //$_idPlanilhaProjeto = empty($dadosP->idPlanilhaProjeto) ? ('idPlanilhaProjeto ? ' => new Zend_Db_Expr('IS NULL')) : ('idPlanilhaProjeto = ? ' => $dadosP->idPlanilhaProjeto); //$_idPlanilhaProposta = empty($dadosP->idPlanilhaProposta) ? ('idPlanilhaProposta ? ' => new Zend_Db_Expr('IS NULL')) : ('idPlanilhaProposta = ? ' => $dadosP->idPlanilhaProposta); //$_idPlanilhaAprovacaoPai = empty($dadosP->idPlanilhaAprovacaoPai) ? ('idPlanilhaAprovacaoPai ? ' => new Zend_Db_Expr('IS NULL')) : ('idPlanilhaAprovacaoPai = ? ' => $dadosP->idPlanilhaAprovacaoPai); $_dados = array('IdPRONAC = ?' => $idPronac, 'tpPlanilha = ?' => 'SR', 'IdPRONAC = ?' => $idPronac, 'idPedidoAlteracao = ? ' => $dadosP->idPedidoAlteracao); $buscarTpAcaoSR = $planilha->buscar($_dados); if (count($buscarTpAcaoSR) > 0 && !empty($buscarProjeto[0]->idProjeto)) { // EXCLUSÃO if ($buscarTpAcaoSR[0]->tpAcao == 'E') { // planilha antiga $idProjeto = $buscarProjeto[0]->idProjeto; $dadosAprovados = $planilhaProposta->buscar(array('idProjeto = ?' => $idProjeto, 'idProduto = ?' => $dadosP->idProduto, 'idEtapa = ?' => $dadosP->idEtapa, 'idPlanilhaItem = ?' => $dadosP->idPlanilhaItem)); foreach ($dadosAprovados as $dadosExculsao) { $buscarDeParaPlanilhaAprovacao = $DeParaPlanilhaAprovacao->buscarPlanilhaProposta($dadosExculsao->idPlanilhaProposta); foreach ($buscarDeParaPlanilhaAprovacao as $b) { $DeParaPlanilhaAprovacao->delete(array('idPlanilhaAprovacao = ?' => $b->idPlanilhaAprovacao)); } $planilha->delete(array('idPlanilhaProposta = ?' => $dadosExculsao->idPlanilhaProposta)); $planilhaProjeto->delete(array('idPlanilhaProposta = ?' => $dadosExculsao->idPlanilhaProposta)); $planilhaProposta->delete(array('idPlanilhaProposta = ?' => $dadosExculsao->idPlanilhaProposta)); } // ALTERAÇÃO } elseif ($buscarTpAcaoSR[0]->tpAcao == 'A') { // planilha antiga $idProjeto = $buscarProjeto[0]->idProjeto; $dadosAprovados = $planilhaProposta->buscar(array('idProjeto = ?' => $idProjeto, 'idProduto = ?' => $dadosP->idProduto, 'idEtapa = ?' => $dadosP->idEtapa, 'idPlanilhaItem = ?' => $dadosP->idPlanilhaItem)); foreach ($dadosAprovados as $dadosAlteracao) { $where = array('idPlanilhaProposta = ?' => $dadosAlteracao->idPlanilhaProposta); $dados = array('idProduto' => $dadosP->idProduto, 'idEtapa' => $dadosP->idEtapa, 'idPlanilhaItem' => $dadosP->idPlanilhaItem, 'Descricao' => $dadosP->dsItem, 'Unidade' => $dadosP->idUnidade, 'Quantidade' => $dadosP->qtItem, 'Ocorrencia' => $dadosP->nrOcorrencia, 'ValorUnitario' => $dadosP->vlUnitario, 'QtdeDias' => $dadosP->qtDias, 'TipoDespesa' => $dadosP->tpDespesa, 'TipoPessoa' => $dadosP->tpPessoa, 'Contrapartida' => $dadosP->nrContraPartida, 'FonteRecurso' => $dadosP->nrFonteRecurso, 'UfDespesa' => $dadosP->idUFDespesa, 'MunicipioDespesa' => $dadosP->idMunicipioDespesa, 'idUsuario' => $dadosP->idAgente, 'dsJustificativa' => $dadosP->dsJustificativa); $planilhaProposta->alterar($dados, $where); } $planilha->update(array('tpPlanilha' => 'CO', 'stAtivo' => 'N'), array('idPlanilhaAprovacao = ? ' => $dadosP->idPlanilhaAprovacao)); $planilha->update(array('tpPlanilha' => 'CO', 'stAtivo' => 'N'), array('idPlanilhaAprovacao = ? ' => $buscarTpAcaoSR[0]->idPlanilhaAprovacao)); // INCLUSÃO } elseif ($buscarTpAcaoSR[0]->tpAcao == 'I') { // planilha antiga $ReplicaDados = array('idProjeto' => $buscarProjeto[0]->idProjeto, 'idProduto' => $dadosP->idProduto, 'idEtapa' => $dadosP->idEtapa, 'idPlanilhaItem' => $dadosP->idPlanilhaItem, 'Descricao' => $dadosP->dsItem, 'Unidade' => $dadosP->idUnidade, 'Quantidade' => $dadosP->qtItem, 'Ocorrencia' => $dadosP->nrOcorrencia, 'ValorUnitario' => $dadosP->vlUnitario, 'QtdeDias' => $dadosP->qtDias, 'TipoDespesa' => $dadosP->tpDespesa, 'TipoPessoa' => $dadosP->tpPessoa, 'Contrapartida' => $dadosP->nrContraPartida, 'FonteRecurso' => $dadosP->nrFonteRecurso, 'UfDespesa' => $dadosP->idUFDespesa, 'MunicipioDespesa' => $dadosP->idMunicipioDespesa, 'idUsuario' => $dadosP->idAgente, 'dsJustificativa' => $dadosP->dsJustificativa); $planilhaProposta->inserir($ReplicaDados); $planilha->update(array('tpPlanilha' => 'CO', 'stAtivo' => 'N'), array('idPlanilhaAprovacao = ? ' => $dadosP->idPlanilhaAprovacao)); $planilha->update(array('tpPlanilha' => 'CO', 'stAtivo' => 'N'), array('idPlanilhaAprovacao = ? ' => $buscarTpAcaoSR[0]->idPlanilhaAprovacao)); } } } // fecha if } } } } } } } } } } } } $db->commit(); //CASO SEJA O ÚLTIMO ITEM DO PEDIDO DE ALTERAÇÃO, FINALIZA O STATUS DA MESMA $tbPedidoAlteracaoXTipoAlteracao = new tbPedidoAlteracaoXTipoAlteracao(); $verificarPedidosAtivos = $tbPedidoAlteracaoXTipoAlteracao->buscar(array('idPedidoAlteracao = ?' => $idPedidoAlt, 'stVerificacao <> ?' => 4)); $arrBusca = array(); $arrBusca['p.siVerificacao IN (?)'] = array('1'); $arrBusca['p.IdPRONAC = ?'] = $idPronac; $arrBusca['x.tpAlteracaoProjeto IN (?)'] = array('1', '2', '5', '7', '8', '9', '10'); $arrBusca['a.stAvaliacaoItemPedidoAlteracao IN (?)'] = array('AP'); $arrBusca['c.stVerificacao NOT IN (?)'] = array('4'); $buscaChecklist = $tbPedidoAlteracaoXTipoAlteracao->buscarPedidoChecklist($arrBusca); if (count($verificarPedidosAtivos) == 0 && count($buscaChecklist) == 0) { $tbPedidoAlteracaoProjeto = new tbPedidoAlteracaoProjeto(); $tbPedidoAlteracaoProjeto->alterar(array('siVerificacao' => 2), array('idPedidoAlteracao = ?' => $idPedidoAlt)); } if (isset($_GET['checklist'])) { parent::message("Portaria publicada com sucesso!", "publicacaodou/index", "CONFIRM"); } else { parent::message("Projeto finalizado com sucesso!", "verificarreadequacaodeprojeto/verificarreadequacaodeprojetocoordacompanhamento", "CONFIRM"); } } catch (Zend_Exception $e) { $db->rollBack(); parent::message("Erro na devolução da solicitação", "verificarreadequacaodeprojeto/verificarreadequacaodeprojetocoordacompanhamento", "ERROR"); } }
public function cadastrarPlanoDistribuicaoAction() { $linkFinal = ''; if (isset($_POST['relatorofinal']) && $_POST['relatorofinal']) { $linkFinal = '-final'; } //** Verifica se o usuário logado tem permissão de acesso **// $this->verificarPermissaoAcesso(false, true, false); $idpronac = $this->_request->getParam("idpronac"); if (strlen($idpronac) > 7) { $idpronac = Seguranca::dencrypt($idpronac); } try { $Visao = new Visao(); $visaoBeneficiario = $Visao->buscar(array('idAgente=?' => $_POST['idAgente'], 'Visao=?' => 199)); if (count($visaoBeneficiario) == 0) { $dadosAgente = array('idAgente' => $_POST['idAgente'], 'Visao' => 199, 'Usuario' => $this->IdUsuario, 'stAtivo' => 'A'); $Visao->inserir($dadosAgente); } $tbBeneficiarioProdutoCultural = new tbBeneficiarioProdutoCultural(); $produtoBeneficiario = $tbBeneficiarioProdutoCultural->buscar(array('IdPRONAC=?' => $idpronac, 'idAgente=?' => $_POST['idAgente'], 'idPlanoDistribuicao=?' => $_POST['produto'], 'idTipoBeneficiario=?' => $_POST['tipoDocumento'])); if (count($produtoBeneficiario) > 0) { parent::message("Já foi cadastrado o mesmo agente para este produto!", "comprovarexecucaofisica/plano-de-distribuicao{$linkFinal}/idpronac/" . Seguranca::encrypt($idpronac), "ERROR"); } else { if (!empty($_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 } if (!isset($_FILES['arquivo'])) { parent::message("O arquivo não atende os requisitos informados no formulário.", "comprovarexecucaofisica/plano-de-distribuicao{$linkFinal}/idpronac/" . Seguranca::encrypt($idpronac), "ERROR"); } if (empty($_FILES['arquivo']['tmp_name'])) { parent::message("Favor selecionar um arquivo para o novo Plano de Distribuição.", "comprovarexecucaofisica/plano-de-distribuicao{$linkFinal}/idpronac/" . Seguranca::encrypt($idpronac), "ERROR"); } $tipos = array('bmp', 'gif', 'jpeg', 'jpg', 'png', 'raw', 'tif', 'pdf'); if (!in_array(strtolower($arquivoExtensao), $tipos)) { parent::message("Favor selecionar o arquivo de Marca no formato BMP, GIF, JPEG, JPG, PNG, RAW, TIF ou PDF!", "comprovarexecucaofisica/plano-de-distribuicao{$linkFinal}/idpronac/" . Seguranca::encrypt($idpronac), "ERROR"); } $dataString = file_get_contents($arquivoTemp); $arrData = unpack("H*hex", $dataString); $data = "0x" . $arrData['hex']; // ==================== PERSISTE DADOS DO ARQUIVO =================// $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'biArquivo' => $data, 'dsDocumento' => 'Comprovação do Relatório Trimestral/Final - Plano de Distribuição', 'idPronac' => $idpronac, 'idTipoDocumento' => $_POST['tipoDocumento']); $Arquivo = new Arquivo(); $Arquivo->inserirUploads($dadosArquivo); $DocumentoProjeto = new tbDocumentoProjetoBDCORPORATIVO(); $dadosDocumento = $DocumentoProjeto->buscar(array('idPronac =?' => $idpronac, 'idTipoDocumento =?' => $_POST['tipoDocumento']), array('idDocumento DESC')); $dados = array('IdPRONAC' => $idpronac, 'idAgente' => $_POST['idAgente'], 'idPlanoDistribuicao' => $_POST['produto'], 'idDocumento' => $dadosDocumento[0]->idDocumento, 'qtRecebida' => $_POST['quantidade'], 'idTipoBeneficiario' => $_POST['tipoDocumento']); $tbBeneficiarioProdutoCultural->inserir($dados); } else { parent::message("Não foi possível cadastrar os dados do Plano de Distribuição!", "comprovarexecucaofisica/plano-de-distribuicao{$linkFinal}/idpronac/" . Seguranca::encrypt($idpronac), "ERROR"); } } parent::message("Dados salvos com sucesso!", "comprovarexecucaofisica/plano-de-distribuicao{$linkFinal}/idpronac/" . Seguranca::encrypt($idpronac), "CONFIRM"); } catch (Exception $e) { parent::message("Erro ao salvar os dados.", "comprovarexecucaofisica/plano-de-distribuicao{$linkFinal}/idpronac/" . Seguranca::encrypt($idpronac), "ERROR"); } }
/** * */ public function verificaIncentivadorAction() { $this->_helper->layout->disableLayout(); // desabilita o Zend_Layout $tbAgente = new Agentes(); $rsAgente = $tbAgente->buscar(array('CNPJCPF = ?' => $this->_request->getParam('cpfCnpjIncentivador'))); # verifica se existe o agente if ($rsAgente->count()) { $agente = $rsAgente->current(); $visaoTable = new Visao(); $visaoAgente = $visaoTable->buscar(array('idAgente = ?' => $agente->idAgente, 'Visao = ?' => 145)); # verifica se existe a visao, caso nao cadastra if (!$visaoAgente->count()) { $visaoTable->insert(array('Usuario' => Zend_Auth::getInstance()->getIdentity()->usu_codigo, 'idAgente' => $agente->idAgente, 'Visao' => 145, 'stAtivo' => 'S')); } # $this->_helper->json(array('existe' => true), true); } # agente nao cadastrado $this->_helper->json(array('existe' => false), true); }
public function cadastrarusuarioAction() { if ($_POST) { $post = Zend_Registry::get('post'); $cpf = Mascara::delMaskCNPJ(Mascara::delMaskCPF($post->cpf)); // recebe cpf $nome = $post->nome; // recebe o nome $dataNasc = $post->dataNasc; // recebe dataNasc $email = $post->email; // recebe email $emailConf = $post->emailConf; // recebe confirmacao senha if (trim($email) != trim($emailConf)) { parent::message("Digite o email certo!", "/login/cadastrarusuario", "ALERT"); } $SenhaFinal = Gerarsenha::gerasenha(15, true, true, true, false); // $encriptaSenha = EncriptaSenhaDAO::encriptaSenha($cpf, $gerarSenha); // $SenhaFinal = $encriptaSenha[0]->senha; // $SenhaFinal = $gerarSenha; $dataFinal = data::dataAmericana($dataNasc); $dados = array("Cpf" => $cpf, "Nome" => $nome, "DtNascimento" => $dataFinal, "Email" => $email, "Senha" => $SenhaFinal, "DtCadastro" => date("Y-m-d"), "Situacao" => 1, "DtSituacao" => date("Y-m-d")); // xd($dados); $sgcAcesso = new Sgcacesso(); $sgcAcessoBuscaCpf = $sgcAcesso->buscar(array("Cpf = ?" => $cpf)); $sgcAcessoBuscaCpfArray = $sgcAcessoBuscaCpf->toArray(); if (!empty($sgcAcessoBuscaCpfArray)) { parent::message("CPF já cadastrado", "/login/cadastrarusuario", "ALERT"); } $sgcAcessoBuscaEmail = $sgcAcesso->buscar(array("Email = ?" => $email)); $sgcAcessoBuscaEmailArray = $sgcAcessoBuscaEmail->toArray(); if (!empty($sgcAcessoBuscaEmailArray)) { parent::message("E-mail já cadastrado", "/login/cadastrarusuario", "ALERT"); } if (empty($sgcAcessoBuscaCpfArray) && empty($sgcAcessoBuscaEmailArray)) { $sgcAcessoSave = $sgcAcesso->salvar($dados); /** * ============================================================== * INICIO DO VINCULO DO RESPONSAVEL COM ELE MESMO (PROPONENTE) * ============================================================== */ /* ========== VERIFICA SE O RESPONSAVEL JA TEM CADASTRO COMO PROPONENTE ========== */ $Agentes = new Agentes(); $Visao = new Visao(); $buscarAgente = $Agentes->buscar(array('CNPJCPF = ?' => $cpf)); $idAgenteProp = count($buscarAgente) > 0 ? $buscarAgente[0]->idAgente : 0; $buscarVisao = $Visao->buscar(array('Visao = ?' => 144, 'stAtivo = ?' => 'A', 'idAgente = ?' => $idAgenteProp)); /* ========== VINCULA O RESPONSAVEL A SEU PROPRIO PERFIL DE PROPONENTE ========== */ if (count($buscarVisao) > 0) { $tbVinculo = new TbVinculo(); $idResp = $sgcAcesso->buscar(array('Cpf = ?' => $sgcAcessoSave)); // pega o id do responsável cadastrado $dadosVinculo = array('idAgenteProponente' => $idAgenteProp, 'dtVinculo' => new Zend_Db_Expr('GETDATE()'), 'siVinculo' => 2, 'idUsuarioResponsavel' => $idResp[0]->IdUsuario); $tbVinculo->inserir($dadosVinculo); } /** * ============================================================== * FIM DO VINCULO DO RESPONSAVEL COM ELE MESMO (PROPONENTE) * ============================================================== */ /* ========== ENVIA O E-MAIL PARA O USUARIO ========== */ $assunto = "Cadastro SALICWEB"; $perfil = 'SALICWEB'; $mens = "Olá {$nome} ,<br><br>"; $mens .= "Senha: {$SenhaFinal} <br><br>"; $mens .= "Esta é a sua senha de acesso ao Sistema de Apresentação de Projetos via Web do "; $mens .= "Ministério da Cultura.<br><br>Lembramos que a mesma deverá ser "; $mens .= "trocada no seu primeiro acesso ao sistema.<br><br>"; $mens .= "Esta é uma mensagem automática. Por favor não responda.<br><br>"; $mens .= "Atenciosamente,<br>Ministério da Cultura"; $enviaEmail = EmailDAO::enviarEmail($email, $assunto, $mens, $perfil); parent::message("Cadastro efetuado com sucesso. Verifique a senha no seu email", "/login/index", "CONFIRM"); } } // fecha if }
public function salvaalterarprojetoAction() { $post = Zend_Registry::get('post'); //$pronac = addslashes($post->pronac); $pronac = $this->_request->getParam("pronac"); //verficia se o pronac esta criptografado if (strlen($pronac) > 12) { $pronac = Seguranca::dencrypt($pronac); } if (!empty($post->Situacao)) { $providenciaTomada = $post->justificativa; } else { $providenciaTomada = ''; } $ano = addslashes(substr($pronac, 0, 2)); $sequencial = addslashes(substr($pronac, 2, strlen($pronac))); $arrBusca = array('tbr.anoprojeto =?' => $ano, 'tbr.sequencial =?' => $sequencial); $tblProjeto = new Projetos(); $validapronac = $tblProjeto->VerificaPronac($arrBusca); if (count($validapronac) > 0) { $dadosProjeto = $tblProjeto->buscarTodosDadosProjeto($validapronac[0]->IdPRONAC); $dadosProjeto = $dadosProjeto[0]; } else { parent::message("Dados obrigatórios não informados", "alterarprojeto/consultarprojeto", "ERROR"); } // Verificando se o Projeto atual está desabilitado e se pode ser habilitado! if (!empty($post->habilitado) && $post->habilitado == 'S') { $tbl = new Inabilitado(); $whereI['AnoProjeto = ?'] = $dadosProjeto->AnoProjeto; $whereI['Sequencial = ?'] = $dadosProjeto->Sequencial; $retorno = $tbl->Localizar($whereI); $msg = 'O proponente não pode ser habilitado à presente data. Para habilitá-lo, favor anexar documento.'; if (count($retorno) > 0 && $retorno[0]->idTipoInabilitado > 0 && $retorno[0]->idTipoInabilitado <= 7 && $retorno[0]->Anos < 1) { parent::message($msg, "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac) . "&menu=" . $post->menu, "ALERT"); } else { if (count($retorno) > 0 && $retorno[0]->idTipoInabilitado >= 4 && $retorno[0]->idTipoInabilitado <= 5 && $retorno[0]->Anos < 2) { parent::message($msg, "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac) . "&menu=" . $post->menu, "ALERT"); } else { if (count($retorno) > 0 && $retorno[0]->idTipoInabilitado >= 6 && $retorno[0]->idTipoInabilitado <= 7 && $retorno[0]->Anos < 3) { parent::message($msg, "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac) . "&menu=" . $post->menu, "ALERT"); } } } } $dados = Null; $dados = array('idPRONAC' => $dadosProjeto->IdPRONAC, 'idLogon' => $this->idusuario, 'cdArea' => null, 'cdSegmento' => null, 'nmProjeto' => null, 'cdSituacao' => null, 'cdOrgao' => null, 'dtInicioExecucao' => null, 'dtFimExecucao' => null, 'idEnquadramento' => null, 'CGCCPF' => null, 'dsProvidenciaTomada' => $providenciaTomada, 'dsHistoricoAlteracaoProjeto' => $post->justificativa, 'dtHistoricoAlteracaoProjeto' => date("Y-m-d H:i:s")); if (!empty($post->Area)) { $dados['cdArea'] = $dadosProjeto->Area; $dados['dsProvidenciaTomada'] = 'Area -> ' . $post->Area; } if (!empty($post->Segmento)) { $dados['cdSegmento'] = $dadosProjeto->Segmento; $dados['dsProvidenciaTomada'] .= '/ Segmento -> ' . $post->Segmento; } if (!empty($post->NomeProjeto)) { $dados['nmProjeto'] = $dadosProjeto->NomeProjeto; $dados['dsProvidenciaTomada'] = $post->NomeProjeto; } if (!empty($post->sinteseProjeto)) { $dados['dsProvidenciaTomada'] = "Sintese do Projeto -> " . $post->sinteseProjeto; } if (!empty($post->Situacao)) { $dados['cdSituacao'] = $dadosProjeto->Situacao; $dados['dsProvidenciaTomada'] = $providenciaTomada; } if (!empty($post->Orgao)) { $dados['cdOrgao'] = $dadosProjeto->Orgao; $dados['dsProvidenciaTomada'] = $post->Orgao; } if (!empty($post->dtInicioExecucao)) { $dados['dtInicioExecucao'] = $dadosProjeto->DtInicioExecucao; $dados['dsProvidenciaTomada'] = "Inicio -> " . $post->dtInicioExecucao; } if (!empty($post->dtFimExecucao)) { $dados['dtFimExecucao'] = $dadosProjeto->DtFimExecucao; $dados['dsProvidenciaTomada'] .= "/ Fim -> " . $post->dtFimExecucao; } if (!empty($post->idEnquadramento)) { $dados['idEnquadramento'] = $dadosProjeto->Enquadramento; $dados['dsProvidenciaTomada'] = $post->idEnquadramento; } if (!empty($post->CGCCPF)) { $dados['CGCCPF'] = $dadosProjeto->CgcCpf; $dados['dsProvidenciaTomada'] = str_replace("/", "", str_replace("-", "", str_replace(".", "", addslashes($post->CGCCPF)))); } if (!empty($post->habilitado)) { $dados['dsProvidenciaTomada'] = "Inabilitado = " . $post->habilitado; } if (!empty($post->dtInicioExecucao) && !empty($post->dtFimExecucao)) { $dados['dtInicioExecucao'] = ConverteData($post->dtInicioExecucao, 13); $dtInicio = $dados['dtInicioExecucao']; $dados['dtFimExecucao'] = ConverteData($post->dtFimExecucao, 13); $dtFim = $dados['dtFimExecucao']; } $tblHistoricoAlteracaoProjeto = new tbHistoricoAlteracaoProjeto(); $idHistAlteracaoProjeto = $tblHistoricoAlteracaoProjeto->inserir($dados); //salva historico if ($idHistAlteracaoProjeto > 1) { //Se tiver salvo o historico atualiza a tabela projeto $tblHistoricoAlteracaoDoc = new tbHistoricoAlteracaoDocumento(); if (!empty($post->documentoid)) { foreach ($post->documentoid as $documentoid) { //Salva o relacionamento da tabela documentos com a de historico $dados = array('idHistoricoAlteracaoProjeto' => $idHistAlteracaoProjeto, 'idDocumento' => $documentoid, 'idDocumentosExigidos' => '58'); $respostaArqXLog = $tblHistoricoAlteracaoDoc->salvar($dados); } } if (!empty($post->arquivoid)) { foreach ($post->arquivoid as $arquivoid) { //Atualiza a situacao dos arquivos para ativo $atualizaArquivo = ArquivoDAO::alterar(array('stAtivo' => 'A'), $arquivoid); } } $dados = null; $dados = array('idPRONAC' => $dadosProjeto->IdPRONAC); if (!empty($post->Situacao)) { $this->validasituacao($dadosProjeto); } if (!empty($post->habilitado)) { $this->salvahabilitado($dadosProjeto); } //funcao para inserir o novo proponente na tabela Interesados if (!empty($post->CGCCPF)) { $interessadoTb = new Interessado(); $interessado = $interessadoTb->Busca($where = array("CgcCpf = ? " => str_replace("/", "", str_replace("-", "", str_replace(".", "", addslashes($post->CGCCPF)))))); if (count($interessado) <= 0) { $dadosProponente = array("CgcCpf" => str_replace("/", "", str_replace("-", "", str_replace(".", "", addslashes($post->CGCCPF)))), "Nome" => $post->nome, "Endereco" => "0", "Cidade" => "", "Uf" => "", "Cep" => "", "Responsavel" => "", "Grupo" => 1); if (str_replace("/", "", str_replace("-", "", str_replace(".", "", addslashes($post->CGCCPF)))) > 11) { $dadosProponente['tipoPessoa'] = 1; } else { $dadosProponente['tipoPessoa'] = 1; } $interessadoTb->inserir($dadosProponente); } $Agentes = new Agentes(); $tbDocumentosAgentes = new tbDocumentosAgentes(); $ag = $Agentes->buscar(array('CNPJCPF = ?' => Mascara::delMaskCPFCNPJ($post->CGCCPF)))->current(); $docs = $tbDocumentosAgentes->buscarDocumentos(array('a.idAgente = ?' => $ag->idAgente)); if (count($docs) == 0) { parent::message("Os documentos do novo proponente não estão cadastrados no sistema. Favor anexar os documentos!", "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac) . "&menu=" . $post->menu, "ALERT"); } } if (!empty($post->Area)) { $dados['Area'] = $post->Area; } if (!empty($post->Segmento)) { $dados['Segmento'] = $post->Segmento; } if (!empty($post->NomeProjeto)) { $dados['NomeProjeto'] = $post->NomeProjeto; } if (!empty($post->sinteseProjeto)) { $dados['ResumoProjeto'] = $post->sinteseProjeto; } if (!empty($post->Situacao)) { $dados['Situacao'] = $post->Situacao; $dados['DtSituacao'] = date("Y-m-d H:i:s"); $dados['ProvidenciaTomada'] = $providenciaTomada; } if (!empty($post->Orgao)) { $dados['Orgao'] = $post->Orgao; } if (!empty($post->dtInicioExecucao)) { $dados['DtInicioExecucao'] = $dtInicio; } if (!empty($post->dtFimExecucao)) { $dados['DtFimExecucao'] = $dtFim; } if (!empty($post->CGCCPF)) { $dados['CgcCpf'] = str_replace("/", "", str_replace("-", "", str_replace(".", "", addslashes($post->CGCCPF)))); } /** * ============================================================== * INICIO DA ATUALIZACAO DO VINCULO DO PROPONENTE * ============================================================== */ $Projetos = new Projetos(); $Agentes = new Agentes(); $Visao = new Visao(); $tbVinculo = new TbVinculo(); $tbVinculoProposta = new tbVinculoProposta(); /* ========== BUSCA OS DADOS DO PROPONENTE ANTIGO ========== */ $buscarCpfProponenteAntigo = $Projetos->buscar(array('AnoProjeto+Sequencial = ?' => $post->pronac)); $cpfProponenteAntigo = count($buscarCpfProponenteAntigo) > 0 ? $buscarCpfProponenteAntigo[0]->CgcCpf : 0; $buscarIdProponenteAntigo = $Agentes->buscar(array('CNPJCPF = ?' => $cpfProponenteAntigo)); $idProponenteAntigo = count($buscarIdProponenteAntigo) > 0 ? $buscarIdProponenteAntigo[0]->idAgente : 0; $idPreProjetoVinculo = count($buscarCpfProponenteAntigo) > 0 ? $buscarCpfProponenteAntigo[0]->idProjeto : 0; /* ========== BUSCA OS DADOS DO NOVO PROPONENTE ========== */ $buscarNovoProponente = $Agentes->buscar(array('CNPJCPF = ?' => Mascara::delMaskCPFCNPJ($post->CGCCPF))); $idNovoProponente = count($buscarNovoProponente) > 0 ? $buscarNovoProponente[0]->idAgente : 0; $buscarVisao = $Visao->buscar(array('Visao = ?' => 144, 'idAgente = ?' => $idNovoProponente)); /* ========== BUSCA OS DADOS DA PROPOSTA VINCULADA ========== */ $idVinculo = $tbVinculoProposta->buscar(array('idPreProjeto = ?' => $idPreProjetoVinculo)); /* ========== ATUALIZA O VINCULO DO PROPONENTE ========== */ // if (count($buscarVisao) > 0 && count($idVinculo) > 0) : // $whereVinculo = array('idVinculo = ?' => $idVinculo[0]->idVinculo); // // $dadosVinculo = array( // 'idAgenteProponente' => $idNovoProponente // , 'dtVinculo' => new Zend_Db_Expr('GETDATE()')); // // $tbVinculo->alterar($dadosVinculo, $whereVinculo); // else : // parent::message("O usuário informado não é Proponente ou o Projeto não está vinculado a uma Proposta!", "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac), "ERROR"); // endif; /** * ============================================================== * FIM DA ATUALIZACAO DO VINCULO DO PROPONENTE * ============================================================== */ //ATUALIZA DADOS DO PROJETO $idProjeto = $tblProjeto->salvar($dados); if (!empty($post->idEnquadramento)) { $dados = null; $dados = array('IdEnquadramento' => $dadosProjeto->IdEnquadramento, 'Enquadramento' => $post->idEnquadramento, 'DtEnquadramento' => date("Y-m-d H:i:s"), 'Logon' => $this->idusuario); $tblEnquadramento = new Enquadramento(); $idEnquadramento = $tblEnquadramento->alterarEnquadramento($dados); } if ($idProjeto == $dadosProjeto->IdPRONAC) { if ($post->idEnquadramento) { if ($idEnquadramento == $dadosProjeto->IdEnquadramento && $idEnquadramento !== false) { parent::message("Alteração realizada com sucesso!", "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac) . "&menu=" . $post->menu, "CONFIRM"); } else { parent::message("Esse Projeto não possui Enquadramento", "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac) . "&menu=" . $post->menu, "ERROR"); } } else { parent::message("Alteração realizada com sucesso!", "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac) . "&menu=" . $post->menu, "CONFIRM"); } } else { parent::message("Erro ao salvar dados", "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac) . "&menu=" . $post->menu, "ERROR"); } } else { parent::message("Erro ao salvar dados", "alterarprojeto/" . $post->pagina . "?pronac=" . Seguranca::encrypt($dadosProjeto->pronac), "ERROR"); } }
public function uploadAction() { //======================= INSTANCIA AS DAO =========================== $tbArquivoDAO = new tbArquivo(); $tbArquivoImagemDAO = new tbArquivoImagem(); $tbDocumentoDAO = new tbDocumento(); $ProcuracaoDAO = new Procuracao(); $tbVinculoPropostaDAO = new tbVinculoPropostaResponsavelProjeto(); $tbVinculoDAO = new TbVinculo(); $Sgcacesso = new Sgcacesso(); $Agentes = new Agentes(); $Nomes = new Nomes(); $Visao = new Visao(); $Internet = new Internet(); //================== VARIÁVEIS PASSADAS VIA POST ===================== $responsavel = $this->_request->getParam("responsavel"); $proponente = $this->_request->getParam("proponente"); $dsObservacao = $this->_request->getParam("dsObservacao"); $arrayProjetos = $this->_request->getParam("projetos"); // ==================== Dados do arquivo de upload =============================== $arquivoNome = $_FILES['divulgacao']['name']; // nome $arquivoTemp = $_FILES['divulgacao']['tmp_name']; // nome tempor�rio $arquivoTipo = $_FILES['divulgacao']['type']; // tipo $arquivoTamanho = $_FILES['divulgacao']['size']; // tamanho $arquivoExtensao = Upload::getExtensao($arquivoNome); // extens�o $arquivoBinario = Upload::setBinario($arquivoTemp); // bin�rio $arquivoHash = Upload::setHash($arquivoTemp); // hash //================= VALIDA O RESPONSAVEL E PROPONENTE ================ if ($responsavel == 0) { $responsavel = $this->idResponsavel; } if ($proponente == 0) { $proponente = $this->idAgente; } //========= BUSCA O IDVINCULO COM AS INFORMAÇÕES PASSADAS ============= $whereVinculo['idUsuarioResponsavel = ?'] = $responsavel; $whereVinculo['idAgenteProponente = ?'] = $proponente; $buscarVinculo = $tbVinculoDAO->buscar($whereVinculo); try { // ==================== Insere na Tabela tbArquivo =============================== $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'dsTipoPadronizado' => $arquivoTipo, 'nrTamanho' => $arquivoTamanho, 'dtEnvio' => new Zend_Db_Expr('GETDATE()'), 'dsHash' => $arquivoHash, 'stAtivo' => 'A'); $idArquivo = $tbArquivoDAO->inserir($dadosArquivo); // ==================== Insere na Tabela tbArquivoImagem =============================== $dadosBinario = array('idArquivo' => $idArquivo, 'biArquivo' => new Zend_Db_Expr("CONVERT(varbinary(MAX), {$arquivoBinario})")); $idArquivo = $tbArquivoImagemDAO->inserir($dadosBinario); // ==================== Insere na Tabela tbDocumento =============================== $dados = array('idTipoDocumento' => 17, 'idArquivo' => $idArquivo, 'dsDocumento' => $_POST['dsObservacao'], 'dtEmissaoDocumento' => NULL, 'dtValidadeDocumento' => NULL, 'idTipoEventoOrigem' => NULL, 'nmTitulo' => 'Procuracao'); $idDocumento = $tbDocumentoDAO->inserir($dados); $idDocumento = $idDocumento['idDocumento']; //======== MONTA UM ARRAY COM AS INFORMAÇÕES DO VINCULO PROPOSTA======== for ($i = 0; $i < sizeof($arrayProjetos); $i++) { $arrayVinculoProposta = array('idVinculo' => $buscarVinculo[0]->idVinculo, 'idPreProjeto' => $arrayProjetos[$i], 'siVinculoProposta' => 0); // Salva as informações retornando o idVinculo Proposta $idVinculoProposta = $tbVinculoPropostaDAO->inserir($arrayVinculoProposta); // ==================== Insere na Tabela Procuracao =============================== $dadosVinculoProjeto = array('idVinculoProposta' => $idVinculoProposta, 'idDocumento' => $idDocumento, 'siProcuracao' => 0, 'dsObservacao' => $dsObservacao, 'dsJustificativa' => ''); $inserirproposta = $ProcuracaoDAO->inserir($dadosVinculoProjeto); } // ======== CADASTRA A VISÃO DE PROCURADOR PARA O RESPONSÁVEL CASO A MESMA NÃO EXISTA ======== $buscarDadosResponsavel = $Sgcacesso->buscar(array('IdUSuario = ?' => $responsavel))->current(); // busca os dados do responsável $buscarDadosAgente = $Agentes->buscar(array('CNPJCPF = ?' => $buscarDadosResponsavel['Cpf']))->current(); // verifica se o responsável é um agente if ($buscarDadosAgente) { // verifica se tem visão de procurador $buscarVisao = $Visao->buscar(array('idAgente = ?' => $buscarDadosAgente['idAgente'], 'Visao = ?' => 247))->current(); if (!$buscarVisao) { $dadosVisao = array('idAgente' => $buscarDadosAgente['idAgente'], 'Visao' => 247, 'Usuario' => empty($this->idUsuario) ? $this->idAgente : $this->idUsuario, 'stAtivo' => 'A'); $Visao->inserir($dadosVisao); // cadastra a visão de procurador } } else { // cadastra como agente $dadosNovoAgente = array('CNPJCPF' => $buscarDadosResponsavel['Cpf'], 'TipoPessoa' => 0, 'Status' => 0, 'Usuario' => empty($this->idUsuario) ? $this->idAgente : $this->idUsuario); $Agentes->inserir($dadosNovoAgente); // cadastra o agente $idAgenteNovo = $Agentes->BuscaAgente($buscarDadosResponsavel['Cpf']); $idAgenteNovo = $idAgenteNovo[0]->idAgente; // pega o id do agente cadastrado $dadosNome = array('idAgente' => $idAgenteNovo, 'TipoNome' => 18, 'Descricao' => $buscarDadosResponsavel['Nome'], 'Status' => 0, 'Usuario' => empty($this->idUsuario) ? $this->idAgente : $this->idUsuario); $Nomes->inserir($dadosNome); // cadastra o nome do agente $dadosVisao = array('idAgente' => $idAgenteNovo, 'Visao' => 247, 'Usuario' => empty($this->idUsuario) ? $this->idAgente : $this->idUsuario, 'stAtivo' => 'A'); $Visao->inserir($dadosVisao); // cadastra a visão de procurador $dadosInternet = array('idAgente' => $idAgenteNovo, 'TipoInternet' => 28, 'Descricao' => $buscarDadosResponsavel['Email'], 'Status' => 1, 'Divulgar' => 1, 'Usuario' => empty($this->idUsuario) ? $this->idAgente : $this->idUsuario); $Internet->inserir($dadosInternet); // cadastra o email do procurador } parent::message("Procuração cadastrada com sucesso!", "procuracao/cadastramento", "CONFIRM"); } catch (Zend_Exception $e) { parent::message("Error" . $e->getMessage(), "procuracao/cadastramento", "ERROR"); // parent::message("É necessário um vínculo para enviar o cadastramento da procuração", "procuracao/index?idPreProjeto=" . $idpreprojeto, "ERROR"); } exit; }