Se modifican los servicios de ModelUzyTavConsolca

parent 5391ac5b
package ec.edu.espe.movilidad.MovilidadWS.Controller; 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 ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavConsolca.IServiceUzyTavConsolca;
import org.springframework.beans.factory.annotation.Autowired;
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 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;
...@@ -16,30 +14,34 @@ import static ec.edu.espe.movilidad.MovilidadWS.Constant.GlobalConstants.V1_API_ ...@@ -16,30 +14,34 @@ import static ec.edu.espe.movilidad.MovilidadWS.Constant.GlobalConstants.V1_API_
@RequestMapping(V1_API_VERSION+"/consolca") @RequestMapping(V1_API_VERSION+"/consolca")
public class UzyTavConsolcaController { public class UzyTavConsolcaController {
@Autowired
private IServiceUzyTavConsolca serviceUzyTavConsolca; private final IServiceUzyTavConsolca serviceUzyTavConsolca;
public UzyTavConsolcaController(IServiceUzyTavConsolca serviceUzyTavConsolca) {
this.serviceUzyTavConsolca = serviceUzyTavConsolca;
}
@GetMapping("/exampleFindId/{id}") @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); return new ResponseEntity<>(serviceUzyTavConsolca.ListarPorID(id), HttpStatus.OK);
} }
@GetMapping("/getAll") @GetMapping("/getAll")
public ResponseEntity<List<ModelUzyTavConsolca>> ListarRegistros() { public ResponseEntity<List<DtoUzyTavConsolca>> ListarRegistros() {
return new ResponseEntity<>(serviceUzyTavConsolca.ListarRegistros(), HttpStatus.OK); return new ResponseEntity<>(serviceUzyTavConsolca.ListarRegistros(), HttpStatus.OK);
} }
@PostMapping("/guardar") @PostMapping("/guardar")
public ResponseEntity<ModelUzyTavConsolca> guardar(@RequestBody ModelUzyTavConsolca modelUzyTavConsolca) { public ResponseEntity<DtoUzyTavConsolca> guardar(@RequestBody DtoUzyTavConsolca dtoUzyTavConsolca) {
return new ResponseEntity<>(serviceUzyTavConsolca.guardar(modelUzyTavConsolca), HttpStatus.OK); return new ResponseEntity<>(serviceUzyTavConsolca.guardar(dtoUzyTavConsolca), HttpStatus.OK);
} }
@PutMapping("/editar/{id}") @PutMapping("/editar/{id}")
public ResponseEntity<ModelUzyTavConsolca> editar(@PathVariable Long id, @RequestBody ModelUzyTavConsolca modelUzyTavConsolca) { public ResponseEntity<DtoUzyTavConsolca> editar(@PathVariable Long id, @RequestBody DtoUzyTavConsolca dtoUzyTavConsolca) {
return new ResponseEntity<>(serviceUzyTavConsolca.editar(id, modelUzyTavConsolca), HttpStatus.OK); return new ResponseEntity<>(serviceUzyTavConsolca.editar(id, dtoUzyTavConsolca), HttpStatus.OK);
} }
......
...@@ -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.DtoUzyTavConsolca; import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavConsolca;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavConsolca; import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavConsolca;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavProyec;
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;
import java.util.List;
import java.util.stream.Collectors;
@Component @Component
public class UzyTavConsolcaMapper { public class UzyTavConsolcaMapper {
private final ModelMapper modelMapper; private final ModelMapper modelMapper;
private final EntityManager entityManager;
public UzyTavConsolcaMapper(ModelMapper modelMapper) { public UzyTavConsolcaMapper(ModelMapper modelMapper, EntityManager entityManager) {
this.modelMapper = modelMapper; this.modelMapper = modelMapper;
this.entityManager = entityManager;
configureMappings();
} }
public DtoUzyTavConsolca entityToDto(ModelUzyTavConsolca entity) { public DtoUzyTavConsolca entityToDto(ModelUzyTavConsolca entity) {
...@@ -18,6 +25,26 @@ public class UzyTavConsolcaMapper { ...@@ -18,6 +25,26 @@ public class UzyTavConsolcaMapper {
} }
public ModelUzyTavConsolca dtoToEntity(DtoUzyTavConsolca dto) { 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; 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.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@Data @Getter
@Setter
@Entity @Entity
@Table(name = "uzytavconsolca", schema = "UTIC1") @Table(name = "uzytavconsolca", schema = "UTIC1")
public class ModelUzyTavConsolca { public class ModelUzyTavConsolca {
private static final long serialVersionUID = 1L;
@Id @Id
@SequenceGenerator(name = "uzytavconsolca_seq", sequenceName = "SEQ_UZYTAVCONSOLCA", allocationSize = 1) @SequenceGenerator(name = "uzytavconsolca_seq", sequenceName = "SEQ_UZYTAVCONSOLCA", allocationSize = 1)
...@@ -44,7 +45,7 @@ public class ModelUzyTavConsolca { ...@@ -44,7 +45,7 @@ public class ModelUzyTavConsolca {
private Date uzytavconsolca_fecha_fin; private Date uzytavconsolca_fecha_fin;
//RELACION CON PROYEC-TABLA PADRE //RELACION CON PROYEC-TABLA PADRE
@JsonIgnore
@ManyToOne @ManyToOne
@JoinColumn(name = "uzytavproyec_id") @JoinColumn(name = "uzytavproyec_id")
private ModelUzyTavProyec uzytavproyec; private ModelUzyTavProyec uzytavproyec;
......
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavConsolca; 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; import java.util.List;
public interface IServiceUzyTavConsolca { 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; package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavConsolca;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavConsolca; 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 ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavConsolca;
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;
...@@ -10,47 +12,66 @@ import java.util.List; ...@@ -10,47 +12,66 @@ import java.util.List;
@Service @Service
public class ServiceUzyTavConsolca implements IServiceUzyTavConsolca{ 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 @Override
public ModelUzyTavConsolca ListarPorID(@PathVariable Long id) { public DtoUzyTavConsolca ListarPorID(@PathVariable Long id) {
return daoUzyTavConsolca.findById(id).get(); ModelUzyTavConsolca entity = daoUzyTavConsolca.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
return mapper.entityToDto(entity);
} }
@Override @Override
public List<ModelUzyTavConsolca> ListarRegistros() { public List<DtoUzyTavConsolca> ListarRegistros() {
return daoUzyTavConsolca.findAll(); List<ModelUzyTavConsolca> entities = daoUzyTavConsolca.findAll();
return mapper.entitiesToDtos(entities);
} }
@Override @Override
public ModelUzyTavConsolca guardar(ModelUzyTavConsolca modelUzyTavConsolca) { public DtoUzyTavConsolca guardar(DtoUzyTavConsolca dtoUzyTavConsolca) {
return daoUzyTavConsolca.save(modelUzyTavConsolca); ModelUzyTavConsolca entity = mapper.dtoToEntity(dtoUzyTavConsolca);
ModelUzyTavConsolca nuevoEntity = daoUzyTavConsolca.save(entity);
return mapper.entityToDto(nuevoEntity);
} }
@Override @Override
public ModelUzyTavConsolca editar(@PathVariable Long id, ModelUzyTavConsolca modelUzyTavConsolca) { public DtoUzyTavConsolca editar(@PathVariable Long id, DtoUzyTavConsolca dtoUzyTavConsolca) {
ModelUzyTavConsolca dato = daoUzyTavConsolca.findById(id).get(); try {
//.orElseThrow(()->new ControlExcepciones("No existe el registro con el ID : " + id)); ModelUzyTavConsolca entity = daoUzyTavConsolca.findById(id).get();
if (entity != null) {
//Seteamos los nuevos datos del registro //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 @Override
public void eliminar(@PathVariable Long id) { public boolean eliminar(Long id) {
ModelUzyTavConsolca entity = daoUzyTavConsolca.findById(id).orElse(null);
ModelUzyTavConsolca dato = daoUzyTavConsolca.findById(id).get(); if (entity != null) {
//.orElseThrow(() -> new ControlExcepciones("No existe el registro con el ID : " + id)); daoUzyTavConsolca.delete(entity);
daoUzyTavConsolca.delete(dato); 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