Se modifican los servicios de ServiceUzyTavParaEva

parent 5d3f2439
package ec.edu.espe.movilidad.MovilidadWS.Controller;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavParaEva;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavParaEva;
import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavParaEva.IServiceUzyTavParaEva;
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;
@RestController
@CrossOrigin(origins = "*")
@RequestMapping(V1_API_VERSION+"/paraeva")
@RequestMapping(V1_API_VERSION + "/paraeva")
public class UzyTavParaEvaController {
private final IServiceUzyTavParaEva serviceUzyTavParaEva;
@Autowired
private IServiceUzyTavParaEva serviceUzyTavParaEva;
@GetMapping("/exampleFindId/{id}")
public ResponseEntity<ModelUzyTavParaEva> ListarPorID(@PathVariable Long id) {
return new ResponseEntity<>(serviceUzyTavParaEva.ListarPorID(id), HttpStatus.OK);
public UzyTavParaEvaController(IServiceUzyTavParaEva serviceUzyTavParaEva) {
this.serviceUzyTavParaEva = serviceUzyTavParaEva;
}
//CONSUMO DE LA CONSULTA PARA OBTENER LOS VALORES RELACIONADOS
@GetMapping("/datosRealacionadosConParaEva1/{id}")
public List<ModelUzyTavParaEva> findByIdDatosConParaEvaTipo1(@PathVariable("id") Long id) {
return serviceUzyTavParaEva.findByIdDatosConParaEvaTipo1(id);
@GetMapping("/exampleFindId/{id}")
public ResponseEntity<DtoUzyTavParaEva> obtenerPorID(@PathVariable Long id) {
DtoUzyTavParaEva dto = serviceUzyTavParaEva.ListarPorID(id);
return ResponseEntity.ok(dto);
}
@GetMapping("/datosRealacionadosConParaEva2/{id}")
public List<ModelUzyTavParaEva> findByIdDatosConParaEvaTipo2(@PathVariable("id") Long id) {
return serviceUzyTavParaEva.findByIdDatosConParaEvaTipo2(id);
@GetMapping("/datosRelacionadosConParaEva1/{id}")
public ResponseEntity<List<Object[]>> obtenerDatosRelacionadosConParaEvaTipo1(@PathVariable("id") Long id) {
List<Object[]> dtos = serviceUzyTavParaEva.findByIdDatosConParaEvaTipo1(id);
return ResponseEntity.ok(dtos);
}
@GetMapping("/datosRealacionadosCabParaEvaf/{id}")
public ResponseEntity<List<ModelUzyTavParaEva>> findByDatosUzytavcabparaevafId(@PathVariable("id") Integer id) {
List<ModelUzyTavParaEva> result = serviceUzyTavParaEva.findByDatosUzytavcabparaevafId(id);
return ResponseEntity.ok(result);
@GetMapping("/datosRelacionadosConParaEva2/{id}")
public ResponseEntity<List<Object[]>> obtenerDatosRelacionadosConParaEvaTipo2(@PathVariable("id") Long id) {
List<Object[]> dtos = serviceUzyTavParaEva.findByIdDatosConParaEvaTipo2(id);
return ResponseEntity.ok(dtos);
}
@GetMapping("/datosRealacionadosConParaEva")
public List<Object[]> getAllDatosConParaEva() {
return serviceUzyTavParaEva.getAllDatosConParaEva();
@GetMapping("/datosRelacionadosCabParaEvaf/{id}")
public ResponseEntity<List<Object[]>> obtenerPorDatosUzytavcabparaevafId(@PathVariable("id") Integer id) {
List<Object[]> dtos = serviceUzyTavParaEva.findByDatosUzytavcabparaevafId(id);
return ResponseEntity.ok(dtos);
}
@GetMapping("/datosRelacionadosConParaEva")
public ResponseEntity<List<Object[]>> obtenerTodosLosDatosConParaEva() {
List<Object[]> datos = serviceUzyTavParaEva.getAllDatosConParaEva();
return ResponseEntity.ok(datos);
}
@GetMapping("/getAll")
public ResponseEntity<List<ModelUzyTavParaEva>> ListarRegistros() {
return new ResponseEntity<>(serviceUzyTavParaEva.ListarRegistros(), HttpStatus.OK);
public ResponseEntity<List<DtoUzyTavParaEva>> obtenerTodosLosRegistros() {
List<DtoUzyTavParaEva> dtos = serviceUzyTavParaEva.ListarRegistros();
return ResponseEntity.ok(dtos);
}
@PostMapping("/guardar")
public ResponseEntity<ModelUzyTavParaEva> guardar(@RequestBody ModelUzyTavParaEva modelUzyTavParaEva, @RequestParam("uzytavconparaeva_id") Long uzytavconparaeva_id) {
ModelUzyTavParaEva creado = serviceUzyTavParaEva.guardar(uzytavconparaeva_id, modelUzyTavParaEva);
return ResponseEntity.status(HttpStatus.CREATED).body(creado);
public ResponseEntity<DtoUzyTavParaEva> guardar(@Valid @RequestBody DtoUzyTavParaEva dtoUzyTavParaEva) {
DtoUzyTavParaEva savedDto = serviceUzyTavParaEva.guardar(dtoUzyTavParaEva);
return ResponseEntity.ok(savedDto);
}
@PutMapping("/editar/{id}")
public ResponseEntity<ModelUzyTavParaEva> editar(@PathVariable Long id, @RequestBody ModelUzyTavParaEva modelUzyTavParaEva) {
return new ResponseEntity<>(serviceUzyTavParaEva.editar(id, modelUzyTavParaEva), HttpStatus.OK);
public ResponseEntity<DtoUzyTavParaEva> editar(@PathVariable Long id, @Valid @RequestBody DtoUzyTavParaEva dtoUzyTavParaEva) {
DtoUzyTavParaEva editedDto = serviceUzyTavParaEva.editar(id, dtoUzyTavParaEva);
return ResponseEntity.ok(editedDto);
}
@DeleteMapping("/eliminar/{id}")
public ResponseEntity<Void> eliminar(@PathVariable Long id) {
serviceUzyTavParaEva.eliminar(id);
return ResponseEntity.ok().build();
}
}
}
\ No newline at end of file
......@@ -5,7 +5,6 @@ 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
......@@ -19,26 +18,19 @@ public interface DaoUzyTavParaEva extends JpaRepository<ModelUzyTavParaEva, Long
//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 ModelUzyTavParaEva p INNER JOIN p.uzytavconparaeva c WHERE c.uzytavconparaeva_id = :id AND c.uzytavconparaeva_tipo = 1")
List<ModelUzyTavParaEva> findByIdDatosConParaEvaTipo1(@Param("id") Long id);
List<Object[]> findByIdDatosConParaEvaTipo1(@Param("id") Long id);
//Obtener los datos relacionados con la tabla ConParaEva mediante un id, además que tengan tipo 2= Parametros de evaluacion final
@Query("SELECT p FROM ModelUzyTavParaEva p INNER JOIN p.uzytavconparaeva c WHERE c.uzytavconparaeva_id = :id AND c.uzytavconparaeva_tipo = 2")
List<ModelUzyTavParaEva> findByIdDatosConParaEvaTipo2(@Param("id") Long id);
List<Object[]> findByIdDatosConParaEvaTipo2(@Param("id") Long id);
// obtener solo los valores de la tabla UZYTAVPARAEVA mediante la relación del campo UZYTAVCABPARAEVAF_ID de la tabla UZYTAVPARAEVA
@Query("SELECT p FROM ModelUzyTavParaEva p WHERE p.uzytavcabparaevaf_id = :id")
List<ModelUzyTavParaEva> findByDatosUzytavcabparaevafId(@Param("id") Integer id);
List<Object[]> findByDatosUzytavcabparaevafId(@Param("id") Integer id);
}
package ec.edu.espe.movilidad.MovilidadWS.Dto;
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;
import java.util.Date;
@Data
public class DtoUzyTavParaEva {
......@@ -13,7 +11,7 @@ public class DtoUzyTavParaEva {
private Integer uzytavparaeva_orden;
private Long uzytavconparaeva_id;
private String uzytavparaeva_opcmenu;
private Long uzytavcabparaevaf_id;
private Integer uzytavcabparaevaf_id;
private String uzytavparaeva_aspeva;
private String uzytavparaeva_infoadic;
private String uzytavparaeva_preginfoadic;
......
package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavParaEva;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavConparaEva;
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 UzyTavParaEvaMapper {
private final ModelMapper modelMapper;
public UzyTavParaEvaMapper(ModelMapper modelMapper) {
private final EntityManager entityManager;
public UzyTavParaEvaMapper(ModelMapper modelMapper, EntityManager entityManager) {
this.modelMapper = modelMapper;
this.entityManager=entityManager;
configureMappings();
}
public DtoUzyTavParaEva entityToDto(ModelUzyTavParaEva entity) {
......@@ -18,6 +24,22 @@ public class UzyTavParaEvaMapper {
}
public ModelUzyTavParaEva dtoToEntity(DtoUzyTavParaEva dto) {
return modelMapper.map(dto, ModelUzyTavParaEva.class);
ModelUzyTavParaEva entity = modelMapper.map(dto, ModelUzyTavParaEva.class);
Long conparaevaId = dto.getUzytavconparaeva_id();
ModelUzyTavConparaEva lineaOperativa = entityManager.find(ModelUzyTavConparaEva.class, conparaevaId);
entity.setUzytavconparaeva(lineaOperativa);
return entity;
}
private void configureMappings() {
modelMapper.addMappings(new PropertyMap<ModelUzyTavParaEva, DtoUzyTavParaEva>() {
@Override
protected void configure() {
map().setUzytavparaeva_id(source.getUzytavparaeva_id());
map().setUzytavconparaeva_id(source.getUzytavconparaeva().getUzytavconparaeva_id());
map().setUzytavcabparaevaf_id((source.getUzytavcabparaevaf_id()));
}
});
}
}
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 = "uzytavparaeva", schema = "UTIC1")
public class ModelUzyTavParaEva {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "uzytavparaeva_seq")
@SequenceGenerator(name = "uzytavparaeva_seq", sequenceName = "SEQ_UZYTAVPARAEVA", allocationSize = 1)
@Column(name = "uzytavparaeva_id")
private Long uzytavparaeva_id;
//RELACION CON VALOR PAR
// @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
// @JoinColumn(name = "uzytavparaeva_id", referencedColumnName = "uzytavparaeva_id")
// Set<ModelUzyTaValorPar> modelUzyTaValorPars = new HashSet<>();
@JsonIgnore
@OneToMany(mappedBy = "uzyTavParaEva", cascade = CascadeType.ALL)
private Set<ModelUzyTaValorPar> uzyTaValorParSet;
......@@ -34,12 +29,10 @@ public class ModelUzyTavParaEva {
@Column(name = "uzytavparaeva_orden")
private Integer uzytavparaeva_orden;
@JsonIgnore
@ManyToOne( cascade = CascadeType.ALL)
@ManyToOne
@JoinColumn(name = "UZYTAVCONPARAEVA_ID", referencedColumnName = "UZYTAVCONPARAEVA_ID", nullable = false)
private ModelUzyTavConparaEva uzytavconparaeva;
@Column(name = "uzytavparaeva_opcmenu")
private String uzytavparaeva_opcmenu;
@Column(name = "uzytavcabparaevaf_id")
......
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavParaEva;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavParaEva;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavParaEva;
import java.util.List;
public interface IServiceUzyTavParaEva {
public ModelUzyTavParaEva ListarPorID(Long id);
DtoUzyTavParaEva ListarPorID(Long id);
public List<ModelUzyTavParaEva> findByIdDatosConParaEvaTipo1(Long id);
List<Object[]> findByIdDatosConParaEvaTipo1(Long id);
public List<ModelUzyTavParaEva> findByIdDatosConParaEvaTipo2(Long id);
List<Object[]> findByIdDatosConParaEvaTipo2(Long id);
public List<ModelUzyTavParaEva> findByDatosUzytavcabparaevafId(Integer id);
List<Object[]> findByDatosUzytavcabparaevafId(Integer id);
public List<Object[]> getAllDatosConParaEva();
List<Object[]> getAllDatosConParaEva();
public List<ModelUzyTavParaEva> ListarRegistros();
List<DtoUzyTavParaEva> ListarRegistros();
public ModelUzyTavParaEva guardar(Long uzytavconparaeva_id, ModelUzyTavParaEva modelUzyTavParaEva);
DtoUzyTavParaEva guardar(DtoUzyTavParaEva dtoUzyTavParaEva);
public ModelUzyTavParaEva editar(Long id, ModelUzyTavParaEva modelUzyTavParaEva);
DtoUzyTavParaEva editar(Long id, DtoUzyTavParaEva dtoUzyTavParaEva);
void eliminar(Long id);
boolean eliminar(Long id);
}
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavParaEva;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavConparaEva;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavParaEva;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavConparaEva;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavParaEva;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTavParaEvaMapper;
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 javax.transaction.Transactional;
import java.util.List;
import java.util.stream.Collectors;
@Service
@Transactional
public class ServiceUzyTavParaEva implements IServiceUzyTavParaEva {
@Autowired
DaoUzyTavParaEva daoUzyTavParaEva;
@Autowired
DaoUzyTavConparaEva daoUzyTavConparaEva;
private final DaoUzyTavParaEva daoUzyTavParaEva;
private final UzyTavParaEvaMapper mapper;
public ServiceUzyTavParaEva(DaoUzyTavParaEva daoUzyTavParaEva, UzyTavParaEvaMapper mapper) {
this.daoUzyTavParaEva = daoUzyTavParaEva;
this.mapper = mapper;
}
@Override
public ModelUzyTavParaEva ListarPorID(@PathVariable Long id) {
return daoUzyTavParaEva.findById(id).get();
public DtoUzyTavParaEva ListarPorID(@PathVariable Long id) {
ModelUzyTavParaEva entity = daoUzyTavParaEva.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
return mapper.entityToDto(entity);
}
@Override
public List<Object[]> getAllDatosConParaEva() {
return daoUzyTavParaEva.getAllDatosConParaEva();
}
@Override
public List<ModelUzyTavParaEva> findByIdDatosConParaEvaTipo1(Long id) {
public List<Object[]> findByIdDatosConParaEvaTipo1(Long id) {
return daoUzyTavParaEva.findByIdDatosConParaEvaTipo1(id);
}
@Override
public List<ModelUzyTavParaEva> findByIdDatosConParaEvaTipo2(Long id) {
public List<Object[]> findByIdDatosConParaEvaTipo2(Long id) {
return daoUzyTavParaEva.findByIdDatosConParaEvaTipo2(id);
}
@Override
public List<ModelUzyTavParaEva> findByDatosUzytavcabparaevafId(Integer id) {
public List<Object[]> findByDatosUzytavcabparaevafId(Integer id) {
return daoUzyTavParaEva.findByDatosUzytavcabparaevafId(id);
}
@Override
public List<ModelUzyTavParaEva> ListarRegistros() {
return daoUzyTavParaEva.findAll();
public List<DtoUzyTavParaEva> ListarRegistros() {
List<ModelUzyTavParaEva> entities = daoUzyTavParaEva.findAll();
return entities.stream()
.map(mapper::entityToDto)
.collect(Collectors.toList());
}
@Override
public ModelUzyTavParaEva guardar(Long uzytavconparaeva_id, ModelUzyTavParaEva modelUzyTavParaEva) {
ModelUzyTavConparaEva uzyTaConparaEva = daoUzyTavConparaEva.findById(uzytavconparaeva_id)
.orElseThrow(() -> new EntityNotFoundException("No se encontró la entidad ModelUzyTaConparaEva con el ID proporcionado"));
modelUzyTavParaEva.setUzytavconparaeva(uzyTaConparaEva);
return daoUzyTavParaEva.save(modelUzyTavParaEva);
public DtoUzyTavParaEva guardar(DtoUzyTavParaEva dtoUzyTavParaEva) {
ModelUzyTavParaEva entity = mapper.dtoToEntity(dtoUzyTavParaEva);
ModelUzyTavParaEva nuevoEntity = daoUzyTavParaEva.save(entity);
return mapper.entityToDto(nuevoEntity);
}
@Override
public ModelUzyTavParaEva editar(@PathVariable Long id, ModelUzyTavParaEva modelUzyTavParaEva) {
ModelUzyTavParaEva dato = daoUzyTavParaEva.findById(id).get();
//.orElseThrow(()->new ControlExcepciones("No existe el registro con el ID : " + id));
//Seteamos los nuevos datos del registro
dato.setUzytavparaeva_id(modelUzyTavParaEva.getUzytavparaeva_id());
dato.setUzytavparaeva_descrip(modelUzyTavParaEva.getUzytavparaeva_descrip());
dato.setUzytavparaeva_orden(modelUzyTavParaEva.getUzytavparaeva_orden());
//dato.setUzytavconparaeva_id(modelUzyTavParaEva.getUzytavconparaeva_id());
dato.setUzytavparaeva_opcmenu(modelUzyTavParaEva.getUzytavparaeva_opcmenu());
dato.setUzytavcabparaevaf_id(modelUzyTavParaEva.getUzytavcabparaevaf_id());
dato.setUzytavparaeva_aspeva(modelUzyTavParaEva.getUzytavparaeva_aspeva());
dato.setUzytavparaeva_infoadic(modelUzyTavParaEva.getUzytavparaeva_infoadic());
dato.setUzytavparaeva_preginfoadic(modelUzyTavParaEva.getUzytavparaeva_preginfoadic());
ModelUzyTavParaEva datoActualizado = daoUzyTavParaEva.save(dato);
return datoActualizado;
public DtoUzyTavParaEva editar(@PathVariable Long id, DtoUzyTavParaEva dtoUzyTavParaEva) {
try {
ModelUzyTavParaEva entity = daoUzyTavParaEva.findById(id).get();
if (entity != null) {
entity.setUzytavparaeva_descrip(dtoUzyTavParaEva.getUzytavparaeva_descrip());
entity.setUzytavparaeva_orden(dtoUzyTavParaEva.getUzytavparaeva_orden());
entity.setUzytavparaeva_opcmenu(dtoUzyTavParaEva.getUzytavparaeva_opcmenu());
entity.setUzytavcabparaevaf_id(dtoUzyTavParaEva.getUzytavcabparaevaf_id());
entity.setUzytavparaeva_aspeva(dtoUzyTavParaEva.getUzytavparaeva_aspeva());
entity.setUzytavparaeva_infoadic(dtoUzyTavParaEva.getUzytavparaeva_infoadic());
entity.setUzytavparaeva_preginfoadic(dtoUzyTavParaEva.getUzytavparaeva_preginfoadic());
ModelUzyTavParaEva updatedEntity = daoUzyTavParaEva.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) {
ModelUzyTavParaEva example = daoUzyTavParaEva.findById(id).get();
//.orElseThrow(() -> new ControlExcepciones("No existe el registro con el ID : " + id));
daoUzyTavParaEva.delete(example);
public boolean eliminar(Long id) {
ModelUzyTavParaEva entity = daoUzyTavParaEva.findById(id).orElse(null);
if (entity != null) {
daoUzyTavParaEva.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