Se modifican los servicios de ModelUzyTavConsolca

parent 5391ac5b
package ec.edu.espe.movilidad.MovilidadWS.Controller;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavConsolca;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavConsolca;
import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavConsolca.IServiceUzyTavConsolca;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import static ec.edu.espe.movilidad.MovilidadWS.Constant.GlobalConstants.V1_API_VERSION;
......@@ -16,30 +14,34 @@ import static ec.edu.espe.movilidad.MovilidadWS.Constant.GlobalConstants.V1_API_
@RequestMapping(V1_API_VERSION+"/consolca")
public class UzyTavConsolcaController {
@Autowired
private IServiceUzyTavConsolca serviceUzyTavConsolca;
private final IServiceUzyTavConsolca serviceUzyTavConsolca;
public UzyTavConsolcaController(IServiceUzyTavConsolca serviceUzyTavConsolca) {
this.serviceUzyTavConsolca = serviceUzyTavConsolca;
}
@GetMapping("/exampleFindId/{id}")
public ResponseEntity<ModelUzyTavConsolca> ListarPorID(@PathVariable Long id) {
public ResponseEntity<DtoUzyTavConsolca> ListarPorID(@PathVariable Long id) {
return new ResponseEntity<>(serviceUzyTavConsolca.ListarPorID(id), HttpStatus.OK);
}
@GetMapping("/getAll")
public ResponseEntity<List<ModelUzyTavConsolca>> ListarRegistros() {
public ResponseEntity<List<DtoUzyTavConsolca>> ListarRegistros() {
return new ResponseEntity<>(serviceUzyTavConsolca.ListarRegistros(), HttpStatus.OK);
}
@PostMapping("/guardar")
public ResponseEntity<ModelUzyTavConsolca> guardar(@RequestBody ModelUzyTavConsolca modelUzyTavConsolca) {
return new ResponseEntity<>(serviceUzyTavConsolca.guardar(modelUzyTavConsolca), HttpStatus.OK);
public ResponseEntity<DtoUzyTavConsolca> guardar(@RequestBody DtoUzyTavConsolca dtoUzyTavConsolca) {
return new ResponseEntity<>(serviceUzyTavConsolca.guardar(dtoUzyTavConsolca), HttpStatus.OK);
}
@PutMapping("/editar/{id}")
public ResponseEntity<ModelUzyTavConsolca> editar(@PathVariable Long id, @RequestBody ModelUzyTavConsolca modelUzyTavConsolca) {
return new ResponseEntity<>(serviceUzyTavConsolca.editar(id, modelUzyTavConsolca), HttpStatus.OK);
public ResponseEntity<DtoUzyTavConsolca> editar(@PathVariable Long id, @RequestBody DtoUzyTavConsolca dtoUzyTavConsolca) {
return new ResponseEntity<>(serviceUzyTavConsolca.editar(id, dtoUzyTavConsolca), HttpStatus.OK);
}
......
......@@ -2,15 +2,22 @@ package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavConsolca;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavConsolca;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavProyec;
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 UzyTavConsolcaMapper {
private final ModelMapper modelMapper;
public UzyTavConsolcaMapper(ModelMapper modelMapper) {
private final EntityManager entityManager;
public UzyTavConsolcaMapper(ModelMapper modelMapper, EntityManager entityManager) {
this.modelMapper = modelMapper;
this.entityManager = entityManager;
configureMappings();
}
public DtoUzyTavConsolca entityToDto(ModelUzyTavConsolca entity) {
......@@ -18,6 +25,26 @@ public class UzyTavConsolcaMapper {
}
public ModelUzyTavConsolca dtoToEntity(DtoUzyTavConsolca dto) {
return modelMapper.map(dto, ModelUzyTavConsolca.class);
ModelUzyTavConsolca entity = modelMapper.map(dto, ModelUzyTavConsolca.class);
Long proyecID = dto.getUzytavproyec_id();
ModelUzyTavProyec proyec = entityManager.find(ModelUzyTavProyec.class, proyecID );
entity.setUzytavproyec(proyec);
return entity;
}
public List<DtoUzyTavConsolca> entitiesToDtos(List<ModelUzyTavConsolca> entities) {
return entities.stream()
.map(this::entityToDto)
.collect(Collectors.toList());
}
private void configureMappings() {
modelMapper.addMappings(new PropertyMap<ModelUzyTavConsolca, DtoUzyTavConsolca>() {
@Override
protected void configure() {
map().setUzytavconsolca_id(source.getUzytavconsolca_id());
map().setUzytavproyec_id(source.getUzytavproyec().getUzytavproyec_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.Date;
import java.util.List;
import java.util.Set;
@Data
@Getter
@Setter
@Entity
@Table(name = "uzytavconsolca", schema = "UTIC1")
public class ModelUzyTavConsolca {
private static final long serialVersionUID = 1L;
@Id
@SequenceGenerator(name = "uzytavconsolca_seq", sequenceName = "SEQ_UZYTAVCONSOLCA", allocationSize = 1)
......@@ -44,7 +45,7 @@ public class ModelUzyTavConsolca {
private Date uzytavconsolca_fecha_fin;
//RELACION CON PROYEC-TABLA PADRE
@JsonIgnore
@ManyToOne
@JoinColumn(name = "uzytavproyec_id")
private ModelUzyTavProyec uzytavproyec;
......
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavConsolca;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavConsolca;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavConsolca;
import java.util.List;
public interface IServiceUzyTavConsolca {
public ModelUzyTavConsolca ListarPorID(Long id);
DtoUzyTavConsolca ListarPorID(Long id);
public List<ModelUzyTavConsolca> ListarRegistros();
List<DtoUzyTavConsolca> ListarRegistros();
public ModelUzyTavConsolca guardar(ModelUzyTavConsolca modelUzyTavConsolca);
DtoUzyTavConsolca guardar(DtoUzyTavConsolca dtoUzyTavConsolca);
public ModelUzyTavConsolca editar(Long id, ModelUzyTavConsolca modelUzyTavConsolca);
DtoUzyTavConsolca editar(Long id, DtoUzyTavConsolca dtoUzyTavConsolca);
void eliminar(Long id);
boolean eliminar(Long id);
}
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavConsolca;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavConsolca;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavConsolca;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTavConsolcaMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavConsolca;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PathVariable;
......@@ -10,47 +12,66 @@ import java.util.List;
@Service
public class ServiceUzyTavConsolca implements IServiceUzyTavConsolca{
@Autowired
DaoUzyTavConsolca daoUzyTavConsolca;
private final DaoUzyTavConsolca daoUzyTavConsolca;
private final UzyTavConsolcaMapper mapper;
public ServiceUzyTavConsolca(DaoUzyTavConsolca daoUzyTavConsolca, UzyTavConsolcaMapper mapper) {
this.daoUzyTavConsolca = daoUzyTavConsolca;
this.mapper = mapper;
}
@Override
public ModelUzyTavConsolca ListarPorID(@PathVariable Long id) {
return daoUzyTavConsolca.findById(id).get();
public DtoUzyTavConsolca ListarPorID(@PathVariable Long id) {
ModelUzyTavConsolca entity = daoUzyTavConsolca.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
return mapper.entityToDto(entity);
}
@Override
public List<ModelUzyTavConsolca> ListarRegistros() {
return daoUzyTavConsolca.findAll();
public List<DtoUzyTavConsolca> ListarRegistros() {
List<ModelUzyTavConsolca> entities = daoUzyTavConsolca.findAll();
return mapper.entitiesToDtos(entities);
}
@Override
public ModelUzyTavConsolca guardar(ModelUzyTavConsolca modelUzyTavConsolca) {
return daoUzyTavConsolca.save(modelUzyTavConsolca);
public DtoUzyTavConsolca guardar(DtoUzyTavConsolca dtoUzyTavConsolca) {
ModelUzyTavConsolca entity = mapper.dtoToEntity(dtoUzyTavConsolca);
ModelUzyTavConsolca nuevoEntity = daoUzyTavConsolca.save(entity);
return mapper.entityToDto(nuevoEntity);
}
@Override
public ModelUzyTavConsolca editar(@PathVariable Long id, ModelUzyTavConsolca modelUzyTavConsolca) {
ModelUzyTavConsolca dato = daoUzyTavConsolca.findById(id).get();
//.orElseThrow(()->new ControlExcepciones("No existe el registro con el ID : " + id));
public DtoUzyTavConsolca editar(@PathVariable Long id, DtoUzyTavConsolca dtoUzyTavConsolca) {
try {
ModelUzyTavConsolca entity = daoUzyTavConsolca.findById(id).get();
if (entity != null) {
//Seteamos los nuevos datos del registro
dato.setUzytavconsolca_id(modelUzyTavConsolca.getUzytavconsolca_id());
dato.setUzytavconsolca_fecha_crea(modelUzyTavConsolca.getUzytavconsolca_fecha_crea());
dato.setUzytavconsolca_observa(modelUzyTavConsolca.getUzytavconsolca_observa());
dato.setUzytavconsolca_mensaje_correo(modelUzyTavConsolca.getUzytavconsolca_mensaje_correo());
dato.setUzytavconsolca_asunto_correo(modelUzyTavConsolca.getUzytavconsolca_asunto_correo());
dato.setUzytavconsolca_direccion_correo(modelUzyTavConsolca.getUzytavconsolca_direccion_correo());
dato.setUzytavconsolca_estadofin(modelUzyTavConsolca.getUzytavconsolca_estadofin());
dato.setUzytavconsolca_fecha_fin(modelUzyTavConsolca.getUzytavconsolca_fecha_fin());
ModelUzyTavConsolca datoActualizado = daoUzyTavConsolca.save(dato);
return datoActualizado;
entity.setUzytavconsolca_fecha_crea(dtoUzyTavConsolca.getUzytavconsolca_fecha_crea());
entity.setUzytavconsolca_observa(dtoUzyTavConsolca.getUzytavconsolca_observa());
entity.setUzytavconsolca_mensaje_correo(dtoUzyTavConsolca.getUzytavconsolca_mensaje_correo());
entity.setUzytavconsolca_asunto_correo(dtoUzyTavConsolca.getUzytavconsolca_asunto_correo());
entity.setUzytavconsolca_direccion_correo(dtoUzyTavConsolca.getUzytavconsolca_direccion_correo());
entity.setUzytavconsolca_estadofin(dtoUzyTavConsolca.getUzytavconsolca_estadofin());
entity.setUzytavconsolca_fecha_fin(dtoUzyTavConsolca.getUzytavconsolca_fecha_fin());
ModelUzyTavConsolca updatedEntity = daoUzyTavConsolca.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) {
ModelUzyTavConsolca dato = daoUzyTavConsolca.findById(id).get();
//.orElseThrow(() -> new ControlExcepciones("No existe el registro con el ID : " + id));
daoUzyTavConsolca.delete(dato);
public boolean eliminar(Long id) {
ModelUzyTavConsolca entity = daoUzyTavConsolca.findById(id).orElse(null);
if (entity != null) {
daoUzyTavConsolca.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