示例#1
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);
 }
 public function getNuSequencial($params = NULL, $view = FALSE, $sqPessoaLogada = NULL)
 {
     $dtoOrigem = \Core_Dto::factoryFromData(array('sqProfissional' => $sqPessoaLogada), 'search');
     $unidadeOrg = $this->getServiceLocator()->getService('Dossie')->unidadeOrigemPessoa($dtoOrigem);
     $sqUnidadeOrg = $unidadeOrg->getSqUnidadeExercicio()->getSqUnidadeOrg();
     $unidadeOrg = $unidadeOrg->getSqUnidadeExercicio();
     $sqTipoArtefato = \Core_Configuration::getSgdoceTipoArtefatoProcesso();
     // processo;
     $sqTipoDocumento = $this->getServiceLocator()->getService('Documento')->find($params['id']);
     $sqTipoDocumento = $sqTipoDocumento->getSqTipoDocumento()->getSqTipoDocumento();
     $data = new \Zend_Date();
     $criteria = array('sqUnidadeOrg' => $sqUnidadeOrg, 'sqTipoArtefato' => $sqTipoArtefato, 'sqTipoDocumento' => $sqTipoDocumento, 'nuAno' => $data->get('yyyy'));
     $orderBy = array('sqSequencialArtefato' => 'desc');
     $sequencialArtefato = $this->getServiceLocator()->getService('Sequnidorg')->findBy($criteria, $orderBy, 1);
     if ($sequencialArtefato) {
         $nuSequencial = $sequencialArtefato->getNuSequencial() + 1;
         $params['sqSequencialArtefato'] = $sequencialArtefato->getSqSequencialArtefato();
     } else {
         $nuSequencial = 1;
         $params['sqSequencialArtefato'] = NULL;
     }
     if (!$view) {
         //sava somente quando concluir o form.
         $params['sqTipoDocumento'] = $sqTipoDocumento;
         $params['sqTipoArtefato'] = $sqTipoArtefato;
         $params['sqUnidadeOrg'] = $sqUnidadeOrg;
         $params['nuAno'] = $data->get('yyyy');
         $params['nuSequencial'] = $nuSequencial;
         $optionSequencial = array('entity' => 'Sgdoce\\Model\\Entity\\SequencialArtefato', 'mapping' => array('sqTipoArtefato' => array('sqTipoArtefato' => 'Sgdoce\\Model\\Entity\\TipoArtefato'), 'sqUnidadeOrg' => array('sqUnidadeOrg' => 'Sgdoce\\Model\\Entity\\VwUnidadeOrg'), 'sqTipoDocumento' => array('sqTipoDocumento' => 'Sgdoce\\Model\\Entity\\TipoDocumento')));
         $dtoSequencial = \Core_Dto::factoryFromData($params, 'entity', $optionSequencial);
         $this->save($dtoSequencial);
         $this->finish($dtoSequencial);
     }
     return $nuSequencial;
 }
 public function postSave($entity, $dto = NULL)
 {
     $data = $dto->getMap();
     unset($data['sqUsuarioExterno']);
     $entityPF = $this->_getRepository('app:UsuarioPessoaFisica')->find($entity->getSqUsuarioExterno());
     $data['sqTipoEscolaridade'] = NULL;
     $data['sqPaisOrigem'] = NULL;
     if ($dto->getSqTipoEscolaridade()) {
         $data['sqTipoEscolaridade'] = $this->_getRepository('app:TipoEscolaridade')->find($dto->getSqTipoEscolaridade());
     }
     if ($dto->getSqPaisOrigem()) {
         $data['sqPaisOrigem'] = $this->_getRepository('app:Pais')->find($dto->getSqPaisOrigem());
     }
     if ($entityPF) {
         $entityPF->fromArray($data);
     } else {
         $entityPF = \Core_Dto::factoryFromData($dto->getMap(), 'entity', $this->_entityOption)->getEntity();
         $entityPF->setSqTipoEscolaridade($data['sqTipoEscolaridade']);
         $entityPF->setSqPaisOrigem($data['sqPaisOrigem']);
     }
     $entityPF->setNuCpf(\Zend_Filter::filterStatic($entityPF->getNuCpf(), 'Digits'));
     $entityPF->setSqUsuarioExterno($entity);
     $this->getEntityManager()->persist($entityPF);
     $this->getEntityManager()->flush($entityPF);
     parent::postSave($entity, $dto);
 }
