Se realiza modificaciones en el UzyTavResponsableProgMapper y se agrega un…

Se realiza modificaciones en el UzyTavResponsableProgMapper y se agrega un servicio en ServiceUzyTavResponsableProg
parent 2dd0ecd4
......@@ -26,6 +26,12 @@ public class UzyTavResponsableProgController {
return serviceUzyTavResponsableProg.ListarPorID(id);
}
@GetMapping("/obtenerRegistrosPorUsuarioIDandProyectID/{iddocente}/{uzytavproyec_id}")
public List<DtoUzyTavResponsableProg> obtenerRegistrosPorUsuarioIDandProyectID(@PathVariable Long iddocente,
@PathVariable Long uzytavproyec_id) {
return serviceUzyTavResponsableProg.obtenerRegistrosPorUsuarioIDandProyectID(iddocente,uzytavproyec_id );
}
@GetMapping("/getAll")
public List<DtoUzyTavResponsableProg> ListarRegistros() {
return serviceUzyTavResponsableProg.ListarRegistros();
......
......@@ -2,9 +2,19 @@ package ec.edu.espe.movilidad.MovilidadWS.Dao;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavResponsableProg;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface DaoUzyTavResponsableProg extends JpaRepository<ModelUzyTavResponsableProg, Long> {
@Query("SELECT rp FROM ModelUzyTavResponsableProg rp " +
"JOIN rp.iddocente u" +
" JOIN rp.uzytavproyec p" +
" WHERE u.uzytusuario_id = :iddocente " +
"AND p.uzytavproyec_id = :uzytavproyec_id")
List<ModelUzyTavResponsableProg> obtenerRegistrosPorUsuarioIDandProyectID (@Param("iddocente") Long iddocente, @Param("uzytavproyec_id") Long uzytavproyec_id);
}
\ No newline at end of file
package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavResponsableProg;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTUsuario;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavResponsableProg;
import org.modelmapper.ModelMapper;
import org.modelmapper.PropertyMap;
import org.springframework.stereotype.Component;
import javax.persistence.EntityManager;
import java.util.List;
import java.util.stream.Collectors;
@Component
public class UzyTavResponsableProgMapper {
private final ModelMapper modelMapper;
private final EntityManager entityManager;
public UzyTavResponsableProgMapper(ModelMapper modelMapper) {
public UzyTavResponsableProgMapper(ModelMapper modelMapper, EntityManager entityManager) {
this.modelMapper = modelMapper;
this.entityManager = entityManager;
configureMappings();
}
public DtoUzyTavResponsableProg entityToDto(ModelUzyTavResponsableProg entity) {
......@@ -21,11 +27,27 @@ public class UzyTavResponsableProgMapper {
}
public ModelUzyTavResponsableProg dtoToEntity(DtoUzyTavResponsableProg dto) {
return modelMapper.map(dto, ModelUzyTavResponsableProg.class);
ModelUzyTavResponsableProg entity = modelMapper.map(dto, ModelUzyTavResponsableProg.class);
Long usuarioID = dto.getUzytusuario_id_docente();
if (usuarioID != null) {
ModelUzyTUsuario usuario = entityManager.find(ModelUzyTUsuario.class, usuarioID);
entity.setIddocente(usuario);
}
return entity;
}
public List<DtoUzyTavResponsableProg> entitiesToDtos(List<ModelUzyTavResponsableProg> entities) {
return entities.stream()
.map(this::entityToDto)
.collect(Collectors.toList());
}
private void configureMappings() {
modelMapper.addMappings(new PropertyMap<ModelUzyTavResponsableProg, DtoUzyTavResponsableProg>() {
@Override
protected void configure() {
map().setUzytusuario_id_docente(source.getIddocente().getUzytusuario_id());
}
});
}
}
......@@ -2,11 +2,14 @@ package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavResponsableProg;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavResponsableProg;
import java.util.List;
public interface IServiceUzyTavResponsableProg {
DtoUzyTavResponsableProg ListarPorID(Long id);
List<DtoUzyTavResponsableProg> obtenerRegistrosPorUsuarioIDandProyectID (Long iddocente,Long uzytavproyec_id);
List<DtoUzyTavResponsableProg> ListarRegistros();
......
......@@ -35,6 +35,16 @@ public class ServiceUzyTavResponsableProg implements IServiceUzyTavResponsablePr
}
}
@Override
public List<DtoUzyTavResponsableProg> obtenerRegistrosPorUsuarioIDandProyectID(Long iddocente, Long uzytavproyec_id) {
try {
List<ModelUzyTavResponsableProg> entities = daoUzyTavResponsableProg.obtenerRegistrosPorUsuarioIDandProyectID(iddocente,uzytavproyec_id );
return mapper.entitiesToDtos(entities);
} catch (Exception ex) {
throw new RuntimeException("Error al listar los registros: " + ex.getMessage());
}
}
@Override
public List<DtoUzyTavResponsableProg> ListarRegistros() {
try {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment