Se agregan los servicios de OpcionInstitucion

parent 393a1e5a
package ec.edu.espe.movilidad.MovilidadWS.Controller; package ec.edu.espe.movilidad.MovilidadWS.Controller;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavOpcionInstitucion; import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavOpcionInstitucion;
import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavOpcionInstitucion.IServiceUzyTavOpcionInstitucion; import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavOpcionInstitucion.IServiceUzyTavOpcionInstitucion;
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.*;
...@@ -17,28 +16,31 @@ import static ec.edu.espe.movilidad.MovilidadWS.Constant.GlobalConstants.V1_API_ ...@@ -17,28 +16,31 @@ import static ec.edu.espe.movilidad.MovilidadWS.Constant.GlobalConstants.V1_API_
public class UzyTavOpcionInstitucionController { public class UzyTavOpcionInstitucionController {
@Autowired private final IServiceUzyTavOpcionInstitucion serviceUzyTavOpcionInstitucion;
IServiceUzyTavOpcionInstitucion serviceUzyTavOpcionInstitucion;
public UzyTavOpcionInstitucionController(IServiceUzyTavOpcionInstitucion serviceUzyTavOpcionInstitucion) {
this.serviceUzyTavOpcionInstitucion = serviceUzyTavOpcionInstitucion;
}
@GetMapping("/exampleFindId/{id}") @GetMapping("/exampleFindId/{id}")
public ResponseEntity<ModelUzyTavOpcionInstitucion> ListarPorID(@PathVariable Long id) { public ResponseEntity<DtoUzyTavOpcionInstitucion> ListarPorID(@PathVariable Long id) {
return new ResponseEntity<>(serviceUzyTavOpcionInstitucion.ListarPorID(id), HttpStatus.OK); return new ResponseEntity<>(serviceUzyTavOpcionInstitucion.ListarPorID(id), HttpStatus.OK);
} }
@GetMapping("/getAll") @GetMapping("/getAll")
public ResponseEntity<List<ModelUzyTavOpcionInstitucion>> ListarRegistros() { public ResponseEntity<List<DtoUzyTavOpcionInstitucion>> ListarRegistros() {
return new ResponseEntity<>(serviceUzyTavOpcionInstitucion.ListarRegistros(), HttpStatus.OK); return new ResponseEntity<>(serviceUzyTavOpcionInstitucion.ListarRegistros(), HttpStatus.OK);
} }
@PostMapping("/guardar") @PostMapping("/guardar")
public ResponseEntity<ModelUzyTavOpcionInstitucion> guardar(@RequestBody ModelUzyTavOpcionInstitucion modelUzyTavOpcionInstitucion) { public ResponseEntity<DtoUzyTavOpcionInstitucion> guardar(@RequestBody DtoUzyTavOpcionInstitucion dtoUzyTavOpcionInstitucion) {
return new ResponseEntity<>(serviceUzyTavOpcionInstitucion.guardar(modelUzyTavOpcionInstitucion), HttpStatus.OK); return new ResponseEntity<>(serviceUzyTavOpcionInstitucion.guardar(dtoUzyTavOpcionInstitucion), HttpStatus.OK);
} }
@PutMapping("/editar/{id}") @PutMapping("/editar/{id}")
public ResponseEntity<ModelUzyTavOpcionInstitucion> editar(@PathVariable Long id, @RequestBody ModelUzyTavOpcionInstitucion modelUzyTavOpcionInstitucion) { public ResponseEntity<DtoUzyTavOpcionInstitucion> editar(@PathVariable Long id, @RequestBody DtoUzyTavOpcionInstitucion modelUzyTavOpcionInstitucion) {
return new ResponseEntity<>(serviceUzyTavOpcionInstitucion.editar(id, modelUzyTavOpcionInstitucion), HttpStatus.OK); return new ResponseEntity<>(serviceUzyTavOpcionInstitucion.editar(id, modelUzyTavOpcionInstitucion), HttpStatus.OK);
} }
......
package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class; package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavOpcionInstitucion; import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavOpcionInstitucion;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTProvincia;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavOpcionInstitucion; import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavOpcionInstitucion;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavPrograma_V;
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;
@Component @Component
public class UzyTavOpcionInstitucionMapper { public class UzyTavOpcionInstitucionMapper {
private final EntityManager entityManager;
private final ModelMapper modelMapper; private final ModelMapper modelMapper;
public UzyTavOpcionInstitucionMapper(ModelMapper modelMapper) { public UzyTavOpcionInstitucionMapper(ModelMapper modelMapper, EntityManager entityManager) {
this.modelMapper = modelMapper; this.modelMapper = modelMapper;
this.entityManager = entityManager;
configureMappings();
}
private void configureMappings() {
modelMapper.addMappings(new PropertyMap<ModelUzyTavOpcionInstitucion, DtoUzyTavOpcionInstitucion>() {
@Override
protected void configure() {
map().setUzytavopcion_institucion_id(source.getUzytavopcion_institucion_id());
map().setUzytavprograma_v_id(source.getUzytavprograma_v().getUzytavprograma_v_id());
map().setUzytprovincia_id(source.getUzytprovincia().getUzytprovincia_id());
}
});
} }
public DtoUzyTavOpcionInstitucion entityToDto(ModelUzyTavOpcionInstitucion entity) { public DtoUzyTavOpcionInstitucion entityToDto(ModelUzyTavOpcionInstitucion entity) {
...@@ -18,6 +38,18 @@ public class UzyTavOpcionInstitucionMapper { ...@@ -18,6 +38,18 @@ public class UzyTavOpcionInstitucionMapper {
} }
public ModelUzyTavOpcionInstitucion dtoToEntity(DtoUzyTavOpcionInstitucion dto) { public ModelUzyTavOpcionInstitucion dtoToEntity(DtoUzyTavOpcionInstitucion dto) {
return modelMapper.map(dto, ModelUzyTavOpcionInstitucion.class); ModelUzyTavOpcionInstitucion entity = modelMapper.map(dto, ModelUzyTavOpcionInstitucion.class);
Long uzytprograma_v_id = dto.getUzytavprograma_v_id();
String uzytprovincia_id = dto.getUzytprovincia_id();
ModelUzyTavPrograma_V programa = entityManager.find(ModelUzyTavPrograma_V.class, uzytprograma_v_id);
entity.setUzytavprograma_v(programa);
ModelUzyTProvincia provincia = entityManager.find(ModelUzyTProvincia.class, uzytprovincia_id);
entity.setUzytprovincia(provincia);
return entity;
} }
} }
package ec.edu.espe.movilidad.MovilidadWS.Model; package ec.edu.espe.movilidad.MovilidadWS.Model;
import lombok.Getter;
import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Setter;
import lombok.Data;
import javax.persistence.*; import javax.persistence.*;
import java.util.Date; import java.util.Date;
@Data @Getter
@Setter
@Entity @Entity
@Table(name = "uzytavopcion_institucion", schema = "UTIC1") @Table(name = "uzytavopcion_institucion", schema = "UTIC1")
public class ModelUzyTavOpcionInstitucion { public class ModelUzyTavOpcionInstitucion {
...@@ -55,17 +54,16 @@ public class ModelUzyTavOpcionInstitucion { ...@@ -55,17 +54,16 @@ public class ModelUzyTavOpcionInstitucion {
private String uzytavopcion_institucionorgano_ejecutor; private String uzytavopcion_institucionorgano_ejecutor;
//RELACIÓN CON PROGRAMA //RELACIÓN CON PROGRAMA
@JsonIgnore
@ManyToOne(cascade = CascadeType.ALL) @ManyToOne
// @JoinColumn(name = "uzytavprograma_v_id", foreignKey = @ForeignKey(name = "fk_opint_programa")) útil para tener un mejor control y comprensión de las restricciones en la base de datos. // @JoinColumn(name = "uzytavprograma_v_id", foreignKey = @ForeignKey(name = "fk_opint_programa")) útil para tener un mejor control y comprensión de las restricciones en la base de datos.
@JoinColumn(name = "uzytavprograma_v_id") @JoinColumn(name = "uzytavprograma_v_id")
private ModelUzyTavPrograma_V uzytavprograma_v; private ModelUzyTavPrograma_V uzytavprograma_v;
//RELACIÓN CON PROVINCIA //RELACIÓN CON PROVINCIA
@JsonIgnore
@ManyToOne( cascade = CascadeType.ALL) @ManyToOne
@JoinColumn(name = "uzytprovincia_id") @JoinColumn(name = "uzytprovincia_id")
private ModelUzyTProvincia uzytprovincia; private ModelUzyTProvincia uzytprovincia;
//
} }
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavOpcionInstitucion; package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavOpcionInstitucion;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavOpcionInstitucion; import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavOpcionInstitucion;
import java.util.List; import java.util.List;
public interface IServiceUzyTavOpcionInstitucion { public interface IServiceUzyTavOpcionInstitucion {
public ModelUzyTavOpcionInstitucion ListarPorID(Long id); DtoUzyTavOpcionInstitucion ListarPorID(Long id);
public List<ModelUzyTavOpcionInstitucion> ListarRegistros(); List<DtoUzyTavOpcionInstitucion> ListarRegistros();
public ModelUzyTavOpcionInstitucion guardar(ModelUzyTavOpcionInstitucion modelUzyTavOpcionInstitucion); DtoUzyTavOpcionInstitucion guardar(DtoUzyTavOpcionInstitucion dtoUzyTavOpcionInstitucion);
public ModelUzyTavOpcionInstitucion editar( Long id, ModelUzyTavOpcionInstitucion modelUzyTavOpcionInstitucion); DtoUzyTavOpcionInstitucion editar( Long id, DtoUzyTavOpcionInstitucion dtoUzyTavOpcionInstitucion);
void eliminar(Long id); void eliminar(Long id);
......
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavOpcionInstitucion; package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavOpcionInstitucion;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavOpcionInstitucion; import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavOpcionInstitucion;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavOpcionInstitucion;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTavOpcionInstitucionMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavOpcionInstitucion; import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavOpcionInstitucion;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
@Service @Service
public class ServiceUzyTavOpcionInstitucion implements IServiceUzyTavOpcionInstitucion{ public class ServiceUzyTavOpcionInstitucion implements IServiceUzyTavOpcionInstitucion{
@Autowired
DaoUzyTavOpcionInstitucion daoUzyTavOpcionInstitucion; private final DaoUzyTavOpcionInstitucion daoUzyTavOpcionInstitucion;
private final UzyTavOpcionInstitucionMapper mapper;
public ServiceUzyTavOpcionInstitucion(DaoUzyTavOpcionInstitucion daoUzyTavOpcionInstitucion, UzyTavOpcionInstitucionMapper mapper) {
this.daoUzyTavOpcionInstitucion = daoUzyTavOpcionInstitucion;
this.mapper=mapper;
}
@Override @Override
public ModelUzyTavOpcionInstitucion ListarPorID(Long id) { public DtoUzyTavOpcionInstitucion ListarPorID(Long id) {
return daoUzyTavOpcionInstitucion.findById(id).get(); ModelUzyTavOpcionInstitucion entity = daoUzyTavOpcionInstitucion.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
return mapper.entityToDto(entity);
} }
@Override @Override
public List<ModelUzyTavOpcionInstitucion> ListarRegistros() { public List<DtoUzyTavOpcionInstitucion> ListarRegistros() {
return daoUzyTavOpcionInstitucion.findAll(); List<ModelUzyTavOpcionInstitucion> entities = daoUzyTavOpcionInstitucion.findAll();
return entities.stream()
.map(mapper::entityToDto)
.collect(Collectors.toList());
} }
@Override @Override
public ModelUzyTavOpcionInstitucion guardar(ModelUzyTavOpcionInstitucion modelUzyTavOpcionInstitucion) { public DtoUzyTavOpcionInstitucion guardar(DtoUzyTavOpcionInstitucion dtoUzyTavOpcionInstitucion) {
return daoUzyTavOpcionInstitucion.save(modelUzyTavOpcionInstitucion); ModelUzyTavOpcionInstitucion entity = mapper.dtoToEntity(dtoUzyTavOpcionInstitucion);
ModelUzyTavOpcionInstitucion nuevoEntity = daoUzyTavOpcionInstitucion.save(entity);
return mapper.entityToDto(nuevoEntity);
} }
@Override @Override
public ModelUzyTavOpcionInstitucion editar(Long id, ModelUzyTavOpcionInstitucion modelUzyTavOpcionInstitucion) { public DtoUzyTavOpcionInstitucion editar(Long id, DtoUzyTavOpcionInstitucion dtoUzyTavOpcionInstitucion) {
ModelUzyTavOpcionInstitucion dato = daoUzyTavOpcionInstitucion.findById(id).get(); try {
//.orElseThrow(()->new ControlExcepciones("No existe el registro con el ID : " + id)); ModelUzyTavOpcionInstitucion dato = daoUzyTavOpcionInstitucion.findById(id).get();
//Seteamos los nuevos datos del registro if (dato != null) {
dato.setUzytavopcion_institucion_id(modelUzyTavOpcionInstitucion.getUzytavopcion_institucion_id());
dato.setUzytavopcion_institucionorden(modelUzyTavOpcionInstitucion.getUzytavopcion_institucionorden()); dato.setUzytavopcion_institucion_id(dtoUzyTavOpcionInstitucion.getUzytavopcion_institucion_id());
dato.setUzytavopcion_institucionnombre(modelUzyTavOpcionInstitucion.getUzytavopcion_institucionnombre()); dato.setUzytavopcion_institucionorden(dtoUzyTavOpcionInstitucion.getUzytavopcion_institucionorden());
dato.setUzytavopcion_institucionfecha_crea(modelUzyTavOpcionInstitucion.getUzytavopcion_institucionfecha_crea()); dato.setUzytavopcion_institucionnombre(dtoUzyTavOpcionInstitucion.getUzytavopcion_institucionnombre());
dato.setUzytavopcion_instituciondireccion(modelUzyTavOpcionInstitucion.getUzytavopcion_instituciondireccion()); dato.setUzytavopcion_institucionfecha_crea(dtoUzyTavOpcionInstitucion.getUzytavopcion_institucionfecha_crea());
dato.setUzytavopcion_institucionciudad(modelUzyTavOpcionInstitucion.getUzytavopcion_institucionciudad()); dato.setUzytavopcion_instituciondireccion(dtoUzyTavOpcionInstitucion.getUzytavopcion_instituciondireccion());
dato.setUzytavopcion_instituciontelefono(modelUzyTavOpcionInstitucion.getUzytavopcion_instituciontelefono()); dato.setUzytavopcion_institucionciudad(dtoUzyTavOpcionInstitucion.getUzytavopcion_institucionciudad());
dato.setUzytavopcion_institucionpaguina_web(modelUzyTavOpcionInstitucion.getUzytavopcion_institucionpaguina_web()); dato.setUzytavopcion_instituciontelefono(dtoUzyTavOpcionInstitucion.getUzytavopcion_instituciontelefono());
dato.setUzytavopcion_institucionmail(modelUzyTavOpcionInstitucion.getUzytavopcion_institucionmail()); dato.setUzytavopcion_institucionpaguina_web(dtoUzyTavOpcionInstitucion.getUzytavopcion_institucionpaguina_web());
dato.setUzytavopcion_institucionfax(modelUzyTavOpcionInstitucion.getUzytavopcion_institucionfax()); dato.setUzytavopcion_institucionmail(dtoUzyTavOpcionInstitucion.getUzytavopcion_institucionmail());
dato.setUzytavopcion_institucionrepresenta_legal(modelUzyTavOpcionInstitucion.getUzytavopcion_institucionrepresenta_legal()); dato.setUzytavopcion_institucionfax(dtoUzyTavOpcionInstitucion.getUzytavopcion_institucionfax());
dato.setUzytavopcion_institucioncedula_rl(modelUzyTavOpcionInstitucion.getUzytavopcion_institucioncedula_rl()); dato.setUzytavopcion_institucionrepresenta_legal(dtoUzyTavOpcionInstitucion.getUzytavopcion_institucionrepresenta_legal());
dato.setUzytavopcion_institucionorgano_ejecutor(modelUzyTavOpcionInstitucion.getUzytavopcion_institucionorgano_ejecutor()); dato.setUzytavopcion_institucioncedula_rl(dtoUzyTavOpcionInstitucion.getUzytavopcion_institucioncedula_rl());
dato.setUzytavopcion_institucionorgano_ejecutor(dtoUzyTavOpcionInstitucion.getUzytavopcion_institucionorgano_ejecutor());
ModelUzyTavOpcionInstitucion datoActualizado = daoUzyTavOpcionInstitucion.save(dato);
return datoActualizado; ModelUzyTavOpcionInstitucion updatedEntity = daoUzyTavOpcionInstitucion.save(dato);
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(Long id) { public void eliminar(Long id) {
ModelUzyTavOpcionInstitucion dato = daoUzyTavOpcionInstitucion.findById(id).get(); ModelUzyTavOpcionInstitucion dato = daoUzyTavOpcionInstitucion.findById(id).get();
//.orElseThrow(() -> new ControlExcepciones("No existe el registro con el ID : " + id));
daoUzyTavOpcionInstitucion.delete(dato); daoUzyTavOpcionInstitucion.delete(dato);
} }
} }
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