/** * Check Planing Form via ajax * * @param \Illuminate\Http\Request $request * @return json */ public function checkPlanning(Request $request) { //dd($request); $arrival_time = strtotime($request->departure_time); $arrival_time = Carbon::createFromTimestamp($arrival_time)->addHours(2)->addMinutes(6)->format('H:i'); //dd($arrival_time); foreach ($request->days as $value) { if ($request->departure_time) { $time = explode(':', $request->departure_time); $time[1] = $time[1] + $request->departure_offset[$value]; if ($time[1] > 59) { $time[1] = $time[1] - 60; $time[0]++; } elseif ($time[1] < 00) { $time[1] = $time[1] + 60; $time[0]--; } $time[1] = sprintf("%02d", $time[1]); $time[0] = sprintf("%02d", $time[0]); $time = $time[0] . ':' . $time[1]; if ($time < '00:00' or $time > '23:59') { $abflugszeit = false; } else { $abflugszeit = true; } } else { $abflugszeit = false; } $distance = Geo::getDistance(Station::find($request->departure_station_id)->airport_id, Station::find($request->arrival_station_id)->airport_id); $aircraft = AircraftUsage::find($request->aircraft_usage_id); if ($distance <= $aircraft->aircraft()->first()->maxKm) { $performance = true; } else { $performance = false; } //dd //dd(Slot::check(date('H:i', $arrival_time), Station::find($request->arrival_station_id)->airport_id, $value)); if (Slot::check($request->departure_time, Station::find($request->departure_station_id)->airport_id, $value) > 1) { $abflugslots = false; } else { $abflugslots = true; } if (Slot::check($arrival_time, Station::find($request->arrival_station_id)->airport_id, $value) > 1) { $ankunftslots = false; } else { $ankunftslots = true; } $return[$value] = ['abflugszeit' => $abflugszeit, 'performance' => $performance, 'abflugslots' => $abflugslots, 'ankunftslots' => $ankunftslots]; } return response()->json($return); }