where('idNivel', $id)->first(); return response()->json($asistencia, 200); } public function mostrar() { $asistencia = DB::table('asistencia') ->select( 'asistencia.*', 'materias.nombreMateria as nombreMateria', DB::raw("CONCAT(COALESCE(usuarios.primerNombre, ''), ' ', COALESCE(usuarios.segundoNombre, ''), ' ', COALESCE(usuarios.apellidoPaterno, ''), ' ', COALESCE(usuarios.apellidoMaterno, '')) AS nombreCompleto") ) ->where('asistencia.idEscuela', 'COLEGIOABC') ->join('materias', 'asistencia.idMateria', '=', 'materias.idMateria') ->join('usuarios', 'asistencia.idUsuario', '=', 'usuarios.idUsuario') ->get(); return response()->json($asistencia, 200); } public function nivelesHabilitados() { $asistencia = DB::table('niveles') ->where('idEscuela', 'COLEGIOABC') ->where('estado', 'Activo') ->get(); return response()->json($asistencia, 200); } public function crear(Request $request) { try { DB::table('asistencia')->insert([ 'idEscuela' => 'COLEGIOABC', 'idMateria' => $request->idMateria, 'idFechaHora' => $request->idFechaHora, 'estado' => 'Borrador', 'version' => 1, 'versionActiva' => 'Si', 'listaAsistencia' => json_encode(json_decode($request->listaAsistencia)), 'tAlumnos' => $request->tAlumnos, 'tAsistencia' => 0, 'tFalta' => 0, 'tJustificada' => 0, 'idUsuario' => $request->idUsuario, 'ulActualizacion' => $request->ulActualizacion, ]); return response()->json([ 'mensaje' => 'Asistencia creada exitosamente', 'idLista' => DB::getPdo()->lastInsertId() ], 201); } catch (\Exception $e) { return response()->json(['mensaje' => 'Error al crear el asistencia: ' . $e->getMessage()], 500); } } public function actualizar(Request $request) { try { DB::table('asistencia') ->updateOrInsert( ['idAsistencia' => $request->idLista], [ 'listaAsistencia' => $request->listaAsistencia, 'tAsistencia' => $request->tAsistencia, 'tFalta' => $request->tFalta, 'tJustificada' => $request->tJustificada, 'estado' => $request->estado, ] ); return response()->json(['mensaje' => 'Registro actualizado exitosamente'], 201); } catch (\Exception $e) { return response()->json(['mensaje' => 'Error al actualizar el registro: ' . $e->getMessage()], 500); } } public function eliminar($id) { try { DB::table('asistencia') ->updateOrInsert( ['idAsistencia' => $id], ['estado' => 'Eliminada'] ); return response()->json(['mensaje' => 'Asistencia eliminada exitosamente'], 200); } catch (\Exception $e) { return response()->json(['mensaje' => 'Error al eliminar la asistencia: ' . $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 asistencia: ' . $e->getMessage()], 500); } } }