public function updateTotals(Profissional $pProf, Registro $pRegistro) { try { // atualiza os totais $oRegistro = new Registro(); $oRegistro = $this->getByDate($pProf, $pRegistro->getData()); $t = 0; switch ($oRegistro->getFlag()) { case 6: // entrada manhã + saída manhã $s = $oRegistro->getEntradaManha(); $e = $oRegistro->getSaidaManha(); $t = Data::getTimeDifference($s, $e); $t = Data::timeToDecimal($t); break; case 18: // entrada manhã + saída tarde $s = $oRegistro->getEntradaManha(); $e = $oRegistro->getSaidaTarde(); $t = Data::getTimeDifference($s, $e); $t = Data::timeToDecimal($t); break; case 24: // entrada tarde + saída tarde $s = $oRegistro->getEntradaTarde(); $e = $oRegistro->getSaidaTarde(); $t = Data::getTimeDifference($s, $e); $t = Data::timeToDecimal($t); break; case 30: // tudo $s = $oRegistro->getEntradaManha(); $e = $oRegistro->getSaidaManha(); $t1 = Data::getTimeDifference($s, $e); $t1 = Data::timeToDecimal($t1); $s = $oRegistro->getEntradaTarde(); $e = $oRegistro->getSaidaTarde(); $t2 = Data::getTimeDifference($s, $e); $t2 = Data::timeToDecimal($t2); $t = $t1 + $t2; break; } $oPeriodo = new Periodo(); $oPeriodo->setInicial($oRegistro->getData()); $oPeriodo->setFinal($oRegistro->getData()); $vTrabalhar = $pProf->getHorasTrabalharNoPeriodo($oPeriodo); $vSaldo = $t - $vTrabalhar; $t100 = 0; $t50 = 0; //se tiver saldo e o dia for s�bado, � hora extra a 50% //se for domingo ou feriado, � hora extra a 100% $vData = new DateTime($oRegistro->getData()); if ($vSaldo > 0) { switch (Data::getTipoDia($vData)) { case "Domingo": $t100 = $vSaldo; break; case "Feriado": $t100 = $vSaldo; break; default: $t50 = $vSaldo; break; } } $sql = "UPDATE hor_frequencia SET total = {$t} , h_50 = {$t50}, h_100 = {$t100}\n WHERE data = '{$vData->format("Y-m-d")}' AND cod_prof_funcao = {$pProf->getCodProfFuncao()};"; parent::executar($sql); } catch (Exception $e) { throw new Exception($e->getMessage()); } }
public function delete() { try { $sql = "DELETE FROM hor_aprop\n WHERE id = " . $this->getId(); $rs = parent::executar($sql); return true; } catch (Exception $e) { throw new Exception($e->getMessage()); } }