コード例 #1
0
 /**
  * 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());
     }
 }
コード例 #2
0
ファイル: BiomaPersist.php プロジェクト: sgdoc/sgdoce-codigo
 /**
  * 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);
     }
 }
コード例 #3
0
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());
    }
}
コード例 #4
0
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());
    }
}
コード例 #5
0
 /**
  * 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);
     }
 }