/**
  * 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->isUnidadePro = $this->getService('AutuarDocumento')->isUnidadeProtocolizadora(false);
     $this->view->isUserPro = $this->view->perfil == \Core_Configuration::getSgdocePerfilProtocolo();
     $this->view->isAllowedAlter = in_array(\Core_Integration_Sica_User::getUserProfile(), $this->getService()->getUsersAllowedAlterArtefact());
     $dtoUnidadeOrg = Core_Dto::factoryFromData(array('sqUnidadeOrg' => $dtoSearch->sqUnidadeOrg), 'search');
     $dtoSearch->currentUnitHasNUP = $this->getService('VwUnidadeOrg')->hasNUP($dtoUnidadeOrg);
     $caixa = null;
     switch (true) {
         case $this->_getParam('unit_box'):
             $caixa = $this->_getParam('unit_box');
             break;
         case $this->_getParam('my_box'):
             $caixa = $this->_getParam('my_box');
             break;
         case $this->_getParam('archive_box'):
             $caixa = $this->_getParam('archive_box');
             break;
         default:
             $caixa = $this->_getParam('external_box');
             break;
     }
     $dtoSearch->caixa = $caixa;
     $res = $this->getService()->getGrid($dtoSearch);
     return $res;
 }
Example #2
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;
 }
Example #3
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>';
     }
 }
 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');
     }
 }
 /**
  * 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;
 }
Example #6
0
 /**
  * Ação para visualização de imagem de documentos migrados
  */
 public function viewMigrationAction()
 {
     $this->getHelper('layout')->setLayout('modal');
     $sqArtefato = $this->getRequest()->getParam('id');
     // Regras para artefatos de migração.
     $dtoSearchPai = \Core_Dto::factoryFromData(array('sqArtefato' => $sqArtefato), 'search');
     $params = $this->_viewSteps();
     $entArtefato = $this->getService("Artefato")->find($params['id']);
     if ($entArtefato->isProcesso() && $this->getService("Artefato")->isMigracao($dtoSearchPai) && $this->getService("Artefato")->isInconsistent($dtoSearchPai)) {
         $firstItem = current($this->view->treeviewData);
         $primeiraPeca = current($firstItem['filhos']);
         $dtoSearch = \Core_Dto::factoryFromData(array('sqArtefato' => $primeiraPeca['sqArtefatoFilho']), 'search');
         $hasImagem = $this->getService()->hasArtefatoImagemAtiva($dtoSearch);
         if (!$hasImagem) {
             $this->view->entArtefato = $entArtefato;
             //recupera a 1ª Peça
             $entPrimeiraPeca = $this->getService('ArtefatoVinculo')->findOneBy(array('sqArtefatoPai' => $entArtefato->getSqArtefato(), 'sqTipoVinculoArtefato' => \Core_Configuration::getSgdoceTipoVinculoArtefatoAutuacao()));
             //se não tem 1ª Peça não faz nada
             if (!$entPrimeiraPeca) {
                 $this->render('fail-image-not-first-piece');
             } else {
                 $listSolicitacao = $this->getService()->getSolicitacaoMigracaoImagem($dtoSearch);
                 if ($listSolicitacao) {
                     $configs = \Core_Registry::get('configs');
                     $qtdeTentativa = $configs['migration']['qtdeTentativa'];
                     $entSolicitacao = current($listSolicitacao);
                     if (!$entSolicitacao->getStProcessado() && $entSolicitacao->getInTentativa() == $qtdeTentativa) {
                         $this->render('fail-image-not-process');
                     } else {
                         $this->render('fail-image-processo');
                     }
                 } else {
                     $this->render('fail-image-processo');
                 }
             }
         }
     }
     $this->view->canOverwrite = false;
     if (count($this->view->treeviewData) > 0 && !$this->view->hasImage) {
         $firstItem = current($this->view->treeviewData);
         $this->view->hasImage = count($firstItem['filhos']) > 0;
     }
     if (!$this->view->treeviewData) {
         $this->view->hasDuplicity = true;
     }
     $this->getService('VinculoMigracao')->verificaImagemArvore($this->view->treeviewData);
     // Verifica se item é de migração e se tem imagem, se não tiver, adicionar uma solicitação de migração de imagem
     if (isset($params['view']) && $params['view'] == 'migracao') {
         if ($this->getService("Artefato")->isInconsistent($dtoSearchPai, true)) {
             $this->view->canOverwrite = true;
         }
         $this->view->id = $params['id'];
         $this->render('view-migracao');
     } else {
         $this->render('view');
     }
     $isAllowedAlter = in_array(\Core_Integration_Sica_User::getUserProfile(), $this->getService()->getUsersAllowedAlterImage());
     $inMyDashboard = $this->getService("Artefato")->inMyDashboard($dtoSearchPai->getSqArtefato());
     $this->view->canAlterImage = $isAllowedAlter && $inMyDashboard;
     $this->view->sqTipoArtefato = $entArtefato->getSqTipoArtefatoAssunto()->getSqTipoArtefato()->getSqTipoArtefato();
 }
 public function indexAction()
 {
     $sqPerfil = \Core_Integration_Sica_User::getUserProfile();
     if ($sqPerfil) {
         $this->_sqTipoPerfil = $this->getService('Perfil')->find($sqPerfil)->getSqTipoPerfil()->getSqTipoPerfil();
         $this->view->id = $this->_getParam('id');
         $this->view->sistemas = $this->getService('Sistema')->systemsActives($this->_sqTipoPerfil, array(2));
     } else {
         $this->_redirect('/usuario/login');
     }
 }