@php $horas = [ [ 'inicio' => '11:00', 'fin' => '12:00', 'horaPico' => 'no', ], [ 'inicio' => '12:00', 'fin' => '13:00', 'horaPico' => 'no', ], [ 'inicio' => '13:00', 'fin' => '14:00', 'horaPico' => 'no', ], [ 'inicio' => '14:00', 'fin' => '15:00', 'horaPico' => 'no', ], [ 'inicio' => '15:00', 'fin' => '16:00', 'horaPico' => 'no', ], [ 'inicio' => '16:00', 'fin' => '17:00', 'horaPico' => 'no', ], [ 'inicio' => '17:00', 'fin' => '18:00', 'horaPico' => 'no', ], [ 'inicio' => '18:00', 'fin' => '19:00', 'horaPico' => 'no', ], [ 'inicio' => '19:00', 'fin' => '20:00', 'horaPico' => 'no', ], [ 'inicio' => '20:00', 'fin' => '21:00', 'horaPico' => 'no', ], [ 'inicio' => '21:00', 'fin' => '22:00', 'horaPico' => 'no', ], [ 'inicio' => '22:00', 'fin' => '23:00', 'horaPico' => 'no', ], ]; @endphp
{{ $mes }}
{{-- cuadro turnos --}}
@foreach ($diasSemana as $diaSemana)
{{ $diaSemana['nombre'] }} {{ $diaSemana['dia'] }}
{{-- buscamos los turnos de esos días y hacemos un foreach --}} @php //creamos la variable fecha duplicar, para saber la semana a duplicar $fechaDuplicarInicio = $diasSemana[0]['fecha']; $fechaDuplicarFin = $diaSemana['fecha']; $turnos = \App\Models\turnos::whereBetween('diaTurno', [ $diaSemana['fecha'], $diaSemana['fecha'], ]) ->orderBy('tipoTurno', 'asc') ->get(); @endphp @foreach ($turnos as $turno)
@can('admin')
x
@endcan
{{ $turno->trabajadore->nombre }}
@php //formateamos la hora para eliminar los segundos $inicioTurno = strtotime($turno->inicioTurno); $inicioTurno = date('H:i', $inicioTurno); $finTurno = strtotime($turno->finTurno); $finTurno = date('H:i', $finTurno); @endphp {{ $inicioTurno }} a {{ $finTurno }}
@endforeach
@endforeach
{{-- fin p-2 cuadro turnos --}} @can('admin')
+
@endcan {{-- cuadro horas semana trabajador --}}
@foreach ($trabajadores as $trabajador) @php $datosTrabajador = \App\Models\turnos::whereBetween('diaTurno', [ $fechaDuplicarInicio, $fechaDuplicarFin, ]) ->where('trabajadore_id', $trabajador->id) ->get(); //recorremos los datos de los turnos para sacar el total de horas de la semana $totalHorasTrabajador = 0; foreach ($datosTrabajador as $dato) { $inicioTurno = new DateTime($dato->inicioTurno); $finTurno = new DateTime($dato->finTurno); $horasTrabajador = $finTurno->diff($inicioTurno); $horasTrabajador = $horasTrabajador->format('%h'); $horasTrabajador = intval($horasTrabajador); $totalHorasTrabajador = $totalHorasTrabajador + $horasTrabajador; } $porcentaje = ($totalHorasTrabajador * 100) / 60; @endphp
{{ $trabajador->nombre }} {{ $totalHorasTrabajador }}
@endforeach
{{-- fin cuadro horas semana trabajador --}} {{-- modal para añadir turnos --}} Añadir turno el {{ $diaTurno }} Trabajador @foreach ($trabajadores as $trabajador) @endforeach
Hora entrada
Hora salida
Tipo de día Tipo de turno
Cancelar Añadir Turno
{{-- Fin modal para añadir turnos --}} {{-- modal para editar turnos --}} Editar turno el {{ $diaTurno }} Trabajador @foreach ($trabajadores as $trabajador) @endforeach
Hora entrada
Hora salida
Tipo de día Tipo de turno
Cancelar Actualizar Turno
{{-- Fin modal para editar turnos --}} {{-- bolque inferior con tabla de horarios según número de trabajadores --}}
{{-- tabla calculo horas y precios --}} @can('admin')
@foreach ($trabajadores as $trabajadore) @endforeach
Trabajador Tipo de Hora Precio Recargo Total
Horas Total {{ $totalHoras }}
Hora Extra {{ $totalHoras - $horasSemana }} {{ $precioHoraExtra }} {{ number_format(($totalHoras - $horasSemana) * $precioHoraExtra, '0', ',', '.') }}
Hora Nocturna {{ $totalHorasNocturas }} {{ $precioHoraNocturna }} {{ $precioHoraNocturna - $precioHoraNormal }} {{ number_format($totalHorasNocturas * ($precioHoraNocturna - $precioHoraNormal), '0', ',', '.') }}
Hora Dominical {{ $totalHorasFestivo }} {{ $precioHoraFestivo }} {{ $precioHoraFestivo - $precioHoraNormal }} {{ number_format($totalHorasFestivo * ($precioHoraFestivo - $precioHoraNormal), '0', ',', '.') }}
TOTAL $ {{ number_format(($totalHoras - $horasSemana) * $precioHoraExtra + $totalHorasNocturas * ($precioHoraNocturna - $precioHoraNormal) + $totalHorasFestivo * ($precioHoraFestivo - $precioHoraNormal), '0', ',', '.') }}
@endcan