示例#4
0
 protected function _setInput($attr, &$value)
 {
     if (!array_key_exists($attr, $this->_map)) {
         throw new UnexpectedValueException('Valor não mapeado.');
     }
     $entityName = $this->_map[$attr];
     if (is_array($entityName)) {
         $attr = key($entityName);
         $entityName = $entityName[$attr];
     }
     if (!is_array($value)) {
         $value = Core_Dto::factoryFromData(array($attr => $value), 'entity', array('entity' => $entityName));
         return;
     }
     $tempData = array();
     foreach ($value as $key => $data) {
         if (is_array($data)) {
             $tempData[] = Core_Dto::factoryFromData($data, 'entity', array('entity' => $entityName));
         } else {
             $value = Core_Dto::factoryFromData($value, 'entity', array('entity' => $entityName));
             return;
         }
     }
     $value = $tempData;
 }
示例#5
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;
 }
 /**
  * Metódo para recuperar a combo de tratamento
  */
 public function comboTratamentoAction()
 {
     $dtoSearch = Core_Dto::factoryFromData($this->_getAllParams(), 'search');
     $result = $this->getService('TratamentoVocativo')->getDadosTratamento($dtoSearch);
     $this->_helper->layout->disableLayout();
     $this->view->result = $result;
     return TRUE;
 }
示例#7
0
 /**
  * @return Entity
  */
 public function getEntityDto($params = array(), $options = array())
 {
     if (!empty($options)) {
         $dto = \Core_Dto::factoryFromData($params, 'entity', $options);
         return $dto->getEntity();
     } else {
         return $this->getEntityManager()->getPartialReference($this->_entityName, 0);
     }
 }
 /**
  * Retorna o municipio
  */
 public function searchMunicipioAction()
 {
     $this->_helper->layout->disableLayout();
     $this->_helper->viewRenderer->setNoRender(TRUE);
     $param['sqEstado'] = $this->_getParam('extraParam');
     $param['noMunicipio'] = $this->_getParam('query');
     $dtoSearch = Core_Dto::factoryFromData($param, 'search');
     $this->_helper->json($this->getService()->searchMunicipio($dtoSearch));
     //         $this->getHelper('json')->sendJson($this->getService()->searchMunicipio($dtoSearch));
 }
 protected function _factoryParamsExtrasSave($data)
 {
     if (array_key_exists('sqFuncionalidade', $data)) {
         foreach ($data['sqFuncionalidade'] as $value) {
             $arrayDto[] = Core_Dto::factoryFromData(array('sqFuncionalidade' => $value), 'entity', array('entity' => 'Sica\\Model\\Entity\\Funcionalidade'));
         }
     } else {
         $arrayDto = NULL;
     }
     return array($arrayDto);
 }
 public function devolverAction()
 {
     $this->_helper->layout->disableLayout();
     $this->_helper->viewRenderer->setNoRender(TRUE);
     try {
         $dto = Core_Dto::factoryFromData($this->_getAllParams(), 'search');
         $this->getService()->saveDevolucao($dto);
         $this->_helper->json(array("error" => false, "msg" => \Core_Registry::getMessage()->translate('MN013'), "type" => "Sucesso"));
     } catch (Exception $e) {
         $this->_helper->json(array("error" => true, "msg" => $e->getMessage(), "type" => "Erro"));
     }
 }
示例#11
0
 /**
  *
  * @param $entity
  * @param \Cor_Dto_Search $dto
  */
 public function postInsert($entity, $dto = NULL)
 {
     try {
         $statusSolicitacaoData = array('sqSolicitacao' => $entity, 'sqTipoStatusSolicitacao' => \Core_Configuration::getSgdoceTipoStatusSolicitacaoAberta());
         $dtoStatusSolicitacao = \Core_Dto::factoryFromData($statusSolicitacaoData, 'search');
         $this->getServiceLocator()->getService('StatusSolicitacao')->newStatusSolicitacao($dtoStatusSolicitacao);
         $this->getEntityManager()->getConnection()->commit();
     } catch (\Exception $e) {
         $this->getEntityManager()->getConnection()->rollback();
         throw $e;
     }
 }
 public function desarquivarAction()
 {
     try {
         $this->_helper->layout->disableLayout();
         $this->_helper->viewRenderer->setNoRender(TRUE);
         $dto = Core_Dto::factoryFromData($this->_getAllParams(), 'search');
         $this->getService()->desarquivar($dto);
         $this->_helper->json(array('error' => false, 'msg' => Core_Registry::getMessage()->translate('MN013'), 'type' => 'Sucesso'));
     } catch (\Exception $e) {
         $this->_helper->json(array('error' => true, 'msg' => $e->getMessage(), 'type' => 'Erro'));
     }
 }
