Se corrigen los servicios de ModelUzyTavInstituc

parent 21c980c1
package ec.edu.espe.movilidad.MovilidadWS.Controller;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavInstituc;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavInstituc;
import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavInstituc.IServiceUzyTavInstituc;
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;
......@@ -21,41 +20,40 @@ public class UzyTavInstitucController {
IServiceUzyTavInstituc serviceUzyTavInstituc;
@GetMapping("/exampleFindId/{id}")
public ResponseEntity<ModelUzyTavInstituc> ListarPorID(@PathVariable Long id) {
public ResponseEntity<DtoUzyTavInstituc> ListarPorID(@PathVariable Long id) {
return new ResponseEntity<>(serviceUzyTavInstituc.ListarPorID(id), HttpStatus.OK);
}
@GetMapping("/getAll")
public ResponseEntity<List<ModelUzyTavInstituc>> ListarRegistros() {
public ResponseEntity<List<DtoUzyTavInstituc>> ListarRegistros() {
return new ResponseEntity<>(serviceUzyTavInstituc.ListarRegistros(), HttpStatus.OK);
}
@PostMapping("/guardar")
public ResponseEntity<ModelUzyTavInstituc> guardar(@RequestBody ModelUzyTavInstituc modelUzyTavInstituc, @RequestParam("uzytparroquia_id") String uzytparroquia_id) {
ModelUzyTavInstituc creado = serviceUzyTavInstituc.guardar(uzytparroquia_id, modelUzyTavInstituc);
public ResponseEntity<DtoUzyTavInstituc> guardar(@RequestBody DtoUzyTavInstituc dtoUzyTavInstituc) {
DtoUzyTavInstituc creado = serviceUzyTavInstituc.guardar(dtoUzyTavInstituc);
return ResponseEntity.status(HttpStatus.CREATED).body(creado);
}
@PutMapping("/editar/{id}")
public ResponseEntity<ModelUzyTavInstituc> editar(@PathVariable Long id,@RequestParam("uzytparroquia_id") String uzytparroquia_id, @RequestBody ModelUzyTavInstituc modelUzyTavInstituc) {
ModelUzyTavInstituc institucActualizada = serviceUzyTavInstituc.editar(id, uzytparroquia_id, modelUzyTavInstituc);
if (institucActualizada != null) {
return new ResponseEntity<>(institucActualizada, HttpStatus.OK);
} else {
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
public ResponseEntity<DtoUzyTavInstituc> editar(@PathVariable Long id, @RequestBody DtoUzyTavInstituc dtoUzyTavInstituc) {
return new ResponseEntity<>(serviceUzyTavInstituc.editar(id, dtoUzyTavInstituc), HttpStatus.OK);
}
@DeleteMapping("/eliminar/{id}")
public ResponseEntity<Void> eliminar(@PathVariable Long id) {
serviceUzyTavInstituc.eliminar(id);
return ResponseEntity.ok().build();
public ResponseEntity<String> eliminar(@PathVariable Long id){
boolean eliminado = serviceUzyTavInstituc.eliminar(id);
if (eliminado) {
return ResponseEntity.ok("El registro se eliminó exitosamente.");
} else {
return ResponseEntity.notFound().build();
}
}
}
......@@ -2,8 +2,13 @@ package ec.edu.espe.movilidad.MovilidadWS.Dao;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavInstituc;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface DaoUzyTavInstituc extends JpaRepository<ModelUzyTavInstituc, Long> {
@Query("SELECT l FROM ModelUzyTavInstituc l WHERE l.uzytavinstituc_estado = 'A'")
List<ModelUzyTavInstituc> findByEstadoTrue();
}
package ec.edu.espe.movilidad.MovilidadWS.Dto;
import lombok.Data;
import java.util.Date;
@Data
public class DtoUzyTavInstituc {
private Long uzytavinstituc_id;
private String uzytavinstituc_nombre;
private String uzytavinstituc_calle;
private String uzytavinstituc_telefono;
private String uzytavinstituc_nomrepl;
private String uzytavinstituc_cargorl;
private String uzytavinstituc_apellirl;
private String uzytavinstituc_telrepl;
private String uzytavinstituc_mailrl1;
private Date uzytavinstituc_fecha_crea;
private String uzytavinstituc_estado;
private String uzytparroquia_id;
private DtoUzyTParroquia uzytparroquia;
}
package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavInstituc;
import ec.edu.espe.movilidad.MovilidadWS.Model.*;
import org.modelmapper.ModelMapper;
import org.springframework.stereotype.Component;
import javax.persistence.EntityManager;
import java.util.List;
import java.util.stream.Collectors;
@Component
public class UzyTavInstitucMapper {
private final ModelMapper modelMapper;
private final EntityManager entityManager;
public UzyTavInstitucMapper(ModelMapper modelMapper, EntityManager entityManager) {
this.modelMapper = modelMapper;
this.entityManager = entityManager;
}
public DtoUzyTavInstituc entityToDto(ModelUzyTavInstituc entity) {
return modelMapper.map(entity, DtoUzyTavInstituc.class);
}
public ModelUzyTavInstituc dtoToEntity(DtoUzyTavInstituc dto) {
ModelUzyTavInstituc entity = modelMapper.map(dto, ModelUzyTavInstituc.class);
String parroquiaID = dto.getUzytparroquia_id();
ModelUzyTParroquia parroquia = entityManager.find(ModelUzyTParroquia.class, parroquiaID);
entity.setUzytparroquia(parroquia);
return entity;
}
public List<DtoUzyTavInstituc> entitiesToDtos(List<ModelUzyTavInstituc> entities) {
return entities.stream()
.map(this::entityToDto)
.collect(Collectors.toList());
}
}
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;
@Data
@Getter
@Setter
@Entity
@Table(name = "uzytavinstituc", schema = "UTIC1")
public class ModelUzyTavInstituc {
@Id
@SequenceGenerator(name = "uzytavinstituc_seq", sequenceName = "SEQ_UZYTAVINSTITUC", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "uzytavinstituc_seq")
@Column(name = "uzytavinstituc_id")
private Long uzytavinstituc_id;
@Column(name = "uzytavinstituc_nombre")
private String uzytavinstituc_nombre;
@Column(name = "uzytavinstituc_calle")
private String uzytavinstituc_calle;
@Column(name = "uzytavinstituc_telefono")
private String uzytavinstituc_telefono;
@Column(name = "uzytavinstituc_nomrepl")
private String uzytavinstituc_nomrepl;
......@@ -51,9 +46,8 @@ public class ModelUzyTavInstituc {
private String uzytavinstituc_estado;
//RELACIÓN CON PARROQUIA-TABLA PADRE
@JsonIgnore
@ManyToOne( cascade = CascadeType.ALL)
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "uzytparroquia_id", referencedColumnName = "uzytparroquia_id")
private ModelUzyTParroquia uzytparroquia;
}
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavInstituc;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavInstituc;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavInstituc;
import java.util.List;
public interface IServiceUzyTavInstituc {
public ModelUzyTavInstituc ListarPorID(Long id);
DtoUzyTavInstituc ListarPorID(Long id);
public List<ModelUzyTavInstituc> ListarRegistros();
List<DtoUzyTavInstituc> ListarRegistros();
public ModelUzyTavInstituc guardar(String uzytparroquia_id, ModelUzyTavInstituc modelUzyTavInstituc);
DtoUzyTavInstituc guardar(DtoUzyTavInstituc dtoUzyTavInstituc);
public ModelUzyTavInstituc editar( Long id,String uzytparroquia_id, ModelUzyTavInstituc modelUzyTavInstituc);
DtoUzyTavInstituc editar( Long id,DtoUzyTavInstituc dtoUzyTavInstituc);
void eliminar(Long id);
boolean eliminar(Long id);
}
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavInstituc;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTParroquia;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavInstituc;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavInstituc;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTavInstitucMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTParroquia;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavInstituc;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.persistence.EntityNotFoundException;
import javax.persistence.EntityManager;
import java.util.List;
import java.util.NoSuchElementException;
@Service
public class ServiceUzyTavInstituc implements IServiceUzyTavInstituc{
@Autowired
DaoUzyTavInstituc daoUzyTavInstituc;
@Autowired
DaoUzyTParroquia daoUzyTParroquia;
public class ServiceUzyTavInstituc implements IServiceUzyTavInstituc {
private final DaoUzyTavInstituc daoUzyTavInstituc;
private final UzyTavInstitucMapper mapper;
private final EntityManager entityManager;
public ServiceUzyTavInstituc(DaoUzyTavInstituc daoUzyTavInstituc, UzyTavInstitucMapper mapper, EntityManager entityManager) {
this.daoUzyTavInstituc = daoUzyTavInstituc;
this.mapper = mapper;
this.entityManager = entityManager;
}
@Override
public ModelUzyTavInstituc ListarPorID(Long id) {
return daoUzyTavInstituc.findById(id).get();
public DtoUzyTavInstituc ListarPorID(Long id) {
ModelUzyTavInstituc entity = daoUzyTavInstituc.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
return mapper.entityToDto(entity);
}
@Override
public List<ModelUzyTavInstituc> ListarRegistros() {
return daoUzyTavInstituc.findAll();
public List<DtoUzyTavInstituc> ListarRegistros() {
List<ModelUzyTavInstituc> entities = daoUzyTavInstituc.findByEstadoTrue();
return mapper.entitiesToDtos(entities);
}
@Override
public ModelUzyTavInstituc guardar(String uzytparroquia_id, ModelUzyTavInstituc modelUzyTavInstituc) {
ModelUzyTParroquia uzyTParroquia = daoUzyTParroquia.findById(uzytparroquia_id)
.orElseThrow(() -> new EntityNotFoundException("No se encontró la entidad ModelUzyTParroquia con el ID proporcionado"));
modelUzyTavInstituc.setUzytparroquia(uzyTParroquia);
return daoUzyTavInstituc.save(modelUzyTavInstituc);
public DtoUzyTavInstituc guardar(DtoUzyTavInstituc dtoUzyTavInstituc) {
ModelUzyTavInstituc entity = mapper.dtoToEntity(dtoUzyTavInstituc);
ModelUzyTavInstituc nuevoEntity = daoUzyTavInstituc.save(entity);
return mapper.entityToDto(nuevoEntity);
}
@Override
public ModelUzyTavInstituc editar(Long id, String uzytparroquia_id, ModelUzyTavInstituc modelUzyTavInstituc) {
ModelUzyTavInstituc dato = daoUzyTavInstituc.findById(id)
public DtoUzyTavInstituc editar(Long id,DtoUzyTavInstituc dtoUzyTavInstituc) {
try {
ModelUzyTavInstituc entity = daoUzyTavInstituc.findById(id)
.orElseThrow(() -> new NoSuchElementException("No existe el registro con el ID: " + id));
ModelUzyTParroquia uzyTParroquia = daoUzyTParroquia.findById(uzytparroquia_id)
.orElseThrow(() -> new EntityNotFoundException("No se encontró la entidad ModelUzyTParroquia con el ID proporcionado"));
if (entity != null) {
// Actualizar los datos del registro
dato.setUzytparroquia(uzyTParroquia);
dato.setUzytavinstituc_id(modelUzyTavInstituc.getUzytavinstituc_id());
dato.setUzytavinstituc_nombre(modelUzyTavInstituc.getUzytavinstituc_nombre());
dato.setUzytavinstituc_calle(modelUzyTavInstituc.getUzytavinstituc_calle());
dato.setUzytavinstituc_telefono(modelUzyTavInstituc.getUzytavinstituc_telefono());
dato.setUzytavinstituc_nomrepl(modelUzyTavInstituc.getUzytavinstituc_nomrepl());
dato.setUzytavinstituc_cargorl(modelUzyTavInstituc.getUzytavinstituc_cargorl());
dato.setUzytavinstituc_apellirl(modelUzyTavInstituc.getUzytavinstituc_apellirl());
dato.setUzytavinstituc_telrepl(modelUzyTavInstituc.getUzytavinstituc_telrepl());
dato.setUzytavinstituc_mailrl1(modelUzyTavInstituc.getUzytavinstituc_mailrl1());
dato.setUzytavinstituc_fecha_crea(modelUzyTavInstituc.getUzytavinstituc_fecha_crea());
dato.setUzytavinstituc_estado(modelUzyTavInstituc.getUzytavinstituc_estado());
ModelUzyTavInstituc datoActualizado = daoUzyTavInstituc.save(dato);
return datoActualizado;
entity.setUzytavinstituc_nombre(dtoUzyTavInstituc.getUzytavinstituc_nombre());
entity.setUzytavinstituc_calle(dtoUzyTavInstituc.getUzytavinstituc_calle());
entity.setUzytavinstituc_telefono(dtoUzyTavInstituc.getUzytavinstituc_telefono());
entity.setUzytavinstituc_nomrepl(dtoUzyTavInstituc.getUzytavinstituc_nomrepl());
entity.setUzytavinstituc_cargorl(dtoUzyTavInstituc.getUzytavinstituc_cargorl());
entity.setUzytavinstituc_apellirl(dtoUzyTavInstituc.getUzytavinstituc_apellirl());
entity.setUzytavinstituc_telrepl(dtoUzyTavInstituc.getUzytavinstituc_telrepl());
entity.setUzytavinstituc_mailrl1(dtoUzyTavInstituc.getUzytavinstituc_mailrl1());
entity.setUzytavinstituc_fecha_crea(dtoUzyTavInstituc.getUzytavinstituc_fecha_crea());
if (dtoUzyTavInstituc.getUzytavinstituc_estado() !=null){
entity.setUzytavinstituc_estado(dtoUzyTavInstituc.getUzytavinstituc_estado());
}
if (dtoUzyTavInstituc.getUzytparroquia_id() != null) {
ModelUzyTParroquia parroquia = entityManager.find(ModelUzyTParroquia.class, dtoUzyTavInstituc.getUzytparroquia_id());
entity.setUzytparroquia(parroquia);
}
ModelUzyTavInstituc updatedEntity = daoUzyTavInstituc.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(Long id) {
ModelUzyTavInstituc example = daoUzyTavInstituc.findById(id).get();
daoUzyTavInstituc.delete(example);
public boolean eliminar(Long id) {
ModelUzyTavInstituc entity = daoUzyTavInstituc.findById(id).orElse(null);
if (entity != null) {
entity.setUzytavinstituc_estado("I"); // Se cambia el estado a (I) inactivo
daoUzyTavInstituc.save(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