Se realizan los servicios de ModelUzyTavDesigDoc y ModelUzyTavDesigEstu

parent b9c96bbd
package ec.edu.espe.movilidad.MovilidadWS.Controller;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavDesigDoc;
import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavDesigDoc.IServiceUzyTavDesigDoc;
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+"/desigdoc")
public class UzyTavDesigDocController {
private final IServiceUzyTavDesigDoc serviceUzyTavDesigDoc;
public UzyTavDesigDocController(IServiceUzyTavDesigDoc serviceUzyTavDesigDoc) {
this.serviceUzyTavDesigDoc = serviceUzyTavDesigDoc;
}
@GetMapping("/exampleFindId/{id}")
public DtoUzyTavDesigDoc ListarPorID(@PathVariable Long id) {
return serviceUzyTavDesigDoc.ListarPorID(id);
}
@GetMapping("/getAll")
public List<DtoUzyTavDesigDoc> ListarRegistros() {
return serviceUzyTavDesigDoc.ListarRegistros();
}
@PostMapping("/guardar")
public DtoUzyTavDesigDoc guardar(@Valid @RequestBody DtoUzyTavDesigDoc dtoUzyTavDesigDoc) {
return serviceUzyTavDesigDoc.guardar(dtoUzyTavDesigDoc);
}
@PutMapping("/editar/{id}")
public DtoUzyTavDesigDoc editar(@PathVariable Long id, @Valid @RequestBody DtoUzyTavDesigDoc dtoUzyTavDesigDoc) {
return serviceUzyTavDesigDoc.editar(id, dtoUzyTavDesigDoc);
}
@DeleteMapping("/eliminar/{id}")
public ResponseEntity<String> eliminar(@PathVariable Long id) {
boolean eliminado = serviceUzyTavDesigDoc.eliminar(id);
if (eliminado) {
return ResponseEntity.ok("El registro se eliminó exitosamente.");
} else {
return ResponseEntity.notFound().build();
}
}
}
package ec.edu.espe.movilidad.MovilidadWS.Controller;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavDesigEstu;
import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavDesigEstu.IServiceUzyTavDesigEstu;
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+"/desigestu")
public class UzyTavDesigEstuController {
private final IServiceUzyTavDesigEstu serviceUzyTavDesigEstu;
public UzyTavDesigEstuController(IServiceUzyTavDesigEstu serviceUzyTavDesigEstu) {
this.serviceUzyTavDesigEstu = serviceUzyTavDesigEstu;
}
@GetMapping("/exampleFindId/{id}")
public DtoUzyTavDesigEstu ListarPorID(@PathVariable Long id) {
return serviceUzyTavDesigEstu.ListarPorID(id);
}
@GetMapping("/getAll")
public List<DtoUzyTavDesigEstu> ListarRegistros() {
return serviceUzyTavDesigEstu.ListarRegistros();
}
@PostMapping("/guardar")
public DtoUzyTavDesigEstu guardar(@Valid @RequestBody DtoUzyTavDesigEstu dtoUzyTavDesigEstu) {
return serviceUzyTavDesigEstu.guardar(dtoUzyTavDesigEstu);
}
@PutMapping("/editar/{id}")
public DtoUzyTavDesigEstu editar(@PathVariable Long id, @Valid @RequestBody DtoUzyTavDesigEstu dtoUzyTavDesigEstu) {
return serviceUzyTavDesigEstu.editar(id, dtoUzyTavDesigEstu);
}
@DeleteMapping("/eliminar/{id}")
public ResponseEntity<String> eliminar(@PathVariable Long id) {
boolean eliminado = serviceUzyTavDesigEstu.eliminar(id);
if (eliminado) {
return ResponseEntity.ok("El registro se eliminó exitosamente.");
} else {
return ResponseEntity.notFound().build();
}
}
}
package ec.edu.espe.movilidad.MovilidadWS.Dao;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavDesigDoc;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface DaoUzyTavDesigDoc extends JpaRepository<ModelUzyTavDesigDoc, Long> {
}
package ec.edu.espe.movilidad.MovilidadWS.Dao;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavDesigEstu;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface DaoUzyTavDesigEstu extends JpaRepository<ModelUzyTavDesigEstu, Long> {
}
package ec.edu.espe.movilidad.MovilidadWS.Dto;
import lombok.Data;
import javax.validation.constraints.Positive;
import javax.validation.constraints.Size;
import java.time.LocalDateTime;
@Data
public class DtoUzyTavDesigDoc {
@Positive(message = "El campo uzytavdesigdoc_ID debe ser un número positivo")
private Long uzytavdesigdoc_ID;
@Positive(message = "El campo uzytavproyec_ID debe ser un número positivo")
private Long uzytavproyec_ID;
@Size(max = 9)
private String spriden_ID;
@Size(max = 100)
private String uzytavdesigdoc_FUNCION;
@Positive(message = "El campo uzytavdesigdoc_HORAS_PLANIFICADAS debe ser un número positivo")
private Integer uzytavdesigdoc_HORAS_PLANIFICADAS;
@Positive(message = "El campo uzytavdesigdoc_NRO_ACTA debe ser un número positivo")
private Integer uzytavdesigdoc_NRO_ACTA;
private LocalDateTime uzytavdesigdoc_FECHA_INICIO;
private LocalDateTime uzytavdesigdoc_FECHA_FIN;
@Positive(message = "El campo uzytavdesigdoc_HORAS_DEDICADAS debe ser un número positivo")
private Integer uzytavdesigdoc_HORAS_DEDICADAS;
}
package ec.edu.espe.movilidad.MovilidadWS.Dto;
import lombok.Data;
import javax.validation.constraints.Positive;
import javax.validation.constraints.Size;
import java.time.LocalDateTime;
@Data
public class DtoUzyTavDesigEstu {
@Positive(message = "El campo uzytavdesigestu_ID debe ser un número positivo")
private Long uzytavdesigestu_ID;
@Positive(message = "El campo uzytavproyec_ID debe ser un número positivo")
private Long uzytavproyec_ID;
@Size(max = 9)
private String spriden_ID;
@Size(max = 100)
private String uzytavdesigestu_FUNCION;
@Positive(message = "El campo uzytavdesigestu_HORAS_PLANIFICADAS debe ser un número positivo")
private Integer uzytavdesigestu_HORAS_PLANIFICADAS;
@Positive(message = "El campo uzytavdesigestu_NRO_ACTA debe ser un número positivo")
private Integer uzytavdesigestu_NRO_ACTA;
private LocalDateTime uzytavdesigestu_FECHA_INICIO;
private LocalDateTime uzytavdesigestu_FECHA_FIN;
@Positive(message = "El campo uzytavdesigestu_HORAS_DEDICADAS debe ser un número positivo")
private Integer uzytavdesigestu_HORAS_DEDICADAS;
}
package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavDesigDoc;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavDesigDoc;
import org.modelmapper.ModelMapper;
import org.modelmapper.PropertyMap;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.stream.Collectors;
@Component
public class UzyTavDesigDocMapper {
private final ModelMapper modelMapper;
public UzyTavDesigDocMapper(ModelMapper modelMapper) {
this.modelMapper = modelMapper;
configureMappings();
}
public DtoUzyTavDesigDoc entityToDto(ModelUzyTavDesigDoc entity) {
return modelMapper.map(entity, DtoUzyTavDesigDoc.class);
}
public ModelUzyTavDesigDoc dtoToEntity(DtoUzyTavDesigDoc dto) {
return modelMapper.map(dto, ModelUzyTavDesigDoc.class);
}
public List<DtoUzyTavDesigDoc> entitiesToDtos(List<ModelUzyTavDesigDoc> entities) {
return entities.stream()
.map(this::entityToDto)
.collect(Collectors.toList());
}
private void configureMappings() {
modelMapper.addMappings(new PropertyMap<ModelUzyTavDesigDoc, DtoUzyTavDesigDoc>() {
@Override
protected void configure() {
map().setUzytavproyec_ID(source.getUzytavproyec().getUzytavproyec_id());
}
});
}
}
package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavDesigEstu;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavDesigEstu;
import org.modelmapper.ModelMapper;
import org.modelmapper.PropertyMap;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.stream.Collectors;
@Component
public class UzyTavDesigEstuMapper {
private final ModelMapper modelMapper;
public UzyTavDesigEstuMapper(ModelMapper modelMapper) {
this.modelMapper = modelMapper;
configureMappings();
}
public DtoUzyTavDesigEstu entityToDto(ModelUzyTavDesigEstu entity) {
return modelMapper.map(entity, DtoUzyTavDesigEstu.class);
}
public ModelUzyTavDesigEstu dtoToEntity(DtoUzyTavDesigEstu dto) {
return modelMapper.map(dto, ModelUzyTavDesigEstu.class);
}
public List<DtoUzyTavDesigEstu> entitiesToDtos(List<ModelUzyTavDesigEstu> entities) {
return entities.stream()
.map(this::entityToDto)
.collect(Collectors.toList());
}
private void configureMappings() {
modelMapper.addMappings(new PropertyMap<ModelUzyTavDesigEstu, DtoUzyTavDesigEstu>() {
@Override
protected void configure() {
map().setUzytavproyec_ID(source.getUzytavproyec().getUzytavproyec_id());
}
});
}
}
package ec.edu.espe.movilidad.MovilidadWS.Model;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.Size;
import java.time.LocalDateTime;
@Getter
@Setter
@Entity
@Table(name = "UZYTAVDESIGDOC", schema = "UTIC1")
public class ModelUzyTavDesigDoc {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "uzytavdesigdoc_seq")
@SequenceGenerator(name = "uzytavdesigdoc_seq", sequenceName = "SEQ_UZYTAVDESIGDOC", allocationSize = 1)
@Column(name = "uzytavdesigdoc_ID")
private Long uzytavdesigdoc_ID;
@ManyToOne( fetch = FetchType.LAZY)
@JoinColumn(name = "uzytavproyec_ID")
private ModelUzyTavProyec uzytavproyec;
@Size(max = 9)
@Column(name = "spriden_ID", length = 9)
private String spriden_ID;
@Size(max = 100)
@Column(name = "uzytavdesigdoc_FUNCION", length = 100)
private String uzytavdesigdoc_FUNCION;
@Column(name = "uzytavdesigdoc_HORAS_PLANIFICADAS")
private Integer uzytavdesigdoc_HORAS_PLANIFICADAS;
@Column(name = "uzytavdesigdoc_NRO_ACTA")
private Integer uzytavdesigdoc_NRO_ACTA;
@Column(name = "uzytavdesigdoc_FECHA_INICIO")
private LocalDateTime uzytavdesigdoc_FECHA_INICIO;
@Column(name = "uzytavdesigdoc_FECHA_FIN")
private LocalDateTime uzytavdesigdoc_FECHA_FIN;
@Column(name = "uzytavdesigdoc_HORAS_DEDICADAS")
private Integer uzytavdesigdoc_HORAS_DEDICADAS;
}
package ec.edu.espe.movilidad.MovilidadWS.Model;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.Size;
import java.time.LocalDateTime;
@Getter
@Setter
@Entity
@Table(name = "UZYTAVDESIGESTU", schema = "UTIC1")
public class ModelUzyTavDesigEstu {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "uzytavdesigestu_seq")
@SequenceGenerator(name = "uzytavdesigestu_seq", sequenceName = "SEQ_UZYTAVDESIGESTU", allocationSize = 1)
@Column(name = "uzytavdesigestu_ID")
private Long uzytavdesigestu_ID;
@ManyToOne( fetch = FetchType.LAZY)
@JoinColumn(name = "uzytavproyec_ID")
private ModelUzyTavProyec uzytavproyec;
@Size(max = 9)
@Column(name = "spriden_ID", length = 9)
private String spriden_ID;
@Size(max = 100)
@Column(name = "uzytavdesigestu_FUNCION", length = 100)
private String uzytavdesigestu_FUNCION;
@Column(name = "uzytavdesigestu_HORAS_PLANIFICADAS")
private Integer uzytavdesigestu_HORAS_PLANIFICADAS;
@Column(name = "uzytavdesigestu_NRO_ACTA")
private Integer uzytavdesigestu_NRO_ACTA;
@Column(name = "uzytavdesigestu_FECHA_INICIO")
private LocalDateTime uzytavdesigestu_FECHA_INICIO;
@Column(name = "uzytavdesigestu_FECHA_FIN")
private LocalDateTime uzytavdesigestu_FECHA_FIN;
@Column(name = "uzytavdesigestu_HORAS_DEDICADAS")
private Integer uzytavdesigestu_HORAS_DEDICADAS;
}
......@@ -469,4 +469,16 @@ public class ModelUzyTavProyec {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "uzytavactasperfil_PROYEC_ID")
private ModelUzyTavActasPerfil_Proyec uzytavactasperfil_PROYEC;
//RELACIÓN CON DESIGDOC- TABLA HIJA
@JsonIgnore
@OneToMany(mappedBy = "uzytavproyec")
private Set<ModelUzyTavDesigDoc> modelUzyTavDesigDocSet = new LinkedHashSet<>();
//RELACIÓN CON DESIGESTU- TABLA HIJA
@JsonIgnore
@OneToMany(mappedBy = "uzytavproyec")
private Set<ModelUzyTavDesigEstu> modelUzyTavDesigEstuSet = new LinkedHashSet<>();
}
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavDesigDoc;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavDesigDoc;
import java.util.List;
public interface IServiceUzyTavDesigDoc {
DtoUzyTavDesigDoc ListarPorID(Long id);
List<DtoUzyTavDesigDoc> ListarRegistros();
DtoUzyTavDesigDoc guardar(DtoUzyTavDesigDoc dtoUzyTavDesigDoc);
DtoUzyTavDesigDoc editar( Long id, DtoUzyTavDesigDoc dtoUzyTavDesigDoc);
boolean eliminar(Long id);
}
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavDesigDoc;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavDesigDoc;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavDesigDoc;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTavDesigDocMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavDesigDoc;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class ServiceUzyTavDesigDoc implements IServiceUzyTavDesigDoc {
private static final String MESSAGE = "No se encontró el registro con ID: ";
private final DaoUzyTavDesigDoc daoUzyTavDesigDoc;
private final UzyTavDesigDocMapper mapper;
public ServiceUzyTavDesigDoc(DaoUzyTavDesigDoc daoUzyTavDesigDoc, UzyTavDesigDocMapper mapper) {
this.daoUzyTavDesigDoc = daoUzyTavDesigDoc;
this.mapper = mapper;
}
@Override
public DtoUzyTavDesigDoc ListarPorID(Long id) {
if (id <= 0) {
throw new IllegalArgumentException("El parámetro 'id' debe ser un valor positivo.");
}
try {
ModelUzyTavDesigDoc entity = daoUzyTavDesigDoc.findById(id)
.orElseThrow(() -> new ResourceNotFoundException(MESSAGE + id));
return mapper.entityToDto(entity);
} catch (ResourceNotFoundException ex) {
throw ex;
} catch (Exception ex) { // Manejo de cualquier error en el servidor
throw new RuntimeException("Error al buscar el registro con ID: " + id);
}
}
@Override
public List<DtoUzyTavDesigDoc> ListarRegistros() {
try {
List<ModelUzyTavDesigDoc> entities = daoUzyTavDesigDoc.findAll();
return mapper.entitiesToDtos(entities);
} catch (Exception ex) {
throw new RuntimeException("Error al listar los registros: " + ex.getMessage());
}
}
@Override
public DtoUzyTavDesigDoc guardar(DtoUzyTavDesigDoc dtoUzyTavDesigDoc) {
try {
ModelUzyTavDesigDoc entity = mapper.dtoToEntity(dtoUzyTavDesigDoc);
ModelUzyTavDesigDoc nuevoEntity = daoUzyTavDesigDoc.save(entity);
return mapper.entityToDto(nuevoEntity);
} catch (DataIntegrityViolationException ex) {
throw ex;
} catch (Exception ex) {
// Manejo para otras excepciones
throw new RuntimeException("Error al guardar el registro: " + ex.getMessage());
}
}
@Override
public DtoUzyTavDesigDoc editar(Long id, DtoUzyTavDesigDoc dtoUzyTavDesigDoc) {
if (id <= 0) {
throw new IllegalArgumentException("El ID del registro debe ser válido y mayor que cero.");
}
try {
ModelUzyTavDesigDoc entity = daoUzyTavDesigDoc.findById(id)
.orElseThrow(() -> new ResourceNotFoundException(MESSAGE + id));
if (entity != null) {
if (dtoUzyTavDesigDoc.getUzytavdesigdoc_FUNCION() != null) {
entity.setUzytavdesigdoc_FUNCION(dtoUzyTavDesigDoc.getUzytavdesigdoc_FUNCION());
}
if (dtoUzyTavDesigDoc.getSpriden_ID() != null) {
entity.setSpriden_ID(dtoUzyTavDesigDoc.getSpriden_ID());
}
if (dtoUzyTavDesigDoc.getUzytavdesigdoc_FECHA_INICIO() != null) {
entity.setUzytavdesigdoc_FECHA_INICIO(dtoUzyTavDesigDoc.getUzytavdesigdoc_FECHA_INICIO());
}
if (dtoUzyTavDesigDoc.getUzytavdesigdoc_FECHA_FIN() != null) {
entity.setUzytavdesigdoc_FECHA_FIN(dtoUzyTavDesigDoc.getUzytavdesigdoc_FECHA_FIN());
}
if (dtoUzyTavDesigDoc.getUzytavdesigdoc_HORAS_PLANIFICADAS() != null) {
entity.setUzytavdesigdoc_HORAS_PLANIFICADAS(dtoUzyTavDesigDoc.getUzytavdesigdoc_HORAS_PLANIFICADAS());
}
if (dtoUzyTavDesigDoc.getUzytavdesigdoc_HORAS_DEDICADAS() != null) {
entity.setUzytavdesigdoc_HORAS_DEDICADAS(dtoUzyTavDesigDoc.getUzytavdesigdoc_HORAS_DEDICADAS());
}
if (dtoUzyTavDesigDoc.getUzytavdesigdoc_NRO_ACTA() != null) {
entity.setUzytavdesigdoc_NRO_ACTA(dtoUzyTavDesigDoc.getUzytavdesigdoc_NRO_ACTA());
}
ModelUzyTavDesigDoc updatedEntity = daoUzyTavDesigDoc.save(entity);
return mapper.entityToDto(updatedEntity);
} else {
throw new ResourceNotFoundException(MESSAGE + id);
}
} catch (Exception e) {
throw new RuntimeException("Error al editar el registro: " + e.getMessage());
}
}
@Override
public boolean eliminar(Long id) {
if (id == null || id <= 0) {
throw new IllegalArgumentException("El ID del registro debe ser válido y mayor que cero.");
}
try {
ModelUzyTavDesigDoc entity = daoUzyTavDesigDoc.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Registro no encontrado con ID: " + id));
if (entity != null) {
daoUzyTavDesigDoc.delete(entity);
return true;
}
return false;
} catch (ResourceNotFoundException ex) {
throw ex;
} catch (Exception ex) {
throw new RuntimeException("Error al eliminar el registro: " + ex.getMessage());
}
}
}
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavDesigEstu;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavDesigEstu;
import java.util.List;
public interface IServiceUzyTavDesigEstu {
DtoUzyTavDesigEstu ListarPorID(Long id);
List<DtoUzyTavDesigEstu> ListarRegistros();
DtoUzyTavDesigEstu guardar(DtoUzyTavDesigEstu dtoUzyTavDesigEstu);
DtoUzyTavDesigEstu editar( Long id, DtoUzyTavDesigEstu dtoUzyTavDesigEstu);
boolean eliminar(Long id);
}
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavDesigEstu;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavDesigEstu;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavDesigEstu;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTavDesigEstuMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavDesigEstu;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class ServiceUzyTavDesigEstu implements IServiceUzyTavDesigEstu {
private static final String MESSAGE = "No se encontró el registro con ID: ";
private final DaoUzyTavDesigEstu daoUzyTavDesigEstu;
private final UzyTavDesigEstuMapper mapper;
public ServiceUzyTavDesigEstu(DaoUzyTavDesigEstu daoUzyTavDesigEstu, UzyTavDesigEstuMapper mapper) {
this.daoUzyTavDesigEstu = daoUzyTavDesigEstu;
this.mapper = mapper;
}
@Override
public DtoUzyTavDesigEstu ListarPorID(Long id) {
if (id <= 0) {
throw new IllegalArgumentException("El parámetro 'id' debe ser un valor positivo.");
}
try {
ModelUzyTavDesigEstu entity = daoUzyTavDesigEstu.findById(id)
.orElseThrow(() -> new ResourceNotFoundException(MESSAGE + id));
return mapper.entityToDto(entity);
} catch (ResourceNotFoundException ex) {
throw ex;
} catch (Exception ex) { // Manejo de cualquier error en el servidor
throw new RuntimeException("Error al buscar el registro con ID: " + id);
}
}
@Override
public List<DtoUzyTavDesigEstu> ListarRegistros() {
try {
List<ModelUzyTavDesigEstu> entities = daoUzyTavDesigEstu.findAll();
return mapper.entitiesToDtos(entities);
} catch (Exception ex) {
throw new RuntimeException("Error al listar los registros: " + ex.getMessage());
}
}
@Override
public DtoUzyTavDesigEstu guardar(DtoUzyTavDesigEstu dtoUzyTavDesigEstu) {
try {
ModelUzyTavDesigEstu entity = mapper.dtoToEntity(dtoUzyTavDesigEstu);
ModelUzyTavDesigEstu nuevoEntity = daoUzyTavDesigEstu.save(entity);
return mapper.entityToDto(nuevoEntity);
} catch (DataIntegrityViolationException ex) {
throw ex;
} catch (Exception ex) {
// Manejo para otras excepciones
throw new RuntimeException("Error al guardar el registro: " + ex.getMessage());
}
}
@Override
public DtoUzyTavDesigEstu editar(Long id, DtoUzyTavDesigEstu dtoUzyTavDesigEstu) {
if (id <= 0) {
throw new IllegalArgumentException("El ID del registro debe ser válido y mayor que cero.");
}
try {
ModelUzyTavDesigEstu entity = daoUzyTavDesigEstu.findById(id)
.orElseThrow(() -> new ResourceNotFoundException(MESSAGE + id));
if (entity != null) {
if (dtoUzyTavDesigEstu.getUzytavdesigestu_FUNCION() != null) {
entity.setUzytavdesigestu_FUNCION(dtoUzyTavDesigEstu.getUzytavdesigestu_FUNCION());
}
if (dtoUzyTavDesigEstu.getSpriden_ID() != null) {
entity.setSpriden_ID(dtoUzyTavDesigEstu.getSpriden_ID());
}
if (dtoUzyTavDesigEstu.getUzytavdesigestu_FECHA_INICIO() != null) {
entity.setUzytavdesigestu_FECHA_INICIO(dtoUzyTavDesigEstu.getUzytavdesigestu_FECHA_INICIO() );
}
if (dtoUzyTavDesigEstu.getUzytavdesigestu_FECHA_FIN() != null) {
entity.setUzytavdesigestu_FECHA_FIN(dtoUzyTavDesigEstu.getUzytavdesigestu_FECHA_FIN());
}
if (dtoUzyTavDesigEstu.getUzytavdesigestu_HORAS_PLANIFICADAS() != null) {
entity.setUzytavdesigestu_HORAS_PLANIFICADAS(dtoUzyTavDesigEstu.getUzytavdesigestu_HORAS_PLANIFICADAS());
}
if (dtoUzyTavDesigEstu.getUzytavdesigestu_HORAS_DEDICADAS() != null) {
entity.setUzytavdesigestu_HORAS_DEDICADAS(dtoUzyTavDesigEstu.getUzytavdesigestu_HORAS_DEDICADAS());
}
if (dtoUzyTavDesigEstu.getUzytavdesigestu_NRO_ACTA() != null) {
entity.setUzytavdesigestu_NRO_ACTA(dtoUzyTavDesigEstu.getUzytavdesigestu_NRO_ACTA());
}
ModelUzyTavDesigEstu updatedEntity = daoUzyTavDesigEstu.save(entity);
return mapper.entityToDto(updatedEntity);
} else {
throw new ResourceNotFoundException(MESSAGE + id);
}
} catch (Exception e) {
throw new RuntimeException("Error al editar el registro: " + e.getMessage());
}
}
@Override
public boolean eliminar(Long id) {
if (id == null || id <= 0) {
throw new IllegalArgumentException("El ID del registro debe ser válido y mayor que cero.");
}
try {
ModelUzyTavDesigEstu entity = daoUzyTavDesigEstu.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Registro no encontrado con ID: " + id));
if (entity != null) {
daoUzyTavDesigEstu.delete(entity);
return true;
}
return false;
} catch (ResourceNotFoundException ex) {
throw ex;
} catch (Exception ex) {
throw new RuntimeException("Error al eliminar el registro: " + ex.getMessage());
}
}
}
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