示例#13
0
 /**
  * Action que realiza a pesquisa
  */
 public function listCabecalhoAction()
 {
     $this->getHelper('layout')->disableLayout();
     $params = $this->_getAllParams();
     $configArray = $this->getConfigListCabecalho();
     $this->view->grid = new Core_Grid($configArray);
     $params = $this->view->grid->mapper($params);
     $this->view->dto = Core_Dto::factoryFromData($params, 'search');
     $this->view->result = $this->getResultListCabecalho($this->view->dto);
     $entityCabecalho = $this->getService('ModeloMinuta')->find($params['sqModeloDocumento']);
     if ($entityCabecalho) {
         $this->view->cabecalho = $entityCabecalho->getSqCabecalho()->getSqCabecalho();
     }
 }
 public function postSave($entity, $dto = NULL)
 {
     $data = $dto->getMap();
     unset($data['sqUsuarioExterno']);
     $entityPJ = $this->_getRepository('app:UsuarioPessoaJuridica')->find($entity->getSqUsuarioExterno());
     if ($entityPJ) {
         $entityPJ->fromArray($data);
     } else {
         $entityPJ = \Core_Dto::factoryFromData($dto->getMap(), 'entity', $this->_entityOption)->getEntity();
     }
     $entityPJ->setNuCnpj(\Zend_Filter::filterStatic($entityPJ->getNuCnpj(), 'Digits'));
     $entityPJ->setSqUsuarioExterno($entity);
     $this->getEntityManager()->persist($entityPJ);
     $this->getEntityManager()->flush($entityPJ);
     parent::postSave($entity, $dto);
 }
 /**
  * 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;
 }
示例#16
0
 /**
  * Método que retorna pesquisa do banco para preencher combo
  * @return array
  */
 public function mountDtoUnidadeSgdoce($params, $dtoSearch)
 {
     //sgdoce
     $dtoUnidadeSgdoce = \Core_Dto::factoryFromData($params, 'entity', array('entity' => 'Sgdoce\\Model\\Entity\\PessoaUnidadeOrg', 'mapping' => array('sqPessoaSgdoce' => 'Sgdoce\\Model\\Entity\\PessoaSgdoce', 'sqPessoaUnidadeOrgCorp' => array('sqUnidadeOrg' => 'Sgdoce\\Model\\Entity\\VwUnidadeOrg'))));
     $sqUnidadeSgdoce = $this->findUnidSgdoce($dtoUnidadeSgdoce);
     if (!$sqUnidadeSgdoce) {
         //gravar o cargo na pessoa unidade org.
         $pessoaAssinanteCargo = $this->getServiceLocator()->getService('PessoaAssinanteArtefato')->findCargoAssinante($dtoSearch);
         if ($pessoaAssinanteCargo && $pessoaAssinanteCargo->getSqCargo()) {
             $dtoUnidadeSgdoce->setNoCargo($pessoaAssinanteCargo->getSqCargo()->getNoCargo());
         }
         $sqUnidadeSgdoce = $this->getServiceLocator()->getService('MinutaEletronica')->saveDestinatario($dtoUnidadeSgdoce)->getSqPessoaUnidadeOrg();
     } else {
         $sqUnidadeSgdoce = $sqUnidadeSgdoce->getSqPessoaUnidadeOrg();
     }
     $params['sqPessoaUnidadeOrg'] = $sqUnidadeSgdoce;
     return $params;
 }
示例#17
0
 public function uploadTempAction()
 {
     $params = $this->_getAllParams();
     $registry = \Zend_Registry::get('configs');
     $result = 'true';
     $data = array('destination' => $registry['folder'][$this->_folder], 'validateMimeType' => FALSE);
     $dtoUpload = Core_Dto::factoryFromData($data, 'Core_Dto_Mapping_Upload', array(1 => 'validateMimeType'));
     $data = array('de_caminho_arquivo' => null);
     $dtoArquivo = Core_Dto::factoryFromData($data, 'entity', array('entity' => $this->_entityTemp));
     $options = $dtoUpload->toArray();
     $upload = new \Core_Upload('Http', FALSE, $options);
     $fileName = $upload->upload();
     $dtoArquivo->setdeCaminhoArquivo($fileName);
     $this->_temp->add($dtoArquivo);
     $this->_helper->layout->disableLayout();
     $this->_helper->viewRenderer->setNoRender(TRUE);
     $this->_response->setBody($result);
 }
