Se agrega una consulta en DaoUzyTavProyec para obtener los datos de CabcomcaId…

Se agrega una consulta en DaoUzyTavProyec para obtener los datos de CabcomcaId ConparaevaId Por ProyecId, por lo que se crea un nuevo DtoCabcomcaIdConparaevaID para realizar una consulta personalizada para solo esos campos
parent b1b417a3
package ec.edu.espe.movilidad.MovilidadWS.Controller;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoCabcomcaIdConparaevaID;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavProyec;
import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavProyec.IServiceUzyTavProyec;
import org.springframework.http.HttpStatus;
......@@ -25,6 +26,12 @@ public class UzyTavProyecController {
return new ResponseEntity<>(serviceUzyTavProyec.ListarPorID(id), HttpStatus.OK);
}
@GetMapping("/findCabcomcaIdConparaevaIdByProyecId/{idProyect}")
public ResponseEntity<List<DtoCabcomcaIdConparaevaID>> findCabcomcaIdConparaevaIdByProyecId(@PathVariable Long idProyect) {
return new ResponseEntity<>(serviceUzyTavProyec.findCabcomcaIdConparaevaIdByProyecId(idProyect), HttpStatus.OK);
}
@GetMapping("/getAll")
public ResponseEntity<List<DtoUzyTavProyec>> ListarRegistros() {
return new ResponseEntity<>(serviceUzyTavProyec.ListarRegistros(), HttpStatus.OK);
......
package ec.edu.espe.movilidad.MovilidadWS.Dao;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoCabcomcaIdConparaevaID;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavProyec;
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 DaoUzyTavProyec extends JpaRepository<ModelUzyTavProyec, Long> {
@Query("SELECT NEW ec.edu.espe.movilidad.MovilidadWS.Dto.DtoCabcomcaIdConparaevaID(p.uzytavcabcomca.uzytavcabcomca_id, p.uzytavconparaeva.uzytavconparaeva_id) " +
"FROM ModelUzyTavProyec p " +
"WHERE p.uzytavproyec_id = :idProyect")
List<DtoCabcomcaIdConparaevaID> findCabcomcaIdConparaevaIdByProyecId(@Param("idProyect") Long idProyect);
}
package ec.edu.espe.movilidad.MovilidadWS.Dto;
import lombok.Data;
@Data
public class DtoCabcomcaIdConparaevaID {
private Long uzytavcabcomca_id;
private Long uzytavconparaeva_id;
public DtoCabcomcaIdConparaevaID(Long uzytavcabcomca_id, Long uzytavconparaeva_id) {
this.uzytavcabcomca_id = uzytavcabcomca_id;
this.uzytavconparaeva_id = uzytavconparaeva_id;
}
}
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavProyec;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoCabcomcaIdConparaevaID;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavProyec;
import java.util.List;
public interface IServiceUzyTavProyec {
......@@ -12,7 +14,7 @@ public interface IServiceUzyTavProyec {
DtoUzyTavProyec guardar(DtoUzyTavProyec dtoUzyTavProyec);
List<DtoCabcomcaIdConparaevaID> findCabcomcaIdConparaevaIdByProyecId(Long idProyect);
DtoUzyTavProyec editar( Long id, DtoUzyTavProyec dtoUzyTavProyec);
......
......@@ -3,6 +3,7 @@ package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavProyec;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavCabComca;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavConparaEva;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavProyec;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoCabcomcaIdConparaevaID;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavProyec;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTavProyecMapper;
......@@ -31,11 +32,18 @@ public class ServiceUzyTavProyec implements IServiceUzyTavProyec {
this.daoUzyTavConparaEva = daoUzyTavConparaEva;
}
@Override
public DtoUzyTavProyec ListarPorID(@PathVariable Long id) {
public DtoUzyTavProyec ListarPorID(Long id) {
ModelUzyTavProyec entity = daoUzyTavProyec.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
return mapper.entityToDto(entity);
}
@Override
public List<DtoCabcomcaIdConparaevaID> findCabcomcaIdConparaevaIdByProyecId(Long idProyect) {
return daoUzyTavProyec.findCabcomcaIdConparaevaIdByProyecId(idProyect);
}
@Override
public List<DtoUzyTavProyec> ListarRegistros() {
List<ModelUzyTavProyec> entities = daoUzyTavProyec.findAll();
......
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