From d52cd1dc00683b2d402efca4a1a4b5074476db13 Mon Sep 17 00:00:00 2001 From: Happy Days!!! <36199346+rosema2012@users.noreply.github.com> Date: Tue, 14 Jan 2025 12:25:08 +0100 Subject: [PATCH] traducciones 176 popup --- .../core/service/IStudentBootcampService.java | 2 + .../calendar-attendance.component.css | 6 +++ .../calendar-attendance.component.html | 2 + .../calendar-attendance.component.ts | 42 +++++++++------- .../model/core/dao/StudentBootcampDao.java | 2 + .../core/service/StudentBootcampService.java | 7 +++ .../main/resources/dao/StudentBootcampDao.xml | 48 +++++++++++++++++++ .../core/rest/StudentBootcampController.java | 24 ++++++++++ 8 files changed, 116 insertions(+), 17 deletions(-) diff --git a/cd2024bfs4g1-api/src/main/java/com/campusdual/cd2024bfs4g1/api/core/service/IStudentBootcampService.java b/cd2024bfs4g1-api/src/main/java/com/campusdual/cd2024bfs4g1/api/core/service/IStudentBootcampService.java index aa0e3108d..ae10d1c0d 100644 --- a/cd2024bfs4g1-api/src/main/java/com/campusdual/cd2024bfs4g1/api/core/service/IStudentBootcampService.java +++ b/cd2024bfs4g1-api/src/main/java/com/campusdual/cd2024bfs4g1/api/core/service/IStudentBootcampService.java @@ -22,4 +22,6 @@ public interface IStudentBootcampService { EntityResult studentBootcampUpdate(Map attrMap, Map keyMap) throws OntimizeJEERuntimeException; AdvancedEntityResult studentsWithBootcampPaginationQuery(final Map keyMap, final List attrList, final int recordNumber, final int startIndex, final List orderBy) throws OntimizeJEERuntimeException; + EntityResult studentsWithComputableQuery(Map keysValues, List attributes); + } \ No newline at end of file diff --git a/cd2024bfs4g1-frontend/src/main/ngx/src/app/main/data/personal-tutor-info/calendar-attendance/calendar-attendance.component.css b/cd2024bfs4g1-frontend/src/main/ngx/src/app/main/data/personal-tutor-info/calendar-attendance/calendar-attendance.component.css index 523edd62f..a97c67742 100644 --- a/cd2024bfs4g1-frontend/src/main/ngx/src/app/main/data/personal-tutor-info/calendar-attendance/calendar-attendance.component.css +++ b/cd2024bfs4g1-frontend/src/main/ngx/src/app/main/data/personal-tutor-info/calendar-attendance/calendar-attendance.component.css @@ -5,6 +5,12 @@ gap:20px; } +.no-computable { + background-color: rgb(255, 108, 108); + color: white; +} + + .calendar-timestamps-container { display: flex; flex-direction: row; diff --git a/cd2024bfs4g1-frontend/src/main/ngx/src/app/main/data/personal-tutor-info/calendar-attendance/calendar-attendance.component.html b/cd2024bfs4g1-frontend/src/main/ngx/src/app/main/data/personal-tutor-info/calendar-attendance/calendar-attendance.component.html index 63c4acdf8..a50a48602 100644 --- a/cd2024bfs4g1-frontend/src/main/ngx/src/app/main/data/personal-tutor-info/calendar-attendance/calendar-attendance.component.html +++ b/cd2024bfs4g1-frontend/src/main/ngx/src/app/main/data/personal-tutor-info/calendar-attendance/calendar-attendance.component.html @@ -81,6 +81,8 @@

{{'Registrar Asistencia' | *ngFor="let student of students" class="student_row days" [ngStyle]="{'grid-template-columns': updateDayGridColumns()}" + [ngClass]="{'no-computable': !student.isComputable}" + >
{{ student.name }} {{ student.surname1 }} {{ student.surname2 }} diff --git a/cd2024bfs4g1-frontend/src/main/ngx/src/app/main/data/personal-tutor-info/calendar-attendance/calendar-attendance.component.ts b/cd2024bfs4g1-frontend/src/main/ngx/src/app/main/data/personal-tutor-info/calendar-attendance/calendar-attendance.component.ts index bd1c8d80d..7387b5007 100644 --- a/cd2024bfs4g1-frontend/src/main/ngx/src/app/main/data/personal-tutor-info/calendar-attendance/calendar-attendance.component.ts +++ b/cd2024bfs4g1-frontend/src/main/ngx/src/app/main/data/personal-tutor-info/calendar-attendance/calendar-attendance.component.ts @@ -22,6 +22,7 @@ interface Student { start_date: Date; end_date: Date; status: string; + } interface AttendanceStatus { @@ -133,24 +134,31 @@ export class CalendarAttendanceComponent { } getStudents() { if (this.service && this.bootcampId) { - const columns = ['student_id', 'name', 'surname1', 'surname2']; - - const filter = { - 'bootcamp_id': this.bootcampId - } - this.service.query(filter, columns, 'studentsWithBootcamp').subscribe(resp => { - if (resp.code === 0) { - if (resp.data.length > 0) { - this.students = resp.data; - } else { - this.students = []; - } - } else { - this.snackBarService.open('Error al cargar los datos de los estudiantes.'); - } - }); + const columns = ['student_id', 'name', 'surname1', 'surname2', 'computable']; + const filter = { 'bootcamp_id': this.bootcampId }; + + this.service.query(filter, columns, 'studentsWithComputable').subscribe(resp => { + if (resp.code === 0) { + if (resp.data.length > 0) { + console.log('Respuesta con computable:', resp.data); + + this.students = resp.data.map((stu: any) => { + return { + ...stu, + isComputable: stu.computable + }; + }); + } else { + this.students = []; + } + } else { + this.snackBarService.open('Error al cargar los datos de los estudiantes.'); + } + }); } - } +} + + loadAttendanceStatus(): void { this.configureAttendanceStatus(); diff --git a/cd2024bfs4g1-model/src/main/java/com/campusdual/cd2024bfs4g1/model/core/dao/StudentBootcampDao.java b/cd2024bfs4g1-model/src/main/java/com/campusdual/cd2024bfs4g1/model/core/dao/StudentBootcampDao.java index 8ec02a407..62e20ae9b 100644 --- a/cd2024bfs4g1-model/src/main/java/com/campusdual/cd2024bfs4g1/model/core/dao/StudentBootcampDao.java +++ b/cd2024bfs4g1-model/src/main/java/com/campusdual/cd2024bfs4g1/model/core/dao/StudentBootcampDao.java @@ -18,5 +18,7 @@ public class StudentBootcampDao extends OntimizeJdbcDaoSupport { public static final String END_DATE = "end_date"; public static final String SB_START_DATE = "sb_start_date"; public static final String SB_END_DATE = "sb_end_date"; + public static final String QUERY_STUDENTS_WITH_COMPUTABLE = "studentsWithComputable"; + } \ No newline at end of file diff --git a/cd2024bfs4g1-model/src/main/java/com/campusdual/cd2024bfs4g1/model/core/service/StudentBootcampService.java b/cd2024bfs4g1-model/src/main/java/com/campusdual/cd2024bfs4g1/model/core/service/StudentBootcampService.java index c4559687a..6f5ac43f9 100644 --- a/cd2024bfs4g1-model/src/main/java/com/campusdual/cd2024bfs4g1/model/core/service/StudentBootcampService.java +++ b/cd2024bfs4g1-model/src/main/java/com/campusdual/cd2024bfs4g1/model/core/service/StudentBootcampService.java @@ -26,6 +26,11 @@ public class StudentBootcampService implements IStudentBootcampService { @Autowired private DefaultOntimizeDaoHelper daoHelper; + @Override + public EntityResult studentsWithComputableQuery(Map keysValues, List attributes) { + return this.daoHelper.query(this.studentBootcampDao, keysValues, attributes, StudentBootcampDao.QUERY_STUDENTS_WITH_COMPUTABLE); + } + @Override public EntityResult studentBootcampInsert(Map attrMap) throws OntimizeJEERuntimeException { @@ -45,6 +50,8 @@ public EntityResult studentBootcampInsert(Map attrMap) throws On } } + + @Override public EntityResult studentsWithBootcampDelete(Map keyMap) throws OntimizeJEERuntimeException { return this.daoHelper.delete(this.studentBootcampDao, keyMap); diff --git a/cd2024bfs4g1-model/src/main/resources/dao/StudentBootcampDao.xml b/cd2024bfs4g1-model/src/main/resources/dao/StudentBootcampDao.xml index db5148ded..4ab3b1eca 100644 --- a/cd2024bfs4g1-model/src/main/resources/dao/StudentBootcampDao.xml +++ b/cd2024bfs4g1-model/src/main/resources/dao/StudentBootcampDao.xml @@ -27,6 +27,8 @@ + + @@ -49,5 +51,51 @@ ]]> + + + + + + + + + + + + + + + + + + + + + diff --git a/cd2024bfs4g1-ws/src/main/java/com/campusdual/cd2024bfs4g1/ws/core/rest/StudentBootcampController.java b/cd2024bfs4g1-ws/src/main/java/com/campusdual/cd2024bfs4g1/ws/core/rest/StudentBootcampController.java index 1a6ef28a1..d9f2a5dc6 100644 --- a/cd2024bfs4g1-ws/src/main/java/com/campusdual/cd2024bfs4g1/ws/core/rest/StudentBootcampController.java +++ b/cd2024bfs4g1-ws/src/main/java/com/campusdual/cd2024bfs4g1/ws/core/rest/StudentBootcampController.java @@ -1,13 +1,22 @@ package com.campusdual.cd2024bfs4g1.ws.core.rest; import com.campusdual.cd2024bfs4g1.api.core.service.IStudentBootcampService; +import com.campusdual.cd2024bfs4g1.model.core.service.StudentBootcampService; +import com.ontimize.jee.common.dto.EntityResult; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.ontimize.jee.server.rest.ORestController; +import java.util.List; +import java.util.Map; + @RestController @RequestMapping("/studentbootcamp") public class StudentBootcampController extends ORestController{ @@ -20,4 +29,19 @@ public IStudentBootcampService getService() { return this.studentBootcampSrv; } + @Autowired + private IStudentBootcampService studentBootcampService; + + + @PostMapping("/with-computable") + public ResponseEntity getStudentsWithComputable(@RequestBody Map filter) { + try { + List columns = List.of("student_id", "name", "surname1", "surname2", "computable"); + EntityResult result = studentBootcampService.studentsWithComputableQuery(filter, columns); + return ResponseEntity.ok(result); + } catch (Exception e) { + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(e.getMessage()); + } + } + }