public function getTotalApropriado() { try { $pData = new DateTime($this->getData()); $sql = "SELECT SUM(total)\n FROM hor_aprop\n WHERE cod_prof_funcao = " . $this->getCodProfFuncao() . " AND data = '" . $pData->format("Y-m-d") . "';"; $ret = parent::executarScalar($sql); return $ret; } catch (Exception $e) { throw new Exception($e->getMessage()); } }
public function getHorasTrabalharNoPeriodo(Periodo $pPeriodo) { // checa se o profissional � horista, // horistas n�o possuem limite de horas a trabalhar if ($this->getHorista()) { return 0; } //Prepara períodos $pInicio = new DateTime($pPeriodo->getInicial()); $pFim = new DateTime($pPeriodo->getFinal()); // checa se j� existe registro na tabela de horas a trabalhar $sql = "SELECT horas " . "FROM hor_a_trabalhar " . "WHERE cod_prof_funcao = " . $this->getCodProfFuncao() . " AND periodo_ini = '" . $pInicio->format("Y-m-d") . "';"; $cont = parent::executarScalar($sql); if ($cont > 0) { return $cont; } // obtem a carga hor�ria do profissional, converte para numero $varCargaHoraria = $this->getCargaHoraria(); // calcula a quantidade de horas a // trabalhar no per�odo entre duas datas //$oTipoDia = new Data(); while ($pInicio <= $pFim) { $varTipoDia = Data::getTipoDia($pInicio); if (!($varTipoDia == "Sábado" || $varTipoDia == "Domingo")) { if ($varCargaHoraria == 8.5) { if ($varTipoDia == "Sexta-Feira") { $varTotal += 8; } else { $varTotal += $varCargaHoraria; } } else { $varTotal += $varCargaHoraria; } } else { // Trata feriado // Há feriados que só desconta um turno, por exemplo $oFeriado = new Feriado(); if ($oFeriado->isFeriado($pInicio)) { $varDesconto += $oFeriado->getHoras(); // Se o feriado cair dia de sábado // Desconta 2h da carga horária referente a este dia if (Data::getDiaSemana($pInicio) == "Sábado") { $varDesconto += 2; } } } // Incrementa dia $pInicio->modify("+1 day"); } $varTotal -= $varDesconto; return number_format($varTotal, 2); }
function existe($cc) { $sql = "SELECT COUNT(*) FROM cc WHERE cc = {$cc};"; $rs = parent::executarScalar($sql); return $rs > 0; }