| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- <?php
- namespace App\Http\Controllers\Api;
- use App\Http\Controllers\Controller;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\DB;
- class NivelEducativoController extends Controller
- {
- public function findOne($id)
- {
- $id = base64_decode($id);
- $nivel = DB::table('niveles')->where('idNivel', $id)->first();
- return response()->json($nivel, 200);
- }
- public function mostrar()
- {
- $nivel = DB::table('niveles')
- ->where('idEscuela', 'COLEGIOABC')
- ->orderBy('estado', 'asc')
- ->get();
- return response()->json($nivel, 200);
- }
- public function nivelesHabilitados()
- {
- $nivel = DB::table('niveles')
- ->where('idEscuela', 'COLEGIOABC')
- ->where('estado', 'Activo')
- ->get();
- return response()->json($nivel, 200);
- }
- public function crear(Request $request)
- {
- try {
- DB::table('niveles')->insert([
- 'idEscuela' => 'COLEGIOABC',
- 'idNivel' => $request->idNivel,
- 'estado' => 'Activo',
- 'nombreNivel' => $request->nombreNivel,
- 'idUsuario' => '',
- ]);
- return response()->json(['mensaje' => 'Nivel creado exitosamente'], 201);
- } catch (\Exception $e) {
- if ($e instanceof \PDOException && $e->errorInfo[1] == 1062) {
- return response()->json(['mensaje' => 'Este grado ya ha sido registrado'], 500);
- }
- return response()->json(['mensaje' => 'Error al crear el nivel: ' . $e->getMessage()], 500);
- }
- }
- public function actualizar(Request $request)
- {
- try {
- DB::table('niveles')
- ->updateOrInsert(
- ['idNivel' => $request->id],
- ['idNivel' => $request->idNivel, 'nombreNivel' => $request->nombreNivel]
- );
- // Verificar si existe la fila en la tabla 'grados'
- $exists = DB::table('grados')
- ->where('idNivel', $request->id)
- ->exists();
- // Verificar si existe la fila en la tabla 'boletas_periodos'
- $exists1 = DB::table('boletas_periodos')
- ->where('idNivel', $request->id)
- ->exists();
- // Si la fila existe, hacer el update
- if ($exists) {
- DB::table('grados')
- ->where('idNivel', $request->id)
- ->update(['idNivel' => $request->idNivel]);
- }
- // Si la fila existe, hacer el update
- if ($exists1) {
- DB::table('boletas_periodos')
- ->where('idNivel', $request->id)
- ->update(['idNivel' => $request->idNivel]);
- }
- return response()->json(['mensaje' => 'Nivel actualizado exitosamente'], 201);
- } catch (\Exception $e) {
- return response()->json(['mensaje' => 'Error al actualizar el nivel: ' . $e->getMessage()], 500);
- }
- }
- public function eliminar($id)
- {
- $id = base64_decode($id);
- try {
- // Verificar si existe la fila en la tabla 'grados'
- $existsInGrados = DB::table('grados')
- ->where('idNivel', $id)
- ->where('estado', 'Activo')
- ->exists();
- // Verificar si existe la fila en la tabla 'boletas_periodos'
- $existsInBoletasPeriodos = DB::table('boletas_periodos')
- ->where('idNivel', $id)
- ->where('estado', 'Activo')
- ->exists();
- // Si la fila existe en alguna de las tablas, devolver un mensaje de error
- if ($existsInGrados || $existsInBoletasPeriodos) {
- return response()->json(['mensaje' => 'No se puede eliminar el nivel porque está asociado a otros registros.'], 400);
- }
- // Si no existe en otras tablas, actualizar el estado en la tabla 'niveles'
- DB::table('niveles')
- ->updateOrInsert(
- ['idNivel' => $id],
- ['estado' => 'Eliminado']
- );
- return response()->json(['mensaje' => 'Nivel eliminado exitosamente'], 200);
- } catch (\Exception $e) {
- return response()->json(['mensaje' => 'Error al eliminar el nivel: ' . $e->getMessage()], 500);
- }
- }
- public function habilitar($id)
- {
- $id = base64_decode($id);
- try {
- //code...
- DB::table('niveles')
- ->updateOrInsert(
- ['idNivel' => $id],
- ['estado' => 'Activo']
- );
- return response()->json(['mensaje' => 'Nivel eliminado exitosamente'], 201);
- } catch (\Exception $e) {
- //throw $th;
- return response()->json(['mensaje' => 'Error al eliminar el nivel: ' . $e->getMessage()], 500);
- }
- }
- }
|