Se modifican los servicios de ModelUzyTaValorPar

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