function buscaProporcionalidade($nValor, $sTipoProporcionalidade, $dDataInicio, $dDataFim, $iAnoCalculo, $dDataBaixa = null)
 {
     $sSql = "select rnValorProporcional     as valor,\n                    rsTipoProporcionalidade as descricao \n               from fc_issqn_proporcionalidade({$nValor},\n                                               '{$sTipoProporcionalidade}',\n                                               '{$dDataInicio}',\n                                               '{$dDataFim}',\n                                               {$iAnoCalculo},\n                                               null)";
     $rsProporcionalidade = db_query($sSql);
     $oProporcionalidade = db_utils::getCollectionByRecord($rsProporcionalidade);
     return $oProporcionalidade;
 }
         $sCamposCidadao .= "ov02_uf         as estado,         ";
         $sCamposCidadao .= "ov02_endereco   as endereco,       ";
         $sCamposCidadao .= "ov02_numero     as numero,         ";
         $sCamposCidadao .= "ov02_bairro     as bairro,         ";
         $sCamposCidadao .= "ov02_compl      as complemento,    ";
         $sCamposCidadao .= "ov07_numero     as telefone        ";
         $oDaoBuscaCidadao = db_utils::getDao('cidadao');
         $sSqlBuscaDadosCidadao = $oDaoBuscaCidadao->sql_query_file($oDadosAtendimento->ov10_cidadao, null, $sCamposCidadao);
         $rsBuscaDadosCgmCidadao = $oDaoBuscaCidadao->sql_record($sSqlBuscaDadosCidadao);
         $oDaoBuscaCidadaoContato = db_utils::getDao('cidadaotelefone');
         $sSqlBuscaTelefones = $oDaoBuscaCidadaoContato->sql_query_file(null, "*", null, "ov07_cidadao = {$oDadosAtendimento->ov10_cidadao}");
         $rsBuscaTelefones = $oDaoBuscaCidadaoContato->sql_record($sSqlBuscaTelefones);
         $iTotalTelefones = $oDaoBuscaCidadaoContato->numrows;
         $aTelefones = array();
         if ($iTotalTelefones > 0) {
             $aTelefones = db_utils::getCollectionByRecord($rsBuscaTelefones);
         }
     }
 }
 /*
  * dados pessoais do requerente
  */
 if (isset($rsBuscaDadosCgmCidadao) && pg_num_rows($rsBuscaDadosCgmCidadao) > 0) {
     $oResultadoRequerente = db_utils::fieldsMemory($rsBuscaDadosCgmCidadao, 0);
     $oStdDadosRequerente->codigo = $oResultadoRequerente->codigo;
     $oStdDadosRequerente->nomerequerente = "{$oResultadoRequerente->codigo} - {$oResultadoRequerente->nomerequerente}";
     $oStdDadosRequerente->cpfcnpj = $oResultadoRequerente->cpfcnpj;
     $oStdDadosRequerente->municipio = $oResultadoRequerente->municipio;
     $oStdDadosRequerente->cep = $oResultadoRequerente->cep;
     $oStdDadosRequerente->estado = $oResultadoRequerente->estado;
     $oStdDadosRequerente->endereco = $oResultadoRequerente->endereco;
 /**
  * Buscas os Tipos de Debitos pela Origem
  * @param string  $sTipoOrigem 
  *                | M - Matricula
  *                | I - Inscricao
  *                | C - CGM
  *                | N - Numpre
  * @param integer $iChavePesquisa - Numero base para Pesquisa
  * @return stdClass[] Com as Definições dos Tipos de Débito encontrados
  */
 public static function getTiposDebitoByOrigem($sTipoOrigem, $iChavePesquisa, $iInstituicao = null)
 {
     $oDaoArretipo = db_utils::getDao("arretipo");
     if (empty($iInstituicao)) {
         $iInstituicao = db_getsession('DB_instit');
     }
     $sCampos = "distinct                         ";
     $sCampos .= "arretipo.k00_tipo,               ";
     $sCampos .= "arretipo.k03_tipo,               ";
     $sCampos .= "arretipo.k00_descr,              ";
     $sCampos .= "arretipo.k00_marcado,            ";
     $sCampos .= "arretipo.k00_emrec,              ";
     $sCampos .= "arretipo.k00_agnum,              ";
     $sCampos .= "arretipo.k00_agpar,              ";
     switch ($sTipoOrigem) {
         case "M":
             //Matricula
             $sCampos .= "iptubase.j01_numcgm as k00_numcgm";
             $sSqlArretipo = $oDaoArretipo->sql_query_tiposDebitosByMatricula($iChavePesquisa, $iInstituicao, $sCampos);
             break;
         case "I":
             //Inscricao
             $sCampos .= "issbase.q02_numcgm  as k00_numcgm";
             $sSqlArretipo = $oDaoArretipo->sql_query_tiposDebitosByInscricao($iChavePesquisa, $iInstituicao, $sCampos);
             break;
         case "C":
             //CGM
             $sCampos .= "arrenumcgm.k00_numcgm as k00_numcgm";
             $sSqlArretipo = $oDaoArretipo->sql_query_tiposDebitosByCgm($iChavePesquisa, $iInstituicao, $sCampos);
             break;
         case "N":
             //Numpre
             $sCampos .= "arrenumcgm.k00_numcgm as k00_numcgm";
             $sSqlArretipo = $oDaoArretipo->sql_query_tiposDebitosByNumpre($iChavePesquisa, $iInstituicao, $sCampos);
             break;
     }
     $rsTipos = db_query($sSqlArretipo);
     if (!$rsTipos) {
         throw new DBException("Erro ao Buscar dados dos Tipos de Débitos:" . pg_last_error());
     }
     return db_utils::getCollectionByRecord($rsTipos);
 }
        $sSqlTipoCalculo .= "      and r20_anousu = {$oPost->anousu}                                                            ";
        $sSqlTipoCalculo .= "      and r20_mesusu = {$oPost->mesusu}                                                            ";
        /**
         * Se o parâmetro da sessão "DB_COMPLEMENTAR" estiver ativado, 
         * será realizado a busca das folhas na tabela rhfolhapagamento e rhhistoricocalculo para verificar 
         * a existência de suplementar para o servidor informado na competência atual;
         */
        if (cl_cfpess::verificarUtilizacaoEstruturaSuplementar()) {
            $sSalario = "SELECT DISTINCT 'r14'   AS codigo,\n                          rh141_codigo     AS numero,\n                          rh141_sequencial AS sequencial,\n                          'Salário'        AS descr\n          FROM rhfolhapagamento\n               INNER JOIN rhhistoricocalculo ON rh143_folhapagamento = rh141_sequencial\n                                            AND rh143_regist         = {$oPost->matric}\n         WHERE rh141_anousu    = {$oPost->anousu}\n           AND rh141_mesusu    = {$oPost->mesusu}\n           AND rh141_tipofolha = 1\n           AND rh141_aberto    = FALSE\n           AND EXISTS(\n             SELECT 1\n               FROM gerfsal\n              WHERE r14_regist = rh143_regist\n                AND r14_anousu = {$oPost->anousu}\n                AND r14_mesusu = {$oPost->mesusu}\n                AND r14_instit = rh141_instit\n              LIMIT 1\n           )\n         UNION ALL\n      ";
            $sComplementar = "SELECT DISTINCT 'r48'                     AS codigo,\n                          rh141_codigo                            AS numero,\n                          rh141_sequencial                        AS sequencial,\n                          concat('Complementar nº', rh141_codigo) AS descr\n          FROM rhfolhapagamento\n               INNER JOIN rhhistoricocalculo ON rh143_folhapagamento = rh141_sequencial\n                                            AND rh143_regist         = {$oPost->matric}\n         WHERE rh141_anousu    = {$oPost->anousu}\n           AND rh141_mesusu    = {$oPost->mesusu}\n           AND rh141_tipofolha = 3\n           AND rh141_aberto    = FALSE\n           AND EXISTS(\n             SELECT 1\n               FROM gerfcom\n              WHERE r48_regist = rh143_regist\n                AND r48_anousu = {$oPost->anousu}\n                AND r48_mesusu = {$oPost->mesusu}\n                AND r48_instit = rh141_instit LIMIT 1\n           )\n         UNION ALL\n      ";
            $sSuplementar = "SELECT DISTINCT 'supl'                  AS codigo,\n                        rh141_codigo                           AS numero,\n                        rh141_sequencial                       AS sequencial,\n                        concat('Suplementar nº', rh141_codigo) AS descr\n          FROM rhfolhapagamento\n               INNER JOIN rhhistoricocalculo ON rh143_folhapagamento = rh141_sequencial\n                                            AND rh143_regist         = {$oPost->matric}\n         WHERE rh141_anousu    = {$oPost->anousu}\n           AND rh141_mesusu    = {$oPost->mesusu}\n           AND rh141_tipofolha = 6\n           AND rh141_aberto    = FALSE\n           AND EXISTS(\n             SELECT 1\n               FROM gerfsal\n              WHERE r14_regist = rh143_regist\n                AND r14_anousu = {$oPost->anousu}\n                AND r14_mesusu = {$oPost->mesusu}\n                AND r14_instit = rh141_instit LIMIT 1\n           )\n         UNION ALL\n      ";
            $sRescisao = "SELECT DISTINCT 'r20'  AS codigo,\n                          rh141_codigo     AS numero,\n                          rh141_sequencial AS sequencial,\n                          'Rescisão'       AS descr\n          FROM rhfolhapagamento\n         WHERE rh141_anousu    = {$oPost->anousu}\n           AND rh141_mesusu    = {$oPost->mesusu}\n           AND rh141_tipofolha = 2\n           AND rh141_aberto    = FALSE\n           AND EXISTS(\n             SELECT 1\n               FROM gerfres\n              WHERE r20_regist = {$oPost->matric}\n                AND r20_anousu = {$oPost->anousu}\n                AND r20_mesusu = {$oPost->mesusu}\n                AND r20_instit = rh141_instit LIMIT 1\n           )\n         UNION ALL\n      ";
            $sAdiantamento = "SELECT DISTINCT 'r22' AS codigo,\n                          rh141_codigo        AS numero,\n                          rh141_sequencial    AS sequencial,\n                          'Adiantamento'      AS descr\n          FROM rhfolhapagamento\n         WHERE rh141_anousu    = {$oPost->anousu}\n           AND rh141_mesusu    = {$oPost->mesusu}\n           AND rh141_tipofolha = 4\n           AND rh141_aberto    = FALSE\n           AND EXISTS(\n             SELECT 1\n               FROM gerfadi\n              WHERE r22_regist = {$oPost->matric}\n                AND r22_anousu = {$oPost->anousu}\n                AND r22_mesusu = {$oPost->mesusu}\n                AND r22_instit = rh141_instit LIMIT 1\n           )\n         UNION ALL\n      ";
            $sDecimo = "SELECT DISTINCT 'r35'    AS codigo,\n                          rh141_codigo     AS numero,\n                          rh141_sequencial AS sequencial,\n                          '13º Salário'    AS descr\n         FROM rhfolhapagamento\n         WHERE rh141_anousu    = {$oPost->anousu}\n           AND rh141_mesusu    = {$oPost->mesusu}\n           AND rh141_tipofolha = 5\n           AND rh141_aberto    = FALSE\n           AND EXISTS(\n             SELECT 1\n               FROM gerfs13\n              WHERE r35_regist = {$oPost->matric}\n                AND r35_anousu = {$oPost->anousu}\n                AND r35_mesusu = {$oPost->mesusu}\n                AND r35_instit = rh141_instit LIMIT 1\n           )\n      ";
            $sSqlTipoCalculo = $sComplementar . $sSalario . $sSuplementar . $sAdiantamento . $sRescisao . $sDecimo;
        }
        $rsTipoCalculo = db_query($sSqlTipoCalculo);
        if ($rsTipoCalculo) {
            $aRetorno = db_utils::getCollectionByRecord($rsTipoCalculo, false, false, true);
        } else {
            $sMsgErro = pg_last_error();
            $lErro = true;
        }
        if ($lErro) {
            $aRetorno = array("sMsg" => urlencode($sMsgErro), "lErro" => true);
        } else {
            $aRetorno = array("aLista" => $aRetorno, "lErro" => false);
        }
        echo $oJson->encode($aRetorno);
    }
}
 /**
  * Retorna array de objetos com os parametros do juridico.
  * @param integer   $iInstit
  * @param integer   $iAnoUsu
  * @return Ambigous <array(), multitype:_db_fields >|boolean
  */
 function getParametrosJuridico($iInstit, $iAnoUsu = null)
 {
     $sSql = "select * from parjuridico where v19_instit = " . $iInstit;
     if (!empty($iAnoUsu)) {
         $sSql .= " and v19_anousu = " . $iAnoUsu;
     }
     $rsSql = db_query($sSql);
     if ($rsSql && pg_num_rows($rsSql)) {
         return db_utils::getCollectionByRecord($rsSql);
     }
     return false;
 }
 function consultaDebitosMatricula($iMatric = "")
 {
     require_once "libs/db_utils.php";
     $oDaoArrematric = db_utils::getDao("arrematric");
     $sCampos = " distinct cadtipo.k03_tipo, ";
     $sCampos .= "\t        cadtipo.k03_descr ";
     $sWhere = " arrematric.k00_matric = {$iMatric}";
     $rsConsulta = $oDaoArrematric->sql_record($oDaoArrematric->sql_query_info(null, null, $sCampos, null, $sWhere));
     $aRetorno = db_utils::getCollectionByRecord($rsConsulta, false, false, false);
     return $aRetorno;
 }