Browse Source

All calls with DTO

Drowsito 3 weeks ago
parent
commit
1de45153d0

+ 122 - 0
src/main/java/es/uv/saic/dto/IndicadorEnquestaValorDTOImp.java

@@ -0,0 +1,122 @@
+package es.uv.saic.dto;
+
+public class IndicadorEnquestaValorDTOImp implements IndicadorEnquestaValorDTO {
+    private String enquesta;
+    private String indicador;
+    private String valor;
+    private String num;
+    private String ambit;
+    private String tipus;
+    private String min;
+    private String max;
+    private Integer curs;
+    private String cursd;
+    private String media;
+
+    public IndicadorEnquestaValorDTOImp() {
+    }
+
+    public IndicadorEnquestaValorDTOImp(String enquesta, String indicador, String valor, String num, String ambit,
+            String tipus, String min, String max, Integer curs, String cursd, String media) {
+        this.enquesta = enquesta;
+        this.indicador = indicador;
+        this.valor = valor;
+        this.num = num;
+        this.ambit = ambit;
+        this.tipus = tipus;
+        this.min = min;
+        this.max = max;
+        this.curs = curs;
+        this.cursd = cursd;
+        this.media = media;
+    }
+
+    public String getEnquesta() {
+        return enquesta;
+    }
+
+    public void setEnquesta(String enquesta) {
+        this.enquesta = enquesta;
+    }
+
+    public String getIndicador() {
+        return indicador;
+    }
+
+    public void setIndicador(String indicador) {
+        this.indicador = indicador;
+    }
+
+    public String getValor() {
+        return valor;
+    }
+
+    public void setValor(String valor) {
+        this.valor = valor;
+    }
+
+    public String getNum() {
+        return num;
+    }
+
+    public void setNum(String num) {
+        this.num = num;
+    }
+
+    public String getAmbit() {
+        return ambit;
+    }
+
+    public void setAmbit(String ambit) {
+        this.ambit = ambit;
+    }
+
+    public String getTipus() {
+        return tipus;
+    }
+
+    public void setTipus(String tipus) {
+        this.tipus = tipus;
+    }
+
+    public String getMin() {
+        return min;
+    }
+
+    public void setMin(String min) {
+        this.min = min;
+    }
+
+    public String getMax() {
+        return max;
+    }
+
+    public void setMax(String max) {
+        this.max = max;
+    }
+
+    public Integer getCurs() {
+        return curs;
+    }
+
+    public void setCurs(Integer curs) {
+        this.curs = curs;
+    }
+
+    public String getCursd() {
+        return cursd;
+    }
+
+    public void setCursd(String cursd) {
+        this.cursd = cursd;
+    }
+
+    public String getMedia() {
+        return media;
+    }
+
+    public void setMedia(String media) {
+        this.media = media;
+    }
+
+}

+ 82 - 0
src/main/java/es/uv/saic/dto/OrganTransferDTO.java

