function sql_record()
 {
     global $o70_anousu, $o70_codrec, $o57_fonte, $o57_descr, $janeiro, $fevereiro, $marco, $abril, $maio, $junho, $julho, $agosto, $setembro, $outubro, $novembro, $dezembro, $o70_valor, $adicional;
     global $prev_jan, $prev_fev, $prev_mar, $prev_abr, $prev_mai, $prev_jun, $prev_jul, $prev_ago, $prev_set, $prev_out, $prev_nov, $prev_dez;
     require_once "libs/db_utils.php";
     if ($this->sql == null) {
         $this->sql_query($this->receita);
     }
     //    echo($this->sql . "<br>");
     pg_exec("begin");
     pg_exec("create temporary table work_plano as " . $this->sql);
     pg_exec("create index work_plano_estrut on work_plano(o57_fonte)");
     $result = pg_query("select * from work_plano");
     for ($i = 0; $i < pg_numrows($result); $i++) {
         db_fieldsmemory($result, $i);
         $sSqlSaldoPrevisao = "SELECT mes,coalesce(o34_valor, 0) as valor, {$o70_codrec} as receita \n                                 from  generate_series(1,12) as mes";
         $sSqlSaldoPrevisao .= "       left join orcprevrec ";
         $sSqlSaldoPrevisao .= "       on mes = o34_mes and o34_anousu = {$this->anousu} and o34_codrec = {$o70_codrec}";
         $sSqlSaldoPrevisao .= "    order by mes";
         if ($this->lPrevisaoCronograma) {
             $sSqlSaldoPrevisao = "SELECT coalesce(valor, 0) as valor, {$o70_codrec} as receita, mes";
             $sSqlSaldoPrevisao .= "  from generate_series(1,12) as mes";
             $sSqlSaldoPrevisao .= "       left join (SELECT coalesce(o127_valor, 0) as valor, ";
             $sSqlSaldoPrevisao .= "                         o127_mes ";
             $sSqlSaldoPrevisao .= "                    from cronogramaperspectivareceita  ";
             $sSqlSaldoPrevisao .= "                         inner join orcreceita on o70_codrec  = o126_codrec  ";
             $sSqlSaldoPrevisao .= "                                              and o126_anousu = {$this->anousu}";
             $sSqlSaldoPrevisao .= "                   inner join cronogramametareceita on o127_cronogramaperspectivareceita = o126_sequencial";
             $sSqlSaldoPrevisao .= "                   where o126_codrec = {$o70_codrec} ";
             $sSqlSaldoPrevisao .= "                      ) as bases on mes = o127_mes ";
             $sSqlSaldoPrevisao .= "                                        order by mes ";
         }
         //die($sSqlSaldoPrevisao);
         $rsSaldoPrevisao = db_query($sSqlSaldoPrevisao);
         $aMeses = db_utils::getColectionByRecord($rsSaldoPrevisao);
         $aValorPrevMes = array();
         foreach ($aMeses as $oSaldoMes) {
             $aValorPrevMes[$oSaldoMes->mes] = $oSaldoMes->valor;
         }
         $prev_jan += $aValorPrevMes[1];
         $prev_fev += $aValorPrevMes[2];
         $prev_mar += $aValorPrevMes[3];
         $prev_abr += $aValorPrevMes[4];
         $prev_mai += $aValorPrevMes[5];
         $prev_jun += $aValorPrevMes[6];
         $prev_jul += $aValorPrevMes[7];
         $prev_ago += $aValorPrevMes[8];
         $prev_set += $aValorPrevMes[9];
         $prev_out += $aValorPrevMes[10];
         $prev_nov += $aValorPrevMes[11];
         $prev_dez += $aValorPrevMes[12];
         $estrutural = $o57_fonte;
         if ($this->lPrevisaoCronograma) {
             pg_query("update work_plano set \n          prev_jan  = prev_jan  +{$prev_jan},\n          prev_fev  = prev_fev  +{$prev_fev}+0.0,\n          prev_mar  = prev_mar  +{$prev_mar}+0.0,\n          prev_abr  = prev_abr  +{$prev_abr}+0.0,\n          prev_mai  = prev_mai  +{$prev_mai}+0.0,\n          prev_jun  = prev_jun  +{$prev_jun}+0.0,\n          prev_jul  = prev_jul  +{$prev_jul}+0.0,\n          prev_ago  = prev_ago  +{$prev_ago}+0.0,\n          prev_set  = prev_set  +{$prev_set}+0.0,\n          prev_out  = prev_out  +{$prev_out}+0.0,\n          prev_nov  = prev_nov  +{$prev_nov}+0.0,\n          prev_dez  = prev_dez  +{$prev_dez}+0.0          \n          \n          \n          where o70_codrec = {$o70_codrec}");
         }
         for ($ii = 1; $ii < 10; $ii++) {
             ///o zé colocou isso... 19042005
             if ($estrutural == "") {
                 continue;
             }
             $estrutural = db_le_mae_conplano($estrutural);
             $nivel = db_le_mae_conplano($estrutural, true);
             $result_estrut = pg_query("select o57_descr from work_plano where o57_fonte = '{$estrutural}'");
             // db_criatabela($result_estrut); exit;
             //if ($estrutural == '411229900000000'){
             //   echo ($estrutural." ->" .$o70_valor ." <br>");
             // }
             if (pg_numrows($result_estrut) == 0) {
                 $result_estrut = pg_query("select o57_descr from orcfontes where o57_anousu = " . $this->anousu . " and o57_fonte = '{$estrutural}'");
                 if (pg_numrows($result_estrut) == 0) {
                     echo "Conta não encontrada nas fontes de Receita Comando:" . "select o57_descr from orcfontes where o57_anousu = " . $this->anousu . " and o57_fonte = '{$estrutural}'";
                     exit;
                 }
                 db_fieldsmemory($result_estrut, 0);
                 $sInsert = "insert into work_plano values(\n          " . $this->anousu . ",\n          0,\n          0,\n          '{$estrutural}',\n          '{$o57_descr}',\n          {$o70_valor},\n          {$adicional},\n          {$janeiro},\n          {$fevereiro},\n          {$marco},\n          {$abril},\n          {$maio},\n          {$junho},\n          {$julho},\n          {$agosto},\n          {$setembro},\n          {$outubro},\n          {$novembro},\n          {$dezembro},\n          {$prev_jan},\n          {$prev_fev},\n          {$prev_mar},\n          {$prev_abr},\n          {$prev_mai},\n          {$prev_jun},\n          {$prev_jul},\n          {$prev_ago},\n          {$prev_set},\n          {$prev_out},\n          {$prev_nov},\n          {$prev_dez}\n          )\n          ";
                 $result_1 = pg_query($sInsert);
             } else {
                 pg_query("update work_plano set \n          o70_valor = o70_valor + {$o70_valor},\n          adicional= adicional  +{$adicional},\n          janeiro  = janeiro    +{$janeiro},\n          fevereiro= fevereiro  +{$fevereiro},\n          marco    = marco      +{$marco},\n          abril    = abril      +{$abril},\n          maio     = maio       +{$maio},\n          junho    = junho      +{$junho},\n          julho    = julho      +{$julho},\n          agosto   = agosto     +{$agosto},\n          setembro = setembro   +{$setembro},\n          outubro  = outubro    +{$outubro},\n          novembro = novembro   +{$novembro},\n          dezembro = dezembro   +{$dezembro},\n          prev_jan  = prev_jan  +{$prev_jan},\n          prev_fev  = prev_fev  +{$prev_fev}+0.0,\n          prev_mar  = prev_mar  +{$prev_mar}+0.0,\n          prev_abr  = prev_abr  +{$prev_abr}+0.0,\n          prev_mai  = prev_mai  +{$prev_mai}+0.0,\n          prev_jun  = prev_jun  +{$prev_jun}+0.0,\n          prev_jul  = prev_jul  +{$prev_jul}+0.0,\n          prev_ago  = prev_ago  +{$prev_ago}+0.0,\n          prev_set  = prev_set  +{$prev_set}+0.0,\n          prev_out  = prev_out  +{$prev_out}+0.0,\n          prev_nov  = prev_nov  +{$prev_nov}+0.0,\n          prev_dez  = prev_dez  +{$prev_dez}+0.0          \n          \n          \n          where o57_fonte = '{$estrutural}'");
             }
             /*
                     o70_valor = o70_valor+$o70_valor,
                     adicional= adicional+$adicional,
             */
             if ($nivel == 1) {
                 break;
             }
         }
     }
     //exit;
     $sql = " \n    SELECT O70_ANOUSU,O70_CODREC,o70_instit,O57_FONTE,O57_DESCR,round(O70_VALOR,2) as o70_valor,\n    round(adicional,2) as adicional,\n    round(JANEIRO,2 ) as JANEIRO,\n    round(FEVEREIRO,2) as FEVEREIRO,\n    round(MARCO,2  )  as MARCO,\n    round(ABRIL,2  )  as ABRIL,\n    round(MAIO, 2  )  as MAIO,\n    round(JUNHO,2  )  as JUNHO,\n    round(JULHO,2  )  as JULHO,\n    round(AGOSTO,2 )  as AGOSTO,\n    round(SETEMBRO,2)  as SETEMBRO,\n    round(OUTUBRO,2 )  as OUTUBRO,\n    round(NOVEMBRO,2)  as NOVEMBRO,\n    round(DEZEMBRO,2)  as DEZEMBRO,\n    prev_jan,\n    prev_fev,\n    prev_mar,\n    prev_abr,\n    prev_mai,\n    prev_jun,\n    prev_jul,\n    prev_ago,\n    prev_set,\n    prev_out,\n    prev_nov,\n    prev_dez\n    \n    from work_plano ";
     //--
     if ($this->estrut != null) {
         $sql .= "where O57_FONTE IN  " . $this->estrut;
     }
     $sql .= "order by o57_fonte ";
     $this->result = pg_query($sql);
     if ($this->anousu == 2010) {
         //db_criatabela($this->result);
     }
     if ($this->result != false) {
         $this->numrows = pg_numrows($this->result);
     } else {
         $this->numrows = 0;
     }
 }
 *  
 *  Copia da licenca no diretorio licenca/licenca_en.txt 
 *                                licenca/licenca_pt.txt 
 */
