/** * Valida dados do documento pessoa * @param $search * @return array */ public function validaDados($search) { $result = $this->_em->getRepository('app:VwPEssoa')->getDocumento(); $nuCpfCnpjPassaporte = str_replace('-', '', $search->getNuCPFInteressado()); $nuCpfCnpjPassaporte = str_replace('/', '', $nuCpfCnpjPassaporte); $nuCpfCnpjPassaporte = str_replace('.', '', $nuCpfCnpjPassaporte); $select = $this->getSelect($search); $query = $this->_em->createQueryBuilder()->select($select)->from('app:VwPessoa', 'p'); if ($search->getSqPessoaCorporativo()) { $query->andWhere('p.sqPessoa = :sqPessoa')->setParameter('sqPessoa', $search->getSqPessoaCorporativo()); } switch ($search->getSqTipoPessoaInteressado()) { case \Core_Configuration::getSgdoceTipoPessoaPessoaFisica(): $query->leftJoin('p.sqPessoaFisica', 'pf'); if ($nuCpfCnpjPassaporte != '') { $query->andWhere('pf.nuCpf = :nuCpf')->setParameter('nuCpf', $nuCpfCnpjPassaporte); } break; case \Core_Configuration::getSgdoceTipoPessoaPessoaJuridica(): $query->leftJoin('p.sqPessoaJuridica', 'pj'); if ($nuCpfCnpjPassaporte != '') { $query->andWhere('pj.nuCnpj = :nuCnpj')->setParameter('nuCnpj', $nuCpfCnpjPassaporte); } break; case \Core_Configuration::getSgdoceTipoPessoaEstrangeiro(): $query->leftJoin('p.sqPessoaDocumento', 'd'); if ($nuCpfCnpjPassaporte != '') { $query->andWhere('d.sqAtributoTipoDocumento = :sqAtributoTipoDocumento')->setParameter('sqAtributoTipoDocumento', $result['sqAtributoTipoDocumento']); } break; } $out = array(); $result = $query->getQuery()->execute(); foreach ($result as $value) { $out[] = array('sqPessoa' => $value->getSqPessoa(), 'noPessoa' => $value->getNoPessoa(), 'nuCpfCnpjPassaporte' => $this->getCpfCnpjPassaporte($search, $value)); } return $out; }
/** * método que retorna os dados da assinatura * @param query * @return query */ public function getPessoaAssinatura(\Core_Dto_Search $search) { switch ($search->getSqTipoPessoa()) { case \Core_Configuration::getSgdoceTipoPessoaPessoaFisica(): $query = $this->_em->createQueryBuilder()->select('ps.sqPessoa, ps.noPessoa, c.sqCargo, c.noCargo, un.sqUnidadeOrg, un.noUnidadeOrg')->from('app:VwProfissional', 'p')->leftJoin('p.sqPessoa', 'ps')->leftJoin('p.sqCargo', 'c')->leftJoin('p.sqUnidadeExercicio', 'un'); $query->andWhere('ps.sqPessoa = :sqPessoa')->setParameter('sqPessoa', $search->getSqPessoa()); return $query->getQuery()->execute(); break; case \Core_Configuration::getSgdoceTipoPessoaPessoaJuridica(): $select = 'pti.sqPessoa,pti.noPessoa,ct.sqCargo,ct.noCargo,unt.noUnidadeOrg'; break; case \Core_Configuration::getSgdoceTipoPessoaEstrangeiro(): $select = 'psu.sqPessoa,psu.noPessoa,cs.sqCargo,cs.noCargo,uns.noUnidadeOrg'; break; } $query = $this->_em->createQueryBuilder()->select($select)->from('app:VwChefia', 'c')->innerJoin('c.sqDestinacaoFgDas', 'df')->leftJoin('c.sqProfissionalTitular', 'pt')->leftJoin('c.sqProfissionalSubstituto', 'ps')->leftJoin('pt.sqProfissional', 'pti')->leftJoin('ps.sqProfissional', 'psu')->leftJoin('pt.sqCargo', 'ct')->leftJoin('ps.sqCargo', 'cs')->leftJoin('pt.sqUnidadeExercicio', 'unt')->leftJoin('ps.sqUnidadeExercicio', 'uns'); $query->andWhere('df.sqUnidadeOrgDestinada = :sqUnidade')->setParameter('sqUnidade', $search->getSqUnidadeOrg()); return $query->getQuery()->execute(); }
/** * método que retorna os dados da pessoa rodape * @param dto Search * @return array */ public function getPessoaDadosRodape(\Core_Dto_Search $search) { $nuCpfCnpjPassaporte = ''; $query = $this->_em->createQueryBuilder(); switch ($search->getSqTipoPessoa()) { case \Core_Configuration::getSgdoceTipoPessoaPessoaFisica(): $query->select('p,pf,d'); break; case \Core_Configuration::getSgdoceTipoPessoaPessoaJuridica(): $query->select('p,pj'); break; case \Core_Configuration::getSgdoceTipoPessoaEstrangeiro(): $query->select('p,e'); break; case \Core_Configuration::getSgdoceTipoPessoaMinisterioPublico(): case \Core_Configuration::getSgdoceTipoPessoaOutrosOrgaos(): $query->select('p'); break; default: $query->select('p,pf,pj,e'); } $query->from($this->_enName, 'p'); $this->addWhere($query, $search, $nuCpfCnpjPassaporte); return $query->getQuery()->execute(); }
/** * Método que retorna cpf ou cnpj da pessoa * @return array */ public function getTipoPessoa($dtoSearch, $value) { $cpfCnpj = ''; switch ($dtoSearch->getSqTipoPessoa()) { case \Core_Configuration::getSgdoceTipoPessoaPessoaFisica(): $cpf = $value->getSqPessoaFisica() ? $value->getSqPessoaFisica()->getNuCpf() : NULL; $cpfCnpj = substr($cpf, 0, 3) . '.' . substr($cpf, 3, 3) . '.' . substr($cpf, 6, 3) . '-' . substr($cpf, 9, 2); break; case \Core_Configuration::getSgdoceTipoPessoaPessoaJuridica(): $cnpj = $value->getSqPessoaJuridica() ? $value->getSqPessoaJuridica()->getNuCnpj() : NULL; $cpfCnpj = substr($cnpj, 0, 2) . '.' . substr($cnpj, 2, 3) . '.' . substr($cnpj, 5, 3) . '/' . substr($cnpj, 8, 4) . '-' . substr($cnpj, 12, 2); break; case \Core_Configuration::getSgdoceTipoPessoaEstrangeiro(): $cpfCnpj = $value->getSqDocumento() ? $value->getSqPessoaEstrangeira()->getNuPassaporte() : NULL; break; default: break; } return $cpfCnpj; }