@@ -0,0 +1,82 @@
+package es.uv.saic.dto;
+
+import es.uv.saic.domain.Organ;
+
+public class OrganTransferDTO {
+    private Integer lugarTitulacion;
+    private Integer lugarCentre;
+    private String nomVal;
+    private String nomCas;
+    private String tambit;
+    private String tambitTitulacion;
+
+    public OrganTransferDTO() {
+    }
+
+    public OrganTransferDTO(Integer lugarTitulacion, Integer lugarCentre, String nomVal, String nomCas, String tambit,
+            String tambitTitulacion) {
+        this.lugarTitulacion = lugarTitulacion;
+        this.lugarCentre = lugarCentre;
+        this.nomVal = nomVal;
+        this.nomCas = nomCas;
+        this.tambit = tambit;
+        this.tambitTitulacion = tambitTitulacion;
+    }
+
+    public OrganTransferDTO(Organ organ) {
+        this.lugarTitulacion = organ.getId().getLugar();
+        this.lugarCentre = organ.getOrgan().getId().getLugar();
+        this.nomVal = organ.getNomVal();
+        this.nomCas = organ.getNomCas();
+        this.tambit = organ.getTambit();
+        this.tambitTitulacion = organ.getOrgan().getTambit();
+    }
+
+    public Integer getLugarTitulacion() {
+        return lugarTitulacion;
+    }
+
+    public void setLugarTitulacion(Integer lugarTitulacion) {
+        this.lugarTitulacion = lugarTitulacion;
+    }
+
+    public Integer getLugarCentre() {
+        return lugarCentre;
+    }
+
+    public void setLugarCentre(Integer lugarCentre) {
+        this.lugarCentre = lugarCentre;
+    }
+
+    public String getNomVal() {
+        return nomVal;
+    }
+
+    public void setNomVal(String nomVal) {
+        this.nomVal = nomVal;
+    }
+
+    public String getNomCas() {
+        return nomCas;
+    }
+
+    public void setNomCas(String nomCas) {
+        this.nomCas = nomCas;
+    }
+
+    public String getTambit() {
+        return tambit;
+    }
+
+    public void setTambit(String tambit) {
+        this.tambit = tambit;
+    }
+
+    public String getTambitTitulacion() {
+        return tambitTitulacion;
+    }
+
+    public void setTambitTitulacion(String tambitTitulacion) {
+        this.tambitTitulacion = tambitTitulacion;
+    }
+}

+ 17 - 0
src/main/java/es/uv/saic/dto/ProcesDTO.java

@@ -1,10 +1,13 @@
 package es.uv.saic.dto;
 
