Browse Source

conditional rendering, change in ACADEMIC REGISTRATION controller

FREDY 2 months ago
parent
commit
6582f08ff7

+ 232 - 84
Back/backendP-Educativa/app/Http/Controllers/Api/RegistroAcademico.php

@@ -23,19 +23,21 @@ class RegistroAcademico extends Controller
     }
 }
 
-  public function registroAca(Request $request)
+public function registroAca(Request $request)
 {
     $message = '';
     $status = 0;
 
     try {
+        DB::beginTransaction();
 
+        // Guardar personas autorizadas como JSON
         $personasJson = json_encode($request->personasAutorizadas ?? []);
 
-        // Insertar en registroacademico incluyendo personasAutorizadas como JSON
-        $idRegistro = DB::table('registroacademico')->insertGetId([
+        // Armar el array con TODOS los campos que vas a insertar
+        $data = [
             'idEscuela' => 'COLEGIOABC',
-            'idAlumno' => $request->idAlumno,
+            'idAlumno' => $request->idAlumno ?? '',
             'FiDI_Nombre1' => $request->primerNombre ?? '',
             'FiDI_Nombre2' => $request->segundoNombre ?? null,
             'FiDI_ApellidoPaterno' => $request->apellidoPaterno ?? '',
@@ -92,112 +94,258 @@ class RegistroAcademico extends Controller
             'FiDI_MadTelTrabajoExt' => $request->madreExtension ?? '',
             'FiDI_MadCelular' => $request->madreCelular ?? '',
             'FiDI_MadCorreo' => $request->madreCorreo ?? '',
-
+            // Autorizaciones
             'FiDI_RetirarseSolo' => $request->AutorizarAlum ?? 'No',
             'FiDI_RecogerMadre' => $request->MadreFam ?? 'No',
             'FiDI_RecogerPadre' => $request->PadreFam ?? 'No',
-
-            // Guardar personas autorizadas como JSON
+            // personas autorizadas (EXCLUIDO de la validación)
             'personasAutorizadas' => $personasJson,
-  // Padecimientos
-                'CedA_TipoSangre' => $request->tipoSangre ?? '',
-                'CedA_AlergiaAspirina' => $request->aspirina ?? '',
-                'CedA_AlergiaPenicilina' => $request->penicilina ?? '',
-                'CedA_AlergiaOtro' => $request->otrosMedicamentos ?? '',
-                'CedA_PadPaperas' => $request->paperas ?? '',
-                'CedA_PadSarampio' => $request->sarampion ?? '',
-                'CedA_PadRubeola' => $request->rubeola ?? '',
-                'CedA_PadEscarlatina' => $request->escarlatina ?? '',
-                'CedA_PadTosferina' => $request->tosferina ?? '',
-                'CedA_PadTifoidea' => $request->tifoidea ?? '',
-                'CedA_PadHepatitis' => $request->hepatitis ?? '',
-                'CedA_PadVaricela' => $request->varicela ?? '',
-                'CedA_PadBronquitis' => $request->bronquitis ?? '',
-                'CedA_PadApendicitis' => $request->apendicitis ?? '',
-                'CedA_PadMeningitis' => $request->meninguitis ?? '',
-                'CedA_PadDesmayos' => $request->desmayos ?? '',
-                'CedA_PadCovid19' => $request->covid ?? '',
-                'CedA_PadGarganta' => $request->garganta ?? '',
-                'CedA_PadEstomago' => $request->estomago ?? '',
-                'CedA_PadCatarro' => $request->catarro ?? '',
-                'CedA_PadDiarrea' => $request->diarrea ?? '',
-                'CedA_PadDolorCabeza' => $request->dolorCabeza ?? '',
-                'CedA_PadFiebreAlta' => $request->fiebreAlta ?? '',
-                'CedA_PadComezon' => $request->comezonFrecuente ?? '',
-                'CedA_PadMareos' => $request->mareos ?? '',
-                'CedA_DiabeticoPrecauciones' => $request->diabetes ?? '',
-                'CedA_AsmaticoPrecauciones' => $request->asmatico ?? '',
-                'CedA_EpilepticoPrecauciones' => $request->epileptico ?? '',
-                'CedA_EnfermedadEnPiel' => $request->enfermedadPiel ?? '',
+            // Padecimientos
+            'CedA_TipoSangre' => $request->tipoSangre ?? '',
+            'CedA_AlergiaAspirina' => $request->aspirina ?? '',
+            'CedA_AlergiaPenicilina' => $request->penicilina ?? '',
+            'CedA_AlergiaOtro' => $request->otrosMedicamentos ?? '',
+            'CedA_PadPaperas' => $request->paperas ?? '',
+            'CedA_PadSarampio' => $request->sarampion ?? '',
+            'CedA_PadRubeola' => $request->rubeola ?? '',
+            'CedA_PadEscarlatina' => $request->escarlatina ?? '',
+            'CedA_PadTosferina' => $request->tosferina ?? '',
+            'CedA_PadTifoidea' => $request->tifoidea ?? '',
+            'CedA_PadHepatitis' => $request->hepatitis ?? '',
+            'CedA_PadVaricela' => $request->varicela ?? '',
+            'CedA_PadBronquitis' => $request->bronquitis ?? '',
+            'CedA_PadApendicitis' => $request->apendicitis ?? '',
+            'CedA_PadMeningitis' => $request->meninguitis ?? '',
+            'CedA_PadDesmayos' => $request->desmayos ?? '',
+            'CedA_PadCovid19' => $request->covid ?? '',
+            'CedA_PadGarganta' => $request->garganta ?? '',
+            'CedA_PadEstomago' => $request->estomago ?? '',
+            'CedA_PadCatarro' => $request->catarro ?? '',
+            'CedA_PadDiarrea' => $request->diarrea ?? '',
+            'CedA_PadDolorCabeza' => $request->dolorCabeza ?? '',
+            'CedA_PadFiebreAlta' => $request->fiebreAlta ?? '',
+            'CedA_PadComezon' => $request->comezonFrecuente ?? '',
+            'CedA_PadMareos' => $request->mareos ?? '',
+            'CedA_DiabeticoPrecauciones' => $request->diabetes ?? '',
+            'CedA_AsmaticoPrecauciones' => $request->asmatico ?? '',
+            'CedA_EpilepticoPrecauciones' => $request->epileptico ?? '',
+            'CedA_EnfermedadEnPiel' => $request->enfermedadPiel ?? '',
+            // Antecedentes
+            'CedA_ProbEmbarazo' => $request->problemasEmbarazo ?? '',
+            'CedA_ProbParto' => $request->problemasParto ?? '',
+            'CedA_PesoNacimiento' => $request->peso ?? '',
+            'CedA_AlturaNacimiento' => $request->talla1 ?? '',
+            'CedA_PesoActual' => $request->pesoActual ?? '',
+            'CedA_AlturaActual' => $request->tallaActual ?? '',
+            'CedA_EsfinteresDiurno' => $request->edad1 ?? '',
+            'CedA_EsfinteresNocturno' => $request->edad2 ?? '',
+            'CedA_Gateo' => $request->gateo ?? '',
+            'CedA_GateoEdad' => $request->edadGateo ?? '',
+            'CedA_EdadHablo' => $request->edadHablo ?? '',
+            'CedA_EdadCamino' => $request->edadCamino ?? '',
+            'CedA_EnfermedadesPadecidas' => $request->enfermedades ?? '',
+            'CedA_EnfermedadesAlergiasActuales' => $request->alergias ?? '',
+            'CedA_TratamientoMedicoActual' => $request->tratamientoMedico ?? '',
+            'CedA_UsaLentes' => $request->lentes ?? '',
+            'CedA_PiePlano' => $request->piePlano ?? '',
+            'CedA_Ortopedico' => $request->zapatoOrtopedico ?? '',
+            'CedA_ProbAprendizaje' => $request->problemasAprendizaje ?? '',
+            'CedA_RelPareja' => $request->relacionPareja ?? '',
+            'CedA_ProblemasFamiliares' => $request->problemasFamilia ?? '',
+            'CedA_HijoAfectado' => $request->afectacionProblemas ?? '',
+            'CedA_TratPsicologico' => $request->tratamientoPsicologico ?? '',
+            'CedA_LoQueDesagradaFamilia' => $request->desagradaFamilia ?? '',
+            'CedA_LoQueAgradaFamilia' => $request->agradaFamilia ?? '',
+            'CedA_HogarNoGustan' => $request->actividadDesagrada ?? '',
+            'CedA_HogarGustan' => $request->actividadAgrada ?? '',
+            'CedA_Defectos' => $request->defectos ?? '',
+            'CedA_Virtudes' => $request->virtudes ?? '',
+            'CedA_Futuro' => $request->futuro ?? '',
+            'CedA_Comentario' => $request->comentarios ?? '',
+            'usuarioRegistro' => $request->usuarioRegistro ?? '',
+        ];
 
-                // Antecedentes
-                'CedA_ProbEmbarazo' => $request->problemasEmbarazo ?? '',
-                'CedA_ProbParto' => $request->problemasParto ?? '',
-                'CedA_PesoNacimiento' => $request->peso ?? '',
-                'CedA_AlturaNacimiento' => $request->talla1 ?? '',
-                'CedA_PesoActual' => $request->pesoActual ?? '',
-                'CedA_AlturaActual' => $request->tallaActual ?? '',
-                'CedA_EsfinteresDiurno' => $request->edad1 ?? '',
-                'CedA_EsfinteresNocturno' => $request->edad2 ?? '',
-                'CedA_Gateo' => $request->gateo ?? '',
-                'CedA_GateoEdad' => $request->edadGateo ?? '',
-                'CedA_EdadHablo' => $request->edadHablo ?? '',
-                'CedA_EdadCamino' => $request->edadCamino ?? '',
-                'CedA_EnfermedadesPadecidas' => $request->enfermedades ?? '',
-                'CedA_EnfermedadesAlergiasActuales' => $request->alergias ?? '',
-                'CedA_TratamientoMedicoActual' => $request->tratamientoMedico ?? '',
-                'CedA_UsaLentes' => $request->lentes ?? '',
-                'CedA_PiePlano' => $request->piePlano ?? '',
-                'CedA_Ortopedico' => $request->zapatoOrtopedico ?? '',
-                'CedA_ProbAprendizaje' => $request->problemasAprendizaje ?? '',
-                'CedA_RelPareja' => $request->relacionPareja ?? '',
-                'CedA_ProblemasFamiliares' => $request->problemasFamilia ?? '',
-                'CedA_HijoAfectado' => $request->afectacionProblemas ?? '',
-                'CedA_TratPsicologico' => $request->tratamientoPsicologico ?? '',
-                'CedA_LoQueDesagradaFamilia' => $request->desagradaFamilia ?? '',
-                'CedA_LoQueAgradaFamilia' => $request->agradaFamilia ?? '',
-                'CedA_HogarNoGustan' => $request->actividadDesagrada ?? '',
-                'CedA_HogarGustan' => $request->actividadAgrada ?? '',
-                'CedA_Defectos' => $request->defectos ?? '',
-                'CedA_Virtudes' => $request->virtudes ?? '',
-                'CedA_Futuro' => $request->futuro ?? '',
-                'CedA_Comentario' => $request->comentarios ?? '',
+        // Validación automática: si alguna propiedad (excepto personasAutorizadas) está vacía => incompleto
+        $incompleto = false;
+        foreach ($data as $key => $val) {
+            if ($key === 'personasAutorizadas') continue;
+            if (is_null($val)) { $incompleto = true; break; }
+            if (is_string($val) && trim($val) === '') { $incompleto = true; break; }
+        }
 
+        $data['completado'] = $incompleto ? 0 : 1;
 
-            'usuarioRegistro' => $request->usuarioRegistro,
-        ]);
+        // Insert en un solo paso
+        $idRegistro = DB::table('registroacademico')->insertGetId($data);
+
+        DB::commit();
 
         $message = 'Registro exitoso';
         $status = 200;
     } catch (\Exception $e) {
+        DB::rollBack();
         $message = $e->getMessage();
         $status = 500;
     }
 
-    return response()->json(['mensaje' => $message], $status);
+    return response()->json(['mensaje' => $message, 'completado' => $data['completado']], $status);
 }
 
 
 
