Se corrigen los servicios de ModelUzyTavCabParaevaf

parent e80c3cc8
package ec.edu.espe.movilidad.MovilidadWS.Controller;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavCabParaevaf;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavCabParaevaf;
import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavCabParaevaf.IServiceUzyTavCabParaevaf;
import org.springframework.beans.factory.annotation.Autowired;
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;
......@@ -16,44 +16,50 @@ import static ec.edu.espe.movilidad.MovilidadWS.Constant.GlobalConstants.V1_API_
@RequestMapping(V1_API_VERSION+"/cabparaevaf")
public class UzyTavCabParaevafController {
@Autowired
private IServiceUzyTavCabParaevaf serviceUzyTavCabParaevaf;
private final IServiceUzyTavCabParaevaf serviceUzyTavCabParaevaf;
public UzyTavCabParaevafController(IServiceUzyTavCabParaevaf serviceUzyTavCabParaevaf) {
this.serviceUzyTavCabParaevaf = serviceUzyTavCabParaevaf;
}
@GetMapping("/exampleFindId/{id}")
public ResponseEntity<ModelUzyTavCabParaevaf> ListarPorID(@PathVariable Long id) {
public ResponseEntity<DtoUzyTavCabParaevaf> ListarPorID(@PathVariable Long id) {
return new ResponseEntity<>(serviceUzyTavCabParaevaf.ListarPorID(id), HttpStatus.OK);
}
@GetMapping("/datosRealacionadosConParaEva2/{id}")
public List<ModelUzyTavCabParaevaf> findByIdDatosConParaEvaTipo2(@PathVariable("id") Long id) {
public List<Object[]> findByIdDatosConParaEvaTipo2(@PathVariable("id") Long id) {
return serviceUzyTavCabParaevaf.findByIdDatosConParaEvaTipo2(id);
}
@GetMapping("/getAll")
public ResponseEntity<List<ModelUzyTavCabParaevaf>> ListarRegistros() {
public ResponseEntity<List<DtoUzyTavCabParaevaf>> ListarRegistros() {
return new ResponseEntity<>(serviceUzyTavCabParaevaf.ListarRegistros(), HttpStatus.OK);
}
@PostMapping("/guardar")
public ResponseEntity<ModelUzyTavCabParaevaf> guardar(@RequestParam("uzytavconparaeva_id") Long uzytavconparaeva_id, @RequestBody ModelUzyTavCabParaevaf modelUzyTavCabParaevaf) {
ModelUzyTavCabParaevaf creado = serviceUzyTavCabParaevaf.guardar(uzytavconparaeva_id, modelUzyTavCabParaevaf);
return ResponseEntity.status(HttpStatus.CREATED).body(creado);
public ResponseEntity<DtoUzyTavCabParaevaf> guardar(@Valid @RequestBody DtoUzyTavCabParaevaf dtoUzyTavCabParaevaf) {
DtoUzyTavCabParaevaf savedDto = serviceUzyTavCabParaevaf.guardar(dtoUzyTavCabParaevaf);
return ResponseEntity.ok(savedDto);
}
@PutMapping("/editar/{id}")
public ResponseEntity<ModelUzyTavCabParaevaf> editar(@PathVariable Long id, @RequestBody ModelUzyTavCabParaevaf modelUzyTavCabParaevaf) {
return new ResponseEntity<>(serviceUzyTavCabParaevaf.editar(id, modelUzyTavCabParaevaf), HttpStatus.OK);
public ResponseEntity<DtoUzyTavCabParaevaf> editar(@PathVariable Long id, @RequestBody DtoUzyTavCabParaevaf dtoUzyTavCabParaevaf) {
return new ResponseEntity<>(serviceUzyTavCabParaevaf.editar(id, dtoUzyTavCabParaevaf), HttpStatus.OK);
}
@DeleteMapping("/eliminar/{id}")
public ResponseEntity<Void> eliminar(@PathVariable Long id) {
serviceUzyTavCabParaevaf.eliminar(id);
return ResponseEntity.ok().build();
public ResponseEntity<String> eliminar(@PathVariable Long id){
boolean eliminado = serviceUzyTavCabParaevaf.eliminar(id);
if (eliminado) {
return ResponseEntity.ok("El registro se eliminó exitosamente.");
} else {
return ResponseEntity.notFound().build();
}
}
}
......@@ -15,5 +15,5 @@ public interface DaoUzyTavCabParaevaf extends JpaRepository<ModelUzyTavCabParaev
//Obtener los datos relacionados con la tabla ConParaEva mediante un id, además que tengan tipo 1= Parametros de evaluacion inicial
@Query("SELECT p FROM ModelUzyTavCabParaevaf p INNER JOIN p.uzytavconparaeva c WHERE c.uzytavconparaeva_id = :id AND c.uzytavconparaeva_tipo = 2")
List<ModelUzyTavCabParaevaf> findByIdDatosConParaEvaTipo2(@Param("id") Long id);
List<Object[]> findByIdDatosConParaEvaTipo2(@Param("id") Long id);
}
......@@ -2,15 +2,23 @@ package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavCabParaevaf;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavCabParaevaf;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavConparaEva;
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 UzyTavCabParaevafMapper {
private final ModelMapper modelMapper;
public UzyTavCabParaevafMapper(ModelMapper modelMapper) {
private final EntityManager entityManager;
public UzyTavCabParaevafMapper(ModelMapper modelMapper, EntityManager entityManager) {
this.modelMapper = modelMapper;
this.entityManager = entityManager;
configureMappings();
}
public DtoUzyTavCabParaevaf entityToDto(ModelUzyTavCabParaevaf entity) {
......@@ -18,6 +26,26 @@ public class UzyTavCabParaevafMapper {
}
public ModelUzyTavCabParaevaf dtoToEntity(DtoUzyTavCabParaevaf dto) {
return modelMapper.map(dto, ModelUzyTavCabParaevaf.class);
ModelUzyTavCabParaevaf entity = modelMapper.map(dto, ModelUzyTavCabParaevaf.class);
Long conparaevaID = dto.getUzytavconparaeva_id();
ModelUzyTavConparaEva conparaEva = entityManager.find(ModelUzyTavConparaEva.class, conparaevaID);
entity.setUzytavconparaeva(conparaEva);
return entity;
}
public List<DtoUzyTavCabParaevaf> entitiesToDtos(List<ModelUzyTavCabParaevaf> entities) {
return entities.stream()
.map(this::entityToDto)
.collect(Collectors.toList());
}
private void configureMappings() {
modelMapper.addMappings(new PropertyMap<ModelUzyTavCabParaevaf, DtoUzyTavCabParaevaf>() {
@Override
protected void configure() {
map().setUzytavcabparaevaf_id(source.getUzytavcabparaevaf_id());
map().setUzytavconparaeva_id(source.getUzytavconparaeva().getUzytavconparaeva_id());
}
});
}
}
package ec.edu.espe.movilidad.MovilidadWS.Model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
@Data
@Getter
@Setter
@Entity
@Table(name = "uzytavcabparaevaf", schema = "UTIC1")
public class ModelUzyTavCabParaevaf {
......@@ -17,7 +20,6 @@ public class ModelUzyTavCabParaevaf {
@Column(name = "uzytavcabparaevaf_id")
private Long uzytavcabparaevaf_id;
@Column(name = "uzytavcabparaevaf_nombre")
private String uzytavcabparaevaf_nombre;
@Column(name = "uzytavcabparaevaf_desc1")
......@@ -31,9 +33,10 @@ public class ModelUzyTavCabParaevaf {
private Integer uzytavcabparaevaf_tipo;
//RELACIÓN CON CONPARAEVA- TABLA PADRE
@JsonIgnore
@ManyToOne( cascade = CascadeType.ALL)
@ManyToOne( fetch = FetchType.LAZY)
@JoinColumn(name = "uzytavconparaeva_id")
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private ModelUzyTavConparaEva uzytavconparaeva;
......
package ec.edu.espe.movilidad.MovilidadWS.Model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.Setter;
......@@ -42,22 +43,19 @@ public class ModelUzyTavConparaEva {
//RELACION CON PROYECTP de uno a muchos
//@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
//@JoinColumn(name = "uzytavconparaeva_id", referencedColumnName = "uzytavconparaeva_id")
@JsonIgnore
@OneToMany(mappedBy = "uzytavconparaeva", cascade = CascadeType.ALL)
@OneToMany(mappedBy = "uzytavconparaeva")
private Set<ModelUzyTavProyec> modelUzyTavProyecs;
//RELACION CON PARAEVAF
@JsonIgnore
@JsonIgnore
@OneToMany(mappedBy = "uzytavconparaeva", cascade = CascadeType.ALL)
private Set<ModelUzyTavCabParaevaf> modelUzyTavCabParaevafSet;
//RELACION CON PARAEVA
@JsonIgnore
@OneToMany(mappedBy = "uzytavconparaeva", cascade = CascadeType.ALL)
@OneToMany(mappedBy = "uzytavconparaeva")
private Set<ModelUzyTavParaEva> uzytavparaevaSet;
......
package ec.edu.espe.movilidad.MovilidadWS.Model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
......@@ -31,6 +32,7 @@ public class ModelUzyTavParaEva {
@ManyToOne
@JoinColumn(name = "UZYTAVCONPARAEVA_ID", referencedColumnName = "UZYTAVCONPARAEVA_ID", nullable = false)
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private ModelUzyTavConparaEva uzytavconparaeva;
@Column(name = "uzytavparaeva_opcmenu")
......
......@@ -3,6 +3,7 @@ package ec.edu.espe.movilidad.MovilidadWS.Model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
......@@ -371,6 +372,7 @@ public class ModelUzyTavProyec {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "uzytavconparaeva_id")
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private ModelUzyTavConparaEva uzytavconparaeva;
//RELACIÓN CON LA TABLA ZONADETALLE-TABLA HIJA
......
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavCabParaevaf;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavCabParaevaf;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavCabParaevaf;
import java.util.List;
public interface IServiceUzyTavCabParaevaf {
public ModelUzyTavCabParaevaf ListarPorID(Long id);
DtoUzyTavCabParaevaf ListarPorID(Long id);
public List<ModelUzyTavCabParaevaf> ListarRegistros();
List<DtoUzyTavCabParaevaf> ListarRegistros();
public List<ModelUzyTavCabParaevaf> findByIdDatosConParaEvaTipo2(Long id);
public ModelUzyTavCabParaevaf guardar(Long uzytavconparaeva_id, ModelUzyTavCabParaevaf modelUzyTavCabParaevaf);
List<Object[]>findByIdDatosConParaEvaTipo2(Long id);
public ModelUzyTavCabParaevaf editar(Long id, ModelUzyTavCabParaevaf modelUzyTavCabParaevaf);
DtoUzyTavCabParaevaf guardar(DtoUzyTavCabParaevaf dtoUzyTavCabParaevaf);
void eliminar(Long id);
DtoUzyTavCabParaevaf editar(Long id, DtoUzyTavCabParaevaf dtoUzyTavCabParaevaf);
boolean eliminar(Long id);
}
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavCabParaevaf;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavCabParaevaf;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavConparaEva;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavConparaEva;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavCabParaevaf;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTavCabParaevafMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavCabParaevaf;
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;
@Service
public class ServiceUzyTavCabParaevaf implements IServiceUzyTavCabParaevaf {
@Autowired
DaoUzyTavCabParaevaf daoUzyTavCabParaevaf;
@Autowired
DaoUzyTavConparaEva daoUzyTavConparaEva;
@Override
public ModelUzyTavCabParaevaf ListarPorID(@PathVariable Long id) {
return daoUzyTavCabParaevaf.findById(id).get();
private final DaoUzyTavCabParaevaf daoUzyTavCabParaevaf;
private final UzyTavCabParaevafMapper mapper;
public ServiceUzyTavCabParaevaf(DaoUzyTavCabParaevaf daoUzyTavCabParaevaf, UzyTavCabParaevafMapper mapper) {
this.daoUzyTavCabParaevaf = daoUzyTavCabParaevaf;
this.mapper = mapper;
}
@Override
public List<ModelUzyTavCabParaevaf> ListarRegistros() {
return daoUzyTavCabParaevaf.findAll();
public DtoUzyTavCabParaevaf ListarPorID(@PathVariable Long id) {
ModelUzyTavCabParaevaf entity = daoUzyTavCabParaevaf.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
return mapper.entityToDto(entity);
}
@Override
public ModelUzyTavCabParaevaf guardar(@PathVariable Long uzytavconparaeva_id, ModelUzyTavCabParaevaf modelUzyTavCabParaevaf) {
ModelUzyTavConparaEva modelUzyTavConparaEva = daoUzyTavConparaEva.findById(uzytavconparaeva_id)
.orElseThrow(() -> new EntityNotFoundException("No se encontró la entidad ModelUzyTaConparaEva con el ID proporcionado"));
modelUzyTavCabParaevaf.setUzytavconparaeva(modelUzyTavConparaEva);
return daoUzyTavCabParaevaf.save(modelUzyTavCabParaevaf);
public List<DtoUzyTavCabParaevaf> ListarRegistros() {
List<ModelUzyTavCabParaevaf> entities = daoUzyTavCabParaevaf.findAll();
return mapper.entitiesToDtos(entities);
}
@Override
public List<ModelUzyTavCabParaevaf> findByIdDatosConParaEvaTipo2(Long id) {
return daoUzyTavCabParaevaf.findByIdDatosConParaEvaTipo2(id);
public DtoUzyTavCabParaevaf guardar(DtoUzyTavCabParaevaf dtoUzyTavEvalProy) {
ModelUzyTavCabParaevaf entity = mapper.dtoToEntity(dtoUzyTavEvalProy);
ModelUzyTavCabParaevaf nuevoEntity = daoUzyTavCabParaevaf.save(entity);
return mapper.entityToDto(nuevoEntity);
}
@Override
public ModelUzyTavCabParaevaf editar(Long id, ModelUzyTavCabParaevaf modelUzyTavCabParaevaf) {
ModelUzyTavCabParaevaf dato = daoUzyTavCabParaevaf.findById(id).get();
//.orElseThrow(()->new ControlExcepciones("No existe el registro con el ID : " + id));
//Seteamos los nuevos datos del registro
dato.setUzytavcabparaevaf_id(modelUzyTavCabParaevaf.getUzytavcabparaevaf_id());
dato.setUzytavcabparaevaf_nombre(modelUzyTavCabParaevaf.getUzytavcabparaevaf_nombre());
dato.setUzytavcabparaevaf_desc1(modelUzyTavCabParaevaf.getUzytavcabparaevaf_desc1());
dato.setUzytavcabparaevaf_desc2(modelUzyTavCabParaevaf.getUzytavcabparaevaf_desc2());
dato.setUzytavcabparaevaf_orden(modelUzyTavCabParaevaf.getUzytavcabparaevaf_orden());
// dato.setUzytavconparaeva_id(modelUzyTavCabParaevaf.getUzytavconparaeva_id());
dato.setUzytavcabparaevaf_tipo(modelUzyTavCabParaevaf.getUzytavcabparaevaf_tipo());
ModelUzyTavCabParaevaf datoActualizado = daoUzyTavCabParaevaf.save(dato);
return datoActualizado;
public List<Object[]> findByIdDatosConParaEvaTipo2(Long id) {
return daoUzyTavCabParaevaf.findByIdDatosConParaEvaTipo2(id);
}
@Override
public void eliminar(Long id) {
public DtoUzyTavCabParaevaf editar(Long id, DtoUzyTavCabParaevaf dtoUzyTavCabParaevaf) {
try {
ModelUzyTavCabParaevaf entity = daoUzyTavCabParaevaf.findById(id).get();
ModelUzyTavCabParaevaf example = daoUzyTavCabParaevaf.findById(id).get();
//.orElseThrow(() -> new ControlExcepciones("No existe el registro con el ID : " + id));
daoUzyTavCabParaevaf.delete(example);
if (entity != null) {
entity.setUzytavcabparaevaf_nombre(dtoUzyTavCabParaevaf.getUzytavcabparaevaf_nombre());
entity.setUzytavcabparaevaf_desc1(dtoUzyTavCabParaevaf.getUzytavcabparaevaf_desc1());
entity.setUzytavcabparaevaf_desc2(dtoUzyTavCabParaevaf.getUzytavcabparaevaf_desc2());
entity.setUzytavcabparaevaf_orden(Math.toIntExact(dtoUzyTavCabParaevaf.getUzytavcabparaevaf_orden()));
entity.setUzytavcabparaevaf_tipo(Math.toIntExact(dtoUzyTavCabParaevaf.getUzytavcabparaevaf_tipo()));
ModelUzyTavCabParaevaf updatedEntity = daoUzyTavCabParaevaf.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 boolean eliminar(Long id) {
ModelUzyTavCabParaevaf entity = daoUzyTavCabParaevaf.findById(id).orElse(null);
if (entity != null) {
daoUzyTavCabParaevaf.delete(entity);
return true;
}
return false;
}
}
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