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

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