|
|
@@ -24,6 +24,15 @@ class TareasController extends Controller
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public function getAllTareas(){
|
|
|
+ $tareas = DB::table('tareas')
|
|
|
+ ->where('idEscuela', 'COlEGIOABC')
|
|
|
+ ->orderBy('fechaPublicacion', 'desc')
|
|
|
+ ->get();
|
|
|
+
|
|
|
+ return response()->json($tareas);
|
|
|
+ }
|
|
|
+
|
|
|
public function crear(Request $request)
|
|
|
{
|
|
|
|
|
|
@@ -33,7 +42,7 @@ class TareasController extends Controller
|
|
|
$carpetaPeriodo = $periodoService->obtenerPeriodoActivoNombre();
|
|
|
|
|
|
$rutaBucket = 'circulares/';
|
|
|
-
|
|
|
+
|
|
|
try {
|
|
|
// Procesar adjuntoTarea (por si mandas archivos en base64 como en circulares)
|
|
|
$adjuntos = [];
|
|
|
@@ -75,7 +84,7 @@ class TareasController extends Controller
|
|
|
|
|
|
// Insertar tarea en la base de datos
|
|
|
DB::table('tareas')->insert([
|
|
|
- 'idEscuela' => $request->idEscuela,
|
|
|
+ 'idEscuela' => 'COlEGIOABC',
|
|
|
'idMateriaTarea' => $request->idMateriaTarea,
|
|
|
'idTipoTarea' => $request->idTipoTarea,
|
|
|
'tituloTarea' => $request->tituloTarea,
|
|
|
@@ -84,7 +93,7 @@ class TareasController extends Controller
|
|
|
'adjuntoTarea' => json_encode($adjuntos),
|
|
|
'fechaPublicacion' => $request->fechaPublicacion,
|
|
|
'fechaEntrega' => $request->fechaEntrega,
|
|
|
- 'estado' => $request->estado,
|
|
|
+ 'estado' => 'Completa',
|
|
|
// estos por default en 'No' si no vienen en la request
|
|
|
'entregaDigital' => $request->entregaDigital ?? 'No',
|
|
|
'calificacion' => $request->calificacion ?? 'No',
|
|
|
@@ -102,5 +111,53 @@ class TareasController extends Controller
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public function obtenerAlumnosPorMateria($idMateria)
|
|
|
+ {
|
|
|
+ // Primero obtenemos el grado o grupo relacionado con la materia
|
|
|
+ $materia = DB::table('vista_materias_grados_grupos')
|
|
|
+ ->where('idMateria', $idMateria)
|
|
|
+ ->first();
|
|
|
+
|
|
|
+ if (!$materia) {
|
|
|
+ return collect(); // Si no existe la materia
|
|
|
+ }
|
|
|
+
|
|
|
+ $idRelacionado = $materia->idGradoGrupoRelacionado;
|
|
|
+
|
|
|
+ // --- Caso 1: Coincide con el grado del usuario ---
|
|
|
+ $alumnosPorGrado = DB::table('usuarios')
|
|
|
+ ->where('grado', $idRelacionado)
|
|
|
+ ->where('tipoUsuario', 'AL') // solo alumnos
|
|
|
+ ->where('estatus', 'Activo')
|
|
|
+ ->get();
|
|
|
+
|
|
|
+ // --- Caso 2: Coincide con un grupo ---
|
|
|
+ $alumnosPorGrupo = DB::table('usuarios')
|
|
|
+ ->join('grupos', 'usuarios.idUsuario', '=', 'grupos.idUsuario')
|
|
|
+ ->where('grupos.idGrupo', $idRelacionado)
|
|
|
+ ->where('usuarios.tipoUsuario', 'AL')
|
|
|
+ ->where('usuarios.estatus', 'Activo')
|
|
|
+ ->select('usuarios.*')
|
|
|
+ ->get();
|
|
|
+
|
|
|
+ // Unimos los resultados
|
|
|
+ return $alumnosPorGrado->merge($alumnosPorGrupo);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function asignarTareaUsuario(Request $request)
|
|
|
+ {
|
|
|
+
|
|
|
+ // Insertar con Query Builder
|
|
|
+ DB::table('tareas_usuarios_colegioabc')->insert([
|
|
|
+ 'idTarea' => $request->idTarea,
|
|
|
+ 'idUsuario' => $request->idUsuario,
|
|
|
+ ]);
|
|
|
+
|
|
|
+ return response()->json([
|
|
|
+ 'success' => true,
|
|
|
+ 'message' => 'Tarea asignada al usuario correctamente',
|
|
|
+ ], 201);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|