Se agregan los ServiceUzyTavPlanVPrograma de ModelUzyTavPlanVPrograma

parent a969de5a
package ec.edu.espe.movilidad.MovilidadWS.Controller;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavPlanVPrograma;
import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavPlanVPrograma.IServiceUzyTavPlanVPrograma;
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 + "/planvprograma")
public class UzyTavPlanVProgramaController {
private final IServiceUzyTavPlanVPrograma serviceUzyTavPlanVPrograma;
public UzyTavPlanVProgramaController(IServiceUzyTavPlanVPrograma serviceUzyTavPlanVPrograma) {
this.serviceUzyTavPlanVPrograma = serviceUzyTavPlanVPrograma;
}
@GetMapping("/exampleFindId/{id}")
public ResponseEntity<DtoUzyTavPlanVPrograma> ListarPorID(@PathVariable Long id) {
return new ResponseEntity<>(serviceUzyTavPlanVPrograma.ListarPorID(id), HttpStatus.OK);
}
@GetMapping("/getAll")
public ResponseEntity<List<DtoUzyTavPlanVPrograma>> ListarRegistros() {
return new ResponseEntity<>(serviceUzyTavPlanVPrograma.ListarRegistros(), HttpStatus.OK);
}
@PostMapping("/guardar")
public ResponseEntity<DtoUzyTavPlanVPrograma> guardar(@Valid @RequestBody DtoUzyTavPlanVPrograma dtoUzyTavPlanVPrograma) {
DtoUzyTavPlanVPrograma savedDto = serviceUzyTavPlanVPrograma.guardar(dtoUzyTavPlanVPrograma);
return ResponseEntity.ok(savedDto);
}
@PutMapping("/editar/{id}")
public ResponseEntity<DtoUzyTavPlanVPrograma> editar(@PathVariable Long id, @RequestBody DtoUzyTavPlanVPrograma dtoUzyTavPlanVPrograma) {
return new ResponseEntity<>(serviceUzyTavPlanVPrograma.editar(id, dtoUzyTavPlanVPrograma), HttpStatus.OK);
}
@DeleteMapping("/eliminar/{id}")
public ResponseEntity<String> eliminar(@PathVariable Long id) {
boolean eliminado = serviceUzyTavPlanVPrograma.eliminar(id);
if (eliminado) {
return ResponseEntity.ok("El registro se eliminó exitosamente.");
} else {
return ResponseEntity.notFound().build();
}
}
}
......@@ -6,7 +6,7 @@ import lombok.Data;
@Data
public class DtoUzyTavPlanVPrograma {
private Long UZYTAVPLAN_V_PROGRAMA_ID;
private Long UZYTAVOBJ_PLAN_VINVULA_ID;
private Long UZYTAVPROGRAMA_V_ID;
private Long uzytavplan_v_programa_id;
private Long uzytavobj_plan_vinvula_id;
private Long uzytavprograma_v_id;
}
package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavPlanVPrograma;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavObjPlanVinvula;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavPlanVPrograma;
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 UzyTavPlanVProgramaMapper {
private final ModelMapper modelMapper;
private final EntityManager entityManager;
public UzyTavPlanVProgramaMapper(ModelMapper modelMapper, EntityManager entityManager) {
this.modelMapper = modelMapper;
this.entityManager = entityManager;
}
public DtoUzyTavPlanVPrograma entityToDto(ModelUzyTavPlanVPrograma entity) {
return modelMapper.map(entity, DtoUzyTavPlanVPrograma.class);
}
public ModelUzyTavPlanVPrograma dtoToEntity(DtoUzyTavPlanVPrograma dto) {
ModelUzyTavPlanVPrograma entity = modelMapper.map(dto, ModelUzyTavPlanVPrograma.class);
Long objplanvin = dto.getUzytavobj_plan_vinvula_id();
ModelUzyTavObjPlanVinvula planVinvula = entityManager.find(ModelUzyTavObjPlanVinvula.class, objplanvin);
entity.setUzytavobjPlanVinvula(planVinvula);
return entity;
}
public List<DtoUzyTavPlanVPrograma> entitiesToDtos(List<ModelUzyTavPlanVPrograma> entities) {
return entities.stream()
.map(this::entityToDto)
.collect(Collectors.toList());
}
}
package ec.edu.espe.movilidad.MovilidadWS.Model;
import lombok.Getter;
import lombok.Setter;
......@@ -7,18 +8,18 @@ import javax.persistence.*;
@Getter
@Setter
@Entity
@Table(name = "UZYTAVPLAN_V_PROGRAMA", schema = "UTIC1")
@Table(name = "uzytavplan_v_programa", schema = "UTIC1")
public class ModelUzyTavPlanVPrograma {
@Id
@Column(name = "UZYTAVPLAN_V_PROGRAMA_ID")
private Long UZYTAVPLAN_V_PROGRAMA_ID;
@Column(name = "uzytavplan_v_programa_id")
private Long uzytavplan_v_programa_id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "UZYTAVOBJ_PLAN_VINVULA_ID")
@JoinColumn(name = "uzytavobj_plan_vinvula_id")
private ModelUzyTavObjPlanVinvula uzytavobjPlanVinvula;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "UZYTAVPROGRAMA_V_ID")
@JoinColumn(name = "uzytavprograma_v_id")
private ModelUzyTavPrograma_V uzytavprograma_v;
}
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavPlanVPrograma;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavPlanVPrograma;
import java.util.List;
public interface IServiceUzyTavPlanVPrograma {
DtoUzyTavPlanVPrograma ListarPorID(Long id);
List<DtoUzyTavPlanVPrograma> ListarRegistros();
DtoUzyTavPlanVPrograma guardar(DtoUzyTavPlanVPrograma dtoUzyTavPlanVPrograma);
DtoUzyTavPlanVPrograma editar(Long id, DtoUzyTavPlanVPrograma dtoUzyTavPlanVPrograma);
boolean eliminar(Long id);
}
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavPlanVPrograma;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavPlanVPrograma;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavPlanVPrograma;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTavPlanVProgramaMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavPlanVPrograma;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class ServiceUzyTavPlanVPrograma implements IServiceUzyTavPlanVPrograma {
private final UzyTavPlanVProgramaMapper mapper;
private final DaoUzyTavPlanVPrograma daoUzyTavPlanVPrograma;
public ServiceUzyTavPlanVPrograma(UzyTavPlanVProgramaMapper mapper, DaoUzyTavPlanVPrograma daoUzyTavPlanVPrograma) {
this.mapper = mapper;
this.daoUzyTavPlanVPrograma = daoUzyTavPlanVPrograma;
}
@Override
public DtoUzyTavPlanVPrograma ListarPorID(Long id) {
ModelUzyTavPlanVPrograma entity = daoUzyTavPlanVPrograma.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
return mapper.entityToDto(entity);
}
@Override
public List<DtoUzyTavPlanVPrograma> ListarRegistros() {
List<ModelUzyTavPlanVPrograma> entities = daoUzyTavPlanVPrograma.findAll();
return mapper.entitiesToDtos(entities);
}
@Override
public DtoUzyTavPlanVPrograma guardar(DtoUzyTavPlanVPrograma dtoUzyTavPlanVPrograma) {
ModelUzyTavPlanVPrograma entity = mapper.dtoToEntity(dtoUzyTavPlanVPrograma);
ModelUzyTavPlanVPrograma nuevoEntity = daoUzyTavPlanVPrograma.save(entity);
return mapper.entityToDto(nuevoEntity);
}
@Override
public DtoUzyTavPlanVPrograma editar(Long id, DtoUzyTavPlanVPrograma dtoUzyTavPlanVPrograma) {
return null;
}
@Override
public boolean eliminar(Long id) {
ModelUzyTavPlanVPrograma entity = daoUzyTavPlanVPrograma.findById(id).orElse(null);
if (entity != null) {
daoUzyTavPlanVPrograma.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