public function isFeriado(DateTime $pData) { try { $cont = 0; // separa mes e dia $dia = $pData->format("d"); $mes = $pData->format("m"); // se o feriado for fixo, ocorre todos os anos // portanto é necessário considerar somente // dia e mês da data $sql = "SELECT data, descricao, tipo, horas, fixo " . "FROM feriados " . "WHERE DAY(data) = {$dia} " . "AND MONTH(data) = {$mes} " . "AND fixo = 1;"; $rs = parent::obterRecordSet($sql); if ($rs) { $cont = 1; } else { $sql = "SELECT data, descricao, tipo, horas, fixo " . "FROM feriados " . "WHERE data = '" . $pData->format('Y-m-d') . "' " . "AND fixo = 0;"; $rs = parent::obterRecordSet($sql); if ($rs) { $cont = 1; } } // prepara retorno if ($cont == 1) { $this->setData($rs[0]["data"]); $this->setDescricao($rs[0]["descricao"]); $this->setTipo($rs[0]["tipo"]); $this->setHoras($rs[0]["horas"]); $this->setFixo($rs[0]["fixo"]); } return $cont; } catch (Exception $e) { throw new Exception($e->getTraceAsString()); } }
function getCc($cc) { // retorna banco de horas $sql = "SELECT cc, nome FROM cc WHERE cc = " . $cc; $rs = parent::obterRecordSet($sql); return $rs[0]["nome"]; }
public function login() { $sql = "SELECT pf.codigo\r\n FROM profs_pwd pp\r\n INNER JOIN profs_funcoes pf ON (pp.cod_prof_Funcao = pf.codigo)\r\n INNER JOIN profs p ON (pf.cod_prof = p.codigo)\r\n INNER JOIN profs_info_adm pia ON (pia.cod_prof_funcao = pf.codigo)\r\n WHERE p.interno = 1\r\n AND pp.cod_sistema = 2\r\n AND pia.matricula = '" . $this->getLogin() . "'\r\n AND pp.pwd = '" . $this->getSenha() . "';"; $res = parent::obterRecordSet($sql); if ($res) { return $res[0]['codigo']; } else { return false; } }
public function getAll() { $sql = "SELECT cod_ocorrencia as codigo, descricao\n FROM hor_tipo_ocorrencia\n ORDER BY cod_ocorrencia;"; $rs = parent::obterRecordSet($sql); $oOcorrencia = array(); foreach ($rs as $row) { $vOcorrencia = new Ocorrencia(); $vOcorrencia->setCodigo($row["codigo"]); $vOcorrencia->setDescricao($row["descricao"]); $oOcorrencia[] = $vOcorrencia; $vOcorrencia = null; } return $oOcorrencia; }
function __construct($pCodProfFuncao = -1) { try { if ($pCodProfFuncao == -1) { return false; } $sql = "SELECT pf.codigo, p.nome, pia.matricula, pms.codigo as horista, ptt.tipo as carga, f.nome as funcao " . "FROM profs p INNER JOIN profs_funcoes pf " . "ON (p.codigo = pf.cod_prof) " . "INNER JOIN profs_info_adm pia ON (pia.cod_prof_funcao = pf.codigo) " . "INNER JOIN profs_modo_salario pms ON (pia.cod_modo_salario = pms.codigo) " . "INNER JOIN profs_tipo_turno ptt ON (ptt.codigo = pia.cod_tipo_turno) " . "INNER JOIN funcoes f ON (f.codigo = pf.cod_funcao) " . "WHERE pf.codigo = {$pCodProfFuncao};"; $rs = parent::obterRecordSet($sql); $this->setCodProfFuncao($rs[0]["codigo"]); $this->setMatricula($rs[0]["matricula"]); $this->setNome($rs[0]["nome"]); $this->setHorista($rs[0]["horista"]); $this->setCargaHoraria($rs[0]["carga"]); $this->setFuncao($rs[0]["funcao"]); return true; } catch (Exception $e) { throw new Exception($e->getTraceAsString()); } }
public function getHorario($pCodProfFuncao) { $sql = "SELECT hhd.descricao, hh.dia, hh.entrada, hh.almoco, hh.retorno, hh.saida, hh.tolerancia_antes, hh.tolerancia_depois " . "FROM hor_horarios AS hh " . "INNER JOIN hor_horarios_descricao AS hhd ON hh.codigo = hhd.codigo " . "INNER JOIN profs_info_adm pia ON pia.cod_hor_horarios = hh.codigo " . "WHERE pia.cod_prof_funcao = {$pCodProfFuncao};"; parent::conectar(); $rs = parent::obterRecordSet($sql); $vHorario = array(); foreach ($rs as $row) { $oHorario = new HorarioPadrao(); $oHorario->setDia($row["dia"]); $oHorario->setEntrada($row["entrada"]); $oHorario->setAlmoco($row["almoco"]); $oHorario->setRetorno($row["dia"]); $oHorario->setSaida($row["saida"]); $oHorario->setToleranciaAntes($row["tolerancia_antes"]); $oHorario->setToleranciaDepois($row["tolerancia_depois"]); $vHorario[] = $oHorario; } parent::desconectar(); return $oHorario; }
public function getTotaisTrabalhados(Profissional $pProf, Periodo $pPeriodo) { $oInicio = new DateTime($pPeriodo->getInicial()); $oFim = new DateTime($pPeriodo->getFinal()); $sql = "SELECT SUM(h_50) as Hex50, SUM(h_100) as Hex100, SUM(total) as total " . "FROM hor_frequencia " . "WHERE cod_prof_funcao = " . $pProf->getCodProfFuncao() . " AND data BETWEEN '" . $oInicio->format('Y-m-d') . "' AND '" . $oFim->format('Y-m-d') . "';"; $rs = parent::obterRecordSet($sql); $this->setExtra50($rs[0]["Hex50"]); $this->setExtra100($rs[0]["Hex100"]); $this->setTotal($rs[0]["total"]); }
public function getById() { try { $sql = "SELECT id, data, cod_prof_funcao, cc, total\n FROM hor_aprop\n WHERE id = " . $this->getId() . ";"; $rs = parent::obterRecordSet($sql); if ($rs) { $this->setId($rs[0]["id"]); $this->setCc($rs[0]["cc"]); $this->setCodProfFuncao($rs[0]["cod_prof_funcao"]); $this->setData($rs[0]["data"]); $this->setValor($rs[0]["total"]); } return true; } catch (Exception $e) { throw new Exception($e->getMessage()); } }
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()); } }