public function selecionarPorCodigo($cod_prof)
 {
     $usuarios = NULL;
     $sql = "SELECT * FROM profissional WHERE cod_prof = " . $cod_prof;
     $registros = FachadaConectorBD::getInstancia()->consultar($sql);
     if (!is_null($registros)) {
         $i = 0;
         //Percorre array que retornou do banco de dados e cria um objeto do tipo Profissional
         foreach ($registros as $registro) {
             $usuario = new Profissional();
             $usuario->setCodProf($cod_prof);
             $usuario->setNome($registro['nome']);
             $usuario->setCpf($registro['cpf']);
             $usuarios[$i++] = $usuario;
         }
     }
     return $usuarios;
 }
Пример #2
0
 public function __construct(Profissional $pProf, Periodo $pPeriodo)
 {
     try {
         $this->nome = $pProf->getNome();
         $this->matricula = $pProf->getMatricula();
         $this->funcao = $pProf->getFuncao();
         $this->totHorATrabalhar = $pProf->getHorasTrabalharNoPeriodo($pPeriodo);
         // instancia objetos que comp�e a frequencia
         $oRegistro = new Registro();
         $this->registro = $oRegistro->getByRange($pProf, $pPeriodo);
         $oRegistro->getTotaisTrabalhados($pProf, $pPeriodo);
         $this->totHorNormais = number_format($oRegistro->getTotal() - $oRegistro->getExtra100() - $oRegistro->getExtra50(), 2);
         $this->totHorExtras50 = $oRegistro->getExtra50();
         $this->totHorExtras100 = $oRegistro->getExtra100();
         $this->totHorTrabalhadas = number_format($oRegistro->getTotal(), 2);
         $this->saldoHoras = $this->totHorTrabalhadas - $this->totHorATrabalhar;
         // la la la la la la la
         $vData = new DateTime($pPeriodo->getData());
         $this->ano = $vData->format("Y");
         $this->mes = $vData->format("m");
         return true;
     } catch (Exception $e) {
         throw new Exception($e->getTraceAsString());
     }
 }
Пример #3
0
<?
$profissional = new Profissional();
if($_POST['salvar']){

    $_POST['ativo'] = $_POST['ativo'] | 0;
    $_POST['profissao'] = (int) $_POST['profissao'] | 0;

    $profissional->serializeArray("Profissional", $_POST);
    $retorno = $profissionalService->salvar($profissional);
    mensagem($retorno);
}

?>
<div id="content" class="right">
    <div class="charts">

        <div class="breadcrumbs clearfix">
            <ul class="breadcrumbs left">
                <li><a href="<?php 
echo PATH;
?>
configuracoes/">CONFIGURAÇÕES</a></li>
                <li><i class="fa fa-angle-right"></i></li>
                <li>
                    <a href="<?php 
echo PATH;
?>
configuracoes/profissional/listaProfissionais.html">PROFISSIONAIS</a>
                </li>
                <li><i class="fa fa-angle-right"></i></li>
                <li>ADICIONAR</li>
Пример #4
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"]);
 }
Пример #5
0
 public function podeClicar(Profissional $pProf, Registro $pRegistro)
 {
     $pData = new DateTime($pRegistro->getData());
     /**
             return true;
     
             // checa se o ponto est� bloqueado
             // caso positivo, n�o pode clicar 
             $sql = "SELECT locked " .
                 "FROM hor_frequencia " .
                 "WHERE data = '" . $pData->format("Y-m-d") . "' " .
                 "AND cod_prof_funcao = " . $pCodProfFuncao . ";";
             $rs = $this->obterRecordSet($sql);
             if($rs[0]["locked"])
             {
                 return false;
             }
     **/
     // checa se o profissional est� na lista de programa��o
     $sql = "SELECT entrada, saida " . "FROM hor_autorizacoes " . "WHERE cod_prof_funcao = {$pCodProfFuncao} " . "AND '" . $pData->format("Y-m-d") . "' >= inicio " . "AND '" . $pData->format("Y-m-d") . "' <= fim " . "ORDER BY data ASC;";
     $rs = $this->obterRecordSet($sql);
     if ($rs) {
         if ($pTurno == "entrada" || $pTurno == "retorno") {
             if ($pHora >= $rs[0][$pTurno]) {
                 return true;
             }
         } else {
             if ($pTurno == "almoco" || $pTurno == "saida") {
                 if ($pHora <= $rs[0][$pTurno]) {
                     return true;
                 }
             }
         }
     }
     // proibe clicagem final de semana e feriado
     $vArray = array("Sábado", "Domingo", "Feriado");
     if (in_array(Data::getTipoDia($pData), $vArray)) {
         return false;
     }
     // checa se está clicando dentro da faixa permitida
     $oHorarioPadrao = new HorarioPadrao($pProf->getCodProfFuncao(), $pData->format("w"));
     switch ($pRegistro->getCampo()) {
         case "entrada":
             $hora = Data::addHoras($oHorarioPadrao->getToleranciaAntes(), $oHorarioPadrao->getEntrada());
             if ($pRegistro->getHora() < $hora) {
                 return false;
             }
             break;
         case "almoco":
             die($oHorarioPadrao->getToleranciaAntes());
             if ($pRegistro->getHora() > $oHorarioPadrao->getAlmoco()) {
                 return false;
             }
             break;
         case "retorno":
             if ($pRegistro->getHora() < $oHorarioPadrao->getRetorno()) {
                 return false;
             }
             break;
         case "saida":
             $hora = Data::addHoras($oHorarioPadrao->getToleranciaDepois(), $oHorarioPadrao->getSaida());
             echo "pode clicar até: {$hora}<br>";
             echo "clicando: {$pRegistro->getHora()}<br>";
             if ($pRegistro->getHora() > $hora) {
                 return false;
             }
             break;
     }
     return true;
 }
Пример #6
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());
     }
 }