Se corrigen los servicios de ModelUzyTClasificadorPresup y Claspre

parent 41c3cf63
......@@ -2,13 +2,14 @@ package ec.edu.espe.movilidad.MovilidadWS.Dto;
import lombok.Data;
@Data
public class DtoUzyTClasificadorPresup {
private Long uzytclasificador_presup_id;
private Long uzytclasificador_presup_padre;
private DtoUzyTClasificadorPresup clasificadorPresupPadre;
private String uzytclasificador_presup_nombre;
private Integer uzytclasificador_presup_ejercicio;
private String uzytclasificador_presup_estado;
}
package ec.edu.espe.movilidad.MovilidadWS.Dto;
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;
import java.util.Date;
@Data
public class DtoUzyTavClasPre {
private Long uzytavclaspre_id;
private Long uzytclasificador_presup_id;
private DtoUzyTClasificadorPresup uzytclasificador_presup;
private String uzytavclaspre_estado;
private String uzytavclaspre_tipo;
......
......@@ -3,7 +3,7 @@ package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTClasificadorPresup;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTClasificadorPresup;
import org.modelmapper.ModelMapper;
import org.modelmapper.PropertyMap;
import org.springframework.stereotype.Component;
import javax.persistence.EntityManager;
import java.util.List;
......@@ -17,20 +17,26 @@ public class UzyTClasificadorPresupMapper {
public UzyTClasificadorPresupMapper(ModelMapper modelMapper, EntityManager entityManager) {
this.modelMapper = modelMapper;
this.entityManager = entityManager;
configureMappings();
}
public DtoUzyTClasificadorPresup entityToDto(ModelUzyTClasificadorPresup entity) {
return modelMapper.map(entity, DtoUzyTClasificadorPresup.class);
DtoUzyTClasificadorPresup dto = modelMapper.map(entity, DtoUzyTClasificadorPresup.class);
dto.setClasificadorPresupPadre(entity.getClasificadorPresup() != null // asigno el objeto clasificadorPresupPadre
? entityToDto(entity.getClasificadorPresup()) //si tiene padre entra en bucle hasta que sea nulo el clasificador presupuestario padre
: null);
return dto;
}
public ModelUzyTClasificadorPresup dtoToEntity(DtoUzyTClasificadorPresup dto) {
ModelUzyTClasificadorPresup entity = modelMapper.map(dto, ModelUzyTClasificadorPresup.class);
Long presupPadre = dto.getUzytclasificador_presup_padre();
ModelUzyTClasificadorPresup clasificadorPresup = entityManager.find(ModelUzyTClasificadorPresup.class, presupPadre);
entity.setClasificadorPresup(clasificadorPresup);
public ModelUzyTClasificadorPresup dtoToEntity(DtoUzyTClasificadorPresup dto) {
ModelUzyTClasificadorPresup entity = modelMapper.map(dto, ModelUzyTClasificadorPresup.class);
if (dto.getClasificadorPresupPadre() != null) {
ModelUzyTClasificadorPresup clasificadorPresup = entityManager.find(
ModelUzyTClasificadorPresup.class, dto.getClasificadorPresupPadre());
entity.setClasificadorPresup(clasificadorPresup);
}
return entity;
}
public List<DtoUzyTClasificadorPresup> entitiesToDtos(List<ModelUzyTClasificadorPresup> entities) {
......@@ -39,13 +45,5 @@ public class UzyTClasificadorPresupMapper {
.collect(Collectors.toList());
}
private void configureMappings() {
modelMapper.addMappings(new PropertyMap<ModelUzyTClasificadorPresup, DtoUzyTClasificadorPresup>() {
@Override
protected void configure() {
map().setUzytclasificador_presup_id(source.getUzytclasificador_presup_id());
map().setUzytclasificador_presup_padre(source.getClasificadorPresup().getUzytclasificador_presup_id());
}
});
}
}
package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavClasPre;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTClasificadorPresup;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavClasPre;
import org.modelmapper.ModelMapper;
import org.modelmapper.PropertyMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.persistence.EntityManager;
import java.util.List;
......@@ -14,6 +14,8 @@ import java.util.stream.Collectors;
public class UzyTavClasPreMapper {
private final ModelMapper modelMapper;
private final EntityManager entityManager;
@Autowired
UzyTClasificadorPresupMapper mapperUzyTClasificadorPresup;
public UzyTavClasPreMapper(ModelMapper modelMapper, EntityManager entityManager) {
this.modelMapper = modelMapper;
this.entityManager = entityManager;
......@@ -21,15 +23,15 @@ public class UzyTavClasPreMapper {
}
public DtoUzyTavClasPre entityToDto(ModelUzyTavClasPre entity) {
return modelMapper.map(entity, DtoUzyTavClasPre.class);
DtoUzyTavClasPre dto = modelMapper.map(entity, DtoUzyTavClasPre.class);
dto.setUzytclasificador_presup(mapperUzyTClasificadorPresup.entityToDto(entity.getUzytclasificador_presup()));
return dto;
}
public ModelUzyTavClasPre dtoToEntity(DtoUzyTavClasPre dto) {
ModelUzyTavClasPre entity = modelMapper.map(dto, ModelUzyTavClasPre.class);
Long clasificacorPrID = dto.getUzytclasificador_presup_id();
ModelUzyTClasificadorPresup clasificadorPresup = entityManager.find(ModelUzyTClasificadorPresup.class, clasificacorPrID);
entity.setUzytclasificador_presup(clasificadorPresup);
return entity;
}
public List<DtoUzyTavClasPre> entitiesToDtos(List<ModelUzyTavClasPre> entities) {
......@@ -43,7 +45,6 @@ public class UzyTavClasPreMapper {
@Override
protected void configure() {
map().setUzytavclaspre_id(source.getUzytavclaspre_id());
map().setUzytclasificador_presup_id(source.getUzytclasificador_presup().getUzytclasificador_presup_id());
}
});
}
......
......@@ -32,12 +32,12 @@ public class ModelUzyTClasificadorPresup {
//RELACIÓN PADRE CONSIGO MISMA
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "uzytclasificador_presup_padre", referencedColumnName = "uzytclasificador_presup_id")
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "uzytclasificador_presup_padre", referencedColumnName = "uzytclasificador_presup_id")
private ModelUzyTClasificadorPresup clasificadorPresup;
@JsonIgnore
@OneToMany(mappedBy = "clasificadorPresup")
private Set<ModelUzyTClasificadorPresup> clasificadorPresupSet = new LinkedHashSet<>();
......
package ec.edu.espe.movilidad.MovilidadWS.Model;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
@Data
@Getter
@Setter
@Entity
@Table(name = "uzytavconfiguracion", schema = "UTIC1")
public class ModelUzyTavConfiguracion {
......@@ -49,8 +53,6 @@ public class ModelUzyTavConfiguracion {
@Column(name = "uzytavconfiguracion_vicerrector_grado_mil",columnDefinition = "VARCHAR2(20 BYTE)")
private String uzytavconfiguracion_vicerrector_grado_mil;
@Column(name = "uzytavconfiguracion_director_unid_vincu_grado_mil",columnDefinition = "VARCHAR2(20 BYTE)")
private String uzytavconfiguracion_director_unid_vincu_grado_mil;
......
......@@ -9,6 +9,7 @@ import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class ServiceUzyTClasificadorPresup implements IServiceUzyTClasificadorPresup{
......@@ -28,12 +29,18 @@ public class ServiceUzyTClasificadorPresup implements IServiceUzyTClasificadorPr
return mapper.entityToDto(entity);
}
@Override
public List<DtoUzyTClasificadorPresup> ListarRegistros() {
List<ModelUzyTClasificadorPresup> entities = daoUzyTClasificadorPresup.findAll();
return mapper.entitiesToDtos(entities);
return entities.stream()
.map(mapper::entityToDto)
.collect(Collectors.toList());
}
@Override
public List<Object[]> obtenerClasificadorPresup() {
return daoUzyTClasificadorPresup.obtenerClasificadorPresup();
......
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavOpcionInstitucion;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavOpcionInstitucion;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavPrograma_V;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavOpcionInstitucion;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTavOpcionInstitucionMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavOpcionInstitucion;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavPrograma_V;
import org.springframework.stereotype.Service;
import java.util.List;
......@@ -15,12 +17,14 @@ public class ServiceUzyTavOpcionInstitucion implements IServiceUzyTavOpcionInsti
private final DaoUzyTavOpcionInstitucion daoUzyTavOpcionInstitucion;
private final UzyTavOpcionInstitucionMapper mapper;
public ServiceUzyTavOpcionInstitucion(DaoUzyTavOpcionInstitucion daoUzyTavOpcionInstitucion, UzyTavOpcionInstitucionMapper mapper) {
private final DaoUzyTavPrograma_V daoUzyTavProgramaV;
public ServiceUzyTavOpcionInstitucion(DaoUzyTavOpcionInstitucion daoUzyTavOpcionInstitucion, UzyTavOpcionInstitucionMapper mapper, DaoUzyTavPrograma_V daoUzyTavProgramaV) {
this.daoUzyTavOpcionInstitucion = daoUzyTavOpcionInstitucion;
this.mapper=mapper;
this.daoUzyTavProgramaV = daoUzyTavProgramaV;
}
@Override
......@@ -39,10 +43,31 @@ public class ServiceUzyTavOpcionInstitucion implements IServiceUzyTavOpcionInsti
@Override
public DtoUzyTavOpcionInstitucion guardar(DtoUzyTavOpcionInstitucion dtoUzyTavOpcionInstitucion) {
ModelUzyTavOpcionInstitucion entity = mapper.dtoToEntity(dtoUzyTavOpcionInstitucion);
// Obtener el último registro de ModelUzyTavPrograma_V
//ModelUzyTavPrograma_V ultimoEntityProgramaV = obtenerUltimoRegistroProgramaV();
//entity.setUzytavprograma_v(ultimoEntityProgramaV);
ModelUzyTavOpcionInstitucion nuevoEntity = daoUzyTavOpcionInstitucion.save(entity);
return mapper.entityToDto(nuevoEntity);
}
//private ModelUzyTavPrograma_V obtenerUltimoRegistroProgramaV() {
// Implementa aquí la lógica para obtener el último registro de ModelUzyTavPrograma_V
// Puedes utilizar el DAO correspondiente o el método que tengas implementado
// Ejemplo:
//List<ModelUzyTavPrograma_V> programasV = daoUzyTavProgramaV.findAllByOrderByIdDesc();
//if (!programasV.isEmpty()) {
// return programasV.get(0);
//} else {
// En caso de que no exista ningún registro
// return null;
// }
//}
@Override
public DtoUzyTavOpcionInstitucion editar(Long id, DtoUzyTavOpcionInstitucion dtoUzyTavOpcionInstitucion) {
try {
......
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