Se agregan los ServiceUzyTavPrograma_Eplanv de ModelUzyTavPrograma_Eplanv.java

parent 7219ba0f
package ec.edu.espe.movilidad.MovilidadWS.Controller;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavPrograma_Eplanv;
import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavPrograma_Eplanv.IServiceUzyTavPrograma_Eplanv;
import org.springframework.http.HttpStatus;
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+"/programaeplanv")
public class UzyTavPrograma_EplanvController {
private final IServiceUzyTavPrograma_Eplanv serviceUzyTavProgramaEplanv;
public UzyTavPrograma_EplanvController(IServiceUzyTavPrograma_Eplanv serviceUzyTavProgramaEplanv) {
this.serviceUzyTavProgramaEplanv = serviceUzyTavProgramaEplanv;
}
@GetMapping("/exampleFindId/{id}")
public ResponseEntity<DtoUzyTavPrograma_Eplanv> ListarPorID(@PathVariable Long id) {
return new ResponseEntity<>(serviceUzyTavProgramaEplanv.ListarPorID(id), HttpStatus.OK);
}
@GetMapping("/getAll")
public ResponseEntity<List<DtoUzyTavPrograma_Eplanv>> ListarRegistros() {
return new ResponseEntity<>(serviceUzyTavProgramaEplanv.ListarRegistros(), HttpStatus.OK);
}
@PostMapping("/guardar")
public ResponseEntity<DtoUzyTavPrograma_Eplanv> guardar(@Valid @RequestBody DtoUzyTavPrograma_Eplanv dtoUzyTavProgramaEplanv) {
DtoUzyTavPrograma_Eplanv savedDto = serviceUzyTavProgramaEplanv.guardar(dtoUzyTavProgramaEplanv);
return ResponseEntity.ok(savedDto);
}
@PutMapping("/editar/{id}")
public ResponseEntity<DtoUzyTavPrograma_Eplanv> editar(@PathVariable Long id, @RequestBody DtoUzyTavPrograma_Eplanv dtoUzyTavProgramaEplanv) {
return new ResponseEntity<>(serviceUzyTavProgramaEplanv.editar(id, dtoUzyTavProgramaEplanv), HttpStatus.OK);
}
@DeleteMapping("/eliminar/{id}")
public ResponseEntity<String> eliminar(@PathVariable Long id){
boolean eliminado = serviceUzyTavProgramaEplanv.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.ModelUzyTavProgramaEplanv;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavPrograma_Eplanv;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface DaoUzyTavProgramaEplanv extends JpaRepository<ModelUzyTavProgramaEplanv, Long> {
public interface DaoUzyTavPrograma_Eplanv extends JpaRepository<ModelUzyTavPrograma_Eplanv, Long> {
}
......@@ -4,9 +4,9 @@ import lombok.Data;
@Data
public class DtoUzyTavProgramaEplanv {
private Long UZYTAVPROGRAMA_EPLANV_ID;
public class DtoUzyTavPrograma_Eplanv {
private Long uzytavprograma_eplanv_id;
private Long UZYTAVESTRATEGIAS_V_PLAN_ID;
private Long UZYTAVPROGRAMA_V_ID;
private Long uzytavestrategias_v_plan_id;
private Long uzytavprograma_v_id;
}
package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavPrograma_Eplanv;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavEstrategiasVPlan;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavPrograma_Eplanv;
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 UzyTavPrograma_EplanvMapper {
private final ModelMapper modelMapper;
private final EntityManager entityManager;
public UzyTavPrograma_EplanvMapper(ModelMapper modelMapper, EntityManager entityManager) {
this.modelMapper = modelMapper;
this.entityManager = entityManager;
}
public DtoUzyTavPrograma_Eplanv entityToDto(ModelUzyTavPrograma_Eplanv entity) {
return modelMapper.map(entity, DtoUzyTavPrograma_Eplanv.class);
}
public ModelUzyTavPrograma_Eplanv dtoToEntity(DtoUzyTavPrograma_Eplanv dto) {
ModelUzyTavPrograma_Eplanv entity = modelMapper.map(dto, ModelUzyTavPrograma_Eplanv.class);
Long estrategiasID = dto.getUzytavestrategias_v_plan_id();
ModelUzyTavEstrategiasVPlan estrategiasVPlan = entityManager.find(ModelUzyTavEstrategiasVPlan.class, estrategiasID);
entity.setUzytavestrategiasVPlan(estrategiasVPlan);
return entity;
}
public List<DtoUzyTavPrograma_Eplanv> entitiesToDtos(List<ModelUzyTavPrograma_Eplanv> entities) {
return entities.stream()
.map(this::entityToDto)
.collect(Collectors.toList());
}
}
......@@ -28,5 +28,5 @@ public class ModelUzyTavEstrategiasVPlan {
//RELACIÓN CON ModelUzyTavEstrategiasVPlan- TABLA HIJA
@JsonIgnore
@OneToMany(mappedBy = "uzytavestrategiasVPlan")
private Set<ModelUzyTavProgramaEplanv> uzyTavProgramaEplanvSet = new LinkedHashSet<>();
private Set<ModelUzyTavPrograma_Eplanv> uzyTavProgramaEplanvSet = new LinkedHashSet<>();
}
......@@ -7,20 +7,20 @@ import javax.persistence.*;
@Getter
@Setter
@Entity
@Table(name = "UZYTAVPROGRAMA_EPLANV", schema = "UTIC1")
public class ModelUzyTavProgramaEplanv {
@Table(name = "uzytavprograma_eplanv", schema = "UTIC1")
public class ModelUzyTavPrograma_Eplanv {
@Id
@Column(name = "UZYTAVPROGRAMA_EPLANV_ID")
private Long UZYTAVPROGRAMA_EPLANV_ID;
@Column(name = "uzytavprograma_eplanv_id")
private Long uzytavprograma_eplanv_id;
//RELACIÓN CON LA TABLA ModelUzyTavEstrategiasVPlan - TABLA PADRE
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "UZYTAVESTRATEGIAS_V_PLAN_ID")
@JoinColumn(name = "uzytavestrategias_v_plan_id")
private ModelUzyTavEstrategiasVPlan uzytavestrategiasVPlan;
//RELACIÓN CON ModelUzyTavPrograma_V TABLA PADRE
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "UZYTAVPROGRAMA_V_ID")
@JoinColumn(name = "uzytavprograma_v_id")
private ModelUzyTavPrograma_V uzytavprograma_v;
}
......@@ -198,7 +198,7 @@ public class ModelUzyTavPrograma_V {
//RELACIÓN CON ModelUzyTavProgramaEplanv- TABLA HIJA
@JsonIgnore
@OneToMany(mappedBy = "uzytavprograma_v")
private Set<ModelUzyTavProgramaEplanv> modelUzyTavProgramaEplanvSet = new LinkedHashSet<>();
private Set<ModelUzyTavPrograma_Eplanv> modelUzyTavProgramaEplanvSet = new LinkedHashSet<>();
//RELACIÓN CON ModelUzyTavLecaPren-tabla hija
......
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavPrograma_Eplanv;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavPrograma_Eplanv;
import java.util.List;
public interface IServiceUzyTavPrograma_Eplanv {
DtoUzyTavPrograma_Eplanv ListarPorID(Long id);
List<DtoUzyTavPrograma_Eplanv> ListarRegistros();
DtoUzyTavPrograma_Eplanv guardar(DtoUzyTavPrograma_Eplanv dtoUzyTavProgramaEplanv);
DtoUzyTavPrograma_Eplanv editar(Long id, DtoUzyTavPrograma_Eplanv dtoUzyTavProgramaEplanv);
boolean eliminar(Long id);
}
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavPrograma_Eplanv;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavPrograma_Eplanv;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavPrograma_Eplanv;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTavPrograma_EplanvMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavPrograma_Eplanv;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class ServiceUzyTavPrograma_Eplanv implements IServiceUzyTavPrograma_Eplanv {
private final DaoUzyTavPrograma_Eplanv daoUzyTavProgramaEplanv;
private final UzyTavPrograma_EplanvMapper mapper;
public ServiceUzyTavPrograma_Eplanv(DaoUzyTavPrograma_Eplanv daoUzyTavProgramaEplanv, UzyTavPrograma_EplanvMapper mapper) {
this.daoUzyTavProgramaEplanv = daoUzyTavProgramaEplanv;
this.mapper = mapper;
}
@Override
public DtoUzyTavPrograma_Eplanv ListarPorID(Long id) {
ModelUzyTavPrograma_Eplanv entity = daoUzyTavProgramaEplanv.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
return mapper.entityToDto(entity);
}
@Override
public List<DtoUzyTavPrograma_Eplanv> ListarRegistros() {
List<ModelUzyTavPrograma_Eplanv> entities = daoUzyTavProgramaEplanv.findAll();
return mapper.entitiesToDtos(entities);
}
@Override
public DtoUzyTavPrograma_Eplanv guardar(DtoUzyTavPrograma_Eplanv dtoUzyTavProgramaEplanv) {
ModelUzyTavPrograma_Eplanv entity = mapper.dtoToEntity(dtoUzyTavProgramaEplanv);
ModelUzyTavPrograma_Eplanv nuevoEntity = daoUzyTavProgramaEplanv.save(entity);
return mapper.entityToDto(nuevoEntity);
}
@Override
public DtoUzyTavPrograma_Eplanv editar(Long id, DtoUzyTavPrograma_Eplanv dtoUzyTavProgramaEplanv) {
try {
ModelUzyTavPrograma_Eplanv entity = daoUzyTavProgramaEplanv.findById(id).get();
//Seteamos los nuevos datos del registro
if (entity != null) {
ModelUzyTavPrograma_Eplanv updatedEntity = daoUzyTavProgramaEplanv.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) {
ModelUzyTavPrograma_Eplanv entity = daoUzyTavProgramaEplanv.findById(id).orElse(null);
if (entity != null) {
daoUzyTavProgramaEplanv.delete(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