Se modifican los servicios de ModelUzyTaValorPar

parent e059da27
package ec.edu.espe.movilidad.MovilidadWS.Controller; package ec.edu.espe.movilidad.MovilidadWS.Controller;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTaValorPar;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTaValorPar;
import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTaValorPar.IServiceUzyTaValorPar; import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTaValorPar.IServiceUzyTaValorPar;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List; import java.util.List;
import static ec.edu.espe.movilidad.MovilidadWS.Constant.GlobalConstants.V1_API_VERSION; import static ec.edu.espe.movilidad.MovilidadWS.Constant.GlobalConstants.V1_API_VERSION;
...@@ -23,19 +22,20 @@ public class UzyTaValorParController { ...@@ -23,19 +22,20 @@ public class UzyTaValorParController {
@GetMapping("/exampleFindId/{id}") @GetMapping("/exampleFindId/{id}")
public ResponseEntity<ModelUzyTaValorPar> ListarPorID(@PathVariable Long id) { public ResponseEntity<DtoUzyTaValorPar> ListarPorID(@PathVariable Long id) {
return new ResponseEntity<>(serviceUzyTaValorPar.ListarPorID(id), HttpStatus.OK); return new ResponseEntity<>(serviceUzyTaValorPar.ListarPorID(id), HttpStatus.OK);
} }
@GetMapping("/getAll") @GetMapping("/getAll")
public ResponseEntity<List<ModelUzyTaValorPar>> ListarRegistros() { public ResponseEntity<List<DtoUzyTaValorPar>> ListarRegistros() {
return new ResponseEntity<>(serviceUzyTaValorPar.ListarRegistros(), HttpStatus.OK); return new ResponseEntity<>(serviceUzyTaValorPar.ListarRegistros(), HttpStatus.OK);
} }
//Servicio para obtener los datos de valorPar relacionados con ParaEva //Servicio para obtener los datos de valorPar relacionados con ParaEva
@GetMapping("/datosRealacionadosParaEva/{id}") @GetMapping("/datosRealacionadosParaEva/{id}")
public List<ModelUzyTaValorPar> findByIdDatosRelacionadosConParaEva(@PathVariable("id") Long id) { public ResponseEntity<List<Object[]>> findByIdDatosRelacionadosConParaEva(@PathVariable("id") Long id) {
return serviceUzyTaValorPar.findByIdDatosRelacionadosConParaEva(id); List<Object[]> result = serviceUzyTaValorPar.findByIdDatosRelacionadosConParaEva(id);
return new ResponseEntity<>(result, HttpStatus.OK);
} }
//Servicio para obtener los datos de paraeva relacionados con ValorPar //Servicio para obtener los datos de paraeva relacionados con ValorPar
...@@ -45,16 +45,17 @@ public class UzyTaValorParController { ...@@ -45,16 +45,17 @@ public class UzyTaValorParController {
return new ResponseEntity<>(result, HttpStatus.OK); return new ResponseEntity<>(result, HttpStatus.OK);
} }
@PostMapping("/guardar") @PostMapping("/guardar")
public ResponseEntity<ModelUzyTaValorPar> guardar(@RequestParam("uzytavparaeva_id") Long uzytavparaeva_id, @RequestBody ModelUzyTaValorPar modelUzyTaValorPar) { public ResponseEntity<DtoUzyTaValorPar> guardar(@Valid @RequestBody DtoUzyTaValorPar dtoUzyTaValorPar) {
ModelUzyTaValorPar creado = serviceUzyTaValorPar.guardar(uzytavparaeva_id, modelUzyTaValorPar); DtoUzyTaValorPar savedDto = serviceUzyTaValorPar.guardar(dtoUzyTaValorPar);
return ResponseEntity.status(HttpStatus.CREATED).body(creado); return ResponseEntity.ok(savedDto);
} }
@PutMapping("/editar/{id}") @PutMapping("/editar/{id}")
public ResponseEntity<ModelUzyTaValorPar> editar(@PathVariable Long id, @RequestBody ModelUzyTaValorPar modelUzyTaValorPar) { public ResponseEntity<DtoUzyTaValorPar> editar(@PathVariable Long id, @RequestBody DtoUzyTaValorPar dtoUzyTaValorPar) {
return new ResponseEntity<>(serviceUzyTaValorPar.editar(id, modelUzyTaValorPar), HttpStatus.OK); return new ResponseEntity<>(serviceUzyTaValorPar.editar(id, dtoUzyTaValorPar), HttpStatus.OK);
} }
......
...@@ -39,7 +39,7 @@ public class UzyTavParaEvaController { ...@@ -39,7 +39,7 @@ public class UzyTavParaEvaController {
} }
@GetMapping("/datosRelacionadosCabParaEvaf/{id}") @GetMapping("/datosRelacionadosCabParaEvaf/{id}")
public ResponseEntity<List<Object[]>> obtenerPorDatosUzytavcabparaevafId(@PathVariable("id") Integer id) { public ResponseEntity<List<Object[]>> obtenerPorDatosUzytavcabparaevafId(@PathVariable("id") Long id) {
List<Object[]> dtos = serviceUzyTavParaEva.findByDatosUzytavcabparaevafId(id); List<Object[]> dtos = serviceUzyTavParaEva.findByDatosUzytavcabparaevafId(id);
return ResponseEntity.ok(dtos); return ResponseEntity.ok(dtos);
} }
......
...@@ -13,7 +13,7 @@ public interface DaoUzyTaValorPar extends JpaRepository<ModelUzyTaValorPar, Long ...@@ -13,7 +13,7 @@ public interface DaoUzyTaValorPar extends JpaRepository<ModelUzyTaValorPar, Long
//Obtener los datos relacionados con la tabla ParaEva mediante un id //Obtener los datos relacionados con la tabla ParaEva mediante un id
@Query("SELECT p FROM ModelUzyTaValorPar p INNER JOIN p.uzyTavParaEva c WHERE c.uzytavparaeva_id = :id") @Query("SELECT p FROM ModelUzyTaValorPar p INNER JOIN p.uzyTavParaEva c WHERE c.uzytavparaeva_id = :id")
List<ModelUzyTaValorPar> findByIdDatosRelacionadosConParaEva(@Param("id") Long id); List<Object[]> findByIdDatosRelacionadosConParaEva(@Param("id") Long id);
@Query("SELECT vp, pe FROM ModelUzyTaValorPar vp JOIN vp.uzyTavParaEva pe") @Query("SELECT vp, pe FROM ModelUzyTaValorPar vp JOIN vp.uzyTavParaEva pe")
List<Object[]> getAllDatosRelacionadosParaEva(); List<Object[]> getAllDatosRelacionadosParaEva();
......
...@@ -31,6 +31,6 @@ public interface DaoUzyTavParaEva extends JpaRepository<ModelUzyTavParaEva, Long ...@@ -31,6 +31,6 @@ public interface DaoUzyTavParaEva extends JpaRepository<ModelUzyTavParaEva, Long
@Query("SELECT p FROM ModelUzyTavParaEva p WHERE p.uzytavcabparaevaf_id = :id") @Query("SELECT p FROM ModelUzyTavParaEva p WHERE p.uzytavcabparaevaf_id = :id")
List<Object[]> findByDatosUzytavcabparaevafId(@Param("id") Integer id); List<Object[]> findByDatosUzytavcabparaevafId(@Param("id") Long id);
} }
...@@ -8,7 +8,7 @@ public class DtoUzyTaValorPar { ...@@ -8,7 +8,7 @@ public class DtoUzyTaValorPar {
private Long uzytavaloruzytparametros_id; private Long uzytavaloruzytparametros_id;
private Long uzytavparaeva_id; private Long uzytavparaeva_id;
private String uzytavalorpar_descrip; private String uzytavalorpar_descrip;
private Long uzytavalorpar_puntaje; private Integer uzytavalorpar_puntaje;
private Long uzytavalorpar_orden; private Integer uzytavalorpar_orden;
} }
...@@ -2,15 +2,22 @@ package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class; ...@@ -2,15 +2,22 @@ package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTaValorPar; import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTaValorPar;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTaValorPar; import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTaValorPar;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavParaEva;
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;
@Component @Component
public class UzyTaValorParMapper { public class UzyTaValorParMapper {
private final ModelMapper modelMapper; private final ModelMapper modelMapper;
public UzyTaValorParMapper(ModelMapper modelMapper) { private final EntityManager entityManager;
public UzyTaValorParMapper(ModelMapper modelMapper, EntityManager entityManager) {
this.modelMapper = modelMapper; this.modelMapper = modelMapper;
this.entityManager = entityManager;
configureMappings();
} }
public DtoUzyTaValorPar entityToDto(ModelUzyTaValorPar entity) { public DtoUzyTaValorPar entityToDto(ModelUzyTaValorPar entity) {
...@@ -18,6 +25,21 @@ public class UzyTaValorParMapper { ...@@ -18,6 +25,21 @@ public class UzyTaValorParMapper {
} }
public ModelUzyTaValorPar dtoToEntity(DtoUzyTaValorPar dto) { public ModelUzyTaValorPar dtoToEntity(DtoUzyTaValorPar dto) {
return modelMapper.map(dto, ModelUzyTaValorPar.class); ModelUzyTaValorPar entity = modelMapper.map(dto, ModelUzyTaValorPar.class);
Long paraevaId = dto.getUzytavparaeva_id();
ModelUzyTavParaEva paraeva = entityManager.find(ModelUzyTavParaEva.class, paraevaId);
entity.setUzyTavParaEva(paraeva);
return entity;
}
private void configureMappings() {
modelMapper.addMappings(new PropertyMap<ModelUzyTaValorPar, DtoUzyTaValorPar>() {
@Override
protected void configure() {
map().setUzytavaloruzytparametros_id(source.getUzytavaloruzytparametros_id());
map().setUzytavparaeva_id(source.getUzyTavParaEva().getUzytavparaeva_id());
}
});
} }
} }
...@@ -2,12 +2,14 @@ package ec.edu.espe.movilidad.MovilidadWS.Model; ...@@ -2,12 +2,14 @@ package ec.edu.espe.movilidad.MovilidadWS.Model;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data; import lombok.Getter;
import lombok.Setter;
import javax.persistence.*; import javax.persistence.*;
import java.util.Set; import java.util.Set;
@Data @Getter
@Setter
@Entity @Entity
@Table(name = "uzytavalorpar", schema = "UTIC1") @Table(name = "uzytavalorpar", schema = "UTIC1")
public class ModelUzyTaValorPar { public class ModelUzyTaValorPar {
...@@ -31,8 +33,7 @@ public class ModelUzyTaValorPar { ...@@ -31,8 +33,7 @@ public class ModelUzyTaValorPar {
//RELACIÓN CON TAVPARAEVA- TABLA PADRE //RELACIÓN CON TAVPARAEVA- TABLA PADRE
@JsonIgnore @ManyToOne
@ManyToOne( cascade = CascadeType.ALL)
@JoinColumn(name = "uzytavparaeva_id", referencedColumnName = "uzytavparaeva_id") @JoinColumn(name = "uzytavparaeva_id", referencedColumnName = "uzytavparaeva_id")
private ModelUzyTavParaEva uzyTavParaEva; private ModelUzyTavParaEva uzyTavParaEva;
......
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTaValorPar; package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTaValorPar;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTaValorPar;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTaValorPar;
import java.util.List; import java.util.List;
public interface IServiceUzyTaValorPar { public interface IServiceUzyTaValorPar {
public ModelUzyTaValorPar ListarPorID(Long id); DtoUzyTaValorPar ListarPorID(Long id);
public List<ModelUzyTaValorPar> ListarRegistros(); List<DtoUzyTaValorPar> ListarRegistros();
public List<ModelUzyTaValorPar> findByIdDatosRelacionadosConParaEva(Long id); List<Object[]> findByIdDatosRelacionadosConParaEva(Long id);
public List<Object[]> getAllDatosRelacionadosParaEva(); List<Object[]> getAllDatosRelacionadosParaEva();
public ModelUzyTaValorPar guardar(Long uzytavconparaeva_id, ModelUzyTaValorPar modelUzyTaValorPar); DtoUzyTaValorPar guardar(DtoUzyTaValorPar dtoUzyTaValorPar);
public ModelUzyTaValorPar editar(Long id, ModelUzyTaValorPar modelUzyTaValorPar); DtoUzyTaValorPar editar(Long id, DtoUzyTaValorPar dtoUzyTaValorPar);
void eliminar(Long id); boolean eliminar(Long id);
} }
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTaValorPar; package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTaValorPar;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTaValorPar; import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTaValorPar;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavParaEva; import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTaValorPar;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTaValorParMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTaValorPar; import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTaValorPar;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavParaEva;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import javax.persistence.EntityNotFoundException;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
@Service @Service
public class ServiceUzyTaValorPar implements IServiceUzyTaValorPar { public class ServiceUzyTaValorPar implements IServiceUzyTaValorPar {
@Autowired
DaoUzyTaValorPar daoUzyTaValorPar;
@Autowired private final DaoUzyTaValorPar daoUzyTaValorPar;
DaoUzyTavParaEva daoUzyTavParaEva;
private final UzyTaValorParMapper mapper;
public ServiceUzyTaValorPar(DaoUzyTaValorPar daoUzyTaValorPar, UzyTaValorParMapper mapper) {
this.daoUzyTaValorPar = daoUzyTaValorPar;
this.mapper = mapper;
}
@Override @Override
public ModelUzyTaValorPar ListarPorID(@PathVariable Long id) { public DtoUzyTaValorPar ListarPorID(@PathVariable Long id) {
return daoUzyTaValorPar.findById(id).get(); ModelUzyTaValorPar entity = daoUzyTaValorPar.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
return mapper.entityToDto(entity);
} }
public List<Object[]> getAllDatosRelacionadosParaEva() { public List<Object[]> getAllDatosRelacionadosParaEva() {
return daoUzyTaValorPar.getAllDatosRelacionadosParaEva(); return daoUzyTaValorPar.getAllDatosRelacionadosParaEva();
} }
@Override @Override
public List<ModelUzyTaValorPar> ListarRegistros() { public List<Object[]> findByIdDatosRelacionadosConParaEva(Long id) {
return daoUzyTaValorPar.findAll(); return daoUzyTaValorPar.findByIdDatosRelacionadosConParaEva(id);
} }
@Override @Override
public List<ModelUzyTaValorPar> findByIdDatosRelacionadosConParaEva(Long id) { public List<DtoUzyTaValorPar> ListarRegistros() {
return daoUzyTaValorPar.findByIdDatosRelacionadosConParaEva(id);
List<ModelUzyTaValorPar> entities = daoUzyTaValorPar.findAll();
return entities.stream()
.map(mapper::entityToDto)
.collect(Collectors.toList());
} }
@Override @Override
public ModelUzyTaValorPar guardar(@PathVariable Long uzytavparaeva_id, ModelUzyTaValorPar modelUzyTaValorPar) { public DtoUzyTaValorPar guardar(DtoUzyTaValorPar dtoUzyTaValorPar) {
ModelUzyTavParaEva modelUzyTavParaEva = daoUzyTavParaEva.findById(uzytavparaeva_id) ModelUzyTaValorPar entity = mapper.dtoToEntity(dtoUzyTaValorPar);
.orElseThrow(() -> new EntityNotFoundException("No se encontró la entidad ModelUzyTaParaEva con el ID proporcionado")); ModelUzyTaValorPar nuevoEntity = daoUzyTaValorPar.save(entity);
modelUzyTaValorPar.setUzyTavParaEva(modelUzyTavParaEva); return mapper.entityToDto(nuevoEntity);
return daoUzyTaValorPar.save(modelUzyTaValorPar);
} }
@Override @Override
public ModelUzyTaValorPar editar(@PathVariable Long id, ModelUzyTaValorPar modelUzyTaValorPar) { public DtoUzyTaValorPar editar(@PathVariable Long id, DtoUzyTaValorPar dtoUzyTaValorPar) {
ModelUzyTaValorPar dato = daoUzyTaValorPar.findById(id).get(); try {
//.orElseThrow(()->new ControlExcepciones("No existe el registro con el ID : " + id)); ModelUzyTaValorPar entity = daoUzyTaValorPar.findById(id).get();
//Seteamos los nuevos datos del registro
dato.setUzytavaloruzytparametros_id(modelUzyTaValorPar.getUzytavaloruzytparametros_id()); //Seteamos los nuevos datos del registro
//dato.setUzytavparaeva_id(modelUzyTaValorPar.getUzytavparaeva_id()); if (entity != null) {
dato.setUzytavalorpar_descrip(modelUzyTaValorPar.getUzytavalorpar_descrip()); entity.setUzytavaloruzytparametros_id(dtoUzyTaValorPar.getUzytavaloruzytparametros_id());
dato.setUzytavalorpar_orden(modelUzyTaValorPar.getUzytavalorpar_orden()); entity.setUzytavalorpar_descrip(dtoUzyTaValorPar.getUzytavalorpar_descrip());
dato.setUzytavalorpar_puntaje(modelUzyTaValorPar.getUzytavalorpar_puntaje()); entity.setUzytavalorpar_orden(dtoUzyTaValorPar.getUzytavalorpar_orden());
entity.setUzytavalorpar_puntaje(dtoUzyTaValorPar.getUzytavalorpar_puntaje());
ModelUzyTaValorPar datoActualizado = daoUzyTaValorPar.save(dato);
return datoActualizado; ModelUzyTaValorPar updatedEntity = daoUzyTaValorPar.save(entity);
return mapper.entityToDto(updatedEntity);
} else {
throw new ResourceNotFoundException("No se encontró el registro con ID: " + id);
}
} catch (Exception e) {
throw new ResourceNotFoundException("Error al editar el registro: " + e.getMessage());
}
} }
@Override @Override
public void eliminar(@PathVariable Long id) { public boolean eliminar(Long id) {
ModelUzyTaValorPar example = daoUzyTaValorPar.findById(id).get(); ModelUzyTaValorPar entity = daoUzyTaValorPar.findById(id).orElse(null);
//.orElseThrow(() -> new ControlExcepciones("No existe el registro con el ID : " + id)); if (entity != null) {
daoUzyTaValorPar.delete(example); daoUzyTaValorPar.delete(entity);
return true;
}
return false;
} }
} }
...@@ -13,7 +13,7 @@ public interface IServiceUzyTavParaEva { ...@@ -13,7 +13,7 @@ public interface IServiceUzyTavParaEva {
List<Object[]> findByIdDatosConParaEvaTipo2(Long id); List<Object[]> findByIdDatosConParaEvaTipo2(Long id);
List<Object[]> findByDatosUzytavcabparaevafId(Integer id); List<Object[]> findByDatosUzytavcabparaevafId(Long id);
List<Object[]> getAllDatosConParaEva(); List<Object[]> getAllDatosConParaEva();
......
...@@ -49,7 +49,7 @@ public class ServiceUzyTavParaEva implements IServiceUzyTavParaEva { ...@@ -49,7 +49,7 @@ public class ServiceUzyTavParaEva implements IServiceUzyTavParaEva {
} }
@Override @Override
public List<Object[]> findByDatosUzytavcabparaevafId(Integer id) { public List<Object[]> findByDatosUzytavcabparaevafId(Long id) {
return daoUzyTavParaEva.findByDatosUzytavcabparaevafId(id); return daoUzyTavParaEva.findByDatosUzytavcabparaevafId(id);
} }
......
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