public function getSistemasPorTipoPerfil($sqTipoPerfil = 1, array $arrTipoPerfil = array(1, 2), $exc = TRUE) { $qBuilder = $this->_em->createQueryBuilder(); $query = $qBuilder->select('s.sqSistema')->from('app:UsuarioPerfil', 'up')->innerJoin('up.sqUsuario', 'u')->innerJoin('up.sqPerfil', 'p')->innerJoin('p.sqTipoPerfil', 'tp')->innerJoin('p.sqSistema', 's')->where($qBuilder->expr()->in('tp.sqTipoPerfil', ':sqTipoPerfil'))->andWhere($qBuilder->expr()->eq('u.sqUsuario', ':sqUsuario'))->setParameters(array('sqTipoPerfil' => $arrTipoPerfil, 'sqUsuario' => \Core_Integration_Sica_User::getUserId())); $result = $query->getQuery()->getResult(); $arrSistemas = array(); foreach ($result as $value) { $arrSistemas[] = $value['sqSistema']; } $arrSistemas = array_unique($arrSistemas); $sqSistema = \Core_Integration_Sica_User::getUserSystem(); if ($sqTipoPerfil == 3) { $key = array_search($sqSistema, $arrSistemas); if ($key !== FALSE) { unset($arrSistemas[$key]); } } if (!$arrSistemas || in_array($sqSistema, $arrSistemas) && count($arrSistemas) == 1) { if ($exc) { \Core_Messaging_Manager::getGateway('Service')->addErrorMessage('MN148'); throw new \Core_Exception_ServiceLayer_Verification(); } } return $arrSistemas; }
/** * * @param \Core_Dto_Search $dto * @return \Doctrine\DBAL\Query\QueryBuilder */ public function listGrid(\Core_Dto_Search $dto) { $rsm = new \Doctrine\ORM\Query\ResultSetMapping(); $rsm->addScalarResult('total_record', 'totalRecord', 'integer'); $rsm->addScalarResult('sq_artefato', 'sqArtefato', 'integer'); $rsm->addScalarResult('digital_numero', 'digitalNumero', 'string'); $rsm->addScalarResult('dt_arquivamento', 'dtArquivamento', 'zenddate'); $rsm->addScalarResult('no_pessoa_arquivamento', 'noPessoaArquivamento', 'string'); $rsm->addScalarResult('tx_assunto', 'txAssunto', 'string'); $rsm->addScalarResult('no_tipo_documento', 'noTipoDocumento', 'string'); $rsm->addScalarResult('no_pessoa_origem', 'noPessoaOrigem', 'string'); $caseNuDigital = "sgdoce.formata_numero_digital(a.nu_digital)"; $sql = "\n SELECT DISTINCT\n COUNT(a.sq_artefato) OVER() AS total_record\n ,a.sq_artefato\n ,COALESCE({$caseNuDigital}, formata_numero_artefato(a.nu_artefato,ap.co_ambito_processo)) AS digital_numero\n ,dt_arquivamento\n ,p.no_pessoa as no_pessoa_arquivamento\n ,ass.tx_assunto\n ,td.no_tipo_documento\n ,ps.no_pessoa AS no_pessoa_origem\n FROM artefato_arquivo_setorial aas\n JOIN vw_pessoa p ON aas.sq_pessoa_arquivamento = p.sq_pessoa\n JOIN artefato a USING(sq_artefato)\n JOIN sgdoce.tipo_artefato_assunto taa USING(sq_tipo_artefato_assunto)\n JOIN sgdoce.assunto ass ON ass.sq_assunto = taa.sq_assunto\n JOIN sgdoce.pessoa_artefato pa ON pa.sq_artefato = a.sq_artefato and pa.sq_pessoa_funcao = %1\$d\n JOIN sgdoce.pessoa_sgdoce ps ON ps.sq_pessoa_sgdoce = pa.sq_pessoa_sgdoce\n LEFT JOIN artefato_processo ap ON a.sq_artefato = ap.sq_artefato\n LEFT JOIN tipo_documento td USING(sq_tipo_documento)\n WHERE dt_desarquivamento IS NULL\n AND sq_unidade_arquivamento = %2\$d\n AND sq_tipo_artefato = %3\$d\n %4\$s\n ORDER BY dt_arquivamento DESC"; $optionalCondition = ''; $search = mb_strtolower($dto->getSearch(), 'UTF-8'); if ($search) { $queryBuild = $this->_em->createQueryBuilder(); if ($dto->getSqTipoArtefato() == \Core_Configuration::getSgdoceTipoArtefatoProcesso()) { $nuArtefato = $this->_em->createQueryBuilder()->expr()->lower("TRANSLATE(a.nu_artefato, './-', '')")->__toString(); $optionalCondition = " AND (" . $queryBuild->expr()->eq('a.nu_artefato', $queryBuild->expr()->literal($search))->__toString() . " OR " . $queryBuild->expr()->eq($nuArtefato, $queryBuild->expr()->literal(str_replace(array('.', '/', '-'), '', $search)))->__toString() . ")"; } else { $optionalCondition = " AND " . $queryBuild->expr()->eq('a.nu_digital', $search)->__toString(); } } $strSql = sprintf($sql, \Core_Configuration::getSgdocePessoaFuncaoOrigem(), \Core_Integration_Sica_User::getUserUnit(), $dto->getSqTipoArtefato(), $optionalCondition); return $this->_em->createNativeQuery($strSql, $rsm)->useResultCache(false); }
/** * Route Shutdown - Verificações de segurança - SESSION, ACL, AUTH * * @param Zend_Controller_Request_Abstract $request * @return void */ public function routeShutdown(Zend_Controller_Request_Abstract $request) { if ($this->skip($request)) { return; } if (!Core_Integration_Sica_User::has()) { $this->getRedirectLogin($request); return; } $sgSistema = strtoupper(Core_Integration_Sica_User::getSgSystemActive()); $session = new Core_Session_Namespace('USER', FALSE, TRUE); if (!isset($session->acl)) { if (!$this->skipHome($request)) { $this->getRedirectHome($request); } return; } if (!$session->acl->hasRole($session->noPerfil)) { throw new UnexpectedValueException('Perfil não identificado.'); } if ($this->skipAcl($request) || $this->skipIndexBlank($request)) { return; } $permission = FALSE; foreach ($this->getResources() as $resource) { if ($session->acl->has($resource) && $session->acl->isAllowed($session->noPerfil, $resource)) { $permission = TRUE; break; } } if (!$permission) { throw new Exception('Acesso Negado!', 403); } }
private function _hasPermission($module = NULL, $controller = NULL, $action = NULL) { $acl = \Zend_Registry::get('acl'); $profile = \Core_Integration_Sica_User::getUserNoProfile(); $resource = ''; $request = Zend_Controller_Front::getInstance()->getRequest(); if (NULL === $module) { $resource .= $request->getModuleName(); } else { $resource .= $module; } $resource .= '/'; if (NULL === $controller) { $resource .= $request->getControllerName(); } else { $resource .= $controller; } $resource .= '/'; if (NULL === $action) { $resource .= $request->getActionName(); } else { $resource .= $action; } $permission = FALSE; if ($acl->has($resource) && $acl->isAllowed($profile, $resource)) { $permission = TRUE; } return $permission; }
public function detalheAction() { $params = $this->_request->getParams(); if (!empty($params['id'])) { $model = new \Core_Doctrine_DBAL_Event_Listeners_Logger(); $log = $model->getTrilhaAuditoria(array('paramsColumn' => array(array('column' => 'sq_sistema', 'condition' => '=', 'value' => \Core_Integration_Sica_User::getUserSystem()), array('column' => 'sq_auditoria', 'condition' => '=', 'value' => $params['id'])))); try { if (!empty($log)) { $xml = new SimpleXMLElement($log[0]['xmTrilha']); $xmlCampos = array(); foreach ($xml->tabela->coluna as $campo) { $coluna = (string) $campo->nome; $xmlCampos[$coluna] = (string) $campo->valor; } ksort($xmlCampos); $this->view->trilha = $log[0]; $this->view->colunas = $xmlCampos; $this->view->xml = $xml; $this->view->tabela = $this->getDadosTabela($xml); } } catch (Exception $e) { $this->view->exception = TRUE; $this->view->mensagem = $e->getMessage(); $this->view->stringXml = new SimpleXMLElement($log[0]['xmTrilha']); } } else { $this->_redirect('/log'); } }
public function MenuProfileSystem() { $infoSystem = Core_Integration_Sica_User::getInfoSystem(); $urlHelp = array_key_exists('txUrlHelp', (array) $infoSystem) ? $infoSystem['txUrlHelp'] : '#'; $html = '<ul class="nav pull-right dropdown-perfil"> <li class="divider-vertical visible-desktop"></li> <li class="dropdown pull-right"> <a data-toggle="dropdown" class="dropdown-toggle" href="#"> <img src="/assets/img/icons/icon-perfil.png"> </a> <ul class="dropdown-menu">'; $html .= '<li><span>Nome: ' . $this->view->userName() . '</span></li>'; $html .= '<li><span>Perfil: ' . Core_Integration_Sica_User::getUserNoProfile() . '</span></li>'; if (\Core_Integration_Sica_User::getUserProfileExternal()) { $linkHelp = ''; $html .= '<li class="divider"></li>'; if (count(\Core_Integration_Sica_User::getUserAllProfile()) > 1) { $html .= $this->view->usuarioExterno()->optionSelecionarPerfil(); } $html .= $this->view->usuarioExterno()->optionAlterarCadastro(); } else { $linkHelp = '<li><a href="' . $urlHelp . '" target="_blank">Ajuda</a></li>'; $html .= $this->view->usuario()->optionUnidadeOrg(); $html .= '<li class="divider"></li>'; if (count(\Core_Integration_Sica_User::getUserAllProfile()) > 1) { $html .= $this->view->usuario()->optionSelecionarPerfil(); } } $html .= '<li><a data-toggle="modal" data-backdrop="static" data-keyboard="false" ' . 'href="#modal-alterar-senha" id="btn-alterar-senha">Alterar Senha</a></li>'; $html .= $linkHelp; $html .= '<li><a href="' . $this->view->usuario()->urlLogout() . '">Sair</a></li>'; $html .= '</ul></li><li class="divider-vertical visible-desktop"></li>'; return $html; }
public function MenuProfileSystem() { $urlSica = rtrim(\Zend_Controller_Front::getInstance()->getParam('bootstrap')->getOption('urlSica'), '/'); $infoSystem = \Core_Integration_Sica_User::getInfoSystem(); $urlHelp = array_key_exists('txUrlHelp', (array) $infoSystem) ? $infoSystem['txUrlHelp'] : '#'; $html = '<ul class="nav pull-right dropdown-perfil"> <li class="divider-vertical visible-desktop"></li> <li class="dropdown pull-right"> <a data-toggle="dropdown" class="dropdown-toggle" href="#"> <img src="/img/icons/icon-perfil.png"> </a> <ul class="dropdown-menu">'; $html .= '<li><span>Nome: ' . $this->view->userName() . '</span></li>'; $html .= '<li><span>Perfil: ' . \Core_Integration_Sica_User::getUserNoProfile() . '</span></li>'; if (\Core_Integration_Sica_User::getUserProfileExternal()) { $linkHelp = ''; $html .= '<li class="divider"></li>'; if (count(\Core_Integration_Sica_User::getUserAllProfile()) > 1) { $html .= $this->view->usuarioExterno()->optionSelecionarPerfil(); } $html .= $this->view->usuarioExterno()->optionAlterarCadastro(); } else { $linkHelp = '<li><a href="' . $urlHelp . '" target="_blank">Ajuda</a></li>'; $html .= $this->view->usuario()->optionUnidadeOrg(); $html .= '<li class="divider"></li>'; if (count(\Core_Integration_Sica_User::getUserAllProfile()) > 1) { $html .= $this->view->usuario()->optionSelecionarPerfil(); } } $html .= '<li><a href="' . $urlSica . '/index/home/change/password">Alterar Senha</a></li>'; $html .= $linkHelp; $html .= '<li><a href="' . $urlSica . '/usuario/logout">Sair</a></li>'; $html .= '</ul></li><li class="divider-vertical visible-desktop"></li>'; return $html; }
/** * Salva dados via webservice * * @param type $repository * @param type $method * @param array $data * @return boolean */ public function saveLibCorp($repository = 'app:VwPessoaFisica', $method, array $data) { /** * Informações obrigatórias para o log de auditoria do webservice. */ $userCredential = \Core_Integration_Sica_User::getUserCredential(); $entityManager = $this->getEntityManager('ws')->getRepository($repository); $result = $entityManager->{$method}($data, $userCredential); $resultXml = $this->getSoapXmlResult($result); if (isset($resultXml['status']) && $resultXml['status'] == 'success' && $repository == 'app:VwPessoaFisica') { $sqPessoa = $resultXml['response']['pessoa_fisica']['sqPessoa']['sqPessoa']; $resultXml['response']['pessoa_fisica']['sqNaturalidade'] = !empty($resultXml['response']['pessoa_fisica']['sqNaturalidade']['sqMunicipio']) ? $resultXml['response']['pessoa_fisica']['sqNaturalidade']['sqMunicipio'] : null; $resultXml['response']['pessoa_fisica']['sqPessoa'] = $sqPessoa; $resultXml['response']['pessoa_fisica']['sqNacionalidade'] = !empty($resultXml['response']['pessoa_fisica']['sqNacionalidade']['sqPais']) ? $resultXml['response']['pessoa_fisica']['sqNacionalidade']['sqPais'] : 1; return $sqPessoa; } else { if (isset($resultXml['status']) && $resultXml['status'] == 'success' && $repository == 'app:VwCadastroSemCpf') { $resultXml['response']['cadastro_sem_cpf']['sqPessoa'] = $resultXml['response']['cadastro_sem_cpf']['sqPessoa']['sqPessoa']; $resultXml['response']['cadastro_sem_cpf']['sqCadastroSemCpf'] = $resultXml['response']['cadastro_sem_cpf']['sqCadastroSemCPF']; unset($resultXml['response']['cadastro_sem_cpf']['sqCadastroSemCPF']); return $resultXml['response']; } else { return $resultXml['response']; } } }
public function canEditArtefact(\Core_Dto_Search $dto, $isProcesso = FALSE) { $repoUTA = $this->_getRepository('app:VwUltimoTramiteArtefato'); $isChild = $this->_getRepository('app:ArtefatoVinculo')->isChild($dto); $isAllowedAlter = in_array(\Core_Integration_Sica_User::getUserProfile(), $this->getUsersAllowedAlterArtefact()); $listTipoAssuntoSolicitacao = array(\Core_Configuration::getSgdoceTipoAssuntoSolicitacaoAlterarCadastro()); $dtoSolicitacao = \Core_Dto::factoryFromData(array('sqArtefato' => $dto->getSqArtefato()), 'search'); $hasDemandaAlteracaoDados = $this->getServiceLocator()->getService('Solicitacao')->hasDemandaAbertaByAssuntoPessoaResponsavel($dtoSolicitacao, $listTipoAssuntoSolicitacao); // Se processo, verifica se existe vinculo além do tipo de autuação $hasProcessoVinculo = false; if ($isProcesso) { $rsVinculosProcesso = $this->_getRepository('app:ArtefatoVinculo')->findByNot(array('sqArtefatoPai' => $dto->getSqArtefato()), array('sqTipoVinculoArtefato' => \Core_Configuration::getSgdoceTipoVinculoArtefatoAutuacao())); $hasProcessoVinculo = count($rsVinculosProcesso); } //se $areaTrabalho, logo, esta na area da pessoa logada //caso contrario retorna NULL $areaTrabalho = $this->_getRepository()->findArtefato($dto); //SGI pode alterar o documento se houver demanda de suporte do tipo alterar dados ou alterar grau ou se estiver na minha da area de trabalho dele. if ($isAllowedAlter && $hasDemandaAlteracaoDados || $isAllowedAlter && $areaTrabalho) { return TRUE; } if ($areaTrabalho && $repoUTA->isFirstTramite($dto) && (!$areaTrabalho->getHasVinculo() || !$hasProcessoVinculo) && !$areaTrabalho->getArquivado() && !$areaTrabalho->getHasSolicitacaoAberta() && !$isChild) { return TRUE; } return FALSE; }
public function listSystemMenu() { $menuSistema = Core_Integration_Sica_User::getInfoSystems(); $urlSica = rtrim(Zend_Controller_Front::getInstance()->getParam('bootstrap')->getOption('urlSica'), '/'); $listaSistema = '<ul class="dropdown-menu">'; $total = 1; foreach ($menuSistema as $key => $sistema) { if (\Core_Integration_Sica_User::getUserSystem() == $sistema['sqSistema']) { continue; } $listaSistema .= '<li>' . '<a href="javascript:Sistemas.verifica(\'' . $urlSica . '\',' . $sistema['sqSistema'] . ');">' . $sistema['sgSistema'] . '</a></li>'; if ($total == 5) { break; } $total++; } if (count($menuSistema) - 1 > 4) { $listaSistema .= '<li class="divider"></li>'; $listaSistema .= '<li><a href="' . $urlSica . '/index/home">Todos</a></li>'; } $listaSistema .= '</ul>'; if (1 === count($menuSistema)) { $listaSistema = ''; } return $listaSistema; }
public function init() { parent::init(); $dto = \Core_Dto::factoryFromData((array) Core_Integration_Sica_User::get(), 'search'); $isUserSgi = $this->getService('VwUsuario')->isUserSgi($dto); \Zend_Registry::set('isUserSgi', $isUserSgi); }
/** * * @param $entity * @param \Core_Dto $dto */ public function preInsert($entity, $dto = NULL) { $dtoDuplicado = \Core_Dto::factoryFromData(array('sqArtefato' => $dto->getSqArtefato(), 'sqTipoAssuntoSolicitacao' => $dto->getSqTipoAssuntoSolicitacao(), 'sqPessoa' => \Core_Integration_Sica_User::getPersonId(), 'sqUnidadeOrg' => \Core_Integration_Sica_User::getUserUnit()), 'search'); $listResult = $this->_getRepository()->getSolicitacaoDuplicado($dtoDuplicado); if (count($listResult)) { throw new \Core_Exception_ServiceLayer(\Core_Registry::getMessage()->translate('MN206')); } # artefatos inconsistêntes não podem abrir solicitação de alguns tipos de solicitação $isInconsistent = $this->getServiceLocator()->getService('Artefato')->isInconsistent($dtoDuplicado); if ($isInconsistent && in_array($dto->getSqTipoAssuntoSolicitacao(), $this->getTipoAssuntoSolcOnlyConsistent())) { throw new \Core_Exception_ServiceLayer(\Core_Registry::getMessage()->translate('MN205')); } # se for exclusão de volume e só houver um volume cadastrado, não permite a criação if ($dto->getSqTipoAssuntoSolicitacao() == \Core_Configuration::getSgdoceTipoAssuntoSolicitacaoVolumeDeProcesso() && !$this->_getRepository('app:ProcessoVolume')->notTheOnlyVolume($dto->getSqArtefato())) { throw new \Core_Exception_ServiceLayer(\Core_Registry::getMessage()->translate('MN207')); } //Tira os Espaços do 'enter' para salvar com 500 caracteres $dsSolicitacao = $this->getServiceLocator()->getService('MinutaEletronica')->fixNewlines($entity->getDsSolicitacao()); $entity->setDsSolicitacao(!$dsSolicitacao ? NULL : $dsSolicitacao); $this->getEntityManager()->getConnection()->beginTransaction(); try { $entSqPessoa = $this->getEntityManager()->getPartialReference('app:VwPessoa', \Core_Integration_Sica_User::getPersonId()); $entSqUnidadeOrg = $this->getEntityManager()->getPartialReference('app:VwUnidadeOrg', \Core_Integration_Sica_User::getUserUnit()); $entTipoAssuntoSolicitacao = $this->_getRepository('app:TipoAssuntoSolicitacao')->find($dto->getSqTipoAssuntoSolicitacao()); $entity->setDtSolicitacao(\Zend_Date::now()); $entity->setSqPessoa($entSqPessoa); $entity->setSqUnidadeOrg($entSqUnidadeOrg); $entity->setSqTipoAssuntoSolicitacao($entTipoAssuntoSolicitacao); } catch (\Exception $e) { $this->getEntityManager()->getConnection()->rollback(); throw $e; } }
public function modalSelecionarPerfil() { if (\Core_Integration_Sica_User::getUserProfileExternal()) { return $this->view->usuarioExterno()->modalSelecionarPerfil(); } else { return $this->view->usuario()->modalSelecionarPerfil(); } }
/** * SALVA HISTORICO. * * @param Sgdoce\Model\Entity\HistoricoArtefato $entHistoricoArtefato * * @return Sgdoce\Model\Entity\HistoricoArtefato */ public function save(\Core_Dto_Entity $entHistoricoArtefato) { $arrDto = array('sqPessoa' => \Core_Integration_Sica_User::getPersonId(), 'sqUnidade' => \Core_Integration_Sica_User::getUserUnit()); $objCDto = \Core_Dto::factoryFromData($arrDto, 'search'); $entVwPessoa = $this->getServiceLocator()->getService('Pessoa')->findbyPessoaCorporativo($objCDto); $entVwUnidOrg = $this->getServiceLocator()->getService('VwUnidadeOrg')->getDadosUnidade($objCDto); return $this->_save($entHistoricoArtefato->getSqArtefato(), $entVwUnidOrg, $entVwPessoa, $entHistoricoArtefato->getSqOcorrencia(), $entHistoricoArtefato->getTxDescricaoOperacao()); }
public function indexAction() { $zsn = new Zend_Session_Namespace('interval'); $zsn->interval = self::INTERVAL; if (!\Core_Integration_Sica_User::getUserProfileExternal()) { $this->_redirect('/artefato/area-trabalho/index/tipoArtefato/1/caixa/minhaCaixa'); } }
private function getSicaUnidadeOrg() { $sicaUser = \Core_Integration_Sica_User::get(); if (!isset($sicaUser->sqUnidadeOrg)) { return false; } return $sicaUser->sqUnidadeOrg; }
/** * PAINEL DE DEMANDAS DE INFORMAÇÃO. * * @return void */ public function indexAction() { $sqPessoaDestino = $this->getRequest()->getParam('idMeu', null); $this->view->sqUnidadeOrgPessoaDestino = \Core_Integration_Sica_User::getUserUnit(); $this->view->sqUnidadeOrgPessoaPrazo = $this->view->sqUnidadeOrgPessoaDestino; $this->view->sqPessoaDestino = $sqPessoaDestino; $this->view->sqPessoaPrazo = $this->view->sqPessoaDestino; }
public function changeSystem() { $urlSistema = rtrim(Zend_Controller_Front::getInstance()->getParam('bootstrap')->getOption('urlSica'), '/'); $session = (int) Core_Integration_Sica_User::getUserProfile(); $sqSistema = (int) Core_Integration_Sica_User::getUserSystem(); if ($session > 1) { return '<li><a href="' . $urlSistema . '/sistema/change-system/sqSistema/' . $sqSistema . '">Alterar Perfil</a></li>'; } }
public function logoSystem() { $infoSystem = Core_Integration_Sica_User::getInfoSystem(); $configs = Core_Registry::get('configs'); $systemId = isset($infoSystem['sqSistema']) ? $infoSystem['sqSistema'] : null; $systemAlias = isset($infoSystem['sgSistema']) ? $infoSystem['sgSistema'] : null; $urlImagem = rtrim($configs['urlSica']) . '/sistema/render-logo/id/' . $systemId; return "<img src=\"{$urlImagem}\" alt=\"{$systemAlias}\" width=\"120\" height=\"70\">"; }
public function init() { $sqPerfil = \Core_Integration_Sica_User::getUserProfile(); if ($sqPerfil) { $this->_sqTipoPerfil = $this->getService('Perfil')->find($sqPerfil)->getSqTipoPerfil()->getSqTipoPerfil(); parent::init(); } else { $this->_redirect('/usuario/login'); } }
public function _factoryParamsExtrasSave($params) { $arrDto = array(); $arrDto['params'] = new Core_Dto_Search($params); if (isset($params['txJustificativa']) && $params['txJustificativa']) { $arrData = array('dtInclusao' => Zend_Date::now()->get('dd/MM/YYYY'), 'txJustificativa' => $params['txJustificativa'], 'sqPessoaAutora' => Core_Integration_Sica_User::getPersonId(), 'sqPessoaAutoriza' => $params['sqPessoaResponsavel']); $arrDto['sqCadastroSemCpf'] = Core_Dto::factoryFromData($arrData, 'entity', array('entity' => '\\Sgdoce\\Model\\Entity\\VwCadastroSemCpf')); } return $arrDto; }
public function createAction() { $session = Core_Integration_Sica_User::has(); if ($session) { Core_Integration_Sica_User::destroy(); $this->_redirect('usuario-externo/login'); } $this->view->dtCadastro = \Zend_Date::now()->toString('yyyy-MM-dd hh:mm:ss'); parent::createAction(); }
/** * Método que popula os objetos para serem salvos no banco * @return void */ public function setOperationalEntity($entityName = NULL) { $userUnit = \Core_Integration_Sica_User::getUserUnit(); $personId = \Core_Integration_Sica_User::getPersonId(); $this->_data['sqUnidadeUsuario'] = $this->_getRepository('app:VwUnidadeOrg')->find($userUnit); $this->_data['sqPessoaCadastro'] = $this->_getRepository('app:VwPessoa')->find($personId); $this->_data['sqClassificacao'] = $this->_getRepository('app:Classificacao')->find($this->_data['sqClassificacao']); $this->_data['sqUnidadeOrg'] = $this->_getRepository('app:VwUnidadeOrg')->find($this->_data['sqUnidadeOrg']); $this->_data['stFechamento'] = false; $this->_data['dtCadastro'] = \Zend_Date::now(); $this->_data['stAtivo'] = true; }
/** * */ protected static function getParams($data, $type, $options, $metodo) { self::checaOperacaoWs($metodo); $sqUsuario = \Core_Integration_Sica_User::getUserId() ? \Core_Integration_Sica_User::getUserId() : null; $perfilUsuario = isset($_SESSION["USER"]) ? \Core_Integration_Sica_User::getUserProfileExternal() : true; $sistema = \Core_Integration_Sica_User::getInfoSystem(\Core_Integration_Sica_User::getUserSystem()); $request = new \Zend_Controller_Request_Http(); $arrRequest = explode('/', $request->getRequestUri()); $params = array('sqSistema' => (int) $sistema['sqSistema'], 'sgSistema' => (string) $sistema['sgSistema'], 'sqClasse' => 0, 'noClasse' => (string) $arrRequest[1] . '/' . $arrRequest[2], 'sqMetodo' => 0, 'noMetodo' => (string) 'index', 'sqUsuario' => $sqUsuario, 'sgOperacao' => self::$sqOperacao, 'stUsuarioExterno' => (int) $perfilUsuario); $params['xmTrilha'] = self::geraTagXml($type); return $params; }
/** * */ protected static function getParams($data, $type, $options, $metodo) { self::checaOperacaoWs($metodo); $session = \Core_Integration_Sica_User::has(); $sqUsuario = \Core_Integration_Sica_User::getUserId() ? \Core_Integration_Sica_User::getUserId() : null; $perfilUsuario = $session ? \Core_Integration_Sica_User::getUserProfileExternal() : true; $sistema = \Core_Integration_Sica_User::getInfoSystem(\Core_Integration_Sica_User::getUserSystem()); $sis = \Zend_Registry::get('doctrine')->getEntityManager()->getRepository('app:Sistema')->findBySgSistema('SICA-e'); $sqSistema = $session ? $sistema['sqSistema'] : $sis[0]->getSqSistema(); $sgSistema = $session ? $sistema['sgSistema'] : $sis[0]->getSgSistema(); $request = new \Zend_Controller_Request_Http(); $arrRequest = explode('/', $request->getRequestUri()); $params = array('sqSistema' => (int) $sqSistema, 'sgSistema' => (string) $sgSistema, 'sqClasse' => self::NUM_ZERO, 'noClasse' => (string) $arrRequest[1] . '/' . $arrRequest[2], 'sqMetodo' => self::NUM_ZERO, 'noMetodo' => (string) 'index', 'sqUsuario' => $sqUsuario, 'sgOperacao' => self::$sqOperacao, 'stUsuarioExterno' => (int) $perfilUsuario); $params['xmTrilha'] = self::geraTagXml($type); return $params; }
/** * Método que obtém os dados para grid * @param \Core_Dto_Search $dtoSearch * @return array */ public function getResultList(\Core_Dto_Search $dtoSearch) { $this->view->perfil = Core_Integration_Sica_User::getUserProfile(); $dtoSearch->sqPessoa = Core_Integration_Sica_User::getPersonId(); $dtoSearch->sqUnidadeOrg = Core_Integration_Sica_User::getUserUnit(); $dtoSearch->sqTipoArtefato = $this->getRequest()->getParam('tipoArtefato') ? $this->getRequest()->getParam('tipoArtefato') : 1; $dtoSearch->search = $this->getRequest()->getParam('search') ? $this->getRequest()->getParam('search') : null; $this->view->isUserSgi = $this->_isUserSgi(); $this->view->isUserPro = $this->view->perfil == \Core_Configuration::getSgdocePerfilProtocolo(); $dtoUnidadeOrg = Core_Dto::factoryFromData(array('sqUnidadeOrg' => $dtoSearch->sqUnidadeOrg), 'search'); $dtoSearch->currentUnitHasNUP = $this->getService('VwUnidadeOrg')->hasNUP($dtoUnidadeOrg); $caixa = $this->_getParam('migration_box'); $dtoSearch->caixa = $caixa; $res = $this->getService()->getGrid($dtoSearch); return $res; }
/** * @param $entity * @param $dto */ public function preSave($entity, $dto = NULL, $entPrazo = NULL) { $sqPessoaDestino = $entity->getSqPessoaDestino(); if ($sqPessoaDestino && is_numeric($sqPessoaDestino)) { $entSqPessoaDestino = $this->getEntityManager()->getPartialReference('app:VwPessoa', $entity->getSqPessoaDestino()); $entity->setSqPessoaDestino($entSqPessoaDestino); } else { if ($sqPessoaDestino instanceof \Sgdoce\Model\Entity\VwPessoa) { if ($entity->getSqPessoaDestino() && is_null($entity->getSqPessoaDestino()->getSqPessoa())) { $entity->setSqPessoaDestino(NULL); } } else { $entity->setSqPessoaDestino(NULL); } } if (is_null($entity->getDtCadastro())) { $entity->setDtCadastro(\Zend_Date::now()); } $sqPrazoPai = $entity->getSqPrazoPai(); if (!empty($sqPrazoPai) && is_numeric($sqPrazoPai)) { $entPrazoPai = $this->getEntityManager()->getPartialReference('app:Prazo', $sqPrazoPai); $entity->setSqPrazoPai($entPrazoPai); } $entSqUnidadeOrgPessoa = $this->getEntityManager()->getPartialReference('app:VwUnidadeOrg', \Core_Integration_Sica_User::getUserUnit()); $entSqPessoa = $this->getEntityManager()->getPartialReference('app:VwPessoa', \Core_Integration_Sica_User::getPersonId()); if ($dto->getIsResposta()) { $entity->setDtResposta(\Zend_Date::now()); $entity->setSqUnidadeOrgPessoaResposta($entSqUnidadeOrgPessoa); $entity->setSqPessoaResposta($entSqPessoa); $entity->setDtPrazo($entPrazo->getDtPrazo()); $entity->setTxSolicitacao($entPrazo->getTxSolicitacao()); if ($dto->getSqArtefatoResposta()) { $entArtefatoResposta = $this->getEntityManager()->getPartialReference('app:Artefato', (int) $dto->getSqArtefatoResposta()); $entity->setSqArtefatoResposta($entArtefatoResposta); } else { $entity->setSqArtefatoResposta(NULL); } $entSqUnidadeOrgPessoaPrazo = $this->getEntityManager()->getPartialReference('app:VwUnidadeOrg', $entPrazo->getSqUnidadeOrgPessoaPrazo()->getSqUnidadeOrg()); $entSqPessoaPrazo = $this->getEntityManager()->getPartialReference('app:VwPessoa', $entPrazo->getSqPessoaPrazo()->getSqPessoa()); $entity->setSqUnidadeOrgPessoaPrazo($entSqUnidadeOrgPessoaPrazo); $entity->setSqPessoaPrazo($entSqPessoaPrazo); } else { $entity->setSqUnidadeOrgPessoaPrazo($entSqUnidadeOrgPessoa); $entity->setSqPessoaPrazo($entSqPessoa); } }
public function unitProfile(\Core_Dto_Mapping $dto) { $queryBuilder = $this->_em->createQueryBuilder(); $repository = 'app:UsuarioPerfil'; $inPerfilExterno = 'FALSE'; $column = 'up.sqUsuario'; if (\Core_Integration_Sica_User::getUserProfileExternal()) { $repository = 'app:UsuarioExternoPerfil'; $column = 'up.sqUsuarioExterno'; $inPerfilExterno = 'TRUE'; } $queryBuilder->select('up')->from($repository, 'up')->innerJoin('up.sqPerfil', 'p'); if (!\Core_Integration_Sica_User::getUserProfileExternal()) { $queryBuilder->where('up.sqUnidadeOrgPessoa = :sqUnidadeOrg')->setParameter('sqUnidadeOrg', $dto->getSqUnidadeOrgPessoa()); } $queryBuilder->andWhere($column . ' = :sqUsuario')->setParameter('sqUsuario', $dto->getSqUsuario())->andWhere('p.sqSistema = :sqSistema')->setParameter('sqSistema', $dto->getSqSistema())->andWhere($queryBuilder->expr()->eq('p.inPerfilExterno', ':inPerfilExterno'))->setParameter('inPerfilExterno', $inPerfilExterno); return $queryBuilder->getQuery()->getResult(); }
/** * Realiza consulta sobre serviço infoconv */ public function serviceInfoconvAction() { $criteria = array(); try { if ($this->_getParam('nuCnpj')) { $cnpj = Zend_Filter::filterStatic($this->_getParam('nuCnpj'), 'Digits'); $result = $this->getServiceLocator()->getService('VwPessoa')->getDataInfoconvBy($cnpj, 'cnpj'); $result = \Core_Integration_Abstract_Soap::xmlToArray($result); $criteria['code'] = $result['errocode']; if ('failure' == $result['status']) { throw new \Exception($result['response']); } $criteria['noPessoa'] = str_replace("&", "&", $result['response']['nome_empresarial']); $criteria['noFantasia'] = $result['response']['nome_fantasia'] ? str_replace("&", "&", $result['response']['nome_fantasia']) : ''; $natJurInfoconv = $result['response']['natureza_juridica']; $naturezaJuridicaPai = trim(substr($natJurInfoconv, 0, 1) . '00'); $naturezaJuridica = trim(substr($natJurInfoconv, 0, 3)); $criteria['sqNaturezaJuridicaPai'] = $naturezaJuridicaPai > 0 ? $naturezaJuridicaPai : ''; $criteria['sqNaturezaJuridica'] = $naturezaJuridica > 0 ? $naturezaJuridica : ''; } else { $cpf = Zend_Filter::filterStatic($this->_getParam('nuCpf'), 'Digits'); $result = $this->getServiceLocator()->getService('VwPessoa')->getDataInfoconvBy($cpf, 'cpf'); $result = \Core_Integration_Abstract_Soap::xmlToArray($result); $criteria['code'] = $result['errocode']; if ('failure' == $result['status']) { throw new \Exception($result['response']); } $criteria['noPessoa'] = $result['response']['nome'] ? $result['response']['nome'] : ''; $criteria['dtNascimento'] = $result['response']['data_nascimento'] ? $result['response']['data_nascimento'] : ''; $criteria['noMae'] = $result['response']['nome_mae'] ? trim($result['response']['nome_mae']) : ''; $criteria['nacionalidade'] = (bool) $result['response']['estrangeiro'] ? 2 : 1; $criteria['sqPaisNaturalidade'] = (int) $result['response']['codigo_pais_exterior']; $criteria['noPaisNaturalidade'] = $result['response']['nome_pais_exterior']; } $criteria['dtIntegracaoInfoconv'] = Zend_Date::now()->toString(); $criteria['personId'] = trim(\Core_Integration_Sica_User::getPersonId()); $criteria['success'] = true; } catch (Exception $e) { $criteria['response'] = $e->getMessage(); $criteria['success'] = false; } $this->_helper->json($criteria); die; }
public function MenuProfileHome() { $html = '<ul class="nav pull-right dropdown-perfil"> <li class="divider-vertical visible-desktop"></li> <li class="dropdown pull-right"> <a data-toggle="dropdown" class="dropdown-toggle" href="#"> <img src="/assets/img/icons/icon-perfil.png"> </a> <ul class="dropdown-menu">'; $html .= '<li><span>Nome: ' . $this->view->userName() . '</span></li>'; $html .= '<li class="divider"></li>'; if (\Core_Integration_Sica_User::getUserProfileExternal()) { $html .= $this->view->usuarioExterno()->optionAlterarCadastro(TRUE); } $html .= '<li><a data-toggle="modal" data-backdrop="static" data-keyboard="false" ' . 'href="#modal-alterar-senha" id="btn-alterar-senha">Alterar Senha</a>' . '</li>'; $html .= '<li><a href="' . $this->view->usuario()->urlLogout() . '">Sair</a></li>'; $html .= '</ul></li><li class="divider-vertical visible-desktop"></li></ul>'; return $html; }