session_start();
include "libs/db_conecta.php";
include "libs/db_stdlib.php";
include "libs/db_sql.php";
include "libs/db_utils.php";
include "classes/db_issbase_classe.php";
$sSqlAnos = "select distinct o70_anousu";
$sSqlAnos .= "  from orcreceita ";
$sSqlAnos .= " where o70_instit = " . db_getsession("DB_instit");
$sSqlAnos .= " order by o70_anousu";
$rsAnos = db_query($sSqlAnos);
$aAnos = db_utils::getColectionByRecord($rsAnos);
$aMes = array(1 => 'Janeiro', 2 => 'Fevereiro', 3 => 'Março', 4 => 'Abril', 5 => 'Maio', 6 => 'Junho', 7 => 'Julho', 8 => 'Agosto', 9 => 'Setembro', 10 => 'Outubro', 11 => 'Novembro', 12 => 'Dezembro');
?>
<html>
<head>
<title><?php 
echo $w01_titulo;
?>
</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" src="scripts/db_script.js"></script>
<script language="JavaScript" src="scripts/scripts.js"></script>
<script language="JavaScript" src="scripts/prototype.js"></script>
<script language="JavaScript" src="scripts/strings.js"></script>
<script>
</script>
        }
        $rsReceitaSaldo = db_receitasaldo(11, 1, 3, true, "o70_instit = " . db_getsession("DB_instit"), $oParam->iAno, $sDataInicial, $sDataFinal);
        $oRetorno->itens = db_utils::getColectionByRecord($rsReceitaSaldo, true, false, true);
        break;
    case 'getDespesasByPeriodo':
        $sWhere = " o58_instit = " . db_getsession("DB_instit");
        if ($oParam->iOrgao != '') {
            $sWhere .= " and o58_orgao = {$oParam->iOrgao}";
        }
        $sDataInicial = "{$oParam->iAno}-{$oParam->iMes}-01";
        $sDataFinal = "{$oParam->iAno}-{$oParam->iMes}-" . cal_days_in_month(CAL_GREGORIAN, $oParam->iMes, $oParam->iAno);
        $iMesCorrente = date("m", db_getsession("DB_datausu"));
        $iAnoCorrente = date("Y", db_getsession("DB_datausu"));
        $iDiaCorrente = date("d", db_getsession("DB_datausu"));
        if ($iMesCorrente == $oParam->iMes && $iAnoCorrente == $oParam->iAno) {
            $sDataFinal = date("Y-m-d", mktime(0, 0, 0, $oParam->iMes, $iDiaCorrente - 2, $oParam->iAno));
        }
        $rsDotacaoSaldo = db_dotacaosaldo(8, 1, 4, true, $sWhere, $oParam->iAno, $sDataInicial, $sDataFinal, 8, 0, false);
        $oRetorno->itens = db_utils::getColectionByRecord($rsDotacaoSaldo, false, false, true);
        break;
    case "getOrgaosByAno":
        $sSqlOrgaos = "select distinct o40_orgao, o40_descr";
        $sSqlOrgaos .= "  from orcorgao ";
        $sSqlOrgaos .= " where o40_anousu = {$oParam->iAno}";
        $sSqlOrgaos .= "   and o40_instit = " . db_getsession("DB_instit");
        $sSqlOrgaos .= " order by o40_orgao";
        $rsOrgaos = db_query($sSqlOrgaos);
        $oRetorno->itens = db_utils::getColectionByRecord($rsOrgaos, false, false, true);
        break;
}
echo $oJson->encode($oRetorno);