Beispiel #1
0
 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);
 }
Beispiel #3
0
 /**
  * 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);
     }
 }
Beispiel #4
0
 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;
 }
Beispiel #5
0
 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'];
         }
     }
 }
Beispiel #9
0
 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;
 }
Beispiel #10
0
 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;
 }
Beispiel #11
0
 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);
 }
Beispiel #12
0
 /**
  *
  * @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;
     }
 }
Beispiel #13
0
 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());
 }
Beispiel #15
0
 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');
     }
 }
Beispiel #16
0
 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;
 }
Beispiel #18
0
 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>';
     }
 }
Beispiel #19
0
 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();
 }
Beispiel #23
0
 /**
  * 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;
 }
Beispiel #24
0
 /**
  *
  */
 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;
 }
Beispiel #25
0
 /**
  *
  */
 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;
 }
Beispiel #27
0
 /**
  * @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);
     }
 }
Beispiel #28
0
 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("&amp;", "&", $result['response']['nome_empresarial']);
             $criteria['noFantasia'] = $result['response']['nome_fantasia'] ? str_replace("&amp;", "&", $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;
 }
Beispiel #30
0
 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;
 }