Se agrega el ModelUzyTavActasPerfil_Proyec de la tabla UZYTAVACTASPERFIL_PROYEC,…

Se agrega el ModelUzyTavActasPerfil_Proyec de la tabla UZYTAVACTASPERFIL_PROYEC, además de sus respectivos ServiceUzyTavActasPerfil_Proyec, UzyTavActasPerfil_ProyecMapper, UzyTavActasPerfil_ProyecController y DaoUzyTavActasPerfil_Proyec
parent 145676ec
package ec.edu.espe.movilidad.MovilidadWS.Controller;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavActasPerfil_Proyec;
import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavActasPerfil_Proyec.IServiceUzyTavActasPerfil_Proyec;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import static ec.edu.espe.movilidad.MovilidadWS.Constant.GlobalConstants.V1_API_VERSION;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
@RestController
@CrossOrigin(origins = "*")
@RequestMapping(V1_API_VERSION + "/actasperfilProyec")
public class UzyTavActasPerfil_ProyecController {
private final IServiceUzyTavActasPerfil_Proyec serviceUzyTavActasPerfilProyec;
public UzyTavActasPerfil_ProyecController(IServiceUzyTavActasPerfil_Proyec serviceUzyTavActasPerfilProyec) {
this.serviceUzyTavActasPerfilProyec = serviceUzyTavActasPerfilProyec;
}
@GetMapping("/exampleFindId/{id}")
public DtoUzyTavActasPerfil_Proyec ListarPorID(@PathVariable Long id) {
return serviceUzyTavActasPerfilProyec.ListarPorID(id);
}
@GetMapping("/getAll")
public List<DtoUzyTavActasPerfil_Proyec> ListarRegistros() {
return serviceUzyTavActasPerfilProyec.ListarRegistros();
}
@PostMapping("/guardar")
public DtoUzyTavActasPerfil_Proyec guardar(@Valid @RequestBody DtoUzyTavActasPerfil_Proyec dtoUzyTavActasPerfilProyec) {
return serviceUzyTavActasPerfilProyec.guardar(dtoUzyTavActasPerfilProyec);
}
@PutMapping("/editar/{id}")
public DtoUzyTavActasPerfil_Proyec editar(@PathVariable Long id, @Valid @RequestBody DtoUzyTavActasPerfil_Proyec dtoUzyTavActasPerfilProyec) {
return serviceUzyTavActasPerfilProyec.editar(id, dtoUzyTavActasPerfilProyec);
}
@DeleteMapping("/eliminar/{id}")
public ResponseEntity<String> eliminar(@PathVariable Long id) {
boolean eliminado = serviceUzyTavActasPerfilProyec.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.ModelUzyTavActasPerfil_Proyec;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface DaoUzyTavActasPerfil_Proyec extends JpaRepository<ModelUzyTavActasPerfil_Proyec, Long> {
}
package ec.edu.espe.movilidad.MovilidadWS.Dto;
import lombok.Data;
import java.time.LocalDate;
@Data
public class DtoUzyTavActasPerfil_Proyec {
private Long uzytavactasperfil_PROYEC_ID;
private String uzytavactasperfil_PROYEC_NOMBRE_DOC;
private String uzytavactasperfil_PROYEC_NOMBRE_URL;
private LocalDate uzytavactasperfil_PROYEC_FECHA_CREA;
private Integer uzytavactasperfil_PROYEC_TIPO;
}
......@@ -109,4 +109,6 @@ public class DtoUzyTavProyec {
private Long uzytcata_gen_id;
private Long uzytusuario_id;
private Long uzytavactasperfil_PROYEC_ID;
}
package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavActasPerfil_Proyec;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavActasPerfil_Proyec;
import org.modelmapper.ModelMapper;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.stream.Collectors;
@Component
public class UzyTavActasPerfil_ProyecMapper {
private final ModelMapper modelMapper;
public UzyTavActasPerfil_ProyecMapper(ModelMapper modelMapper) {
this.modelMapper = modelMapper;
}
public DtoUzyTavActasPerfil_Proyec entityToDto(ModelUzyTavActasPerfil_Proyec entity) {
return modelMapper.map(entity, DtoUzyTavActasPerfil_Proyec.class);
}
public ModelUzyTavActasPerfil_Proyec dtoToEntity(DtoUzyTavActasPerfil_Proyec dto) {
return modelMapper.map(dto, ModelUzyTavActasPerfil_Proyec.class);
}
public List<DtoUzyTavActasPerfil_Proyec> entitiesToDtos(List<ModelUzyTavActasPerfil_Proyec> 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.Getter;
import lombok.Setter;
import javax.persistence.*;
import java.time.LocalDate;
import java.util.LinkedHashSet;
import java.util.Set;
@Getter
@Setter
@Entity
@Table(name = "uzytavactasperfil_PROYEC", schema = "UTIC1")
public class ModelUzyTavActasPerfil_Proyec {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "uzytavactasperfil_PROYEC_seq")
@SequenceGenerator(name = "uzytavactasperfil_PROYEC_seq", sequenceName = "SEQ_UZYTAVACTASPERFIL_PROYEC", allocationSize = 1)
@Column(name = "uzytavactasperfil_PROYEC_ID")
private Long uzytavactasperfil_PROYEC_ID;
@Column(name = "uzytavactasperfil_PROYEC_NOMBRE_DOC")
private String uzytavactasperfil_PROYEC_NOMBRE_DOC;
@Column(name = "UZYTAVACTASPERFIL_PROYEC_NOMBRE_URL")
private String uzytavactasperfil_PROYEC_NOMBRE_URL;
@Column(name = "uzytavactasperfil_PROYEC_FECHA_CREA")
private LocalDate uzytavactasperfil_PROYEC_FECHA_CREA;
@Column(name = "uzytavactasperfil_PROYEC_TIPO")
private Integer uzytavactasperfil_PROYEC_TIPO;
//RELACIÓN CON PROYECTO-TABLA HIJA
@JsonIgnore
@OneToMany(mappedBy = "uzytavactasperfil_PROYEC")
private Set<ModelUzyTavProyec> modelUzyTavProyecSet = new LinkedHashSet<>();
}
......@@ -461,4 +461,12 @@ public class ModelUzyTavProyec {
@JsonIgnore
@OneToMany(mappedBy = "uzytavproyec")
private Set<ModelUzyTavProlin> modelUzyTavProlinSet = new LinkedHashSet<>();
//RELACIÓN CON ACTASPERFIL_PROYEC-TABLA PADRE
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "uzytavactasperfil_PROYEC_ID")
private ModelUzyTavActasPerfil_Proyec uzytavactasperfil_PROYEC;
}
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavActasPerfil_Proyec;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavActasPerfil_Proyec;
import java.util.List;
public interface IServiceUzyTavActasPerfil_Proyec {
DtoUzyTavActasPerfil_Proyec ListarPorID(Long id);
List<DtoUzyTavActasPerfil_Proyec> ListarRegistros();
DtoUzyTavActasPerfil_Proyec guardar(DtoUzyTavActasPerfil_Proyec dtoUzyTavActasPerfilProyec);
DtoUzyTavActasPerfil_Proyec editar( Long id, DtoUzyTavActasPerfil_Proyec dtoUzyTavActasPerfilProyec);
boolean eliminar(Long id);
}
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavActasPerfil_Proyec;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavActasPerfil_Proyec;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavActasPerfil_Proyec;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTavActasPerfil_ProyecMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavActasPerfil_Proyec;
import org.springframework.stereotype.Service;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import java.util.List;
@Service
public class ServiceUzyTavActasPerfil_Proyec implements IServiceUzyTavActasPerfil_Proyec {
private final DaoUzyTavActasPerfil_Proyec daoUzyTavActasPerfilProyec;
private final UzyTavActasPerfil_ProyecMapper mapper;
public ServiceUzyTavActasPerfil_Proyec(DaoUzyTavActasPerfil_Proyec daoUzyTavActasPerfilProyec, UzyTavActasPerfil_ProyecMapper mapper) {
this.daoUzyTavActasPerfilProyec = daoUzyTavActasPerfilProyec;
this.mapper = mapper;
}
@Override
public DtoUzyTavActasPerfil_Proyec ListarPorID(Long id) {
ModelUzyTavActasPerfil_Proyec entity = daoUzyTavActasPerfilProyec.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
return mapper.entityToDto(entity);
}
@Override
public List<DtoUzyTavActasPerfil_Proyec> ListarRegistros() {
List<ModelUzyTavActasPerfil_Proyec> entities = daoUzyTavActasPerfilProyec.findAll();
return mapper.entitiesToDtos(entities);
}
@Override
public DtoUzyTavActasPerfil_Proyec guardar(DtoUzyTavActasPerfil_Proyec dtoUzyTavActasPerfilProyec) {
ModelUzyTavActasPerfil_Proyec entity = mapper.dtoToEntity(dtoUzyTavActasPerfilProyec);
ModelUzyTavActasPerfil_Proyec nuevoEntity = daoUzyTavActasPerfilProyec.save(entity);
return mapper.entityToDto(nuevoEntity);
}
@Override
public DtoUzyTavActasPerfil_Proyec editar(Long id, DtoUzyTavActasPerfil_Proyec dtoUzyTavActasPerfilProyec) {
try {
ModelUzyTavActasPerfil_Proyec entity = daoUzyTavActasPerfilProyec.findById(id).get();
if (entity != null) {
if(dtoUzyTavActasPerfilProyec.getUzytavactasperfil_PROYEC_TIPO()!=null){
entity.setUzytavactasperfil_PROYEC_TIPO(dtoUzyTavActasPerfilProyec.getUzytavactasperfil_PROYEC_TIPO());
}
if(dtoUzyTavActasPerfilProyec.getUzytavactasperfil_PROYEC_FECHA_CREA()!=null){
entity.setUzytavactasperfil_PROYEC_FECHA_CREA(dtoUzyTavActasPerfilProyec.getUzytavactasperfil_PROYEC_FECHA_CREA());
}
if(dtoUzyTavActasPerfilProyec.getUzytavactasperfil_PROYEC_NOMBRE_URL()!=null){
entity.setUzytavactasperfil_PROYEC_NOMBRE_URL(dtoUzyTavActasPerfilProyec.getUzytavactasperfil_PROYEC_NOMBRE_URL());
}
if(dtoUzyTavActasPerfilProyec.getUzytavactasperfil_PROYEC_NOMBRE_DOC()!=null){
entity.setUzytavactasperfil_PROYEC_NOMBRE_DOC(dtoUzyTavActasPerfilProyec.getUzytavactasperfil_PROYEC_NOMBRE_DOC());
}
ModelUzyTavActasPerfil_Proyec updatedEntity = daoUzyTavActasPerfilProyec.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) {
ModelUzyTavActasPerfil_Proyec entity = daoUzyTavActasPerfilProyec.findById(id).orElse(null);
if (entity != null) {
daoUzyTavActasPerfilProyec.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