示例#18
0
 public function desarquivar(\Core_Dto_Search $dto)
 {
     try {
         $serviceHA = $this->getServiceLocator()->getService('HistoricoArtefato');
         foreach ($dto->getSqArtefato()->getApi() as $method) {
             $entityArtefato = $this->_getRepository('app:Artefato')->find($dto->getSqArtefato()->{$method}());
             $this->_checkArtefatoEmprestado($entityArtefato);
             $entityCaixaArtefato = $this->_getRepository()->findOneBy(array('sqArtefato' => $entityArtefato->getSqArtefato()));
             if (NULL === $entityCaixaArtefato) {
                 throw new \Core_Exception_ServiceLayer_Verification('Artefato não localizado no arquivo. Já deve ter sido desarquivado');
             }
             //remove 1 segundo para garantir que o historico a ser salvo em seguida seja a ultima movimentação
             $date = \Zend_Date::now()->subSecond(1);
             $sqTipoHistorico = \Core_Configuration::getSgdoceTipoHistoricoArquivoDesarquivado();
             # persiste o historico do arquivo
             $this->_doInsertHistorico($entityCaixaArtefato, $date, $sqTipoHistorico);
             # persiste um tramite para quem faz o desarquivamento
             $dtoSearchArtefato = \Core_Dto::factoryFromData(array('sqArtefato' => $entityArtefato->getSqArtefato()), 'search');
             $tramiteArtefatoService = $this->getServiceLocator()->getService('TramiteArtefato');
             $entityTramiteArtefato = $this->_newEntity('app:TramiteArtefato');
             $entityTramiteArtefato->setDtTramite($date)->setDtRecebimento($date)->setSqArtefato($entityArtefato)->setSqPessoaTramite($this->_getUserOperation())->setSqUnidadeOrgTramite($this->_getUnitOperation())->setNuTramite($tramiteArtefatoService->getNextTramiteNumber($dtoSearchArtefato))->setSqPessoaDestinoInterno($this->_getUserOperation())->setInImpresso(true)->setSqPessoaRecebimento($this->_getUserOperation())->setSqStatusTramite($this->getEntityManager()->getPartialReference('app:StatusTramite', \Core_Configuration::getSgdoceStatusTramiteRecebido()))->setSqPessoaDestino($this->getEntityManager()->getPartialReference('app:VwPessoa', $this->_getUnitOperation()->getSqUnidadeOrg()));
             $this->getEntityManager()->persist($entityTramiteArtefato);
             # persiste o historico no artefato
             $sqOcorrencia = \Core_Configuration::getSgdoceSqOcorrenciaDesarquivar();
             $pessoaOperacao = $this->_getUserOperation()->getNoPessoa();
             $strMessage = $serviceHA->getMessage('MH020', \Zend_Date::now()->toString('dd/MM/YYYY HH:mm:ss'), $pessoaOperacao);
             $serviceHA->registrar($entityArtefato->getSqArtefato(), $sqOcorrencia, $strMessage);
             /**
              * remove registro da caixa de artefato
              *
              * a remoção do artefato da caixa deve ser feita no final devido ao relacionamento reverso
              * de sqCaixaArtefato existem em Artefato
              */
             $this->getEntityManager()->remove($entityCaixaArtefato);
             $this->getEntityManager()->flush();
         }
     } catch (\Exception $e) {
         throw $e;
     }
 }
 /**
  *
  * @param \Sgdoce\Model\Entity\Artefato $entityArtefato
  * @return \Arquivo\Service\ArquivamentoSetorial
  */
 private function _processTramite(\Sgdoce\Model\Entity\Artefato $entityArtefato)
 {
     $sqArtefato = $entityArtefato->getSqArtefato();
     $entityUltimoTramite = $this->_getRepository('app:VwUltimoTramiteArtefato')->find($sqArtefato);
     $sqPessoaLogada = (int) \Core_Integration_Sica_User::getPersonId();
     $sqUnidadeLogada = (int) \Core_Integration_Sica_User::getUserUnit();
     $serviceTramite = $this->getServiceLocator()->getService('TramiteArtefato');
     $dtoSearchArtefato = \Core_Dto::factoryFromData(array('sqArtefato' => $sqArtefato), 'search');
     /**
      * Se não tem ultimo Tramite é porque o artefato ainda não foi corrigido.
      * Verificar, mesmo assim, se tem tramite pois a view de ultimo tramite faz join
      * que pode não retornar registro caso documento não tenha sido corrido
      */
     if (!$entityUltimoTramite) {
         $objZendDate = \Zend_Date::now();
         $dataTramite = array('sqArtefato' => $sqArtefato, 'sqPessoaDestino' => $sqUnidadeLogada, 'sqPessoaDestinoInterno' => $sqPessoaLogada, 'sqUnidadeOrgTramite' => $sqUnidadeLogada, 'sqStatusTramite' => \Core_Configuration::getSgdoceStatusTramiteRecebido(), 'dtTramite' => $objZendDate, 'sqPessoaTramite' => $sqPessoaLogada, 'inImpresso' => TRUE, 'nuTramite' => $serviceTramite->getNextTramiteNumber($dtoSearchArtefato));
         $entityDtoTramite = $serviceTramite->montaEntidateTramite($dataTramite);
         $entityPessoaRecebimento = $this->getEntityManager()->getPartialReference('app:VwPessoa', $sqPessoaLogada);
         $entityDtoTramite->getEntity()->setSqPessoaRecebimento($entityPessoaRecebimento);
         $objZendDateRecebimento = clone $objZendDate;
         $entityDtoTramite->getEntity()->setDtRecebimento($objZendDateRecebimento->addSecond(1));
         $entityTramite = $serviceTramite->save($entityDtoTramite);
     } else {
         $sqPessoaRecebimento = $entityUltimoTramite->getSqPessoaRecebimento()->getSqPessoa();
         $sqPessoaDestino = $entityUltimoTramite->getSqPessoaDestino()->getSqPessoa();
         /**
          * caso o ultimo tramite do artefato não for da pessoa logada
          * deve-se registrar um tramite para pessoa logada (SGI) para que este
          * possa encaminhar para quem solicitou a desanexação
          */
         if ($sqPessoaRecebimento != $sqPessoaLogada || $sqPessoaDestino != $sqUnidadeLogada) {
             $dtoSearchArtefato = \Core_Dto::factoryFromData(array('sqArtefato' => $sqArtefato), 'search');
             $objZendDate = \Zend_Date::now();
             $dataTramite = array('sqArtefato' => $sqArtefato, 'sqPessoaDestino' => $sqUnidadeLogada, 'sqPessoaDestinoInterno' => $sqPessoaLogada, 'sqUnidadeOrgTramite' => $sqUnidadeLogada, 'sqStatusTramite' => \Core_Configuration::getSgdoceStatusTramiteRecebido(), 'dtTramite' => $objZendDate, 'sqPessoaTramite' => $sqPessoaLogada, 'inImpresso' => TRUE, 'nuTramite' => $serviceTramite->getNextTramiteNumber($dtoSearchArtefato));
             $entityDtoTramite = $serviceTramite->montaEntidateTramite($dataTramite);
             $entityPessoaRecebimento = $this->getEntityManager()->getPartialReference('app:VwPessoa', $sqPessoaLogada);
             $entityDtoTramite->getEntity()->setSqPessoaRecebimento($entityPessoaRecebimento);
             $objZendDateRecebimento = clone $objZendDate;
             $entityDtoTramite->getEntity()->setDtRecebimento($objZendDateRecebimento->addSecond(1));
             $entityTramite = $serviceTramite->save($entityDtoTramite);
         }
     }
     return $this;
 }
