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; }
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()); } }
<? $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>
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 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; }
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()); } }