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;
 }
Example #2
0
 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;
 }
Example #3
0
 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;
 }
Example #5
0
 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;
 }