示例#20
0
 /**
  * @return array Com o parametros da requisição
  */
 private function _viewSteps()
 {
     $params = $this->_getAllParams();
     if (!isset($params['id'])) {
         throw new \Exception("Artefato não informado");
     }
     $this->view->sqArtefato = $params['id'];
     $this->view->hasImage = $this->getService()->hasImage($params['id']);
     if ($this->view->hasImage) {
         $this->view->forbiddenAccess = $this->getService()->forbiddenAccess($params['id'], Core_Integration_Sica_User::getPersonId());
     }
     // Regras para artefatos de migração.
     $dtoSearch = \Core_Dto::factoryFromData(array('sqArtefato' => $params['id']), 'search');
     $isMigracao = $this->getService("Artefato")->isMigracao($dtoSearch);
     if ($isMigracao) {
         $dtoSearch = \Core_Dto::factoryFromData(array('sqArtefato' => $params['id']), 'search');
         # Tainá falou que era para ser assim.
         if ($this->getService('Artefato')->isInconsistent($dtoSearch)) {
             $this->view->forbiddenAccess = false;
         }
         $this->view->treeviewData = $this->getService('ArtefatoVinculo')->mostarArvoreMigracao($dtoSearch);
     } else {
         $this->view->treeviewData = $this->getService('ArtefatoVinculo')->mostarArvore($params['id']);
     }
     return $params;
 }
