function getBanco($pCodProfFuncao) { try { // horista não possui banco de horas $oProf = new Profissional($pCodProfFuncao); if ($oProf->getHorista()) { return false; } // retorna banco de horas $sql = "SELECT hb.periodo_ini, hb.hex_50, hb.hex_100,\n hb.total_trab as normais,\n (hb.total_trab + hb.hex_50 + hb.hex_100) as total_trab,\n IFNULL(hp.horas,0) as horas_pagas, IFNULL(ht.horas,'0') as horas_a_trabalhar\n FROM hor_banco as hb\n LEFT JOIN hor_pagas as hp\n ON (hb.cod_prof_funcao = hp.cod_prof_funcao AND hb.periodo_ini = hp.periodo_ini)\n LEFT JOIN hor_a_trabalhar as ht\n ON (hb.cod_prof_funcao = ht.cod_prof_funcao AND hb.periodo_ini = ht.periodo_ini)\n WHERE hb.cod_prof_funcao = " . $pCodProfFuncao . " ORDER BY hb.periodo_ini ASC;"; $rs = parent::obterRecordSet($sql); //$varAcumulado = 0; $ret = array(); foreach ($rs as $row) { $oPeriodo = new Periodo($row["periodo_ini"]); $vPeriodo = "de " . $oPeriodo->getInicial() . " a " . $oPeriodo->getFinal(); $oBanco = new Banco(); $oBanco->setPeriodo($vPeriodo); $oBanco->setHorhex50($row["hex_50"]); $oBanco->setHorhex100($row["hex_100"]); $oBanco->setHornormais($row["normais"]); $oBanco->setHortrabalhadas($row["total_trab"]); $oBanco->setHoratrabalhar($row["horas_a_trabalhar"]); $oBanco->setHorpagas($row["horas_pagas"]); $oBanco->setHorsaldo($row["total_trab"] - $row["horas_a_trabalhar"]); $varAcumulado += $row["total_trab"] - $row["horas_a_trabalhar"] - $row["horas_pagas"]; $oBanco->setHoracumuladas($varAcumulado); $ret[] = $oBanco; } return $ret; } catch (Exception $e) { throw new Exception($e->getTraceAsString()); } }