/** * M�todo getTipoData() * checa se a data informada � feriado, s�bado ou domingo * @param DateTime $pData um objeto com a data * @return String "Feriado" ou o dia da semana */ public static function getTipoDia(DateTime $pData) { $oFeriado = new Feriado(); if (!$oFeriado->isFeriado($pData)) { return self::getDiaSemana($pData); } else { return 'Feriado'; } }
public static function getFeriados($options = array(), $pagination = false) { $options = array_merge(FeriadoService::$options, $options); $query = Feriado::order_by($options['orderBy'], $options['orderDir']); if (isset($options['hidden'])) { Feriado::$hidden = array_merge(Feriado::$hidden, $options['hidden']); } if (isset($options['ano']) && $options['ano']) { $query->raw_where('YEAR(fecha) = ?', array($options['ano'])); } if (isset($options['mes']) && $options['mes']) { $query->raw_where('MONTH(fecha) = ?', array($options['mes'])); } if (isset($options['dia']) && $options['dia']) { $query->raw_where('DAY(fecha) = ?', array($options['dia'])); } if (isset($options['tipo_id']) && $options['tipo_id']) { $query->where('tipo_id', '=', $options['tipo_id']); } if ($pagination) { return $query->paginate($options['limit']); } else { $query->take($options['limit'])->skip($options['offset']); return $query->get(); } }
public function run() { DB::table('feriados')->delete(); $feriados = array("01/01/2014" => "Año Nuevo", "03/03/2014" => "Carnaval", "04/03/2014" => "Carnaval", "24/03/2014" => "Memoria por la verdad y la justicia.", "02/04/2014" => "Caidos en la Guerra de Malvinas", "18/04/2014" => "Viernes Santo", "01/05/2014" => "Día del trabajador", "02/05/2014" => "Feriado Puente", "25/05/2014" => "Revolución de Mayo", "20/06/2014" => "Inmortalidad de Manuel Belgrano", "09/07/2014" => "Día de la Independencia", "18/08/2014" => "Inmortalidad de Gral. San Martín", "13/10/2014" => "Respeto por la Diversidad Cultural", "24/11/2014" => "Soberanía Nacional", "08/12/2014" => "Inmaculada Concepción de María", "25/12/2014" => "Navidad", "26/12/2014" => "Feriado Puente", "31/12/2014" => "No Trabajamos.", "01/01/2015" => "Año Nuevo", "03/03/2015" => "Carnaval", "04/03/2015" => "Carnaval", "23/03/2015" => "Feriado Puente", "24/03/2015" => "Memoria por la verdad y la justicia.", "02/04/2015" => "Caidos en la Guerra de Malvinas", "18/04/2015" => "Viernes Santo", "01/05/2015" => "Día del trabajador", "25/05/2015" => "Revolución de Mayo", "20/06/2015" => "Inmortalidad de Manuel Belgrano", "09/07/2015" => "Día de la Independencia", "18/08/2015" => "Inmortalidad de Gral. San Martín", "13/10/2015" => "Respeto por la Diversidad Cultural", "24/11/2015" => "Soberanía Nacional", "07/12/2015" => "Feriado Puente", "08/12/2015" => "Inmaculada Concepción de María", "25/12/2015" => "Navidad", "31/12/2015" => "No Trabajamos.", "01/01/2016" => "Año Nuevo", "03/03/2016" => "Carnaval", "04/03/2016" => "Carnaval", "24/03/2016" => "Memoria por la verdad y la justicia.", "02/04/2016" => "Caidos en la Guerra de Malvinas", "18/04/2016" => "Viernes Santo", "01/05/2016" => "Día del trabajador", "25/05/2016" => "Revolución de Mayo", "20/06/2016" => "Inmortalidad de Manuel Belgrano", "08/07/2016" => "Feriado Puente", "09/07/2016" => "Día de la Independencia", "18/08/2016" => "Inmortalidad de Gral. San Martín", "13/10/2016" => "Respeto por la Diversidad Cultural", "24/11/2016" => "Soberanía Nacional", "08/12/2016" => "Inmaculada Concepción de María", "09/12/2016" => "Feriado Puente", "25/12/2016" => "Navidad", "31/12/2016" => "No Trabajamos."); foreach ($feriados as $fecha => $feriado) { Feriado::create(array('fecha' => substr($fecha, 6, 4) . "-" . substr($fecha, 3, 2) . "-" . substr($fecha, 0, 2), 'feriado' => $feriado, 'created_at' => new DateTime(), 'updated_at' => new DateTime())); } }
public function get_delete($id_feriado = null) { $feriado = Feriado::find($id_feriado); if ($feriado->delete()) { return Redirect::to('backend/feriados')->with('message', 'Feriado eliminado.'); } else { return Redirect::to('backend/feriados')->with('message', 'Error al eliminar el feriado.'); } }
public function generarAgenda($id, $fecha) { $errores = false; $agendas_general = 0; $dow = array('Domingo' => 0, 'Lunes' => 1, 'Martes' => 2, 'Miercoles' => 3, 'Jueves' => 4, 'Viernes' => 5, 'Sabado' => 6); $coe = $this->modelo->find($id); $fecha_ini = $fecha; $especialidad = $coe->especialidad; $odontologo = $coe->odontologo; $centro = $coe->centro; $lapso = 1; $fecha_fin = date("Y-m-d", strtotime("+" . $lapso . " days", strtotime($fecha_ini))); $agendas = array(); if ($coe->habilitado != 1) { return json_encode(array('error' => true, 'listado' => "El centro-odontologo-especialidad no está habilitado")); } while (strtotime($fecha_ini) <= strtotime($fecha_fin)) { $f = new Feriado(); if ($f->esFeriado($fecha_ini)) { // echo "Feriado".$fecha_ini; $fecha_ini = date("Y-m-d", strtotime("+1 day", strtotime($fecha_ini))); continue; } elseif ($dow[$coe->dia_semana] != date('w', strtotime($fecha_ini))) { $fecha_ini = date("Y-m-d", strtotime("+1 day", strtotime($fecha_ini))); continue; } elseif ($coe->existeAgenda($fecha_ini)) { $fecha_ini = date("Y-m-d", strtotime("+1 day", strtotime($fecha_ini))); continue; //} elseif ($coe->odontologo()->existeAusencia($fecha_ini) > 0){ } elseif ($odontologo->existeAusencia($fecha_ini) > 0) { $fecha_ini = date("Y-m-d", strtotime("+1 day", strtotime($fecha_ini))); continue; } else { $agenda = new Agenda(); $agenda->centro_odontologo_especialidad_id = $coe->id; $agenda->fecha = $fecha_ini; $agenda->odontologo_efector_id = $odontologo->id; $agenda->habilitado_turnos = 1; $agenda->created_at = date("Y-m-d H:i:s"); $agenda->updated_at = date("Y-m-d H:i:s"); $agendas[] = $agenda; } $fecha_ini = date("Y-m-d", strtotime("+1 day", strtotime($fecha_ini))); } $err_agenda = true; $agendas_general += count($agendas); if (count($agendas)) { $err_agenda = $agenda->save(); } if (!$err_agenda) { $errores = true; } if ($agendas_general == 0) { return json_encode(array('error' => true, 'listado' => "No hay agendas para generar")); } $t = $this->generarTurnos($agenda->id); if (!$t) { $errores = true; } if ($errores) { return json_encode(array('error' => true, 'listado' => "Se produjeron errores al generar las agendas")); } else { return json_encode(array('error' => false, 'listado' => "Se generaron las agendas")); } }
public static function addInstanceToPool(Feriado $obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if ($key === null) { $key = (string) $obj->getId(); } self::$instances[$key] = $obj; } }
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 beforeRender() { $Feriado = new Feriado(); $this->set('dferiados', $Feriado->getFeriados()); }