/** * Recupera a relação de Municipios * @param integer $sqEstado * @return array * @throws BusinessException */ public function listByUf($sqEstado) { try { $voMunicipio = MunicipioValueObject::factory()->setSqEstado((int) $sqEstado); $result = $this->getModelPersist('libcorp')->findByParam($voMunicipio)->getAllDataViewObject(); return $this->arrayObjectToCombo('noMunicipio', 'sqMunicipio', $result); } catch (ModelException $mExcp) { throw new BusinessException($mExcp->getMessage()); } }
/** * Efetua pesquisa de bioma por Município * * @param MunicipioValueObject * @return ResultSet * */ public function findByMunicipio(MunicipioValueObject $municipio) { try { $query = 'SELECT bio.sq_bioma, bio.no_bioma FROM corporativo.municipio m INNER JOIN corporativo.bioma bio ON bio.the_geom && m.the_geom AND st_intersects(bio.the_geom, m.the_geom) WHERE m.sq_municipio = :sqMunicipio'; $params['sqMunicipio'] = new \stdClass(); $params['sqMunicipio']->type = 'integer'; $params['sqMunicipio']->value = (int) $municipio->getSqMunicipio(); # executa query return $this->execute($query, $params); } catch (IllegalArgumentException $iae) { throw new PersistException(self::EXP_ILLEGALARGUMENT); } catch (\exception $exp) { throw new PersistException(self::EXP_PERSIST); } }
function libCorpBiomaByMunicipio($sqMunicipio) { try { $voMunicipio = MunicipioValueObject::factory()->setSqMunicipio($sqMunicipio); $tmpTxt = '<result>'; $tmpResult = BiomaBusiness::factory()->findByMunicipio($voMunicipio); foreach ($tmpResult as $result) { $tmpTxt .= $result->toXml(); } $tmpTxt .= '</result>'; return $tmpTxt; } catch (\Exception $excp) { die(__FILE__ . "-" . __LINE__); throw new IOException($excp->getMessage()); } }
function libCorpUnidadeOrgByUndDescenCidade($noMunicipio) { try { $voMunicipio = MunicipioValueObject::factory()->setNoMunicipio($noMunicipio); $unidadeOrgBusiness = UnidadeOrgBusiness::factory(NULL, 'libcorp'); $tmpTxt = '<result>'; $tmpResult = $unidadeOrgBusiness->findUndDescentralizadaByCidade($voMunicipio); foreach ($tmpResult as $result) { $tmpTxt .= $result->toXml(); } $tmpTxt .= '</result>'; return $tmpTxt; } catch (\Exception $excp) { throw new IOException($excp->getMessage()); } }
/** * Efetua a busca por UnidadeDescentralizada e por Cidade * Solicitacao via Ticket #459 * @param MunicipioValueObject $voMunicipio * @throws PersistException */ public function findUndDescentralizadaByCidade(MunicipioValueObject $voMunicipio) { try { $query = sprintf("SELECT *\n FROM corporativo.tipo_unidade_org_hierarq vwTipo\n JOIN corporativo.unidade_org uniOrg ON (vwTipo.sq_tipo_unidade_org = uniOrg.sq_tipo_unidade)\n JOIN corporativo.municipio mun ON public.ST_CollectionExtract(uniOrg.the_geom, 3) && mun.the_geom\n AND public.ST_INTERSECTS(public.ST_CollectionExtract(uniOrg.the_geom, 3), mun.the_geom)\n WHERE trilha_sigla ilike '%%%s%%' and mun.no_municipio ilike :noMunicipio;\n ", self::PAR_UNIDADE_DESCENTRALIZADA); $params['noMunicipio'] = new \stdClass(); $params['noMunicipio']->type = 'string'; $params['noMunicipio']->value = "%{$voMunicipio->getNoMunicipio()}%"; # executa query return $this->getConnect()->prepare($query, $params)->retrieve(); } catch (IllegalArgumentException $iae) { throw new PersistException('Um ou mais paramentros informados para na montagem da query foi avaliado como inválido', 0, $iae); } catch (\Exception $exp) { throw new PersistException('Um erro inesperado ocorreu ao tentar executar a recuperação dos dados', 0, $exp); } }