| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- <?php
- namespace App\Http\Controllers\Api;
- use App\Http\Controllers\Controller;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\DB;
- class GradoEducativoController extends Controller
- {
- public function findOne($id)
- {
- $grado = DB::table('grados')->where('nombreGrado', $id)->first();
- return response()->json($grado, 200);
- }
- public function mostrar()
- {
- $grado = DB::table('vista_grados_niveles')
- ->where('idEscuela', 'COLEGIOABC')
- ->orderBy('estado', 'asc')
- ->get();
- return response()->json($grado, 200);
- }
- public function gradosHabilitados()
- {
- $grado = DB::table('grados')
- ->where('idEscuela', 'COLEGIOABC')
- ->where('estado', 'Activo')
- ->get();
- return response()->json($grado, 200);
- }
- public function crear(Request $request)
- {
- try {
- DB::table('grados')->insert([
- 'idEscuela' => 'COLEGIOABC',
- 'idGrado' => $request->idGrado,
- 'estado' => 'Activo',
- 'nombreGrado' => $request->nombreGrado,
- 'idNivel' => $request->idNivel,
- 'idUsuario' => '',
- ]);
- return response()->json(['mensaje' => 'Grado 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 grado: ' . $e->getMessage()], 500);
- }
- }
- public function actualizar(Request $request)
- {
- try {
- DB::table('grados')
- ->updateOrInsert(
- ['nombreGrado' => $request->id],
- [
- 'idGrado' => $request->idGrado,
- 'nombreGrado' => $request->nombreGrado,
- 'idNivel' => $request->idNivel
- ]
- );
- // Verificar si existe la fila en la tabla 'grados'
- $exists = DB::table('usuarios')
- ->where('grado', $request->id)
- ->exists();
- // Verificar si existe la fila en la tabla 'boletas_periodos'
- $exists1 = DB::table('materias')
- ->where('idGradoGrupoRelacionado', $request->id)
- ->exists();
- // materias_profesores
- $exists2 = DB::table('materias_profesores')
- ->where('idGrupo', $request->id)
- ->exists();
- // Si la fila existe, hacer el update
- if ($exists) {
- DB::table('usuarios')
- ->where('grado', $request->id)
- ->update(['grado' => $request->nombreGrado]);
- }
- if ($exists1) {
- DB::table('materias')
- ->where('idGradoGrupoRelacionado', $request->id)
- ->update(['idGradoGrupoRelacionado' => $request->nombreGrado]);
- }
- if ($exists2) {
- DB::table('materias_profesores')
- ->where('idGrupo', $request->id)
- ->update(['idGrupo' => $request->nombreGrado]);
- }
- return response()->json(['mensaje' => 'Grado actualizado exitosamente'], 201);
- } catch (\Exception $e) {
- return response()->json(['mensaje' => 'Error al actualizar el grado: ' . $e->getMessage()], 500);
- }
- }
- public function eliminar($id)
- {
- try {
- // Verificar si existe la fila en la tabla 'grados'
- $existsInUsers = DB::table('usuarios')
- ->where('grado', $id)
- ->where('estatus', 'Activo')
- ->exists();
- // Verificar si existe la fila en la tabla 'boletas_periodos'
- $existsInMaterias = DB::table('materias')
- ->where('idGradoGrupoRelacionado', $id)
- ->where('estado', 'Activo')
- ->exists();
- // materias_profesores
- $existsInMateriasProfesores = DB::table('materias_profesores')
- ->where('idGrupo', $id)
- ->count();
- if ($existsInUsers || $existsInMaterias || $existsInMateriasProfesores>0) {
- return response()->json(['mensaje' => 'No se puede eliminar el grado porque está asociado a otros registros.'], 400);
- }
- DB::table('grados')
- ->updateOrInsert(
- ['nombreGrado' => $id],
- ['estado' => 'Eliminado']
- );
- return response()->json(['mensaje' => 'Grado eliminado exitosamente'], 201);
- } catch (\Exception $e) {
- return response()->json(['mensaje' => 'Error al eliminar el grado: ' . $e->getMessage()], 500);
- }
- }
- public function habilitar($id)
- {
-
- try {
- $grado = DB::table('grados')->where('nombreGrado', $id)->first();
- $existsInGrados = DB::table('niveles')
- ->where('idNivel', $grado->idNivel)
- ->where('estado', 'Eliminado')
- ->exists();
- if ($existsInGrados) {
- return response()->json(['mensaje' => 'No se puede habilitar el nivel'], 400);
- }
-
- DB::table('grados')
- ->updateOrInsert(
- ['nombreGrado' => $id],
- ['estado' => 'Activo']
- );
- return response()->json(['mensaje' => 'Grado eliminado exitosamente'], 201);
- } catch (\Exception $e) {
- //throw $th;
- return response()->json(['mensaje' => 'Error al eliminar el grado: ' . $e->getMessage()], 500);
- }
- }
- }
|