示例#21
0
 /**
  *
  * @param \Core_Dto_Search $dto
  * @param type $returnArray
  * @return mixed Core_Dto_Search array
  */
 public function findArtefato(\Core_Dto_Search $dto, $returnArray = FALSE)
 {
     $sql = "SELECT * FROM sgdoce.fn_show_area_trabalho(:sqArtefato, NULL, :sqPessoa, :sqUnidadeOrg, NULL, NULL, NULL)";
     $query = $this->_em->createNativeQuery($sql, $this->_getResultMapping());
     $query->setParameter('sqArtefato', (int) $dto->getSqArtefato(), 'integer')->setParameter('sqPessoa', (int) \Core_Integration_Sica_User::getPersonId(), 'integer')->setParameter('sqUnidadeOrg', (int) \Core_Integration_Sica_User::getUserUnit(), 'integer');
     $result = $query->getArrayResult();
     if ($result) {
         $data = current($result);
         if (!$returnArray) {
             $result = \Core_Dto::factoryFromData($data, 'search');
         } else {
             $result = $data;
         }
     } else {
         $result = NULL;
     }
     return $result;
 }
 /**
  * Metódo que recupera o Dto da Assinatura
  */
 public function getDtoAssinatura($data)
 {
     $data['sqPessoaCorporativo'] = $data['sqResponsavel'];
     $data['sqTipoPessoa'] = \Core_Configuration::getSgdoceTipoPessoaPessoaFisica();
     $data['sqPessoaFuncao'] = \Core_Configuration::getSgdocePessoaFuncaoAssinatura();
     $data['sqPessoa'] = $data['sqPessoaAssinante'];
     $data['noPessoa'] = $data['sqResponsavel_autocomplete'];
     $dtoAssinatura['PessoaSgdoce'] = \Core_Dto::factoryFromData($data, 'entity', array('entity' => 'Sgdoce\\Model\\Entity\\PessoaSgdoce', 'mapping' => array('sqTipoPessoa' => 'Sgdoce\\Model\\Entity\\VWTipoPessoa', 'sqPessoaCorporativo' => array('sqPessoa' => 'Sgdoce\\Model\\Entity\\VwPessoa'))));
     $dtoAssinatura['PessoaAssinante'] = \Core_Dto::factoryFromData($data, 'entity', array('entity' => 'Sgdoce\\Model\\Entity\\PessoaAssinanteArtefato', 'mapping' => array('sqArtefato' => 'Sgdoce\\Model\\Entity\\Artefato', 'sqPessoaSgdoce' => 'Sgdoce\\Model\\Entity\\PessoaSgdoce', 'sqTipoAssinante' => 'Sgdoce\\Model\\Entity\\TipoAssinante')));
     return $dtoAssinatura;
 }
 public function listaNumeroEtiquetasAction()
 {
     $inLoteComNupSiorg = $this->getRequest()->getParam("extraParam", '');
     $nuEtiqueta = preg_replace("/[^a-zA-Z0-9]+/", "", $this->getRequest()->getParam("query", ""));
     $arrParams = array('nuEtiqueta' => $nuEtiqueta, 'inLoteComNupSiorg' => (bool) $inLoteComNupSiorg);
     $arrDigitais = array();
     if ($inLoteComNupSiorg !== '') {
         $objCDto = \Core_Dto::factoryFromData($arrParams, 'search');
         $arrDigitais = $this->getService()->listEtiquetaPorNumero($objCDto, $arrParams['inLoteComNupSiorg']);
     }
     $this->_helper->json($arrDigitais);
 }
 public function searchPessoaJuridicaAction()
 {
     $this->getHelper('layout')->disableLayout();
     $this->getHelper('ViewRenderer')->setNoRender();
     $dto = Core_Dto::factoryFromData($this->_getAllParams(), 'search');
     $result = $this->getService('VwPessoaJuridica')->searchPessoaJuridica($dto);
     return $this->_helper->json($result);
 }
