function getsectorxsucursales(Request $request, Response $response) { $response = $response->withHeader('Content-type', 'application/json'); $id = $request->getAttribute("id"); $servi = ServiciosSector::select('serviciossector.*')->where('serviciossector.idSector', '=', $id)->groupBy('serviciossector.idSector')->get(); for ($i = 0; $i < count($servi); $i++) { $sucu = ServiciosSucursal::select('serviciossucursal.idSucursal', 'sucursal.nombre', 'sucursal.latitud', 'sucursal.longitud', 'sucursal.estado', 'sucursal.direccion', 'sucursal.telefono', 'empresa.razonSocial')->join('sucursal', 'sucursal.id', '=', 'serviciossucursal.idSucursal')->join('empresa', 'empresa.id', '=', 'sucursal.idEmpresa')->where('serviciossucursal.idServicio', '=', $servi[$i]->idServicio)->get(); $servi[$i]['servicio'] = $sucu; } $response->getBody()->write($servi); return $response; }
public function getPreciosByServicioSucursal(Request $request, Response $response) { $response = $response->withHeader('Content-type', 'application/json'); $idServicio = $request->getAttribute("idServicio"); $idSucursal = $request->getAttribute("idSucursal"); $data = ServiciosSucursal::select("*")->where("idServicio", "=", $idServicio)->where("idSucursal", "=", $idSucursal)->first(); if ($data == null) { $response = $response->withStatus(404); } $response->getBody()->write($data); return $response; }
function getTiempoBySucursalEmpleado(Request $request, Response $response) { $response = $response->withHeader('Content-type', 'application/json'); $idSucursal = $request->getAttribute("idSucursal"); $idServicio = $request->getAttribute("idServicio"); $data = ServiciosSucursal::select("serviciossucursal.minutos")->where("serviciossucursal.idServicio", "=", $idServicio)->where("serviciossucursal.idSucursal", "=", $idSucursal)->first(); $response->getBody()->write(json_encode($data)); return $response; }
function getTiempo(Request $request, Response $response) { $response = $response->withHeader('Content-type', 'application/json'); $idServicio = $request->getAttribute("idServicio"); $idSucursal = $request->getAttribute("idSucursal"); $tiempo = ServiciosSucursal::select("minutos")->where("idServicio", "=", $idServicio)->where("idSucursal", "=", $idSucursal)->first(); $response->getBody()->write($tiempo); return $response; }
public function postTurnoRecurrente(Request $request, Response $response) { $response = $response->withHeader('Content-type', 'application/json'); $data = json_decode($request->getBody(), true); $fechaReserva = $data['fechaReserva']; $rango = $data["rango"]; $meses = $data["meses"]; $fechaFinal = strtotime("+{$meses} month", strtotime($fechaReserva)); $fechaFinal = date('Y/m/d', $fechaFinal); $datetime1 = new DateTime($fechaReserva); $datetime2 = new DateTime($fechaFinal); $interval = $datetime1->diff($datetime2); $minutosServicio = ServiciosSucursal::select("minutos")->where("idServicio", "=", $data["idServicio"])->where("idSucursal", "=", $data["idSucursal"])->first(); /* Valores de Rangos diario = 1 semanal = 2 mensual = 3 */ switch ($rango) { case '1': $tiempo = floor($interval->format('%a')); break; case '2': $tiempo = floor($interval->format('%a') / 7); break; default: $tiempo = $meses; break; } //echo $tiempo; $fecha = $fechaReserva; for ($i = 0; $i <= $tiempo; $i++) { switch ($rango) { case '1': $fechaReservaFinal = strtotime("+1 day", strtotime($fecha)); $fechaReservaFinal = date('Y/m/d', $fechaReservaFinal); break; case '2': $fechaReservaFinal = strtotime("+7 day", strtotime($fecha)); $fechaReservaFinal = date('Y/m/d', $fechaReservaFinal); break; default: $fechaReservaFinal = strtotime("+1 month", strtotime($fecha)); $fechaReservaFinal = date('Y/m/d', $fechaReservaFinal); break; } $respuesta = null; try { $turno = new Turno(); $turno->idCliente = $data['idCliente']; $turno->idEmpleado = $data['idEmpleado']; $turno->idSucursal = $data['idSucursal']; $turno->idServicio = $data['idServicio']; $turno->tiempo = 0; $turno->turno = 0; $turno->turnoReal = 0; $turno->tipoTurno = 1; $turno->estadoTurno = "SOLICITADO"; $turno->estado = "ACTIVO"; $turno->reserva = "A"; $turno->fechaReserva = $fecha; $turno->horaReserva = $data['horaReserva']; $horaInicial = $data['horaReserva']; for ($j = 0; $j < $data["cupos"]; $j++) { $segundos_horaInicial = strtotime($horaInicial); $segundos_minutoAnadir = $minutosServicio->minutos * 60; $nuevaHora = date("H:i", $segundos_horaInicial + $segundos_minutoAnadir); $horaInicial = $nuevaHora; } $turno->horaFinalReserva = $nuevaHora; $turno->save(); $fecha = $fechaReservaFinal; $respuesta = json_encode(array('msg' => "Su turno ha sido asignado satisfactoriamente.", "std" => 1, 'idTurno' => $turno->id)); $response = $response->withStatus(200); } catch (Exception $err) { $respuesta = json_encode(array('msg' => "error al pedir el turno", "std" => 0, "err" => $err->getMessage())); $response = $response->withStatus(404); } } $response->getBody()->write($respuesta); return $response; }