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 { ...@@ -26,6 +26,12 @@ public class UzyTavResponsableProgController {
return serviceUzyTavResponsableProg.ListarPorID(id); 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") @GetMapping("/getAll")
public List<DtoUzyTavResponsableProg> ListarRegistros() { public List<DtoUzyTavResponsableProg> ListarRegistros() {
return serviceUzyTavResponsableProg.ListarRegistros(); return serviceUzyTavResponsableProg.ListarRegistros();
......
...@@ -2,9 +2,19 @@ package ec.edu.espe.movilidad.MovilidadWS.Dao; ...@@ -2,9 +2,19 @@ package ec.edu.espe.movilidad.MovilidadWS.Dao;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavResponsableProg; import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavResponsableProg;
import org.springframework.data.jpa.repository.JpaRepository; 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 org.springframework.stereotype.Repository;
import java.util.List;
@Repository @Repository
public interface DaoUzyTavResponsableProg extends JpaRepository<ModelUzyTavResponsableProg, Long> { 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; package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavResponsableProg; 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 ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavResponsableProg;
import org.modelmapper.ModelMapper; import org.modelmapper.ModelMapper;
import org.modelmapper.PropertyMap;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.persistence.EntityManager;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Component @Component
public class UzyTavResponsableProgMapper { public class UzyTavResponsableProgMapper {
private final ModelMapper modelMapper; private final ModelMapper modelMapper;
private final EntityManager entityManager;
public UzyTavResponsableProgMapper(ModelMapper modelMapper) { public UzyTavResponsableProgMapper(ModelMapper modelMapper, EntityManager entityManager) {
this.modelMapper = modelMapper; this.modelMapper = modelMapper;
this.entityManager = entityManager;
configureMappings();
} }
public DtoUzyTavResponsableProg entityToDto(ModelUzyTavResponsableProg entity) { public DtoUzyTavResponsableProg entityToDto(ModelUzyTavResponsableProg entity) {
...@@ -21,11 +27,27 @@ public class UzyTavResponsableProgMapper { ...@@ -21,11 +27,27 @@ public class UzyTavResponsableProgMapper {
} }
public ModelUzyTavResponsableProg dtoToEntity(DtoUzyTavResponsableProg dto) { 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) { public List<DtoUzyTavResponsableProg> entitiesToDtos(List<ModelUzyTavResponsableProg> entities) {
return entities.stream() return entities.stream()
.map(this::entityToDto) .map(this::entityToDto)
.collect(Collectors.toList()); .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; ...@@ -2,11 +2,14 @@ package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavResponsableProg;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavResponsableProg; import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavResponsableProg;
import java.util.List; import java.util.List;
public interface IServiceUzyTavResponsableProg { public interface IServiceUzyTavResponsableProg {
DtoUzyTavResponsableProg ListarPorID(Long id); DtoUzyTavResponsableProg ListarPorID(Long id);
List<DtoUzyTavResponsableProg> obtenerRegistrosPorUsuarioIDandProyectID (Long iddocente,Long uzytavproyec_id);
List<DtoUzyTavResponsableProg> ListarRegistros(); List<DtoUzyTavResponsableProg> ListarRegistros();
......
...@@ -35,6 +35,16 @@ public class ServiceUzyTavResponsableProg implements IServiceUzyTavResponsablePr ...@@ -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 @Override
public List<DtoUzyTavResponsableProg> ListarRegistros() { public List<DtoUzyTavResponsableProg> ListarRegistros() {
try { 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