示例#25
0
 /**
  * Método para preencher os dados da pesquisa
  *
  * @param Core_Dto_Search $dto Dados da requisição
  */
 public function getResultList($params)
 {
     $listGrid = $this->_fnListGrid;
     if ($listGrid === 'listGridDocumento' && strlen($params['nuDigital']) <= 7) {
         $params['nuDigitalNumber'] = (int) $params['nuDigital'];
     }
     $dtoSearch = \Core_Dto::factoryFromData($params, 'search');
     return $this->getService()->{$listGrid}($dtoSearch);
 }
示例#26
0
 protected function _save()
 {
     $data = $this->_request->getPost();
     if (isset($this->_optionsDtoEntity['mapping'])) {
         foreach ((array) $this->_optionsDtoEntity['mapping'] as $key => $value) {
             $data[$key] = isset($data[$key]) && empty($data[$key]) ? NULL : (isset($data[$key]) ? $data[$key] : NULL);
         }
     }
     $dto = Core_Dto::factoryFromData($data, 'entity', $this->_optionsDtoEntity);
     $this->_persistDataError['data'] = $dto;
     $this->_persistDataErrorSave($dto);
     $args = (array) $this->_factoryParamsExtrasSave($data);
     array_unshift($args, $dto);
     return call_user_func_array(array($this->getService(), 'save'), $args);
 }
 /**
  * Metódo para salvar o artefato parcialmente
  * @return TRUE
  */
 public function saveArtefatoAction()
 {
     $sqTipoDocumento = $this->_getParam('sqTipoDocumento');
     $sqAssunto = $this->_getParam('sqAssunto');
     $params['sqPessoaFuncao'] = \Core_Configuration::getSgdocePessoaFuncaoDestinatario();
     $dtoSearch = Core_Dto::factoryFromData(array('sqTipoDocumento' => $sqTipoDocumento, 'sqAssunto' => $sqAssunto), 'search');
     $res = $this->getService()->saveArtefato($dtoSearch);
     $this->_redirect('/artefato/minuta-eletronica/create/id/' . $res->getSqArtefato() . '/sqTipoDocumento/' . $sqTipoDocumento . '/sqAssunto/' . $sqAssunto);
     return TRUE;
 }
 /**
  * SALVA HISTÓRICO AREA DE TRABALHO.
  *
  * @param integer $sqArtefato
  * @param integer $sqOcorrencia
  * @param string $strMessage
  *
  * @return Sgdoce\Model\Entity\HistoricoArtefato
  */
 protected function _salvarHistoricoArtefato($sqArtefato, $sqOcorrencia, $strMessage)
 {
     $arrOptEntity = array('entity' => 'Sgdoce\\Model\\Entity\\HistoricoArtefato', 'mapping' => array('sqArtefato' => 'Sgdoce\\Model\\Entity\\Artefato', 'sqOcorrencia' => 'Sgdoce\\Model\\Entity\\Ocorrencia'));
     $arrData = array('sqArtefato' => $sqArtefato, 'sqOcorrencia' => $sqOcorrencia, 'txDescricaoOperacao' => $strMessage);
     $entHistoricoArtefato = \Core_Dto::factoryFromData($arrData, 'entity', $arrOptEntity);
     return $this->getServiceLocator()->getService('HistoricoArtefato')->save($entHistoricoArtefato);
 }
示例#29
0
 public function menuFuncionalityAction()
 {
     $this->_helper->layout->disableLayout();
     $params = $this->_getAllParams();
     $dto = Core_Dto::factoryFromData($params, 'Entity', $this->_optionsDtoEntity);
     $perfil = isset($params["sqPerfil"]) ? $params["sqPerfil"] : NULL;
     $this->view->data = $this->getService('Funcionalidade')->menuFuncionality($dto, $perfil);
 }
示例#30
0
 /**
  * Metódo que recupera a pessoa
  * @return json
  */
 public function searchPessoaFisicaAction()
 {
     $params = $this->_getAllParams();
     $this->_helper->layout->disableLayout();
     $dtoSearch = \Core_Dto::factoryFromData($params, 'search');
     $service = $this->getService()->searchPessoaFisica($dtoSearch);
     $this->_helper->json($service);
 }