public function getPessoaDestinatarioArtefato($dto) { $queryBuilder = $this->_em->createQueryBuilder()->select('t.noTratamento, pa.txPosTratamento, puo.noUnidadeOrg, ps.noPessoa, vtuo.noTipoUnidadeOrg, vtuo2.noTipoUnidadeOrg noTipoUnidadeOrg2, puo.noCargo, m.noMunicipio, vest.noEstado, es.coCep, pa.txPosVocativo, pc.sqTipoPessoa, voc.noVocativo')->from('app:ArtefatoMinuta', 'am')->innerJoin('am.sqArtefato', 'a')->innerJoin('a.sqPessoaArtefato', 'pa')->innerJoin('pa.sqPessoaFuncao', 'pf')->innerJoin('pa.sqPessoaSgdoce', 'ps')->leftJoin('ps.sqPessoaCorporativo', 'pc')->leftJoin('pa.sqPessoaUnidadeOrg', 'puo')->leftJoin('ps.sqVwPessoaUnidadeOrg', 'vuo')->leftJoin('vuo.sqTipoUnidade', 'vtuo2')->leftJoin('puo.sqPessoaUnidadeOrgCorp', 'vpuo')->leftJoin('vpuo.sqTipoUnidade', 'vtuo')->leftJoin('pa.sqEnderecoSgdoce', 'es')->leftJoin('es.sqMunicipio', 'm')->leftJoin('m.sqEstado', 'vest')->leftJoin('pa.sqTratamentoVocativo', 'tv')->leftJoin('tv.sqTratamento', 't')->leftJoin('tv.sqVocativo', 'voc')->andWhere('a.sqArtefato = :sqArtefato')->setParameter('sqArtefato', $dto->getSqArtefato())->andWhere('pf.sqPessoaFuncao = :sqPessoaFuncao')->setParameter('sqPessoaFuncao', \Core_Configuration::getSgdocePessoaFuncaoDestinatario()); $res = $queryBuilder->getQuery()->getScalarResult(); $res['qtdDestinatario'] = count($res); return $res; }
/** * Metodo resposavel por retornar a pessoa vinculada ao artefato e verifica se essa pessoa eh interna ou externa * * return array object */ protected function _dadosPessoaDocumento($dto, $tipoPessoa) { $result = $this->getService('PessoaArtefato')->getPessoaArtefato($dto, $tipoPessoa); if ($result) { $arrCheck = array(\Core_Configuration::getSgdocePessoaFuncaoOrigem(), \Core_Configuration::getSgdocePessoaFuncaoDestinatario()); if (in_array($tipoPessoa, $arrCheck)) { $procedencia = $result[0]->getStProcedencia(); if ($procedencia) { $result[1] = \Sgdoce_Constants::PROCEDENCIA_INTERNA; } if (FALSE === $procedencia) { $result[1] = \Sgdoce_Constants::PROCEDENCIA_EXTERNA; } if (is_null($procedencia)) { $result[1] = NULL; } } else { trigger_error('Método usado apenas para dados de Pessoa ORIGEM/DESTINO', E_USER_ERROR); } } return $result; }
/** * 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; }
public function addDestinatarioInternoAction() { $params = $this->_getAllParams(); $result = 'true'; $params['sqPessoaFuncao'] = \Core_Configuration::getSgdocePessoaFuncaoDestinatario(); if ($params['sqTipoUnidadeOrg'] != '' && $params['sqUnidadeOrg'] == '' && $params['sqPessoaCorporativo'] == '') { $params['sqTipoEndereco'] = \Core_Configuration::getSgdoceTipoEnderecoResidencial(); $dtoSearch = Core_Dto::factoryFromData($params, 'search'); $service = $this->getService('TipoUnidadeOrg')->searchUnidadeOrgPorTipo($dtoSearch); $params['sqTipoPessoa'] = \Core_Configuration::getSgdoceTipoPessoaPessoaFisica(); foreach ($service as $key => $value) { $params['sqPessoaCorporativo'] = $value['sqUnidadeOrg']; $params['noPessoa'] = $value['noUnidadeOrg']; $result = $this->searchUnidade($params); } //se preencher o tipo e a unidade } else { if ($params['sqTipoUnidadeOrg'] != '' && $params['sqUnidadeOrg'] != '' && $params['sqPessoaCorporativo'] == '') { $params['sqTipoPessoa'] = \Core_Configuration::getSgdoceTipoPessoaPessoaFisica(); $params['sqTipoEndereco'] = \Core_Configuration::getSgdoceTipoEnderecoResidencial(); $params['sqPessoaCorporativo'] = $params['sqUnidadeOrg']; $params['noPessoa'] = $params['noUnidadeOrg']; $result = $this->searchUnidade($params); } else { $result = $this->searchUnidade($params); } } $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(TRUE); $this->_response->setBody($result); }
/** * Metódo que retorna a lista com os temas tratados. * @return array */ public function listTemaTratadoAction() { $params = $this->_getAllParams(); $this->_helper->layout->disableLayout(); $params['sqPessoaFuncao'] = \Core_Configuration::getSgdocePessoaFuncaoDestinatario(); $params['sqTipoPessoa'] = \Core_Configuration::getSgdoceTipoPessoaPessoaFisica(); $configArray = array('columns' => array(array('alias' => 'vi.nome'), array('alias' => 'vi.tipo'))); $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->getResultListTemaTratado($this->view->dto); }
/** * @return void */ protected function editActionExtension() { $params = $this->_getAllParams(); $dtoCheckEdit = Core_Dto::factoryFromData(array('sqArtefato' => $params['id'], 'sqPessoa' => \Core_Integration_Sica_User::getPersonId()), 'search'); //verifica se o artefato pode ser editado // if (!$this->getService('AreaTrabalho')->canEditArtefact($dtoCheckEdit)) { // $this->getMessaging()->addErrorMessage( // sprintf(\Core_Registry::getMessage()->translate('MN154'), // $this->view->data->getNuDigital()->getNuEtiqueta())); // $this->_redirect('/artefato/area-trabalho'); // } $params['sqArtefato'] = $params['id']; $dtoSearch = Core_Dto::factoryFromData($params, 'search'); $this->view->redirect = $params['view']; $this->view->user = $this->getUser(); $this->getCombo(); $this->view->isLoteEletronico = false; $this->view->eDigital = $this->view->data->getNuDigital(); if ($this->view->data->getSqTipoDocumento()) { $this->view->isSIC = $this->view->data->getSqTipoDocumento()->getSqTipoDocumento() == \Core_Configuration::getSgdoceTipoDocumentoSic(); } else { $this->view->isSIC = false; } $this->view->docSIC = $this->view->data->getSqTipoDocumento(); $dtoSgdoceFisico = \Core_Dto::factoryFromData(array('nuDigital' => $this->view->data->getNuDigital()->getNuEtiqueta(), 'sqArtefato' => $this->view->data->getSqArtefato()), 'search'); $this->view->dataSgdocFisico = $this->getService()->getDataSgdocFisico($dtoSgdoceFisico); $this->view->dataSgdocFisico = current($this->view->dataSgdocFisico); $this->view->listProcedenciaFisico = array('I' => 'Interno', 'E' => 'Externo'); $this->view->nuInteressados = $this->getService('PessoaInterassadaArtefato')->countInteressadosArtefatoValido($dtoSgdoceFisico); $dto = Core_Dto::factoryFromData(array('sqPessoaCorporativo' => \Core_Configuration::getSgdoceUnidadeCgu(), 'sqTipoPessoa' => \Core_Configuration::getCorpTipoPessoaUnidadeExt()), 'search'); $this->view->CGU = !$this->view->isSIC ? null : $this->getService('Pessoa')->getPessoa($dto); // retorno de valor para a view $this->view->tipoNavegacao = $dtoSearch->getA(); $this->view->dataGrauAcesso = $this->getService('GrauAcessoArtefato')->getGrauAcessoArtefato($dtoSearch); $criteria = array('sqArtefato' => $params['sqArtefato'], 'sqPessoaFuncao' => \Core_Configuration::getSgdocePessoaFuncaoAssinatura()); $this->view->assinanteArtefatoExterno = $this->getService('PessoaArtefato')->findOneBy($criteria); $this->view->assinanteArtefatoInterno = $this->getService('PessoaAssinanteArtefato')->getAssinanteArtefato($dtoSearch); $this->view->dadosOrigem = self::_dadosPessoaDocumento($dtoSearch, \Core_Configuration::getSgdocePessoaFuncaoOrigem()); $this->view->dadosDestino = self::_dadosPessoaDocumento($dtoSearch, \Core_Configuration::getSgdocePessoaFuncaoDestinatario()); $this->view->result = $this->getService('AnexoArtefato')->listGridAnexos($dtoSearch); if ($this->view->dadosDestino) { $sqTipoPessoa = $this->view->dadosDestino[0]->getSqPessoaSgdoce()->getSqTipoPessoa()->getSqTipoPessoa(); if ($sqTipoPessoa == \Core_Configuration::getCorpTipoPessoaFisica()) { $this->view->nacionalidadeDestino = $this->returnNacionalidade($this->view->dadosDestino); } } if ($this->view->dadosOrigem) { $sqTipoPessoa = $this->view->dadosOrigem[0]->getSqPessoaSgdoce()->getSqTipoPessoa()->getSqTipoPessoa(); if ($sqTipoPessoa == \Core_Configuration::getCorpTipoPessoaFisica()) { $this->view->nacionalidadeOrigem = $this->returnNacionalidade($this->view->dadosOrigem); } } if ($this->view->data->getSqTipoArtefatoAssunto()->getSqTipoArtefatoAssunto()) { $this->_messageEdit = 'MN043'; #mensagem de alteracao } if (!$this->view->isSIC) { $procedenciaInterno = isset($this->view->dadosOrigem[1]) ? $this->view->dadosOrigem[1] : NULL; //1 = interno -- 3 = externo if ($procedenciaInterno == 1) { $disabledProcedencia = 'chekProcedenciaExterno'; } else { $disabledProcedencia = 'chekProcedenciaInterno'; } $this->view->disabledProcedencia = $disabledProcedencia; } }
public function findPessoaDestinatarioArtefato($dto) { $query = $this->_em->createQueryBuilder()->select('p.sqPessoaSgdoce, p.noPessoa, e.sqEnderecoSgdoce, te.sqTipoEndereco, te.noTipoEndereco, e.coCep, e.txEndereco, e.nuEndereco, es.sqEstado, es.noEstado, m.sqMunicipio, m.noMunicipio')->from('app:Artefato', 'a')->leftJoin('a.sqPessoaArtefato', 'pa')->leftJoin('pa.sqPessoaSgdoce', 'p')->leftJoin('p.sqPessoaCorporativo', 'pc')->leftJoin('p.sqPessoaEndereco', 'e')->leftJoin('e.sqTipoEndereco', 'te')->leftJoin('e.sqMunicipio', 'm')->leftJoin('m.sqEstado', 'es'); if ($dto->getNuCPFDestinatario()) { $nuCpfCnpjPassaporte = str_replace('-', '', $dto->getNuCPFDestinatario()); $nuCpfCnpjPassaporte = str_replace('/', '', $nuCpfCnpjPassaporte); $nuCpfCnpjPassaporte = str_replace('.', '', $nuCpfCnpjPassaporte); $query->andWhere('p.nuCpfCnpjPassaporte = :nuCpfCnpjPassaporte')->setParameter('nuCpfCnpjPassaporte', $nuCpfCnpjPassaporte); } $query->andWhere('pa.sqPessoaFuncao = :sqPessoaFuncao')->setParameter('sqPessoaFuncao', \Core_Configuration::getSgdocePessoaFuncaoDestinatario()); // ->orWhere('e.sqEnderecoSgdoce IS NULL'); if ($dto->hasSqEnderecoSgdoce()) { $query->andWhere('e.sqEnderecoSgdoce = :sqEnderecoSgdoce')->setParameter('sqEnderecoSgdoce', $dto->getSqEnderecoSgdoce()); } if ($dto->getSqPessoa()) { $query->andWhere('p.sqPessoaCorporativo = :sqPessoaCorporativo')->setParameter('sqPessoaCorporativo', $dto->getSqPessoa()); } if ($dto->getSqPessoaCorporativo()) { $query->andWhere('p.sqPessoaCorporativo = :sqPessoaCorporativo')->setParameter('sqPessoaCorporativo', $dto->getSqPessoaCorporativo()); } $query->groupBy('p.sqPessoaSgdoce, p.noPessoa, e.sqEnderecoSgdoce, te.sqTipoEndereco, te.noTipoEndereco, e.coCep, e.txEndereco, es.sqEstado, es.noEstado, m.sqMunicipio, m.noMunicipio'); $query->orderBy('e.dtCadastro', 'asc'); return $query->getQuery()->execute(); }
/** * Metódo que realiza a persistencia de DESTINO * @param Object $entity * @param Object $dto * @return Object */ protected function _salvaDestino($entity, $dto) { $filter = new \Zend_Filter_Digits(); switch ($dto->getDestinoInterno()) { case 'externo': $stProcedencia = FALSE; break; case 'interno': $stProcedencia = TRUE; break; default: $stProcedencia = NULL; break; } $sqPessoaDestino = $this->recuperaSqPessoaDto($dto); // $cpfCnpjPassaport = $this->retornaRegistro($dto); if ($dto->getSqTipoPessoaDestino()) { $sqTipoPessoa = $dto->getSqTipoPessoaDestino(); } else { $sqTipoPessoa = $dto->getSqTipoPessoaDestinoIcmbio(); } if ($dto->getSqPessoa_autocomplete()) { $noPessoaDestino = $dto->getSqPessoa_autocomplete(); } else { $noPessoaDestino = $dto->getSqPessoaIcmbioDestino_autocomplete(); } $sqPessoaEncaminhado = null; if ($dto->getSqPessoaEncaminhado()) { $sqPessoaEncaminhado = $dto->getSqPessoaEncaminhado(); $noPessoaEncaminhado = $dto->getSqPessoaEncaminhado_autocomplete(); } else { if ($dto->getSqPessoaEncaminhadoExterno()) { $sqPessoaEncaminhado = $dto->getSqPessoaEncaminhadoExterno(); $noPessoaEncaminhado = $dto->getSqPessoaEncaminhadoExterno_autocomplete(); } } if ($sqPessoaDestino != 0) { $data['sqPessoaCorporativo'] = $sqPessoaDestino; $dtoPessoaSearch = \Core_Dto::factoryFromData($data, 'search'); $cpfCnpjPassaport = $this->getServiceLocator()->getService('VwPessoa')->returnCpfCnpjPassaporte($dtoPessoaSearch); $cpfCnpjPassaport = $filter->filter($cpfCnpjPassaport); } // verificando se existe Pessoa cadastrada no PessoaSgdoce $entPessoaSgdoce = $this->searchPessoaSgdoce($sqPessoaDestino); // Se nao existir registro na base de PessoaSgdoce, verifica se é PF ou PJ e recupera as informacoes // na base Corporativo e realiza o cadastro na base de PessoaSgdoce if (!count($entPessoaSgdoce)) { // Não existindo registro em PessoaSgdoce, faz cadastro na mesma $entPessoaSgdoce = $this->addPessoaSgdoce($sqPessoaDestino, $noPessoaDestino, $cpfCnpjPassaport); $entPessoaSgdoce->setNuCpfCnpjPassaporte($cpfCnpjPassaport); // retorna o numero do registro $criteriaTipoPessoa = array('sqTipoPessoa' => $sqTipoPessoa); $entPessoaSgdoce->setSqTipoPessoa($this->_getRepository('app:VwTipoPessoa')->findOneBy($criteriaTipoPessoa)); $this->getEntityManager()->persist($entPessoaSgdoce); $this->getEntityManager()->flush($entPessoaSgdoce); } // cadastrando PessoaArtefato $entityPessoaArtefato = $this->cadastrarPessoaArtefato($entity, $entPessoaSgdoce, \Core_Configuration::getSgdocePessoaFuncaoDestinatario()); if ($sqPessoaEncaminhado) { // verificando se existe PessoaEncaminhado cadastrada no PessoaSgdoce $entPessoaEncaminhado = $this->searchPessoaSgdoce($sqPessoaEncaminhado); if (!count($entPessoaEncaminhado)) { $data['sqPessoaCorporativo'] = $sqPessoaEncaminhado; $dtoPessoaSearch = \Core_Dto::factoryFromData($data, 'search'); $cpfCnpjPassaport = $this->getServiceLocator()->getService('VwPessoa')->returnCpfCnpjPassaporte($dtoPessoaSearch); $cpfCnpjPassaport = $filter->filter($cpfCnpjPassaport); // Não existindo registro em PessoaSgdoce, faz cadastro na mesma $entPessoaEncaminhado = $this->addPessoaSgdoce($sqPessoaEncaminhado, $noPessoaEncaminhado, $cpfCnpjPassaport); // retorna o numero do registro $criteriaTipoPessoa = array('sqTipoPessoa' => $sqTipoPessoa); $entPessoaEncaminhado->setSqTipoPessoa($this->_getRepository('app:VwTipoPessoa')->findOneBy($criteriaTipoPessoa)); $this->getEntityManager()->persist($entPessoaEncaminhado); $this->getEntityManager()->flush($entPessoaEncaminhado); } // setando valores $entityPessoaArtefato->setSqPessoaEncaminhado($entPessoaEncaminhado); } else { $entityPessoaArtefato->setSqPessoaEncaminhado(NULL); } $entityPessoaArtefato->setNoCargoEncaminhado($dto->getNoCargoEncaminhado()); $entityPessoaArtefato->setStProcedencia($stProcedencia); // persistindo informacoes $this->getEntityManager()->persist($entityPessoaArtefato); $this->getEntityManager()->flush($entityPessoaArtefato); }
/** * Metódo que realiza o postUpdate. */ public function postUpdate($entity, $dto = NULL, $dtoPessoa = NULL) { $resultHistorico = $this->getEntityManager()->getRepository('app:HistoricoArtefato')->findBy(array('sqArtefato' => $entity->getSqArtefato())); if (count($resultHistorico) == 0) { // #HistoricoArtefato::save(); $strMessage = $this->getServiceLocator()->getService('HistoricoArtefato')->getMessage('MH009'); $this->getServiceLocator()->getService('HistoricoArtefato')->registrar($sqArtefato, \Core_Configuration::getSqOcorrenciaSalvarMinuta(), $strMessage); $this->getServiceLocator()->getService('PessoaArtefato')->saveOrigemAutor($entity, $dtoPessoa['unidade'], $dtoPessoa['pessoa']); } if ($dto->hasSqGrauAcesso() && $dto->getSqGrauAcesso() != '') { $sqGrauAcesso = $this->getEntityManager()->getRepository('app:GrauAcesso')->findBy(array('sqGrauAcesso' => $dto->getSqGrauAcesso())); $this->getServiceLocator()->getService('GrauAcessoArtefato')->saveGrauAcessoArtefato($entity->getSqArtefato(), $sqGrauAcesso[0]); } if ($dtoPessoa['assinatura']) { $res = $this->getServiceLocator()->getService('PessoaAssinanteArtefato')->saveAssinatura($dtoPessoa['assinatura'], $dto); } $entitySgdoce = $this->getPessoaSgdoce($entity, \Core_Configuration::getSgdocePessoaFuncaoDestinatario()); $externo = FALSE; foreach ($dtoPessoa['externo'] as $campo) { if ($campo['noCampo'] == 'Destino Externo') { $externo = TRUE; } } if ($externo) { foreach ($entitySgdoce as $key => $entityPessoaArtefato) { if ($key == 0) { continue; } //grava o artefato $entityArtefato = $this->_getRepository('app:Artefato')->find($entity->getSqArtefato()->getSqArtefato()); $entityArtefatoClone = clone $entityArtefato; $entityArtefatoClone->setSqArtefato(NULL); $this->getEntityManager()->persist($entityArtefatoClone); $this->getEntityManager()->flush($entityArtefatoClone); //grava pessoa artefato $entityPessoaArtefato->setSqArtefato($entityArtefatoClone); $this->getEntityManager()->persist($entityPessoaArtefato); $this->getEntityManager()->flush($entityPessoaArtefato); $this->saveExtraPessoa($entity, $entityArtefatoClone, $entityArtefato); } } }
/** * @return */ public function listPesquisaDocumento($dto) { $listCondition = array('getNuArtefato' => array("ilike" => array("AND" => 'art.nu_artefato')), 'getSqAssunto' => array("=" => array("AND" => 'ass.sq_assunto')), 'getTxAssuntoComplementar' => array("ilike" => array("AND" => 'art.tx_assunto_complementar')), 'getInteressado' => array("ilike" => array("OR" => array("trim(pse.no_pessoa)", "trim(vue.sg_unidade_org || ' - ' || pse.no_pessoa)"), 'tlp' => array('trim(%s)', 'trim(%s)'))), 'getOrigem' => array("ilike" => array("OR" => array("trim(pfo.no_pessoa)", "trim(vuo.sg_unidade_org || ' - ' || pfo.no_pessoa)"), 'tlp' => array('trim(%s)', 'trim(%s)'))), 'getNuDigital' => array("ilike" => array("AND" => 'formata_numero_digital(art.nu_digital)')), 'getDestino' => array("ilike" => array("OR" => array("trim(pfd.no_pessoa)", "trim(vud.sg_unidade_org || ' - ' || pfd.no_pessoa)"), 'tlp' => array('trim(%s)', 'trim(%s)'))), 'getAssinatura' => array("ilike" => array("OR" => array("trim(pfa.no_pessoa)", "trim(vua.sg_unidade_org || ' - ' || pfa.no_pessoa)"), 'tlp' => array('trim(%s)', 'trim(%s)'))), 'getNoTipoDocumento' => array("ilike" => array("AND" => 'tad.no_tipo_documento'))); // criteria $listPeriodo = array('dtCadastro' => 'art.dt_cadastro', 'dtAutuacao' => 'art.dt_artefato', 'dtPrazo' => 'art.dt_prazo'); $sqPeriodo = $dto->getSqPeriodo(); $periodoColumn = null; if (isset($listPeriodo[$sqPeriodo])) { $periodoColumn = $listPeriodo[$sqPeriodo]; } $where = $this->getCriteriaText($listCondition, $dto, $periodoColumn); $rsm = new \Doctrine\ORM\Query\ResultSetMapping($this->_em); $rsm->addScalarResult('total_record', 'totalRecord', 'integer'); $rsm->addScalarResult('sq_artefato', 'sqArtefato', 'integer'); $rsm->addScalarResult('nu_digital', 'nuDigital', 'string'); $rsm->addScalarResult('tx_assunto', 'txAssunto', 'string'); $rsm->addScalarResult('nu_artefato', 'nuArtefato', 'string'); $rsm->addScalarResult('no_tipo_documento', 'noTipoDocumento', 'string'); $rsm->addScalarResult('origem', 'noPessoaOrigem', 'string'); $rsm->addScalarResult('dt_artefato', 'dtArtefato', 'string'); $rsm->addScalarResult('interessados', 'noPessoaInteressados', 'string'); $rsm->addScalarResult('tx_movimentacao', 'txMovimentacao', 'string'); $sql = "SELECT COUNT(art.sq_artefato) OVER() AS total_record,\n art.sq_artefato,\n formata_numero_digital(art.nu_digital) AS nu_digital,\n ass.tx_assunto,\n art.nu_artefato,\n tad.no_tipo_documento,\n pfo.no_pessoa as origem,\n art.dt_artefato,\n string_agg(pse.no_pessoa, ', ') AS interessados,\n pfd.no_pessoa as destino,\n pfa.no_pessoa as assinatura,\n sgdoce.ultima_movimentacao_artefato(art.sq_artefato) as tx_movimentacao\n FROM sgdoce.artefato art\n JOIN sgdoce.tipo_artefato_assunto taa ON art.sq_tipo_artefato_assunto = taa.sq_tipo_artefato_assunto\n JOIN sgdoce.assunto ass ON taa.sq_assunto = ass.sq_assunto\n JOIN sgdoce.tipo_documento tad ON art.sq_tipo_documento = tad.sq_tipo_documento\n JOIN sgdoce.pessoa_artefato pao ON art.sq_artefato = pao.sq_artefato AND pao.sq_pessoa_funcao = " . \Core_Configuration::getSgdocePessoaFuncaoOrigem() . "\n JOIN sgdoce.pessoa_sgdoce pfo ON pao.sq_pessoa_sgdoce = pfo.sq_pessoa_sgdoce\n LEFT JOIN corporativo.vw_unidade_org vuo ON pfo.sq_pessoa_corporativo = vuo.sq_pessoa\n LEFT JOIN sgdoce.pessoa_interessada_artefato pai ON art.sq_artefato = pai.sq_artefato\n LEFT JOIN sgdoce.pessoa_sgdoce pse ON pai.sq_pessoa_sgdoce = pse.sq_pessoa_sgdoce\n LEFT JOIN corporativo.vw_unidade_org vue ON pse.sq_pessoa_corporativo = vue.sq_pessoa\n LEFT JOIN sgdoce.pessoa_artefato pad ON art.sq_artefato = pad.sq_artefato AND pad.sq_pessoa_funcao = " . \Core_Configuration::getSgdocePessoaFuncaoDestinatario() . "\n LEFT JOIN sgdoce.pessoa_sgdoce pfd ON pad.sq_pessoa_sgdoce = pfd.sq_pessoa_sgdoce\n LEFT JOIN corporativo.vw_unidade_org vud ON pfd.sq_pessoa_corporativo = vud.sq_pessoa\n LEFT JOIN sgdoce.pessoa_artefato paa ON art.sq_artefato = paa.sq_artefato AND paa.sq_pessoa_funcao = " . \Core_Configuration::getSgdocePessoaFuncaoAssinatura() . "\n LEFT JOIN sgdoce.pessoa_sgdoce pfa ON paa.sq_pessoa_sgdoce = pfa.sq_pessoa_sgdoce\n LEFT JOIN corporativo.vw_unidade_org vua ON pfa.sq_pessoa_corporativo = vua.sq_pessoa\n %s\n GROUP BY art.sq_artefato,\n art.nu_digital,\n ass.tx_assunto,\n art.nu_artefato,\n tad.no_tipo_documento,\n pfo.no_pessoa,\n art.dt_artefato,\n pfd.no_pessoa,\n pfa.no_pessoa,\n tx_movimentacao"; if ($where != "") { $where = "WHERE " . $where; } else { $where = "WHERE 1 <> 1"; } $where .= " AND taa.sq_tipo_artefato = " . \Core_Configuration::getSgdoceTipoArtefatoDocumento(); $sql = sprintf($sql, $where); return $this->_em->createNativeQuery($sql, $rsm); }
/** * Action que realiza a exclusão da assinatura * @return array */ public function deleteDestinatarioAction() { $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(TRUE); $params = $this->_getAllParams(); $params['sqPessoaFuncao'] = \Core_Configuration::getSgdocePessoaFuncaoDestinatario(); $dtoPessoaArtefato = Core_Dto::factoryFromData($params, 'entity', array('entity' => 'Sgdoce\\Model\\Entity\\PessoaArtefato', 'mapping' => array('sqArtefato' => 'Sgdoce\\Model\\Entity\\Artefato', 'sqPessoaFuncao' => 'Sgdoce\\Model\\Entity\\PessoaFuncao', 'sqPessoaSgdoce' => 'Sgdoce\\Model\\Entity\\PessoaSgdoce'))); $this->getService()->deleteDestinatario($dtoPessoaArtefato); }