Exemplo n.º 1
0
 /**
  * Configura a lista com os campos a apresentar na grid
  * @return array
  */
 public function getConfigList()
 {
     $configArray = array();
     $configArray['columns'][0]['alias'] = 'p.noPessoa';
     $configArray['columns'][1]['alias'] = 'pf.nuCpf';
     $configArray['columns'][2]['alias'] = 'pf.dtNascimento';
     $configArray['columns'][3]['alias'] = 'pf.sgSexo';
     $configArray['columns'][4]['alias'] = 'p.sqPessoa';
     $configArray['columns'][5]['alias'] = 'p.stRegistroAtivo';
     if ($this->_getParam('sqTipoPessoa') == \Core_Configuration::getCorpTipoPessoaJuridica()) {
         $configArray = array();
         $configArray['columns'][0]['alias'] = 'pj.noFantasia';
         $configArray['columns'][1]['alias'] = 'pj.nuCnpj';
         $configArray['columns'][2]['alias'] = 'p.noPessoa';
         $configArray['columns'][3]['alias'] = 'p.sqPessoa';
         $configArray['columns'][4]['alias'] = 'p.stRegistroAtivo';
     }
     return $configArray;
 }
Exemplo n.º 2
0
 /**
  * Metódo que recupera a pessoa
  * @return json
  */
 public function searchPessoaAction()
 {
     $this->_helper->layout->disableLayout();
     $params = $this->_getAllParams();
     $dtoSearch = \Core_Dto::factoryFromData($params, 'search');
     $result = $this->getService('VwPessoa')->autocomplete($dtoSearch, 30);
     #30 é o limit
     if (0 === count($result) && isset($params['save'])) {
         $msg = '';
         switch ($params['extraParam']) {
             case \Core_Configuration::getCorpTipoPessoaFisica():
                 $msg = 'MN132F';
                 break;
             case \Core_Configuration::getCorpTipoPessoaJuridica():
                 $msg = 'MN132J';
                 break;
         }
         if ($msg) {
             $result = array('__NO_CLICK__' => Core_Registry::getMessage()->_($msg));
         }
     }
     $this->_helper->json($result);
 }
Exemplo n.º 3
0
 /**
  * Método responsável por realizar a busca dos dados para o autocomplete de pessoa
  *
  * @param array $params
  * @return array $out
  */
 public function autocomplete($dtoSearch, $limit)
 {
     $rsm = new \Doctrine\ORM\Query\ResultSetMapping($this->_em);
     $rsm->addScalarResult('sq_pessoa', 'sqPessoa', 'integer');
     $rsm->addScalarResult('no_pessoa', 'noPessoa', 'string');
     $sqTipoPessoa = $dtoSearch->getExtraParam();
     switch ($sqTipoPessoa) {
         case \Core_Configuration::getCorpTipoPessoaFisica():
             $sql = " SELECT\n                         p.sq_pessoa,\n                         coalesce(p.no_pessoa) as no_pessoa\n                     FROM corporativo.vw_pessoa p\n                     JOIN corporativo.vw_pessoa_fisica pf on pf.sq_pessoa = p.sq_pessoa\n                     WHERE (corporativo.fn_normaliza_string(p.no_pessoa) like '%' || corporativo.fn_normaliza_string(:noPessoa) || '%')\n                     ORDER BY no_pessoa asc\n                     LIMIT :limit";
             break;
         case \Core_Configuration::getCorporativoTipoPessoaUnidadeOrganizacional():
             $sql = " SELECT sq_pessoa, no_pessoa\n                     FROM\n                     (\n                         SELECT\n                             p.sq_pessoa,\n                             coalesce(uo.sg_unidade_org || ' - ', '') || coalesce(p.no_pessoa, '') as no_pessoa,\n                             corporativo.fn_normaliza_string(p.no_pessoa) AS column_aux\n                         FROM corporativo.vw_pessoa p\n                         JOIN corporativo.vw_unidade_org uo on uo.sq_pessoa = p.sq_pessoa\n                         WHERE (corporativo.fn_normaliza_string(p.no_pessoa) like '%' || corporativo.fn_normaliza_string(:noPessoa) || '%')\n\n                         UNION\n\n                         SELECT\n                             p.sq_pessoa,\n                             coalesce(uo.sg_unidade_org || ' - ', '') || coalesce(p.no_pessoa, '') as no_pessoa,\n                             corporativo.fn_normaliza_string(uo.sg_unidade_org) AS column_aux\n                         FROM corporativo.vw_pessoa p\n                         JOIN corporativo.vw_unidade_org uo on uo.sq_pessoa = p.sq_pessoa\n                         WHERE (corporativo.fn_normaliza_string(uo.sg_unidade_org) like '%' || corporativo.fn_normaliza_string(:noPessoa) || '%')\n                     ) tb_auxiliar\n                     ORDER BY column_aux asc\n                     LIMIT :limit";
             break;
         case \Core_Configuration::getCorpTipoPessoaJuridica():
             $sql = " SELECT\n                         p.sq_pessoa,\n                         coalesce(p.no_pessoa) as no_pessoa\n                     FROM corporativo.vw_pessoa p\n                     JOIN corporativo.vw_pessoa_juridica pj on pj.sq_pessoa = p.sq_pessoa\n                     WHERE (corporativo.fn_normaliza_string(p.no_pessoa) like '%' || corporativo.fn_normaliza_string(:noPessoa) || '%')\n                     ORDER BY no_pessoa asc\n                     LIMIT :limit";
             break;
         case \Core_Configuration::getCorporativoTipoPessoaUnidadeOrgExterna():
             $sql = " SELECT\n                                uoe.sq_pessoa,\n                                coalesce(uoe.sg_pai  || ' - ', '') || coalesce(uoe.no_pessoa, '') as no_pessoa\n                           FROM corporativo.vw_unidade_org_externa uoe\n                          WHERE (corporativo.fn_normaliza_string(uoe.no_pessoa) like '%' || corporativo.fn_normaliza_string(:noPessoa) || '%') OR\n                                (corporativo.fn_normaliza_string(uoe.sg_unidade_org) like '%' || corporativo.fn_normaliza_string(:noPessoa) || '%')\n\n                        UNION\n\n                         SELECT rppn.sq_pessoa,\n                                rppn.sg_rppn as no_pessoa\n                           FROM corporativo.vw_rppn rppn\n                          WHERE (corporativo.fn_normaliza_string(rppn.sg_rppn) like '%' || corporativo.fn_normaliza_string(:noPessoa) || '%')\n\n                         ORDER BY no_pessoa asc\n                     LIMIT :limit";
             break;
     }
     $result = $this->_em->createNativeQuery($sql, $rsm)->setParameter('noPessoa', str_replace(' ', '%', $dtoSearch->getQuery()), 'string')->setParameter('limit', $limit, 'integer')->getResult();
     $out = array();
     foreach ($result as $item) {
         $out[$item['sqPessoa']] = $item['noPessoa'];
     }
     return $out;
 }