Se corrige el mapper de UzytavObjetivoProgramaMapper para que se mapee el id padre

parent 9d3b06fc
......@@ -24,4 +24,5 @@ public class UzyTPerfilUsuarioController {
return serviceUzyTPerfilUsuario.asignarPerfilAUsuario(uzytusuarioId, uzytperfilId);
}
}
......@@ -7,11 +7,12 @@ import java.util.Date;
public class DtoUzytavObjetivoPrograma {
private Date uzytavobjetivo_programafec_fin;
private Date uzytavobjetivo_programafec_ini;
private DtoUzytavObjetivoPrograma uzytavobjetivo_programa;
private DtoUzytavObjetivoPrograma uzytavobjetivo_programaPadre;
private Long uzytavobjetivo_programa_id_padre;
private DtoUzyTavPrograma_V uzytavprograma_v;
private DtoUzyTavProyec uzytavproyec;
private Long uzytavobjetivo_programa_id;
private Long uzytavobjetivo_programa_id_padre;
private Long uzytavobjetivo_programaindicador_tipo;
private Long uzytavobjetivo_programaindicador_valor;
private Long uzytavobjetivo_programaindicador_valor_eje;
......
......@@ -5,7 +5,9 @@ import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavPrograma_V;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavProyec;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzytavObjetivoPrograma;
import org.modelmapper.ModelMapper;
import org.modelmapper.PropertyMap;
import org.springframework.stereotype.Component;
import javax.persistence.EntityManager;
import java.util.List;
import java.util.stream.Collectors;
......@@ -20,17 +22,16 @@ public class UzytavObjetivoProgramaMapper {
public UzytavObjetivoProgramaMapper(ModelMapper modelMapper, EntityManager entityManager) {
this.modelMapper = modelMapper;
this.entityManager = entityManager;
configureMappings();
}
public DtoUzytavObjetivoPrograma entityToDto(ModelUzytavObjetivoPrograma entity) {
DtoUzytavObjetivoPrograma dto = modelMapper.map(entity, DtoUzytavObjetivoPrograma.class);
if (entity.getUzytavobjetivo_programa() != null) {
DtoUzytavObjetivoPrograma padreDto = entityToDto(entity.getUzytavobjetivo_programa());
dto.setUzytavobjetivo_programa(padreDto);
dto.setUzytavobjetivo_programa_id_padre(entity.getUzytavobjetivo_programa().getUzytavobjetivo_programa_id());
// Mapear el padre para que traiga todos los regitros
if (entity.getUzytavobjetivo_programaPadre() != null) {
DtoUzytavObjetivoPrograma dtoPadre = entityToDto(entity.getUzytavobjetivo_programaPadre());
dto.setUzytavobjetivo_programaPadre(dtoPadre);
}
return dto;
}
......@@ -39,18 +40,25 @@ public class UzytavObjetivoProgramaMapper {
ModelUzytavObjetivoPrograma entity = modelMapper.map(dto, ModelUzytavObjetivoPrograma.class);
Long programaID = dto.getUzytavprograma_v_id();
Long proyectoID = dto.getUzytavproyec_id();
if (dto.getUzytavobjetivo_programa() != null) {
ModelUzytavObjetivoPrograma padreEntity = dtoToEntity(dto.getUzytavobjetivo_programa());
entity.setUzytavobjetivo_programa(padreEntity);
Long padreID = dto.getUzytavobjetivo_programa_id_padre();
//Enviar el objeto completo
if (dto.getUzytavobjetivo_programaPadre() != null) {
ModelUzytavObjetivoPrograma padreEntity = dtoToEntity(dto.getUzytavobjetivo_programaPadre());
entity.setUzytavobjetivo_programaPadre(padreEntity);
}
if(programaID !=null){
if (programaID != null) {
ModelUzyTavPrograma_V programa_v = entityManager.find(ModelUzyTavPrograma_V.class, programaID);
entity.setUzytavprograma_v(programa_v);
}
if(proyectoID !=null){
if (proyectoID != null) {
ModelUzyTavProyec proyec = entityManager.find(ModelUzyTavProyec.class, proyectoID);
entity.setUzytavproyec(proyec);
}
//enviar solo el ID
if (padreID != null) {
ModelUzytavObjetivoPrograma objetivoPrograma = entityManager.find(ModelUzytavObjetivoPrograma.class, padreID);
entity.setUzytavobjetivo_programaPadre(objetivoPrograma);
}
return entity;
}
......@@ -61,4 +69,15 @@ public class UzytavObjetivoProgramaMapper {
.collect(Collectors.toList());
}
private void configureMappings() {
modelMapper.addMappings(new PropertyMap<ModelUzytavObjetivoPrograma, DtoUzytavObjetivoPrograma>() {
@Override
protected void configure() {
map().setUzytavobjetivo_programa_id(source.getUzytavobjetivo_programa_id());
map().setUzytavobjetivo_programa_id_padre(source.getUzytavobjetivo_programaPadre().getUzytavobjetivo_programa_id());
}
});
}
}
......@@ -56,11 +56,11 @@ public class ModelUzytavObjetivoPrograma {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "uzytavobjetivo_programa_id_padre", referencedColumnName = "uzytavobjetivo_programa_id")
private ModelUzytavObjetivoPrograma uzytavobjetivo_programa;
private ModelUzytavObjetivoPrograma uzytavobjetivo_programaPadre;
@JsonIgnore
@OneToMany(mappedBy = "uzytavobjetivo_programa")
@OneToMany(mappedBy = "uzytavobjetivo_programaPadre")
private Set<ModelUzytavObjetivoPrograma> modelUzytavObjetivoProgramaSet = new LinkedHashSet<>();
@Column(name = "uzytavobjetivo_programaorden")
......
......@@ -268,6 +268,7 @@ public class ServiceUzyTUsuario implements IServiceUzyTUsuario {
}
}
@Override
public Set<DtoUzyTPerfil> findPerfilesByUsuarioId(Long uzytusuario_id) {
if (uzytusuario_id == null || uzytusuario_id <= 0) {
......
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