/** * Realiza a pesquisa da grid * @param \Core_Dto_Abstract $dto */ public function listGrid(\Core_Dto_Abstract $dto) { return $this->_em->createQueryBuilder()->select(' d.sqDocumento, d.txValor, td.sqTipoDocumento, td.noTipoDocumento, atd.sqAtributoTipoDocumento, p.sqPessoa')->from('app:Documento', 'd')->innerJoin('d.sqAtributoTipoDocumento', 'atd')->innerJoin('atd.sqAtributoDocumento', 'ad')->innerJoin('atd.sqTipoDocumento', 'td')->innerJoin('d.sqPessoa', 'p')->where('p.sqPessoa = :sqPessoa')->setParameter('sqPessoa', $dto->getSqPessoa())->andWhere($this->_em->createQueryBuilder()->expr()->in('ad.sqAtributoDocumento', ':sqAtributoDocumento'))->setParameter('sqAtributoDocumento', array(\Core_Configuration::getCorpAtributoDocumentoNumero(), \Core_Configuration::getCorpAtributoDocumentoPisPasep())); }
/** * Realiza a pesquisa da grid * @param \Core_Dto_Abstract $dto */ public function listGrid(\Core_Dto_Abstract $dto) { return $this->_em->createQueryBuilder()->select('p.sqPessoa, e.sqEndereco, e.sqCep, te.noTipoEndereco, e.txEndereco, e.nuEndereco, e.noBairro, m.noMunicipio, es.noEstado')->from('app:Endereco', 'e')->innerJoin('e.sqPessoa', 'p')->innerJoin('e.sqTipoEndereco', 'te')->innerJoin('e.sqMunicipio', 'm')->innerJoin('m.sqEstado', 'es')->where('p.sqPessoa = :sqPessoa')->setParameter('sqPessoa', $dto->getSqPessoa()); }
/** * Realiza a pesquisa da grid * @param \Core_Dto_Abstract $dto */ public function listGrid(\Core_Dto_Abstract $dto) { return $this->_em->createQueryBuilder()->select(' c.sqDadoBancario, td.noTipoDadoBancario, b.noBanco, b.coBanco, a.noAgencia, a.coDigitoAgencia, a.coAgencia, c.nuConta, c.nuContaDv, p.sqPessoa ')->from('app:DadoBancario', 'c')->innerJoin('c.sqTipoDadoBancario', 'td')->innerJoin('c.sqAgencia', 'a')->innerJoin('a.sqBanco', 'b')->innerJoin('c.sqPessoa', 'p')->where('p.sqPessoa = :sqPessoa')->setParameter('sqPessoa', $dto->getSqPessoa()); }
public function vinculoListGrid(\Core_Dto_Abstract $dto) { if ($this->hasNoOrderVinculo($dto->getSqArtefatoParent())) { $this->setOrderIn($dto->getSqArtefatoParent()); } $rsm = new \Doctrine\ORM\Query\ResultSetMapping($this->_em); $rsm->addScalarResult('total_record', 'totalRecord', 'integer'); $rsm->addScalarResult('nu_ordem', 'nuOrdem', 'integer'); $rsm->addScalarResult('sq_artefato_vinculo', 'sqArtefatoVinculo', 'integer'); $rsm->addScalarResult('sq_artefato', 'sqArtefato', 'integer'); $rsm->addScalarResult('sq_artefato_pai', 'sqArtefatoPai', 'integer'); $rsm->addScalarResult('sq_tipo_artefato', 'sqTipoArtefato', 'integer'); $rsm->addScalarResult('sq_tipo_vinculo_artefato', 'sqTipoVinculoArtefato', 'integer'); $rsm->addScalarResult('nu_fvalue', 'nuFvalue', 'integer'); $rsm->addScalarResult('nu_lvalue', 'nuLvalue', 'integer'); $rsm->addScalarResult('nu_digital', 'nuDigital', 'string'); $rsm->addScalarResult('nu_artefato', 'nuArtefato', 'string'); $rsm->addScalarResult('dt_tramite', 'dtTramite', 'string'); $rsm->addScalarResult('no_tipo_documento', 'noTipoDocumento', 'string'); $rsm->addScalarResult('tx_assunto', 'txAssunto', 'string'); $rsm->addScalarResult('tx_movimentacao', 'txMovimentacao', 'string'); $rsm->addScalarResult('is_vinculo', 'isVinculo', 'boolean'); $rsm->addScalarResult('is_disponivel', 'isDisponivel', 'boolean'); $rsm->addScalarResult('is_anexado', 'isAnexado', 'boolean'); $rsm->addScalarResult('is_apensado', 'isApensado', 'boolean'); $rsm->addScalarResult('is_primeira_peca', 'isPrimeiraPeca', 'boolean'); $strQuery = sprintf(' WITH configs AS ( SELECT %5$s, %6$s, %7$s, %8$s, %9$s, %12$s, %13$s, %14$s, %15$s, %16$s FROM sicae.lista_constantes( \'%5$s\', \'%6$s\', \'%7$s\', \'%8$s\', \'%9$s\', \'%12$s\', \'%13$s\', \'%14$s\', \'%15$s\', \'%16$s\' ) as c( %5$s integer, %6$s integer, %7$s integer, %8$s integer, %9$s integer, %12$s integer, %13$s integer, %14$s integer, %15$s integer, %16$s integer ) ) SELECT COUNT(sq_artefato) OVER() as total_record, * FROM ( (SELECT vin.sq_artefato_vinculo , art.sq_artefato , art_art_ass.sq_tipo_artefato , vin.sq_artefato_pai , vin.sq_tipo_vinculo_artefato , formata_numero_digital(art.nu_digital) as nu_digital , sgdoce.formata_numero_artefato(art.nu_artefato, ap.co_ambito_processo) as nu_artefato , tip_doc.no_tipo_documento , ass.tx_assunto , sgdoce.ultima_movimentacao_artefato(art.sq_artefato) as tx_movimentacao , TRUE AS is_vinculo , (configs.%5$s = vin.sq_tipo_vinculo_artefato)::BOOLEAN AS is_anexado , (vin.sq_tipo_vinculo_artefato IN (configs.%6$s, configs.%9$s)) AS is_apensado , FALSE AS is_disponivel , (configs.%15$s = vin.sq_tipo_vinculo_artefato) as is_primeira_peca , vin.nu_ordem AS nu_ordem , (first_value(vin.nu_ordem) OVER(PARTITION BY vin.sq_artefato_pai ORDER BY vin.nu_ordem ASC)::INTEGER)::INTEGER AS nu_fvalue , (last_value(vin.nu_ordem) OVER(PARTITION BY vin.sq_artefato_pai)::INTEGER)::INTEGER AS nu_lvalue FROM sgdoce.artefato_vinculo AS vin INNER JOIN configs ON TRUE INNER JOIN sgdoce.artefato AS art ON (vin.sq_artefato_filho = art.sq_artefato) INNER JOIN sgdoce.tipo_artefato_assunto AS art_art_ass ON (art.sq_tipo_artefato_assunto = art_art_ass.sq_tipo_artefato_assunto) INNER JOIN sgdoce.assunto AS ass USING (sq_assunto) LEFT JOIN sgdoce.tipo_documento AS tip_doc USING (sq_tipo_documento) LEFT JOIN sgdoce.artefato_processo AS ap ON (art.sq_artefato = ap.sq_artefato) WHERE vin.sq_artefato_pai = %2$d AND vin.sq_tipo_vinculo_artefato NOT IN (configs.%12$s,configs.%13$s,configs.%14$s) AND ((art_art_ass.sq_tipo_artefato = %11$s) OR (%11$s IS NULL)) ) UNION (SELECT null as sq_artefato_vinculo ,art.sq_artefato ,art_art_ass.sq_tipo_artefato ,NULL AS sq_artefato_pai ,NULL AS sq_tipo_vinculo_artefato ,formata_numero_digital(art.nu_digital) as nu_digital ,sgdoce.formata_numero_artefato(art.nu_artefato, ap.co_ambito_processo) as nu_artefato ,tip_doc.no_tipo_documento ,ass.tx_assunto ,sgdoce.ultima_movimentacao_artefato(art.sq_artefato) as tx_movimentacao ,FALSE AS is_vinculo ,FALSE AS is_anexado ,FALSE AS is_apensado ,TRUE AS is_disponivel ,FALSE AS is_primeira_peca ,NULL AS nu_ordem ,0 AS nu_fvalue ,0 AS nu_lvalue FROM sgdoce.artefato AS art INNER JOIN configs ON TRUE INNER JOIN sgdoce.tramite_artefato uta ON uta.sq_artefato = art.sq_artefato AND uta.st_ultimo_tramite INNER JOIN sgdoce.tipo_artefato_assunto AS art_art_ass USING (sq_tipo_artefato_assunto) INNER JOIN sgdoce.assunto AS ass USING (sq_assunto) LEFT JOIN sgdoce.artefato_imagem uia ON art.sq_artefato = uia.sq_artefato AND uia.st_ativo JOIN configs const ON TRUE LEFT JOIN sgdoce.artefato_vinculo atv ON sq_tipo_vinculo_artefato = const.SGDOCE_TIPO_VINCULO_ARTEFATO_AUTUACAO AND art.sq_artefato = atv.sq_artefato_pai LEFT JOIN sgdoce.artefato_imagem uiaf ON uiaf.sq_artefato = atv.sq_artefato_filho LEFT JOIN sgdoce.tipo_documento AS tip_doc ON (tip_doc.sq_tipo_documento = art.sq_tipo_documento) LEFT JOIN sgdoce.caixa_artefato AS arq ON (arq.sq_artefato = art.sq_artefato) LEFT JOIN sgdoce.artefato_processo AS ap ON (art.sq_artefato = ap.sq_artefato) LEFT JOIN sgdoce.artefato_vinculo av ON (art.sq_artefato = av.sq_artefato_filho AND av.sq_tipo_vinculo_artefato NOT IN (configs.%12$s,configs.%13$s,configs.%14$s)) LEFT JOIN sgdoce.artefato_arquivo_setorial aas ON art.sq_artefato = aas.sq_artefato AND aas.dt_desarquivamento IS NULL LEFT JOIN ( SELECT s.sq_artefato, COUNT(CASE WHEN uss.sq_tipo_status_solicitacao = configs_1.%16$s THEN NULL::INTEGER ELSE 1 END) AS qtd_solicitacao_aberta FROM sgdoce.solicitacao s JOIN configs configs_1 ON true JOIN sgdoce.vw_ultimo_status_solicitacao uss USING (sq_solicitacao) WHERE s.sq_artefato IS NOT NULL GROUP BY s.sq_artefato ) sol ON sol.sq_artefato = art.sq_artefato WHERE av.sq_artefato_vinculo IS NULL AND (sol.qtd_solicitacao_aberta = 0 OR sol.qtd_solicitacao_aberta IS NULL) AND (sgdoce.formata_numero_digital(art.nu_digital) LIKE \'%4$s%%\' OR LOWER(translate(art.nu_artefato, \'./-\', \'\')) LIKE \'%4$s%%\' ) AND EXISTS ( SELECT * FROM sgdoce.artefato pai INNER JOIN sgdoce.tipo_artefato_assunto tp_art_pai ON tp_art_pai.sq_tipo_artefato_assunto = pai.sq_tipo_artefato_assunto INNER JOIN sgdoce.tipo_artefato tp_pai ON tp_art_pai.sq_tipo_artefato = tp_pai.sq_tipo_artefato WHERE pai.sq_artefato = %2$d AND (art_art_ass.sq_tipo_artefato IN (configs.SGDOCE_TIPO_ARTEFATO_PROCESSO, configs.SGDOCE_TIPO_ARTEFATO_DOCUMENTO) AND tp_pai.sq_tipo_artefato = configs.SGDOCE_TIPO_ARTEFATO_PROCESSO) OR (art_art_ass.sq_tipo_artefato = (configs.SGDOCE_TIPO_ARTEFATO_DOCUMENTO) AND tp_pai.sq_tipo_artefato = configs.SGDOCE_TIPO_ARTEFATO_DOCUMENTO)) AND art.sq_artefato != %2$d AND ((uta.sq_status_tramite > %19$d AND uta.sq_pessoa_recebimento = %1$d AND (uta.sq_unidade_org_tramite = %3$d OR uta.sq_pessoa_destino = %3$d))) AND arq.sq_artefato IS NULL -- artefatos arquivados não podem ser vinculados AND aas.sq_artefato IS NULL -- artefatps arqiovados no setor não podem ser vinculados AND art_art_ass.sq_tipo_artefato in (%10$s) AND (uia.sq_artefato_imagem IS NOT NULL OR (art_art_ass.sq_tipo_artefato = %18$d AND uiaf.sq_artefato_imagem IS NOT NULL)) AND ((art_art_ass.sq_tipo_artefato = %11$s) OR (%11$s IS NULL)) ) ) sub1', $dto->getSqPessoa(), $dto->getSqArtefatoParent(), $dto->getSqUnidadeOrg(), $dto->getNuArtefato(), self::T_SGDOCE_TIPO_VINCULO_ARTEFATO_ANEXACAO, self::T_SGDOCE_TIPO_VINCULO_ARTEFATO_APENSACAO, self::T_SGDOCE_TIPO_ARTEFATO_PROCESSO, self::T_SGDOCE_TIPO_ARTEFATO_DOCUMENTO, self::T_SGDOCE_TIPO_VINCULO_ARTEFATO_INSERCAO, implode(',', (array) $dto->getTipoArtefatoAceito()), $dto->getSqArtefatoTipo() ? (int) $dto->getSqArtefatoTipo() : 'NULL', self::T_SGDOCE_TIPO_VINCULO_ARTEFATO_REFERENCIA, self::T_SGDOCE_TIPO_VINCULO_ARTEFATO_APOIO, self::T_SGDOCE_TIPO_VINCULO_ARTEFATO_DESPACHO, self::T_SGDOCE_TIPO_VINCULO_ARTEFATO_AUTUACAO, self::T_SGDOCE_TIPO_STATUS_SOLICITACAO_FINALIZADA, \Core_Configuration::getSgdoceStatusTramiteCancelado(), \Core_Configuration::getSgdoceTipoArtefatoProcesso(), \Core_Configuration::getSgdoceStatusTramiteTramitado()); return $this->_em->createNativeQuery($strQuery, $rsm)->useResultCache(false); }
public function listaEnderecoTramite(\Core_Dto_Abstract $dto) { $sql = $this->_em->createQueryBuilder()->select('p.sqPessoa', 'e.sqEndereco', 'e.sqCep', 'te.noTipoEndereco', 'TRIM(e.txEndereco) AS txEndereco', 'e.nuEndereco', 'TRIM(e.noBairro) AS noBairro', 'm.noMunicipio', 'es.noEstado', 'TRIM(e.txComplemento) AS txComplemento')->from('app:VwEndereco', 'e')->innerJoin('e.sqPessoa', 'p')->innerJoin('e.sqTipoEndereco', 'te')->innerJoin('e.sqMunicipio', 'm')->innerJoin('m.sqEstado', 'es')->where('p.sqPessoa = ' . $dto->getSqPessoa())->orderBy('e.sqTipoEndereco'); return $sql->getQuery()->getResult(); }
/** * Realiza a pesquisa da grid * @param \Core_Dto_Abstract $dto */ public function listGrid(\Core_Dto_Abstract $dto) { return $this->_em->createQueryBuilder()->select('p.sqPessoa, te.noTipoEmail, e.sqEmail, e.txEmail')->from('app:Email', 'e')->innerJoin('e.sqTipoEmail', 'te')->innerJoin('e.sqPessoa', 'p')->where('p.sqPessoa = :sqPessoa')->setParameter('sqPessoa', $dto->getSqPessoa()); }
/** * Realiza a pesquisa da grid * @param \Core_Dto_Abstract $dto */ public function listGrid(\Core_Dto_Abstract $dto) { return $this->_em->createQueryBuilder()->select('p.sqPessoa, pf.nuCpf, pr.noPessoa, tv.noTipoVinculo, pv.sqPessoaVinculo, ' . 'pv.dtInicioVinculo, pv.dtFimVinculo, pv.stRegistroAtivo')->from('app:PessoaVinculo', 'pv')->innerJoin('pv.sqTipoVinculo', 'tv')->innerJoin('pv.sqPessoaRelacionamento', 'pr')->innerJoin('pv.sqPessoa', 'p')->innerJoin('pr.sqPessoaFisica', 'pf')->where('pv.sqPessoa = :sqPessoa')->setParameter('sqPessoa', $dto->getSqPessoa()); }
/** * Método que obtén informarções das pessoas relacionadas ao artefato * @param \Core_Dto_Search $dto * @return json */ public function findbyPessoaCorporativo(\Core_Dto_Abstract $dto) { $entityPessoa = $this->_getRepository($this->_entityNameCorp)->find($dto->getSqPessoa()); $endereco = $this->_getRepository('app:VwEndereco')->findEndereco($dto->getSqPessoa()); $telefone = $this->getServiceLocator()->getService('VwTelefone')->findTelefone($dto->getSqPessoa()); $email = $this->getServiceLocator()->getService('VwEmail')->findEmail($dto->getSqPessoa()); if (!$endereco) { $endereco = $this->_newEntity('app:VwEndereco'); } if (!$email->getSqEmail()) { $email = $this->_newEntity('app:VwEmail'); } if (!$telefone->getSqTelefone()) { $telefone = $this->_newEntity('app:VwTelefone'); } $entityPessoa->setSqEndereco($endereco); $entityPessoa->setSqEmail($email); $entityPessoa->setSqTelefone($telefone); return $entityPessoa; }