Beispiel #1
0
 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());
     }
 }
Beispiel #2
0
 function getCc($cc)
 {
     // retorna banco de horas
     $sql = "SELECT cc, nome FROM cc WHERE cc = " . $cc;
     $rs = parent::obterRecordSet($sql);
     return $rs[0]["nome"];
 }
Beispiel #3
0
 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;
     }
 }
Beispiel #4
0
 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;
 }
Beispiel #5
0
 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());
     }
 }
Beispiel #6
0
 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;
 }
Beispiel #7
0
 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"]);
 }
Beispiel #8
0
 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());
     }
 }
Beispiel #9
0
 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());
     }
 }