Se realizan los servicios de ModelUzyTavResponsableProg

parent 8b673b4f
package ec.edu.espe.movilidad.MovilidadWS.Controller;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavResponsableProg;
import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavResponsableProg.IServiceUzyTavResponsableProg;
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 + "/responsableprog")
public class UzyTavResponsableProgController {
private final IServiceUzyTavResponsableProg serviceUzyTavResponsableProg;
public UzyTavResponsableProgController(IServiceUzyTavResponsableProg serviceUzyTavResponsableProg) {
this.serviceUzyTavResponsableProg = serviceUzyTavResponsableProg;
}
@GetMapping("/exampleFindId/{id}")
public DtoUzyTavResponsableProg ListarPorID(@PathVariable Long id) {
return serviceUzyTavResponsableProg.ListarPorID(id);
}
@GetMapping("/getAll")
public List<DtoUzyTavResponsableProg> ListarRegistros() {
return serviceUzyTavResponsableProg.ListarRegistros();
}
@PostMapping("/guardar")
public DtoUzyTavResponsableProg guardar(@Valid @RequestBody DtoUzyTavResponsableProg dtoUzyTavResponsableProg) {
return serviceUzyTavResponsableProg.guardar(dtoUzyTavResponsableProg);
}
@PutMapping("/editar/{id}")
public DtoUzyTavResponsableProg editar(@PathVariable Long id, @Valid @RequestBody DtoUzyTavResponsableProg dtoUzyTavResponsableProg) {
return serviceUzyTavResponsableProg.editar(id, dtoUzyTavResponsableProg);
}
@DeleteMapping("/eliminar/{id}")
public ResponseEntity<String> eliminar(@PathVariable Long id) {
boolean eliminado = serviceUzyTavResponsableProg.eliminar(id);
if (eliminado) {
return ResponseEntity.ok("El registro se eliminó exitosamente.");
} else {
return ResponseEntity.notFound().build();
}
}
}
package ec.edu.espe.movilidad.MovilidadWS.Dto;
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;
import java.util.Date;
import java.time.LocalDateTime;
@Data
public class DtoUzyTavResponsableProg {
......@@ -13,17 +12,17 @@ public class DtoUzyTavResponsableProg {
private Long uzytavtipres_id;
private String stvsubj_code_dpto;
private Long uzytavprograma_v_id;
private Long uzytavresponsable_prog_g_orden;
private Integer uzytavresponsable_prog_g_orden;
private Long uzytavproyec_id;
private Long uzytavresponsable_prog_g_horas_planif;
private Integer uzytavresponsable_prog_g_horas_planif;
private String stvmajr_code;
private Long uzytavresponsable_prog_g_nro_certificados;
private Date uzytavresponsable_prog_g_fecha_creacion;
private Integer uzytavresponsable_prog_g_nro_certificados;
private LocalDateTime uzytavresponsable_prog_g_fecha_creacion;
private String uzytavresponsable_prog_g_estado;
private Long uzytavactaresponsa_code;
private String uzytavresponsable_prog_g_verificar;
private Date uzytavresponsable_prog_g_verfecha;
private LocalDateTime uzytavresponsable_prog_g_verfecha;
private String uzytavresponsable_prog_g_responsable;
private Long uzytavresponsable_prog_g_calificacion;
private Integer uzytavresponsable_prog_g_calificacion;
}
......@@ -5,6 +5,9 @@ import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavResponsableProg;
import org.modelmapper.ModelMapper;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.stream.Collectors;
@Component
public class UzyTavResponsableProgMapper {
private final ModelMapper modelMapper;
......@@ -20,4 +23,9 @@ public class UzyTavResponsableProgMapper {
public ModelUzyTavResponsableProg dtoToEntity(DtoUzyTavResponsableProg dto) {
return modelMapper.map(dto, ModelUzyTavResponsableProg.class);
}
public List<DtoUzyTavResponsableProg> entitiesToDtos(List<ModelUzyTavResponsableProg> entities) {
return entities.stream()
.map(this::entityToDto)
.collect(Collectors.toList());
}
}
......@@ -5,7 +5,7 @@ import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.LinkedHashSet;
import java.util.Set;
@Getter
......@@ -40,23 +40,23 @@ public class ModelUzyTavResponsableProg {
private Integer uzytavresponsable_prog_g_nro_certificados;
@Column(name = "uzytavresponsable_prog_g_fecha_creacion")
private LocalDate uzytavresponsable_prog_g_fecha_creacion;
private LocalDateTime uzytavresponsable_prog_g_fecha_creacion;
@Column(name = "uzytavresponsable_prog_g_estado", length = 1)
private String uzytavresponsable_prog_g_estado;
@Column(name = "uzytavresponsable_prog_g_verificar", length = 2)
private String verificar;
private String uzytavresponsable_prog_g_verificar;
@Column(name = "uzytavresponsable_prog_g_verfecha")
private LocalDate fechaVerificacion;
private LocalDateTime uzytavresponsable_prog_g_verfecha;
@Column(name = "uzytavresponsable_prog_g_responsable", length = 500)
private String responsable;
private String uzytavresponsable_prog_g_responsable;
@Column(name = "uzytavresponsable_prog_g_calificacion")
private Long calificacion;
private Integer uzytavresponsable_prog_g_calificacion;
//RELACIÓN CON USUARIO-TABLA PADRE
......
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavResponsableProg;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavResponsableProg;
import java.util.List;
public interface IServiceUzyTavResponsableProg {
DtoUzyTavResponsableProg ListarPorID(Long id);
List<DtoUzyTavResponsableProg> ListarRegistros();
DtoUzyTavResponsableProg guardar(DtoUzyTavResponsableProg dtoUzyTavResponsableProg);
DtoUzyTavResponsableProg editar(Long id, DtoUzyTavResponsableProg dtoUzyTavResponsableProg);
boolean eliminar(Long id);
}
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavResponsableProg;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavResponsableProg;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavResponsableProg;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTavResponsableProgMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavResponsableProg;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class ServiceUzyTavResponsableProg implements IServiceUzyTavResponsableProg{
private final DaoUzyTavResponsableProg daoUzyTavResponsableProg;
private final UzyTavResponsableProgMapper mapper;
public ServiceUzyTavResponsableProg(DaoUzyTavResponsableProg daoUzyTavResponsableProg, UzyTavResponsableProgMapper mapper) {
this.daoUzyTavResponsableProg = daoUzyTavResponsableProg;
this.mapper = mapper;
}
@Override
public DtoUzyTavResponsableProg ListarPorID(Long id) {
if (id <= 0) {
throw new IllegalArgumentException("El parámetro 'id' debe ser un valor positivo.");
}
try {
ModelUzyTavResponsableProg entity = daoUzyTavResponsableProg.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + 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<DtoUzyTavResponsableProg> ListarRegistros() {
try {
List<ModelUzyTavResponsableProg> entities = daoUzyTavResponsableProg.findAll();
return mapper.entitiesToDtos(entities);
} catch (Exception ex) {
throw new RuntimeException("Error al listar los registros: " + ex.getMessage());
}
}
@Override
public DtoUzyTavResponsableProg guardar(DtoUzyTavResponsableProg dtoUzyTavResponsableProg) {
try {
ModelUzyTavResponsableProg entity = mapper.dtoToEntity(dtoUzyTavResponsableProg);
ModelUzyTavResponsableProg nuevoEntity = daoUzyTavResponsableProg.save(entity);
return mapper.entityToDto(nuevoEntity);
}
catch (Exception ex) {
throw new RuntimeException("Error al guardar el registro: " + ex.getMessage());
}
}
@Override
public DtoUzyTavResponsableProg editar(Long id, DtoUzyTavResponsableProg dtoUzyTavResponsableProg) {
if (id <= 0) {
throw new IllegalArgumentException("El ID del registro debe ser válido y mayor que cero.");
}
try {
ModelUzyTavResponsableProg entity = daoUzyTavResponsableProg.findById(id).get();
if (entity != null) {
if(dtoUzyTavResponsableProg.getStvsubj_code_dpto()!=null){
entity.setStvsubj_code_dpto(dtoUzyTavResponsableProg.getStvsubj_code_dpto());
}
if(dtoUzyTavResponsableProg.getUzytavresponsable_prog_g_orden()!=null){
entity.setUzytavresponsable_prog_g_orden(dtoUzyTavResponsableProg.getUzytavresponsable_prog_g_orden());
}
if(dtoUzyTavResponsableProg.getUzytavresponsable_prog_g_horas_planif()!=null){
entity.setUzytavresponsable_prog_g_horas_planif(dtoUzyTavResponsableProg.getUzytavresponsable_prog_g_horas_planif());
}
if(dtoUzyTavResponsableProg.getStvmajr_code()!=null){
entity.setStvmajr_code(dtoUzyTavResponsableProg.getStvmajr_code());
}
if(dtoUzyTavResponsableProg.getUzytavresponsable_prog_g_nro_certificados()!=null){
entity.setUzytavresponsable_prog_g_nro_certificados(dtoUzyTavResponsableProg.getUzytavresponsable_prog_g_nro_certificados());
}
if(dtoUzyTavResponsableProg.getUzytavresponsable_prog_g_fecha_creacion()!=null){
entity.setUzytavresponsable_prog_g_fecha_creacion(dtoUzyTavResponsableProg.getUzytavresponsable_prog_g_fecha_creacion());
}
if(dtoUzyTavResponsableProg.getUzytavresponsable_prog_g_estado()!=null){
entity.setUzytavresponsable_prog_g_estado(dtoUzyTavResponsableProg.getUzytavresponsable_prog_g_estado());
}
if(dtoUzyTavResponsableProg.getUzytavresponsable_prog_g_verificar()!=null){
entity.setUzytavresponsable_prog_g_verificar(dtoUzyTavResponsableProg.getUzytavresponsable_prog_g_verificar());
}
if(dtoUzyTavResponsableProg.getUzytavresponsable_prog_g_verfecha()!=null){
entity.setUzytavresponsable_prog_g_verfecha(dtoUzyTavResponsableProg.getUzytavresponsable_prog_g_verfecha());
}
if(dtoUzyTavResponsableProg.getUzytavresponsable_prog_g_responsable()!=null){
entity.setUzytavresponsable_prog_g_responsable(dtoUzyTavResponsableProg.getUzytavresponsable_prog_g_responsable());
}
if(dtoUzyTavResponsableProg.getUzytavresponsable_prog_g_calificacion()!=null){
entity.setUzytavresponsable_prog_g_calificacion(dtoUzyTavResponsableProg.getUzytavresponsable_prog_g_calificacion());
}
ModelUzyTavResponsableProg updatedEntity = daoUzyTavResponsableProg.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 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 {
ModelUzyTavResponsableProg entity = daoUzyTavResponsableProg.findById(id).orElseThrow(() -> new ResourceNotFoundException("Registro no encontrado con ID: " + id));
if (entity != null) {
daoUzyTavResponsableProg.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