-public function ActualizarRegistroAca(Request $request, $id){
+public function ActualizarRegistroAca(Request $request, $id)
+{
     $id = base64_decode($id);
     $message = '';
     $status = 0;
     $usuario = $request->usuario ?? 'sistema';
 
     try {
+        DB::beginTransaction();
+
+        // Obtener registro existente
         $registroExistente = DB::table('registroacademico')
             ->where('idEscuela', 'COLEGIOABC')
             ->where('idAlumno', $id)
             ->first();
 
-        $personasExistentes = json_decode($registroExistente->personasAutorizadas, true) ?? [];
-        $nuevasPersonas = $request->personasAutorizadas ?? [];
+        if (!$registroExistente) {
+            return response()->json(['mensaje' => 'Registro no encontrado'], 404);
+        }
+
+        // Manejo de personas autorizadas (opcional)
+        $personasAutorizadas = $registroExistente->personasAutorizadas;
+        if (!empty($request->personasAutorizadas)) {
+            $personasExistentes = json_decode($registroExistente->personasAutorizadas, true) ?? [];
+            $personasAutorizadas = json_encode(array_merge($personasExistentes, $request->personasAutorizadas));
+        }
 
-        $personasAutorizadas = array_merge($personasExistentes, $nuevasPersonas);
-        $personasJson = json_encode($personasAutorizadas);
+        // Campos obligatorios (todos menos personasAutorizadas)
+        $camposObligatorios = [
+            $request->primerNombre ?? '',
+            $request->segundoNombre ?? '',
+            $request->apellidoPaterno ?? '',
+            $request->apellidoMaterno ?? '',
+            $request->curp ?? '',
+            $request->sexo ?? '',
+            $request->edad ?? '',
+            $request->ciudadNacimiento ?? '',
+            $request->estado ?? '',
+            $request->diaNacimiento ?? '',
+            $request->mesNacimiento ?? '',
+            $request->añoNacimiento ?? '',
+            $request->domicilio ?? '',
+            $request->telefonoCasa ?? '',
+            $request->institucionProcedencia ?? '',
+            $request->motivoCambio ?? '',
+            $request->padrePrimerNombre ?? '',
+            $request->padreSegundoNombre ?? '',
+            $request->padreApellidoPaterno ?? '',
+            $request->padreApellidoMaterno ?? '',
+            $request->padreCurp ?? '',
+            $request->padreNacionalidad ?? '',
+            $request->padreEstadoCivil ?? '',
+            $request->padreDiaNacimiento ?? '',
+            $request->padreMesNacimiento ?? '',
+            $request->padreAñoNacimiento ?? '',
+            $request->padreDomicilio ?? '',
+            $request->padreCPDomicilio ?? '',
+            $request->padreEscolaridad ?? '',
+            $request->padreOcupacion ?? '',
+            $request->padreLugarTrabajo ?? '',
+            $request->padreTelefonoTrabajo ?? '',
+            $request->padreExtension ?? '',
+            $request->padreCelular ?? '',
+            $request->padreCorreo ?? '',
+            $request->madrePrimerNombre ?? '',
+            $request->madreSegundoNombre ?? '',
+            $request->madreApellidoPaterno ?? '',
+            $request->madreApellidoMaterno ?? '',
+            $request->madreCurp ?? '',
+            $request->madreNacionalidad ?? '',
+            $request->madreEstadoCivil ?? '',
+            $request->madreDiaNacimiento ?? '',
+            $request->madreMesNacimiento ?? '',
+            $request->madreAñoNacimiento ?? '',
+            $request->madreDomicilio ?? '',
+            $request->madreCPDomicilio ?? '',
+            $request->madreEscolaridad ?? '',
+            $request->madreOcupacion ?? '',
+            $request->madreLugarTrabajo ?? '',
+            $request->madreTelefonoTrabajo ?? '',
+            $request->madreExtension ?? '',
+            $request->madreCelular ?? '',
+            $request->madreCorreo ?? '',
+            $request->AutorizarAlum ?? '',
+            $request->MadreFam ?? '',
+            $request->PadreFam ?? '',
+            // Aquí van todos los campos CedA_* y antecedentes
+            $request->tipoSangre ?? '',
+            $request->aspirina ?? '',
+            $request->penicilina ?? '',
+            $request->otrosMedicamentos ?? '',
+            $request->paperas ?? '',
+            $request->sarampion ?? '',
+            $request->rubeola ?? '',
+            $request->escarlatina ?? '',
+            $request->tosferina ?? '',
+            $request->tifoidea ?? '',
+            $request->hepatitis ?? '',
+            $request->varicela ?? '',
+            $request->bronquitis ?? '',
+            $request->apendicitis ?? '',
+            $request->meninguitis ?? '',
+            $request->desmayos ?? '',
+            $request->covid ?? '',
+            $request->garganta ?? '',
+            $request->estomago ?? '',
+            $request->catarro ?? '',
+            $request->diarrea ?? '',
+            $request->dolorCabeza ?? '',
+            $request->fiebreAlta ?? '',
+            $request->comezonFrecuente ?? '',
+            $request->mareos ?? '',
+            $request->diabetes ?? '',
+            $request->asmatico ?? '',
+            $request->epileptico ?? '',
+            $request->enfermedadPiel ?? '',
+            $request->problemasEmbarazo ?? '',
+            $request->problemasParto ?? '',
+            $request->peso ?? '',
+            $request->talla1 ?? '',
+            $request->pesoActual ?? '',
+            $request->tallaActual ?? '',
+            $request->edad1 ?? '',
+            $request->edad2 ?? '',
+            $request->gateo ?? '',
+            $request->edadGateo ?? '',
+            $request->edadHablo ?? '',
+            $request->edadCamino ?? '',
+            $request->enfermedades ?? '',
+            $request->alergias ?? '',
+            $request->tratamientoMedico ?? '',
+            $request->lentes ?? '',
+            $request->piePlano ?? '',
+            $request->zapatoOrtopedico ?? '',
+            $request->problemasAprendizaje ?? '',
+            $request->relacionPareja ?? '',
+            $request->problemasFamilia ?? '',
+            $request->afectacionProblemas ?? '',
+            $request->tratamientoPsicologico ?? '',
+            $request->desagradaFamilia ?? '',
+            $request->agradaFamilia ?? '',
+            $request->actividadDesagrada ?? '',
+            $request->actividadAgrada ?? '',
+            $request->defectos ?? '',
+            $request->virtudes ?? '',
+            $request->futuro ?? '',
+            $request->comentarios ?? '',
+        ];
 
-        $registro = DB::table('registroacademico')
+        $completado = collect($camposObligatorios)->every(fn($c) => !empty($c)) ? 1 : 0;
+
+        // Actualizar registro completo
+        DB::table('registroacademico')
             ->where('idEscuela', 'COLEGIOABC')
             ->where('idAlumno', $id)
             ->update([
@@ -255,11 +403,10 @@ public function ActualizarRegistroAca(Request $request, $id){
                 'FiDI_MadTelTrabajoExt' => $request->madreExtension ?? '',
                 'FiDI_MadCelular' => $request->madreCelular ?? '',
                 'FiDI_MadCorreo' => $request->madreCorreo ?? '',
-                'personasAutorizadas' => $personasJson,
                 'FiDI_RetirarseSolo' => $request->AutorizarAlum ?? 'No',
                 'FiDI_RecogerMadre' => $request->MadreFam ?? 'No',
                 'FiDI_RecogerPadre' => $request->PadreFam ?? 'No',
-                // ... campos de CedA_* y otros como en tu estructura actual ...
+                'personasAutorizadas' => $personasAutorizadas,
                 'CedA_TipoSangre' => $request->tipoSangre ?? '',
                 'CedA_AlergiaAspirina' => $request->aspirina ?? '',
                 'CedA_AlergiaPenicilina' => $request->penicilina ?? '',
@@ -289,8 +436,6 @@ public function ActualizarRegistroAca(Request $request, $id){
                 'CedA_AsmaticoPrecauciones' => $request->asmatico ?? '',
                 'CedA_EpilepticoPrecauciones' => $request->epileptico ?? '',
                 'CedA_EnfermedadEnPiel' => $request->enfermedadPiel ?? '',
-
-                // Antecedentes
                 'CedA_ProbEmbarazo' => $request->problemasEmbarazo ?? '',
                 'CedA_ProbParto' => $request->problemasParto ?? '',
                 'CedA_PesoNacimiento' => $request->peso ?? '',
@@ -322,21 +467,24 @@ public function ActualizarRegistroAca(Request $request, $id){
                 'CedA_Virtudes' => $request->virtudes ?? '',
                 'CedA_Futuro' => $request->futuro ?? '',
                 'CedA_Comentario' => $request->comentarios ?? '',
-            'usuarioRegistro' => $request->usuarioRegistro,
+                'completado' => $completado,
+                'usuarioRegistro' => $usuario,
             ]);
 
+        DB::commit();
         $message = 'Actualización exitosa';
         $status = 200;
 
     } catch (\Exception $e) {
+        DB::rollBack();
         $message = $e->getMessage();
         $status = 500;
     }
+
     return response()->json(['mensaje' => $message], $status);
 }
 
 
-
     public function getOneRegistro($id){
         $id = base64_decode($id);
         $registro = DB::table('registroacademico')

+ 22 - 14
Front/src/app/modules/Padres/pages/registroAlumno/registroAlumno.component.html

@@ -32,22 +32,30 @@
           </td>
         </ng-container>
 
-        <ng-container matColumnDef="RegistroAcademico">
-          <th mat-header-cell *matHeaderCellDef class="titulo-tabla" style="text-align:center;">Registro Academico</th>
-          <td mat-cell *matCellDef="let registro" style="text-align:center;">
-            <a class="a-none" (click)="nombre(registro.idUsuario, 'ac')">
+     <ng-container matColumnDef="RegistroAcademico">
+  <th mat-header-cell *matHeaderCellDef class="titulo-tabla" style="text-align:center;">
+    Registro Académico
+  </th>
+  <td mat-cell *matCellDef="let registro" style="text-align:center;">
+    <a class="a-none" (click)="nombre(registro.idUsuario, 'ac')">
 
-              <!-- |Incompleta            |Terminado   |Empezar
-              <!-- {{ errorEmpty.idAlumno === registro.idUsuario ? errorEmpty.error === true ? 'Ir al registro' : 'Completa' : 'Comenzar Registro' }} -->
-              <mat-icon style="color: green; vertical-align: middle; transform: scale(0.9);"
-                *ngIf="getRegistroStatus(registro.idUsuario)  ==='Completa'">check</mat-icon>
-              <mat-icon style="color: orange; vertical-align: middle; transform: scale(0.7);"
-                *ngIf="getRegistroStatus(registro.idUsuario)  !=='Completa'">edit</mat-icon>
-              {{ getRegistroStatus(registro.idUsuario) }}
+      <mat-icon
+        style="color: green; vertical-align: middle; transform: scale(0.9);"
+        *ngIf="isCompleted(registro.idUsuario)">
+        check
+      </mat-icon>
 
-            </a>
-          </td>
-        </ng-container>
+      <mat-icon
+        style="color: orange; vertical-align: middle; transform: scale(0.7);"
+        *ngIf="!isCompleted(registro.idUsuario)">
+        edit
+      </mat-icon>
+
+      {{ getStatus(registro.idUsuario) }}
+
+    </a>
+  </td>
+</ng-container>
 
         <ng-container matColumnDef="RegistroAdministrativo">
           <th mat-header-cell *matHeaderCellDef class="titulo-tabla" style="text-align:center;">Registro Administrativo

+ 33 - 11
Front/src/app/modules/Padres/pages/registroAlumno/registroAlumno.component.ts

@@ -39,7 +39,7 @@ export class registroAlumnoComponent implements OnInit {
   @ViewChild(MatPaginator) paginator!: MatPaginator;
 url1: string | null = '';
 url2: string | null = '';
-
+ public statusAlumnos: any[] = [];
   constructor(
     private _enviarInfo: EnviarInfoService,
     private paginator1: MatPaginatorIntl,
@@ -126,20 +126,32 @@ url2: string | null = '';
   }
 getAll() {
   this._registroService.getAll().subscribe((response: any) => {
-    this.errorEmpty = response.registro.map((student: any) => {
+    // Creamos un array de estados para cada alumno
+    this.statusAlumnos = response.registro.map((student: any) => {
       const tieneAlguno =
         (student.FiDI_PadNombre2 && student.FiDI_PadNombre2.trim() !== '') ||
         (student.FiDI_Nombre2 && student.FiDI_Nombre2.trim() !== '') ||
         (student.FiDI_MadNombre2 && student.FiDI_MadNombre2.trim() !== '');
 
+      // Definimos el estado según completado
+      let estado = 'Empezar Registro';
+      if (student.completado === 1) {
+        estado = 'Completa';
+      } else if (student.completado === 0) {
+        estado = 'Incompleta';
+      }
+
       return {
         idAlumno: student.idAlumno,
-        error: !tieneAlguno // error = true si NO tiene ninguno
+        error: !tieneAlguno,
+        completado: student.completado,
+        estado // Guardamos directamente el estado
       };
     });
-  });
-  console.log(this._registroService);
 
+    // Actualizamos la dataSource de la tabla si quieres usarla
+    this.dataSource.data = response.registro;
+  });
 }
 
 
@@ -154,14 +166,24 @@ getAll() {
       });
     });
   }
-  getRegistroStatus(idUsuario: string): string {
-    const registro = this.errorEmpty.find(item => item.idAlumno === idUsuario);
-    if (registro) {
-      return registro.error ? 'Ir al registro' : 'Completa';
-    }
-    return 'Comenzar Registro';
+getRegistroStatus(idUsuario: string): string {
+  const registro = this.errorEmpty.find(item => item.idAlumno === idUsuario);
+  if (registro) {
+    return registro.completado ? 'Completa' : 'Incompleta';
   }
+  return 'Empezar Registro';
+}
 
+getStatus(registroId: string): 'Completa' | 'Ir al registro' {
+  const alumno = this.statusAlumnos.find(al => al.idAlumno === registroId);
+  if (!alumno) return 'Ir al registro';
+  return alumno.completado === 1 ? 'Completa' : 'Ir al registro';
+}
+
+isCompleted(registroId: string): boolean {
+  const alumno = this.statusAlumnos.find(al => al.idAlumno === registroId);
+  return alumno?.completado === 1;
+}
   getRegistroAdStatus(idUsuario: string): string {
     const registro = this.errorEmptyAd.find(item => item.idAlumno === idUsuario);
     if (registro) {

+ 1 - 1
Front/src/environments/environments.ts

@@ -1,6 +1,6 @@
 export const environments = {
     // baseUrl:'http://192.168.200.2:8000/api'
     // baseUrl:'http://127.0.0.1:8000/api'
-    baseUrl:'https://app.plataforma-educativa.com.mx/back/public/api'
+    baseUrl:'https://dv.plataforma-educativa.com.mx/back/public/api'
 
 }