+import es.uv.saic.domain.Proces;
+
 public class ProcesDTO {
     private String nomProces;
     private Integer lugar;
     private Integer lugar2;
     private String tambit;
+    private Integer cursAvaluat;
 
     public ProcesDTO() {
     }
@@ -16,6 +19,11 @@ public class ProcesDTO {
         this.tambit = tambit;
     }
 
+    public ProcesDTO(Proces proces) {
+        this.nomProces = proces.getNomProces();
+        this.cursAvaluat = proces.getCursAvaluat();
+    }
+
     public String getNomProces() {
         return nomProces;
     }
@@ -47,4 +55,13 @@ public class ProcesDTO {
     public void setTambit(String tambit) {
         this.tambit = tambit;
     }
+
+    public Integer getCursAvaluat() {
+        return cursAvaluat;
+    }
+
+    public void setCursAvaluat(Integer cursAvaluat) {
+        this.cursAvaluat = cursAvaluat;
+    }
+
 }

+ 13 - 2
src/main/java/es/uv/saic/dto/TascaDTO.java

@@ -9,16 +9,18 @@ public class TascaDTO {
     private Integer tipus;
     private String nomEvidenciaCas;
     private String opcions;
-    
+    private String nomRol;
+
     public TascaDTO() {
     }
 
-    public TascaDTO(Integer idTasca, String codiEvidencia, Tipus tipus, String nomEvidenciaCas, String opcions) {
+    public TascaDTO(Integer idTasca, String codiEvidencia, Tipus tipus, String nomEvidenciaCas, String opcions, String nomRol) {
         this.idTasca = idTasca;
         this.codiEvidencia = codiEvidencia;
         this.tipus = tipus.getTipus();
         this.nomEvidenciaCas = nomEvidenciaCas;
         this.opcions = opcions;
+        this.nomRol = nomRol;
     }
 
     public TascaDTO(Tasca tasca) {
@@ -27,6 +29,7 @@ public class TascaDTO {
         this.tipus = tasca.getTipus().getTipus();
         this.nomEvidenciaCas = tasca.getNomEvidenciaCas();
         this.opcions = tasca.getOpcions();
+        this.nomRol = tasca.getRol().getNomRol();
     }
 
     public Integer getIdTasca() {
@@ -68,4 +71,12 @@ public class TascaDTO {
     public void setOpcions(String opcions) {
         this.opcions = opcions;
     }
+
+    public String getNomRol() {
+        return nomRol;
+    }
+
+    public void setNomRol(String nomRol) {
+        this.nomRol = nomRol;
+    }
 }

+ 11 - 13
src/main/java/es/uv/saic/feign/CoreClient.java

@@ -10,15 +10,13 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
 import es.uv.saic.domain.Indicador;
-import es.uv.saic.domain.InstanciaTasca;
-import es.uv.saic.domain.Organ;
-import es.uv.saic.domain.Proces;
-import es.uv.saic.domain.Tasca;
 import es.uv.saic.dto.IndicadorEnquestaDTO;
-import es.uv.saic.dto.IndicadorEnquestaValorDTO;
+import es.uv.saic.dto.IndicadorEnquestaValorDTOImp;
 import es.uv.saic.dto.InstanciaTascaDTO;
 import es.uv.saic.dto.NomProcesOrganDTO;
+import es.uv.saic.dto.OrganTransferDTO;
 import es.uv.saic.dto.ProcesDTO;
+import es.uv.saic.dto.TascaDTO;
 import es.uv.saic.dto.TascaInformeTransferDTO;
 
 @FeignClient(value = "core-service", url = "${saic.url.core.domain}")
@@ -28,35 +26,35 @@ public interface CoreClient {
     List<Indicador> getFromTitulacion(@PathVariable("idTitulacio") Integer idTitulacio, @PathVariable("curs") Integer curs);
 
     @PostMapping("/allInds2")
-    List<IndicadorEnquestaValorDTO> getAllInds2(@RequestBody IndicadorEnquestaDTO indicadorEnquestaDTO);
+    List<IndicadorEnquestaValorDTOImp> getAllInds2(@RequestBody IndicadorEnquestaDTO indicadorEnquestaDTO);
 
     //TascaController.java
     @GetMapping("/instanciatasca/{id}")
     InstanciaTascaDTO findInstanciaTascaById(@PathVariable("id") BigInteger id);
 
     @GetMapping("/instanciatasca2/{id}")
-    InstanciaTasca findInstanciaTascaById2(@PathVariable("id") BigInteger id);
+    InstanciaTascaDTO findInstanciaTascaById2(@PathVariable("id") BigInteger id);
 
     @GetMapping("/getReportFromNomProcesOrgan")
-    InstanciaTasca getReportFromNomProcesOrgan(@RequestBody NomProcesOrganDTO nomProcesOrganDTO);
+    InstanciaTascaDTO getReportFromNomProcesOrgan(@RequestBody NomProcesOrganDTO nomProcesOrganDTO);
     
     @PostMapping("/getLastByProcName")
     TascaInformeTransferDTO getLastByProcName(@RequestBody ProcesDTO tascaDTO);
 
     @PostMapping("/getByProcesTascap/{idProces}/{idTascap}")
-    Tasca getByProcesTascap(@PathVariable Integer idProces, @PathVariable Integer idTascap);
+    TascaDTO getByProcesTascap(@PathVariable Integer idProces, @PathVariable Integer idTascap);
 
     //OrganController.java
     @GetMapping("/getTitulacionsByCentreTambit/{centre}/{tambit}")
-    List<Organ> getTitulacionsByCentreTambit(@PathVariable("centre") Integer lugar, @PathVariable("tambit") String tambit);
+    List<OrganTransferDTO> getTitulacionsByCentreTambit(@PathVariable("centre") Integer lugar, @PathVariable("tambit") String tambit);
 
     @GetMapping("/findById/{tlugar}/{idTitulacio}")
-    Organ findOrganById(@PathVariable("tlugar") String tlugar,  @PathVariable("idTitulacio") Integer idTitulacio);
+    OrganTransferDTO findOrganById(@PathVariable("tlugar") String tlugar,  @PathVariable("idTitulacio") Integer idTitulacio);
 
     @GetMapping("/getTitulacionsByTypeCentre/{lugar}/{ambit}")
-    List<Organ> getTitulacionsByTypeCentre(@PathVariable Integer lugar, @PathVariable Integer ambit);
+    List<OrganTransferDTO> getTitulacionsByTypeCentre(@PathVariable Integer lugar, @PathVariable Integer ambit);
 
     //ProcesController.java
     @PostMapping("/proces/{id}")
-    Proces finProcesdById(@PathVariable("id") Integer id);
+    ProcesDTO findProcesdById(@PathVariable("id") Integer id);
 }

+ 18 - 19
src/main/java/es/uv/saic/service/PlantillaService.java

@@ -35,16 +35,15 @@ import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
 import es.uv.saic.domain.Indicador;
-import es.uv.saic.domain.InstanciaTasca;
-import es.uv.saic.domain.Organ;
 import es.uv.saic.domain.Plantilla;
 import es.uv.saic.domain.PlantillaComentario;
 import es.uv.saic.domain.PlantillaConversation;
 import es.uv.saic.domain.PlantillaRepository;
 import es.uv.saic.dto.IndicadorEnquestaDTO;
-import es.uv.saic.dto.IndicadorEnquestaValorDTO;
+import es.uv.saic.dto.IndicadorEnquestaValorDTOImp;
 import es.uv.saic.dto.InstanciaTascaDTO;
 import es.uv.saic.dto.NomProcesOrganDTO;
+import es.uv.saic.dto.OrganTransferDTO;
 import es.uv.saic.feign.CoreClient;
 
 @Service
@@ -142,11 +141,11 @@ public class PlantillaService {
 		HashMap<String, String> header = new HashMap<String, String>();
 		HashMap<String, String> img = new HashMap<String, String>();
 		 
-		Organ centre = core.findOrganById("C", idCentre);
-		Organ titulacio = core.findOrganById("T", idTitulacio);
+		OrganTransferDTO centre = core.findOrganById("C", idCentre);
+		OrganTransferDTO titulacio = core.findOrganById("T", idTitulacio);
 		
 		/** Add header information **/
-		addHeaderData(centre.getNomVal(), centre.getId().getLugar(), titulacio.getNomVal(), curs, header, img);
+		addHeaderData(centre.getNomVal(), centre.getLugarCentre(), titulacio.getNomVal(), curs, header, img);
 							
 		/** Iterate elements inside {[loop]} ... {[endloop]} **/
 		template = this.iterateLoopTag(template, idCentre, titulacio.getTambit(), curs, context);
@@ -193,11 +192,11 @@ public class PlantillaService {
 		Elements loop_elements = doc.select("*[data-loop]");
 		for(Element e : loop_elements) {
 			String Tambit = e.attr("data-loop");
-			List<Organ> tits = core.getTitulacionsByCentreTambit(idCentre, Tambit);
-			for(Organ org : tits) {
+			List<OrganTransferDTO> tits = core.getTitulacionsByCentreTambit(idCentre, Tambit);
+			for(OrganTransferDTO org : tits) {
 				context.clear();
 				Element e_copy = e.clone();
-				getTemplateData(org.getId().getLugar(), org.getOrgan().getId().getLugar(), curs, context);
+				getTemplateData(org.getLugarTitulacion(), org.getLugarCentre(), curs, context);
 				context.put("titulacio_loop", org.getNomVal());
 				Elements ielements = e_copy.select("*:matchesWholeOwnText(\\{\\{([^\\}]*)\\}\\})");
 				for(Element ielem : ielements) {
@@ -240,11 +239,11 @@ public class PlantillaService {
 		while(matcher.find()) {
 			String group = matcher.group(1);
 			Document tab = Jsoup.parse(group);
-			List<Organ> tits = core.getTitulacionsByCentreTambit(idCentre, Tambit);
-			for(Organ t : tits) {
+			List<OrganTransferDTO> tits = core.getTitulacionsByCentreTambit(idCentre, Tambit);
+			for(OrganTransferDTO t : tits) {
 				Document tabcopy = Jsoup.parse(tab.html());
 				context.clear();
-				getTemplateData(t.getId().getLugar(), t.getOrgan().getId().getLugar(), curs, context);
+				getTemplateData(t.getLugarTitulacion(), t.getLugarCentre(), curs, context);
 				context.put("titulacio_loop", t.getNomVal());
 				tabcopy = this.replaceValuesLoop(tabcopy, context);
 				replaced += tabcopy.html()+"<p></p>";
@@ -317,10 +316,10 @@ public class PlantillaService {
 		
 		/*  Indicadores de encuestas y otros almacenados en BD  */
 		IndicadorEnquestaDTO indicadorEnquestaDTO = new IndicadorEnquestaDTO(idTitulacio, idCentre, curs);
-		List<IndicadorEnquestaValorDTO> enquestesT = core.getAllInds2(indicadorEnquestaDTO);
+		List<IndicadorEnquestaValorDTOImp> enquestesT = core.getAllInds2(indicadorEnquestaDTO);
 
 				
-		for(IndicadorEnquestaValorDTO i : enquestesT) {
+		for(IndicadorEnquestaValorDTOImp i : enquestesT) {
 			String indicador = i.getAmbit().toLowerCase().equals("t") ? (i.getEnquesta().toLowerCase()+"_"+i.getIndicador().toLowerCase()) : (i.getEnquesta().toLowerCase()+"_"+i.getIndicador().toLowerCase()+"_"+i.getAmbit().toLowerCase());
 			if(i.getNum() == null) {
 				indicador = i.getTipus().toLowerCase().equals("avg") ? indicador : (indicador += "_"+i.getTipus().toLowerCase());		
@@ -425,8 +424,8 @@ public class PlantillaService {
 			e.remove();
 		}
 		
-		InstanciaTasca ita = core.findInstanciaTascaById2(idtascai);
-		if(ita.getTasca().getRol().getNomRol().equals("u_uq")) {
+		InstanciaTascaDTO ita = core.findInstanciaTascaById2(idtascai);
+		if(ita.getTasca().getNomRol().equals("u_uq")) {
 			d.body().append(this.parseComments(d.html()));
 		}
 		
@@ -486,8 +485,8 @@ public class PlantillaService {
 		}
 		
 		if(idtascai.isPresent()) {
-			InstanciaTasca ita = core.findInstanciaTascaById2(idtascai.get());
-			if(ita.getTasca().getRol().getNomRol().equals("u_uq")) {
+			InstanciaTascaDTO ita = core.findInstanciaTascaById2(idtascai.get());
+			if(ita.getTasca().getNomRol().equals("u_uq")) {
 				d.body().append(this.parseComments(d.html()));
 			}
 		}
@@ -570,7 +569,7 @@ public class PlantillaService {
 																		it.getInstancia().getLugar(), 
 																		it.getInstancia().getCentre(), 
 																		it.getInstancia().getTitulacio());
-			InstanciaTasca itOld = core.getReportFromNomProcesOrgan(nomProcesOrganDTO);
+			InstanciaTascaDTO itOld = core.getReportFromNomProcesOrgan(nomProcesOrganDTO);
 			try {
 				Document doc2 = Jsoup.parse(itOld.getText());
 				Elements target = null;

+ 28 - 30
src/main/java/es/uv/saic/web/DownloadController.java

@@ -31,12 +31,10 @@ import org.springframework.web.bind.annotation.RestController;
 
 import es.uv.saic.domain.Document;
 import es.uv.saic.domain.Indicador;
-import es.uv.saic.domain.Organ;
-import es.uv.saic.domain.Proces;
-import es.uv.saic.domain.Tasca;
 import es.uv.saic.dto.IndicadorEnquestaDTO;
-import es.uv.saic.dto.IndicadorEnquestaValorDTO;
+import es.uv.saic.dto.IndicadorEnquestaValorDTOImp;
 import es.uv.saic.dto.InstanciaTascaDTO;
+import es.uv.saic.dto.OrganTransferDTO;
 import es.uv.saic.dto.PdfDTO;
 import es.uv.saic.dto.ProcesDTO;
 import es.uv.saic.dto.TascaDTO;
@@ -155,11 +153,11 @@ public class DownloadController {
 	public ResponseEntity<FileSystemResource> downloadReport(@PathVariable("t") Integer idTitulacio, @PathVariable("p") String nomProces,
 			HttpServletResponse response) throws IOException, XDocReportException {
 		
-		Organ titulacio = core.findOrganById("T", idTitulacio);
+		OrganTransferDTO titulacio = core.findOrganById("T", idTitulacio);
 		
-		ProcesDTO procesDTO = new ProcesDTO(nomProces, titulacio.getId().getLugar(), 
-														titulacio.getOrgan().getId().getLugar(), 
-														titulacio.getOrgan().getTambit());
+		ProcesDTO procesDTO = new ProcesDTO(nomProces, titulacio.getLugarCentre(), 
+														titulacio.getLugarTitulacion(), 
+														titulacio.getTambitTitulacion());
 		TascaInformeTransferDTO it = core.getLastByProcName(procesDTO);
 		
 		if(it != null) {
@@ -231,12 +229,12 @@ public class DownloadController {
 		Integer idCentre = it.getInstancia().getCentre();
 			
 		if(tasca.getTipus() == 14) { // Iterable template task
-			List<Organ> titulacions = new ArrayList<Organ>();
+			List<OrganTransferDTO> titulacions = new ArrayList<OrganTransferDTO>();
 			Integer ambit = idTitulacio/(int)1000;
 			titulacions = core.getTitulacionsByTypeCentre(it.getInstancia().getLugar(), ambit);
 			List<HashMap<String, String>> data = new ArrayList<HashMap<String, String>>();
-			for(Organ x : titulacions) {
-				HashMap<String, String> t = getTemplateDataArray(x.getId().getLugar(), idCentre, it.getInstancia().getCursAvaluat());
+			for(OrganTransferDTO x : titulacions) {
+				HashMap<String, String> t = getTemplateDataArray(x.getLugarCentre(), idCentre, it.getInstancia().getCursAvaluat());
 				t.put("titulacio", x.getNomCas());
 				data.add(t);
 			} 
@@ -275,11 +273,11 @@ public class DownloadController {
 		catch(Exception e) { }
 		
 		/*  Indicadores de encuestas  */
-		List<IndicadorEnquestaValorDTO> enquestesT;
+		List<IndicadorEnquestaValorDTOImp> enquestesT;
 		IndicadorEnquestaDTO iEnquestaDTO = new IndicadorEnquestaDTO(idTitulacio, idCentre, curs);
 		enquestesT = core.getAllInds2(iEnquestaDTO);
 				
-		for(IndicadorEnquestaValorDTO i : enquestesT) {
+		for(IndicadorEnquestaValorDTOImp i : enquestesT) {
 			String indicador = i.getAmbit().equals("t") ? (i.getEnquesta()+"_"+i.getIndicador()) : (i.getEnquesta()+"_"+i.getIndicador()+"_"+i.getAmbit());
 			indicador = i.getTipus().equals("avg") ? indicador : (indicador += "_"+i.getTipus());		
 			indicador = i.getCursd() == null ? indicador : (indicador += "_"+i.getCursd());
@@ -334,11 +332,11 @@ public class DownloadController {
 		catch(Exception e) { }
 		
 		/*  Indicadores de encuestas  */
-		List<IndicadorEnquestaValorDTO> enquestesT;	
+		List<IndicadorEnquestaValorDTOImp> enquestesT;	
 		IndicadorEnquestaDTO iEnquestaDTO = new IndicadorEnquestaDTO(idTitulacio, idCentre, curs);
 		enquestesT = core.getAllInds2(iEnquestaDTO);
 				
-		for(IndicadorEnquestaValorDTO i : enquestesT) {
+		for(IndicadorEnquestaValorDTOImp i : enquestesT) {
 			String indicador = i.getAmbit().equals("t") ? (i.getEnquesta()+"_"+i.getIndicador()) : (i.getEnquesta()+"_"+i.getIndicador()+"_"+i.getAmbit());
 			indicador = i.getTipus().equals("avg") ? indicador : (indicador += "_"+i.getTipus());	
 			indicador = i.getCursd() == null ? indicador : (indicador += "_"+i.getCursd());
@@ -366,10 +364,10 @@ public class DownloadController {
 		XDocReportRegistry.getRegistry().clear();
 		String reportId = "none";
 		
-		Tasca tasca = core.getByProcesTascap(idProces, idTascap);
-		Proces proces = core.finProcesdById(idProces);
-		Organ titulacio = core.findOrganById("T", idTitulacio);
-		Organ centre = core.findOrganById("C", idCentre);
+		TascaDTO tasca = core.getByProcesTascap(idProces, idTascap);
+		ProcesDTO proces = core.findProcesdById(idProces);
+		OrganTransferDTO titulacio = core.findOrganById("T", idTitulacio);
+		OrganTransferDTO centre = core.findOrganById("C", idCentre);
 		Integer ambit = idTitulacio/(int)1000;
 		
 		/* Check if specific template exists */
@@ -406,12 +404,12 @@ public class DownloadController {
 		context.put("curs", Integer.toString(proces.getCursAvaluat()-1)+" - "+Integer.toString(proces.getCursAvaluat()));
 		context.put("curs_anterior", Integer.toString(proces.getCursAvaluat()-2)+" - "+Integer.toString(proces.getCursAvaluat()-1));
 		
-		if(tasca.getTipus().getTipus() == 14) { // Iterable template task
-			List<Organ> titulacions = new ArrayList<Organ>();
-			titulacions = core.getTitulacionsByTypeCentre(centre.getId().getLugar(), ambit);
+		if(tasca.getTipus() == 14) { // Iterable template task
+			List<OrganTransferDTO> titulacions = new ArrayList<OrganTransferDTO>();
+			titulacions = core.getTitulacionsByTypeCentre(centre.getLugarCentre(), ambit);
 			List<HashMap<String, String>> data = new ArrayList<HashMap<String, String>>();
-			for(Organ x : titulacions) {
-				HashMap<String, String> t = getTemplateDataArray(x.getId().getLugar(), idCentre, proces.getCursAvaluat());
+			for(OrganTransferDTO x : titulacions) {
+				HashMap<String, String> t = getTemplateDataArray(x.getLugarCentre(), idCentre, proces.getCursAvaluat());
 				t.put("titulacio", x.getNomCas());
 				data.add(t);
 			}
@@ -448,8 +446,8 @@ public class DownloadController {
 		XDocReportRegistry.getRegistry().clear();
 		String reportId = "none";
 		
-		Organ titulacio = core.findOrganById("T", idTitulacio);
-		Organ centre = core.findOrganById("C", idCentre);
+		OrganTransferDTO titulacio = core.findOrganById("T", idTitulacio);
+		OrganTransferDTO centre = core.findOrganById("C", idCentre);
 		Integer ambit = idTitulacio/(int)1000;
 		
 		/* Check if specific template exists */
@@ -489,11 +487,11 @@ public class DownloadController {
 		context.put("curs_anterior", Integer.toString(curs-2)+" - "+Integer.toString(curs-1));
 		
 		if(tipusTasca == 14) { // Iterable template task
-			List<Organ> titulacions = new ArrayList<Organ>();
-			titulacions = core.getTitulacionsByTypeCentre(centre.getId().getLugar(), ambit);
+			List<OrganTransferDTO> titulacions = new ArrayList<OrganTransferDTO>();
+			titulacions = core.getTitulacionsByTypeCentre(centre.getLugarCentre(), ambit);
 			List<HashMap<String, String>> data = new ArrayList<HashMap<String, String>>();
-			for(Organ x : titulacions) {
-				HashMap<String, String> t = getTemplateDataArray(x.getId().getLugar(), idCentre, curs);
+			for(OrganTransferDTO x : titulacions) {
+				HashMap<String, String> t = getTemplateDataArray(x.getLugarCentre(), idCentre, curs);
 				t.put("titulacio", x.getNomCas());
 				data.add(t);
 			}