Forráskód Böngészése

Todos los controladores funcionando

Listo para separar en microservicios
Mario Martínez Hernández 4 hónapja
szülő
commit
15b891f1dc

+ 29 - 29
notas.md

@@ -5,19 +5,19 @@
  - IndicadorEnquestaTmpService -> SAIC_CORE
  - IndicadorEnquestaService -> SAIC_CORE
  - DataSourceService -> SAIC_DATA
- ### Llamadas a OrganService a convertir
+ ### Llamadas a OrganService a convertir - ✅
     - ln 114 getActiveCentres() GET - ✅
     - ln 115 getTitulations() GET - ✅
     - ln 201 findByRuct(Integer ruct) POST - ✅
 
- ### Llamadas a IndicadorEnquestaTmpService a convertir
+ ### Llamadas a IndicadorEnquestaTmpService a convertir - ✅
     - ln 95 deleteByEnquestaCursAmbitEstudi(String enquesta, Integer curs, String ambit, String estudi) DELETE - ✅
     - ln 106 findByEnquestaCursAmbitEstudi(String enquesta, Integer curs, String ambit, String estudi) POST - ✅
     - ln 150 deleteFromCurrent(String enquesta) DELETE - ✅
     - ln 153 deleteFromPending(String enquesta) DELETE - ✅
     - ln 163 deleteDuplicates(String enquesta) DELETE  - ✅
 
- ### Llamadas a IndicadorEnquestaService a convertir - ¿No se usa?
+ ### Llamadas a IndicadorEnquestaService a convertir - ¿No se usa? - ✅
     - ln 215 findByEnquestaCursAmbitEstudi(String enquesta, Integer curs, String ambit, String estudi) POST - ✅
     - ln 218 findByEnquestaCursAmbitEstudiCentre(String enquesta, Integer curs, String ambit, String estudi, Integer centre) POST - ✅
     - ln 221 findByEnquestaCursAmbitEstudiCentreTitulacio(String enquesta, Integer curs, String ambit, String estudi, Integer centre, Integer titulacio) POST - ✅
@@ -34,7 +34,7 @@
  - GraficaService -> SAIC_CORE
  - LinkService -> SAIC_CORE
 
- ### Llamadas a DocumentService a convertir
+ ### Llamadas a DocumentService a convertir - ✅
     - ln 335 findByCategoriaOrgan(Integer idCategoria, Integer lugar, String tlugar) POST - ✅
     - ln 425 findByCategoriaOrgan(Integer idCategoria, Integer lugar, String tlugar) POST - ✅
     - ln 435 save(Document doc) POST - ✅
@@ -51,40 +51,40 @@
  - OrganService -> SAIC_CORE
  - DocumentService -> SAIC_DOCS
 
- ### Llamadas a InstanciaTascaService a convertir
-    - ln 110 findById(Integer idInstanciaTasca) POST
-    - ln 169 getLastByProcName(String nomProces, Integer lugar, Integer lugarOrgan, String organAmbit) POST
-    - ln 196 findById(Integer idInstanciaTasca) POST
-    - ln 534 findById(Integer idInstanciaTasca) POST
+ ### Llamadas a InstanciaTascaService a convertir - ✅
+    - ln 110 findById(Integer idInstanciaTasca) POST - ✅
+    - ln 169 getLastByProcName(String nomProces, Integer lugar, Integer lugarOrgan, String organAmbit) POST - ✅
+    - ln 196 findById(Integer idInstanciaTasca) POST - ✅
+    - ln 534 findById(Integer idInstanciaTasca) POST - ✅
 
- ### Llamadas a IndicadorEnquestaService a convertir
-    - ln 290 getAllInds(Integer idTitulacio, Integer idCentre, IntegerCurs) POST 
-    - ln 348 getAllInds(Integer idTitulacio, Integer idCentre, IntegerCurs) POST 
+ ### Llamadas a IndicadorEnquestaService a convertir - ✅
+    - ln 290 getAllInds(Integer idTitulacio, Integer idCentre, IntegerCurs) POST - ✅
+    - ln 348 getAllInds(Integer idTitulacio, Integer idCentre, IntegerCurs) POST - ✅
 
- ### Llamadas a TascaService a convertir
-    - ln 378 getByProcesTascap(Integer idProces, Integer idTascap) POST
+ ### Llamadas a TascaService a convertir - ✅
+    - ln 378 getByProcesTascap(Integer idProces, Integer idTascap) POST - ✅
 
- ### Llamadas a IndicadorService a convertir
-    - ln 281 getFromTitulacion(String idTitulacio.toString(), Integer curs) POST
-    - ln 339 getFromTitulacion(String idTitulacio.toString(), Integer curs) POST
+ ### Llamadas a IndicadorService a convertir - ✅
+    - ln 281 getFromTitulacion(String idTitulacio.toString(), Integer curs) POST - ✅
+    - ln 339 getFromTitulacion(String idTitulacio.toString(), Integer curs) POST - ✅
  
- ### Llamadas a ProcesService a convertir
-    - ln 379 findByID(Integer idProces) POST
+ ### Llamadas a ProcesService a convertir - ✅
+    - ln 379 findByID(Integer idProces) POST - ✅
     
  ### Llamadas a PlantillaService a convertir
     - ln 538 toPdf(String instanciaTasca.getText(),Optional<BigInteger> Optional.of(idTascai)) POST
     - ln 554 toPDF(String content, Optional<BigInteger> idtascai) POST
 
- ### Llamadas a OrganService a convertir
-    - ln 167 findById(String tlugar, Integer idTitulacio) POST
-    - ln 247 getTitulacionsByTypeCentre(Integer lugar, Integer ambit) POST
-    - ln 380 findByID(String tlugar, Integer idTitulacio) POST
-    - ln 381 findByID(String tlugar, Integer idTutulacio) POST
-    - ln 420 getTitulacionsByTypeCentre(Integer lugar, Integer ambit) POST
-    - ln 460 findByID(String tlugar, Integer idTitulacio) POST
-    - ln 461 findByID(String tlugar, Integer idTutulacio) POST
-    - ln 503 getTitulacionsByTypeCentre(Integer lugar, Integer ambit) POST
- ### Llamadas a DocumentService a convertir
+ ### Llamadas a OrganService a convertir - ✅
+    - ln 167 findById(String tlugar, Integer idTitulacio) POST - ✅
+    - ln 247 getTitulacionsByTypeCentre(Integer lugar, Integer ambit) POST - ✅
+    - ln 380 findByID(String tlugar, Integer idTitulacio) POST - ✅
+    - ln 381 findByID(String tlugar, Integer idTutulacio) POST - ✅
+    - ln 420 getTitulacionsByTypeCentre(Integer lugar, Integer ambit) POST - ✅
+    - ln 460 findByID(String tlugar, Integer idTitulacio) POST - ✅
+    - ln 461 findByID(String tlugar, Integer idTutulacio) POST - ✅
+    - ln 503 getTitulacionsByTypeCentre(Integer lugar, Integer ambit) POST - ✅
+ ### Llamadas a DocumentService a convertir  - ✅
    -
    -
    -

+ 0 - 1
src/main/java/es/uv/saic/domain/OrganRepository.java

@@ -7,7 +7,6 @@ import org.springframework.data.jpa.repository.Query;
 import org.springframework.stereotype.Repository;
 
 import es.uv.saic.dto.OrganDTO;
-import es.uv.saic.dto.OrganDTOImp;
 
 @Repository
 public interface OrganRepository extends JpaRepository<Organ, OrganPK> {

+ 40 - 0
src/main/java/es/uv/saic/dto/IndicadorEnquestaDTO.java

@@ -0,0 +1,40 @@
+package es.uv.saic.dto;
+
+public class IndicadorEnquestaDTO {
+    private Integer idTitulacio;
+    private Integer idCentre;
+    private Integer curs;
+
+    public IndicadorEnquestaDTO() {
+    }
+
+    public IndicadorEnquestaDTO(Integer idTitulacio, Integer idCentre, Integer curs) {
+        this.idTitulacio = idTitulacio;
+        this.idCentre = idCentre;
+        this.curs = curs;
+    }
+
+    public Integer getIdTitulacio() {
+        return idTitulacio;
+    }
+
+    public Integer getIdCentre() {
+        return idCentre;
+    }
+
+    public Integer getCurs() {
+        return curs;
+    }
+
+    public void setIdTitulacio(Integer idTitulacio) {
+        this.idTitulacio = idTitulacio;
+    }
+
+    public void setIdCentre(Integer idCentre) {
+        this.idCentre = idCentre;
+    }
+
+    public void setCurs(Integer curs) {
+        this.curs = curs;
+    }
+}

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

@@ -1,82 +0,0 @@
-package es.uv.saic.dto;
-
-import java.io.Serializable;
-
-public class InstanciaGanttDTO implements Serializable  {
-	private static final long serialVersionUID = 1L;
-	
-	private Integer id;
-	private String name;
-	private String start;
-	private String end;
-	private Integer progress;
-	private String custom_class;
-	private String dependencies;
-	private String type;
-	
-	public InstanciaGanttDTO() {}
-	
-	public InstanciaGanttDTO(Integer id, String name, String start, String end, Integer progress, String custom_class,
-			String dependencies, String type) {
-		this.id = id;
-		this.name = name;
-		this.start = start;
-		this.end = end;
-		this.progress = progress;
-		this.custom_class = custom_class;
-		this.dependencies = dependencies;
-		this.type = type;
-	}
-	
-	public Integer getId() {
-		return id;
-	}
-	public void setId(Integer id) {
-		this.id = id;
-	}
-	public String getName() {
-		return name;
-	}
-	public void setName(String name) {
-		this.name = name;
-	}
-	public String getStart() {
-		return start;
-	}
-	public void setStart(String start) {
-		this.start = start;
-	}
-	public String getEnd() {
-		return end;
-	}
-	public void setEnd(String end) {
-		this.end = end;
-	}
-	public Integer getProgress() {
-		return progress;
-	}
-	public void setProgress(Integer progress) {
-		this.progress = progress;
-	}
-	public String getCustom_class() {
-		return custom_class;
-	}
-	public void setCustom_class(String custom_class) {
-		this.custom_class = custom_class;
-	}
-	public String getDependencies() {
-		return dependencies;
-	}
-	public void setDependencies(String dependencies) {
-		this.dependencies = dependencies;
-	}
-	public String getType() {
-		return type;
-	}
-	public void setType(String type) {
-		this.type = type;
-	}
-	
-	
-
-}

+ 32 - 0
src/main/java/es/uv/saic/dto/PdfDTO.java

@@ -0,0 +1,32 @@
+package es.uv.saic.dto;
+
+import java.math.BigInteger;
+import java.util.Optional;
+
+public class PdfDTO {
+    private String content;
+    private Optional<BigInteger> idtascai;
+    
+    public PdfDTO() {}
+
+    public PdfDTO(String content, Optional<BigInteger> idtascai) {
+        this.content = content;
+        this.idtascai = idtascai;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public Optional<BigInteger> getIdtascai() {
+        return idtascai;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public void setIdtascai(Optional<BigInteger> idtascai) {
+        this.idtascai = idtascai;
+    }
+}

+ 50 - 0
src/main/java/es/uv/saic/dto/TascaDTO.java

@@ -0,0 +1,50 @@
+package es.uv.saic.dto;
+
+public class TascaDTO {
+    private String nomProces;
+    private Integer lugar;
+    private Integer lugar2;
+    private String tambit;
+
+    public TascaDTO() {
+    }
+
+    public TascaDTO(String nomProces, Integer lugar, Integer lugar2, String tambit) {
+        this.nomProces = nomProces;
+        this.lugar = lugar;
+        this.lugar2 = lugar2;
+        this.tambit = tambit;
+    }
+
+    public String getNomProces() {
+        return nomProces;
+    }
+
+    public Integer getLugar() {
+        return lugar;
+    }
+
+    public Integer getLugar2() {
+        return lugar2;
+    }
+
+    public String getTambit() {
+        return tambit;
+    }
+
+    public void setNomProces(String nomProces) {
+        this.nomProces = nomProces;
+    }
+
+    public void setLugar(Integer lugar) {
+        this.lugar = lugar;
+    }
+
+    public void setLugar2(Integer lugar2) {
+        this.lugar2 = lugar2;
+    }
+
+    public void setTambit(String tambit) {
+        this.tambit = tambit;
+    }
+}

+ 4 - 1
src/main/java/es/uv/saic/web/DashboardController.java

@@ -113,6 +113,9 @@ public class DashboardController {
 
 	@Value("${saic.url.domain}")
 	private String uri;
+
+	@Value("${saic.data.templates.fileNotFound}")
+	private String fileNotFound;
 	
 	// GET para cargar el dashboard con toda su información
 	@GetMapping("/dashboard")
@@ -774,7 +777,7 @@ public class DashboardController {
 			System.err.println("Failed to save Document: " + e.getMessage());
 		}
 		
-		return "";
+		return fileNotFound;
 	
 	}
 }

+ 19 - 19
src/main/java/es/uv/saic/web/DataController.java

@@ -94,7 +94,7 @@ public class DataController {
 	public String delete(Model model, Authentication auth, @RequestParam String enquesta,
 			@RequestParam Integer curs, @RequestParam String ambit, @RequestParam String estudi) throws IOException {  
 		
-		URI uriobjUri = URI.create(uri + "/delete/ByEnquestaCursAmbitEstudi");
+		URI uriobj = URI.create(uri + "/delete/ByEnquestaCursAmbitEstudi");
 		String retval = "";
 
 		try {
@@ -104,7 +104,7 @@ public class DataController {
 
 			HttpClient httpClient = HttpClient.newHttpClient();
 			HttpRequest request = HttpRequest.newBuilder()
-					.uri(uriobjUri)
+					.uri(uriobj)
 					.header("Content-Type", "application/json")
 					.method("DELETE", HttpRequest.BodyPublishers.ofString(requestBody))
 					.build();
@@ -133,7 +133,7 @@ public class DataController {
 	@ResponseBody
 	public List<IndicadorEnquestaTmp> show(Model model, Authentication auth, @RequestParam String enquesta,
 			@RequestParam Integer curs, @RequestParam String ambit, @RequestParam String estudi) throws IOException {    
-		URI uriobjUri = URI.create(uri + "/findByEnquestaCursAmbitEstudi");
+		URI uriobj = URI.create(uri + "/findByEnquestaCursAmbitEstudi");
 		List<IndicadorEnquestaTmp> inds = new ArrayList<IndicadorEnquestaTmp>();
 		ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
 		EnquestaDTO enquestaDTO = new EnquestaDTO(enquesta, curs, ambit, estudi); 
@@ -143,7 +143,7 @@ public class DataController {
 
 			HttpClient httpClient = HttpClient.newHttpClient();
 			HttpRequest request = HttpRequest.newBuilder()
-					.uri(uriobjUri)
+					.uri(uriobj)
 					.header("Content-Type", "application/json")
 					.POST(HttpRequest.BodyPublishers.ofString(requestBody))
 					.build();
@@ -167,12 +167,12 @@ public class DataController {
 	@GetMapping("/data/current")
 	@Secured({"ROLE_ADMIN", "ROLE_TESTER"})
 	public String current(Model model, Authentication auth) throws IOException {
-		URI uriobjUri = URI.create(uri + "/getTitulacionsWithCentre");
+		URI uriobj = URI.create(uri + "/getTitulacionsWithCentre");
 
 		try {
 			HttpClient httpClient = HttpClient.newHttpClient();
 			HttpRequest request = HttpRequest.newBuilder()
-					.uri(uriobjUri)
+					.uri(uriobj)
 					.GET()
 					.build();
 
@@ -225,12 +225,12 @@ public class DataController {
 	public Integer fixIntegrityIssues(Model model, Authentication auth, 
 			@RequestParam String enquesta, @PathVariable String deleteFrom) throws IOException {   
 		
-		URI uriobjUri = null;
+		URI uriobj = null;
 		if(deleteFrom.equals("current")) {
-			uriobjUri = URI.create(uri + "/delete/current" + enquesta);
+			uriobj = URI.create(uri + "/delete/current" + enquesta);
 		}
 		else if(deleteFrom.equals("new")) {
-			uriobjUri = URI.create(uri + "/delete/pending" + enquesta);
+			uriobj = URI.create(uri + "/delete/pending" + enquesta);
 		} else {
 			return 0;
 		}
@@ -238,7 +238,7 @@ public class DataController {
 		try {
 			HttpClient httpClient = HttpClient.newHttpClient();
 			HttpRequest request = HttpRequest.newBuilder()
-					.uri(uriobjUri)
+					.uri(uriobj)
 					.DELETE()
 					.build();
 
@@ -263,12 +263,12 @@ public class DataController {
 	@Secured({"ROLE_ADMIN", "ROLE_TESTER"})
 	@ResponseBody
 	public Integer fixDuplicatesIssues(Model model, Authentication auth, @RequestParam String enquesta) throws IOException {   
-		URI uriobjUri = URI.create(uri + "/delete/duplicates/" + enquesta);
+		URI uriobj = URI.create(uri + "/delete/duplicates/" + enquesta);
 
 		try {
 			HttpClient httpClient = HttpClient.newHttpClient();
 			HttpRequest request = HttpRequest.newBuilder()
-					.uri(uriobjUri)
+					.uri(uriobj)
 					.DELETE()
 					.build();
 
@@ -324,14 +324,14 @@ public class DataController {
 	public List<IndicadorEnquesta> show(Model model, Authentication auth, @PathVariable Integer ruct, 
 			@PathVariable Integer curs) throws IOException { 
 			
-		URI uriobjUri = URI.create(uri + "/getAllIndsByRuct/" + ruct.toString() + "/" + curs);
+		URI uriobj = URI.create(uri + "/getAllIndsByRuct/" + ruct.toString() + "/" + curs);
 		List<IndicadorEnquesta> inds = new ArrayList<IndicadorEnquesta>();
 		ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
 
 		try {
 			HttpClient httpClient = HttpClient.newHttpClient();
 			HttpRequest request = HttpRequest.newBuilder()
-					.uri(uriobjUri)
+					.uri(uriobj)
 					.GET()
 					.build();
 
@@ -360,24 +360,24 @@ public class DataController {
 		
 		List<IndicadorEnquesta> inds = new ArrayList<IndicadorEnquesta>();
 		EnquestaDTO enquestaDTO = new EnquestaDTO(enquesta, curs, ambit, estudi, centre, titulacio);
-		URI uriobjUri = null;
+		URI uriobj = null;
 		ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);;
 
 		if(ambit.equals("U")) {
-			uriobjUri = URI.create(uri + "/findByEnquestaCursAmbitEstudi");
+			uriobj = URI.create(uri + "/findByEnquestaCursAmbitEstudi");
 		}
 		else if(ambit.equals("C")) {
-			uriobjUri = URI.create(uri + "/findByEnquestaCursAmbitEstudiCentre");
+			uriobj = URI.create(uri + "/findByEnquestaCursAmbitEstudiCentre");
 		}
 		if(ambit.equals("T")) {
-			uriobjUri = URI.create(uri + "/findByEnquestaCursAmbitEstudiCentreTitulacio");
+			uriobj = URI.create(uri + "/findByEnquestaCursAmbitEstudiCentreTitulacio");
 		}
 
 		try {
 			String requestBody = mapper.writeValueAsString(enquestaDTO);
 			HttpClient httpClient = HttpClient.newHttpClient();
 			HttpRequest request = HttpRequest.newBuilder()
-					.uri(uriobjUri)
+					.uri(uriobj)
 					.header("Content-Type", "application/json")
 					.POST(HttpRequest.BodyPublishers.ofString(requestBody))
 					.build();

+ 21 - 2
src/main/java/es/uv/saic/web/DocumentController.java

@@ -12,6 +12,9 @@ import es.uv.saic.dto.CategoriaDTO;
 import es.uv.saic.dto.DocumentTmpDTO;
 import es.uv.saic.domain.Document;
 import es.uv.saic.service.DocumentService;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
 
 @RestController
 public class DocumentController {
@@ -38,8 +41,8 @@ public class DocumentController {
     @PostMapping("/findByCategoriaOrgan")
     public ResponseEntity<?> findByCategoriaOrgan(@RequestBody CategoriaDTO categoria) {
         try {
-            Document auxDocument = ds.findByCategoriaOrgan(categoria.getCategoria(), categoria.getLugar(), categoria.getTlugar());
-            return (auxDocument != null) ? ResponseEntity.ok(auxDocument) : 
+            Document document = ds.findByCategoriaOrgan(categoria.getCategoria(), categoria.getLugar(), categoria.getTlugar());
+            return (document != null) ? ResponseEntity.ok(document) : 
                 ResponseEntity.badRequest().body("El documento no se a podido encontrar.") ;
         } catch (Exception e) {
             e.printStackTrace();
@@ -48,6 +51,22 @@ public class DocumentController {
     }
 
     /*
+     * endpoint para findByID
+     */
+    @GetMapping("/document/{idDocument}")
+    public ResponseEntity<?> findByID(@RequestParam Integer idDocument) {
+        try {
+            Document document = ds.findById(idDocument);
+            return (document != null) ? ResponseEntity.ok(document) : 
+                ResponseEntity.badRequest().body("El documento no se a podido encontrar.") ;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResponseEntity.badRequest().body("No se encontro el documento: " + e.getMessage());
+        }
+    }
+    
+
+    /*
      * endpoint para upload
      */
     @PostMapping("/document/upload")

+ 330 - 57
src/main/java/es/uv/saic/web/DownloadController.java

@@ -6,6 +6,11 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.math.BigInteger;
+import java.net.HttpURLConnection;
+import java.net.URI;
+import java.net.http.HttpClient;
+import java.net.http.HttpRequest;
+import java.net.http.HttpResponse;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -27,22 +32,23 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
 import es.uv.saic.domain.Document;
 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.CategoriaDTO;
+import es.uv.saic.dto.IndicadorEnquestaDTO;
 import es.uv.saic.dto.IndicadorEnquestaValorDTO;
+import es.uv.saic.dto.PdfDTO;
+import es.uv.saic.dto.TascaDTO;
 import es.uv.saic.dto.TascaInformeTransferDTO;
-import es.uv.saic.service.DocumentService;
-import es.uv.saic.service.IndicadorEnquestaService;
-import es.uv.saic.service.IndicadorService;
-import es.uv.saic.service.InstanciaTascaService;
-import es.uv.saic.service.OrganService;
 import es.uv.saic.service.PlantillaService;
-import es.uv.saic.service.ProcesService;
-import es.uv.saic.service.TascaService;
 import fr.opensagres.xdocreport.core.XDocReportException;
 import fr.opensagres.xdocreport.core.io.internal.ByteArrayOutputStream;
 import fr.opensagres.xdocreport.document.IXDocReport;
@@ -56,31 +62,10 @@ import fr.opensagres.xdocreport.template.formatter.FieldsMetadata;
 
 @Controller
 public class DownloadController {
-	
-	@Autowired
-	private InstanciaTascaService its;
-	
-	@Autowired
-	private IndicadorEnquestaService ies;
-	
-	@Autowired 
-	private TascaService ts;
-	
-	@Autowired 
-	private IndicadorService is;
-	
-	@Autowired 
-	private ProcesService ps;
-	
+
 	@Autowired 
 	private PlantillaService pls;
 	
-	@Autowired 
-	private OrganService os;
-	
-	@Autowired
-	private DocumentService ds;
-	
 	@Value("${saic.data.filePath}")
 	private String filePath;
 	
@@ -95,7 +80,9 @@ public class DownloadController {
 	
 	@Value("${saic.data.templates.logoPath}")
 	private String logoPath;
-	
+
+	@Value("${saic.url.domain}")
+	private String uri;
 
 	/*
 	 * Download a file associated with a task instance
@@ -107,7 +94,7 @@ public class DownloadController {
 	@GetMapping(value="/download/{fileName}", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
 	@ResponseBody
 	public FileSystemResource download(Model model, @PathVariable("fileName") BigInteger idInstanciaTasca, HttpServletResponse response) throws FileNotFoundException {		
-		InstanciaTasca i = its.findById(idInstanciaTasca);
+		InstanciaTasca i = findByIdTasca(idInstanciaTasca);
 		FileSystemResource r = null;
 		if(i.getTasca().getTipus().getTipus() == 22){
 			r = new FileSystemResource(i.getEvidencia());
@@ -128,7 +115,7 @@ public class DownloadController {
 		
 		return r;
 	}
-	
+
 	/*
 	 * Download a document by its ID
 	 * @param model
@@ -139,7 +126,7 @@ public class DownloadController {
 	@GetMapping(value="/download/document/{id}", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
 	@ResponseBody
 	public FileSystemResource downloadDocument(Model model, @PathVariable("id") Integer idDocument, HttpServletResponse response) throws FileNotFoundException {		
-		Document document = ds.findById(idDocument);
+		Document document = findByIdDocument(idDocument);
 		FileSystemResource file = new FileSystemResource(document.getRuta());
 		if(!file.exists()) {
 			FileNotFoundException e = new FileNotFoundException("No se ha podido encontrar el archivo solicitado");
@@ -150,7 +137,7 @@ public class DownloadController {
 		response.setHeader("Content-Disposition", "attachment; filename="+file.getFilename());
 		return file;
 	}
-	
+
 	/*
 	 * Download the latest report for a given process and degree
 	 * @param model
@@ -164,9 +151,9 @@ public class DownloadController {
 	public FileSystemResource downloadReport(Model model, @PathVariable("t") Integer idTitulacio, @PathVariable("p") String nomProces,
 			HttpServletResponse response) throws IOException, XDocReportException {
 		
-		Organ titulacio = os.findByID("T", idTitulacio);
+		Organ titulacio = findByIDOrgan("T", idTitulacio);
 		
-		TascaInformeTransferDTO it = its.getLastByProcName(nomProces, titulacio.getId().getLugar(), 
+		TascaInformeTransferDTO it = getLastByProcName(nomProces, titulacio.getId().getLugar(), 
 														titulacio.getOrgan().getId().getLugar(), 
 														titulacio.getOrgan().getTambit());
 		
@@ -178,9 +165,9 @@ public class DownloadController {
 		}
 		
 		return new FileSystemResource(this.fileNotFound);
-		
 	}
-	
+
+
 	/*
 	 * Download a populated template for a given task instance
 	 * @param model
@@ -193,7 +180,7 @@ public class DownloadController {
 	public byte[] downloadTemplate(Model model, @PathVariable("id") BigInteger idTascai, HttpServletResponse response) throws IOException, XDocReportException {
 		XDocReportRegistry.getRegistry().clear();
 		String reportId = "none";
-		InstanciaTasca it = its.findById(idTascai);
+		InstanciaTasca it = findByIdTasca(idTascai);
 		Tasca tasca = it.getTasca();
 		 
 		/* Check if specific template exists */
@@ -244,7 +231,7 @@ public class DownloadController {
 		if(tasca.getTipus().getTipus() == 14) { // Iterable template task
 			List<Organ> titulacions = new ArrayList<Organ>();
 			Integer ambit = idTitulacio/(int)1000;
-			titulacions = os.getTitulacionsByTypeCentre(it.getInstancia().getOrgan().getOrgan().getId().getLugar(), ambit);
+			titulacions = getTitulacionsByTypeCentre(it.getInstancia().getOrgan().getOrgan().getId().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, proces.getCursAvaluat());
@@ -265,7 +252,7 @@ public class DownloadController {
 		return out.toByteArray();
 		
 	}
-	
+
 	/*
 	 * Populate the template data into the context
 	 * @param idTitulacio The ID of the degree
@@ -278,7 +265,7 @@ public class DownloadController {
 		/*  Indicadores del data warehouse */
 		try {
 			List<Indicador> indicadores;
-			indicadores = this.is.getFromTitulacion(idTitulacio, curs);
+			indicadores = getFromTitulacion(idTitulacio, curs);
 			for(Indicador i : indicadores) { 
 				context.put(i.getIndicador(), i.getValor());
 			}
@@ -287,7 +274,7 @@ public class DownloadController {
 		
 		/*  Indicadores de encuestas  */
 		List<IndicadorEnquestaValorDTO> enquestesT;
-		enquestesT = this.ies.getAllInds(idTitulacio, idCentre, curs);
+		enquestesT = getAllInds(idTitulacio, idCentre, curs);
 				
 		for(IndicadorEnquestaValorDTO i : enquestesT) {
 			String indicador = i.getAmbit().equals("t") ? (i.getEnquesta()+"_"+i.getIndicador()) : (i.getEnquesta()+"_"+i.getIndicador()+"_"+i.getAmbit());
@@ -296,7 +283,7 @@ public class DownloadController {
 			context.put(indicador, formatValue(i.getValor()));
 		}
 	}
-	
+
 	/*
 	 * Format a value for template insertion
 	 * @param v The value to format
@@ -336,7 +323,7 @@ public class DownloadController {
 		/*  Indicadores del data warehouse */
 		try {
 			List<Indicador> indicadores;
-			indicadores = this.is.getFromTitulacion(idTitulacio, curs);
+			indicadores = getFromTitulacion(idTitulacio, curs);
 			for(Indicador i : indicadores) { 
 				info.put(i.getIndicador(), i.getValor());
 			}
@@ -345,7 +332,7 @@ public class DownloadController {
 		
 		/*  Indicadores de encuestas  */
 		List<IndicadorEnquestaValorDTO> enquestesT;	
-		enquestesT = this.ies.getAllInds(idTitulacio, idCentre, curs);
+		enquestesT = getAllInds(idTitulacio, idCentre, curs);
 				
 		for(IndicadorEnquestaValorDTO i : enquestesT) {
 			String indicador = i.getAmbit().equals("t") ? (i.getEnquesta()+"_"+i.getIndicador()) : (i.getEnquesta()+"_"+i.getIndicador()+"_"+i.getAmbit());
@@ -375,10 +362,10 @@ public class DownloadController {
 		XDocReportRegistry.getRegistry().clear();
 		String reportId = "none";
 		
-		Tasca tasca = this.ts.getByProcesTascap(idProces, idTascap);
-		Proces proces= this.ps.findByID(idProces);
-		Organ titulacio = this.os.findByID("T", idTitulacio);
-		Organ centre = this.os.findByID("C", idCentre);
+		Tasca tasca = getByProcesTascap(idProces, idTascap);
+		Proces proces = findByIDProces(idProces);
+		Organ titulacio = findByIDOrgan("T", idTitulacio);
+		Organ centre = findByIDOrgan("C", idCentre);
 		Integer ambit = idTitulacio/(int)1000;
 		
 		/* Check if specific template exists */
@@ -417,7 +404,7 @@ public class DownloadController {
 		
 		if(tasca.getTipus().getTipus() == 14) { // Iterable template task
 			List<Organ> titulacions = new ArrayList<Organ>();
-			titulacions = os.getTitulacionsByTypeCentre(centre.getId().getLugar(), ambit);
+			titulacions = getTitulacionsByTypeCentre(centre.getId().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, proces.getCursAvaluat());
@@ -438,7 +425,7 @@ public class DownloadController {
 		return out.toByteArray();
 		
 	}
-	
+
 	/*
 	 * Test endpoint to generate a populated template for a given degree and evidence (Type of task)
 	 * @param model
@@ -458,8 +445,8 @@ public class DownloadController {
 		XDocReportRegistry.getRegistry().clear();
 		String reportId = "none";
 		
-		Organ titulacio = this.os.findByID("T", idTitulacio);
-		Organ centre = this.os.findByID("C", idCentre);
+		Organ titulacio = findByIDOrgan("T", idTitulacio);
+		Organ centre = findByIDOrgan("C", idCentre);
 		Integer ambit = idTitulacio/(int)1000;
 		
 		/* Check if specific template exists */
@@ -500,7 +487,7 @@ public class DownloadController {
 		
 		if(tipusTasca == 14) { // Iterable template task
 			List<Organ> titulacions = new ArrayList<Organ>();
-			titulacions = os.getTitulacionsByTypeCentre(centre.getId().getLugar(), ambit);
+			titulacions = getTitulacionsByTypeCentre(centre.getId().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, curs);
@@ -532,7 +519,7 @@ public class DownloadController {
 	@GetMapping(value="/pdf/download/{idTascai}")
 	@ResponseBody
 	public byte[] downloadTemplatePdf(Model model, @PathVariable("idTascai") BigInteger idTascai, HttpServletResponse response) throws IOException, InterruptedException {
-		InstanciaTasca it = its.findById(idTascai);
+		InstanciaTasca it = findByIdTasca(idTascai);
 		response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\""+it.getIdInstanciaTasca()+".pdf\"");
 		response.setHeader(HttpHeaders.CONTENT_TYPE, "application/pdf");
 		return pls.toPDF(it.getText(), Optional.of(idTascai));
@@ -551,7 +538,293 @@ public class DownloadController {
 			@RequestParam("content") String content, @RequestParam("idtascai") Optional<BigInteger> idtascai) throws IOException, InterruptedException {
 		response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"borrador.pdf\"");
 		response.setHeader(HttpHeaders.CONTENT_TYPE, "application/pdf");	
-		return pls.toPDF(content, idtascai);
+		return toPDF(content, idtascai);
+	}
+
+	private TascaInformeTransferDTO getLastByProcName(String nomProces, Integer lugar, Integer lugar2, String tambit) {
+		URI uriObj = URI.create(uri + "/getLastByProcName");
+		ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+		TascaInformeTransferDTO tascaInformeTransferDTO = null;
+		
+		try {
+			TascaDTO TascaDTO = new TascaDTO(nomProces, lugar, lugar2, tambit);
+			String requestBody = mapper.writeValueAsString(TascaDTO);
+			HttpClient httpClient = HttpClient.newHttpClient();
+			HttpRequest request = HttpRequest.newBuilder()
+					.uri(uriObj)
+					.header("Content-Type", "application/json")
+					.POST(HttpRequest.BodyPublishers.ofString(requestBody))
+					.build();
+
+			HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
+
+			if (response.statusCode() == HttpURLConnection.HTTP_OK) {
+				tascaInformeTransferDTO = mapper.readValue(response.body(), new TypeReference<TascaInformeTransferDTO>() {});
+
+			} else {
+				System.err.println("Failed to find enquesta by Curs, Ambit, Estudi. HTTP error code: " + response.statusCode());
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return tascaInformeTransferDTO;
+	}
+
+	private InstanciaTasca findByIdTasca(BigInteger idInstanciaTasca) {
+		URI uriObj = URI.create(uri + "/instanciatasca/" + idInstanciaTasca);
+		ObjectMapper mapper = new ObjectMapper();
+		InstanciaTasca instanciaTasca = null;
+		try {
+			HttpClient httpClient = HttpClient.newHttpClient();
+			HttpRequest request = HttpRequest.newBuilder()
+					.uri(uriObj)
+					.GET()
+					.build();
+
+			HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
+
+			if (response.statusCode() == HttpURLConnection.HTTP_OK) {
+				instanciaTasca = mapper.readValue(response.body(), new TypeReference<InstanciaTasca>() {});
+			} else {
+				System.err.println("Failed to find InstanciaTasca by ID. HTTP error code: " + response.statusCode());
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return instanciaTasca;
+	}
+
+	private List<IndicadorEnquestaValorDTO> getAllInds(Integer idTitulacio, Integer idCentre, Integer curs) {
+		URI uriObj = URI.create(uri + "/allInds2");
+		ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+		List<IndicadorEnquestaValorDTO> list = null;
+
+		try {
+			IndicadorEnquestaDTO IndicadorEnquestaDTO = new IndicadorEnquestaDTO(idTitulacio, idCentre, curs);
+			String requestBody = mapper.writeValueAsString(IndicadorEnquestaDTO);
+			HttpClient httpClient = HttpClient.newHttpClient();
+			HttpRequest request = HttpRequest.newBuilder()
+					.uri(uriObj)
+					.header("Content-Type", "application/json")
+					.POST(HttpRequest.BodyPublishers.ofString(requestBody))
+					.build();
+
+			HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
+
+			if (response.statusCode() == HttpURLConnection.HTTP_OK) {
+				list = mapper.readValue(response.body(), new TypeReference<List<IndicadorEnquestaValorDTO>>() {});
+
+			} else {
+				System.err.println("Failed to get all IndicadorsEnquestaValorDTO. HTTP error code: " + response.statusCode());
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return list;
+	}
+
+	private Tasca getByProcesTascap(Integer idProces, Integer idTascap) {
+		URI uriObj = URI.create(uri + "/getByProcesTascap/" + idProces + "/" + idTascap);
+		ObjectMapper mapper = new ObjectMapper();
+		Tasca tasca = null;
+
+		try {
+
+			HttpClient httpClient = HttpClient.newHttpClient();
+			HttpRequest request = HttpRequest.newBuilder()
+					.uri(uriObj)
+					.GET()
+					.build();
+
+			HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
+
+			if (response.statusCode() == HttpURLConnection.HTTP_OK) {
+				tasca = mapper.readValue(response.body(), new TypeReference<Tasca>() {});
+
+			} else {
+				System.err.println("Failed to get Tasca. HTTP error code: " + response.statusCode());
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return tasca;
 	}
+
+	private List<Indicador> getFromTitulacion(Integer idTitulacio, Integer curs) {
+		URI uriObj = URI.create(uri + "/getFromTitulacio/" + idTitulacio + "/" + curs);
+		ObjectMapper mapper = new ObjectMapper();
+		List<Indicador> inds = new ArrayList<>();
+
+		try {
+
+			HttpClient httpClient = HttpClient.newHttpClient();
+			HttpRequest request = HttpRequest.newBuilder()
+					.uri(uriObj)
+					.GET()
+					.build();
+
+			HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
+
+			if (response.statusCode() == HttpURLConnection.HTTP_OK) {
+				inds = mapper.readValue(response.body(), new TypeReference<List<Indicador>>() {});
+
+			} else {
+				System.err.println("Failed to getFromTitulacion. HTTP error code: " + response.statusCode());
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return inds;
+	}
+
+	private Proces findByIDProces(Integer idProces) {
+		URI uriObj = URI.create(uri + "/proces/" + idProces);
+		ObjectMapper mapper = new ObjectMapper();
+		Proces proces = null;
+
+		try {
+
+			HttpClient httpClient = HttpClient.newHttpClient();
+			HttpRequest request = HttpRequest.newBuilder()
+					.uri(uriObj)
+					.GET()
+					.build();
+
+			HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
+
+			if (response.statusCode() == HttpURLConnection.HTTP_OK) {
+				proces = mapper.readValue(response.body(), new TypeReference<Proces>() {});
+
+			} else {
+				System.err.println("Failed to find proces byID. HTTP error code: " + response.statusCode());
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return proces;
+	}
+
+	
+	private Organ findByIDOrgan(String tlugar, Integer idTitulacio) {
+		URI uriObj = URI.create(uri + "/proces/" + tlugar + "/" + idTitulacio);
+		ObjectMapper mapper = new ObjectMapper();
+		Organ organ = null;
+
+		try {
+
+			HttpClient httpClient = HttpClient.newHttpClient();
+			HttpRequest request = HttpRequest.newBuilder()
+					.uri(uriObj)
+					.GET()
+					.build();
+
+			HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
+
+			if (response.statusCode() == HttpURLConnection.HTTP_OK) {
+				organ = mapper.readValue(response.body(), new TypeReference<Organ>() {});
+
+			} else {
+				System.err.println("Failed to find proces byID. HTTP error code: " + response.statusCode());
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return organ;
+	}
+
+	private List<Organ> getTitulacionsByTypeCentre(Integer lugar, Integer ambit) {
+		URI uriObj = URI.create(uri + "/getTitulacionsByTypeCentre/" + lugar + "/" + ambit);
+		ObjectMapper mapper = new ObjectMapper();
+		List<Organ> organs = new ArrayList<>();
+
+		try {
+
+			HttpClient httpClient = HttpClient.newHttpClient();
+			HttpRequest request = HttpRequest.newBuilder()
+					.uri(uriObj)
+					.GET()
+					.build();
+
+			HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
+
+			if (response.statusCode() == HttpURLConnection.HTTP_OK) {
+				organs = mapper.readValue(response.body(), new TypeReference<List<Organ>>() {});
+
+			} else {
+				System.err.println("Failed to find proces byID. HTTP error code: " + response.statusCode());
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return organs;
+	}
+
+	
 	
+	private Document findByIdDocument(Integer idDocument) {
+		URI uriObj = URI.create(uri + "/document/" + idDocument);
+		ObjectMapper mapper = new ObjectMapper();
+		Document document = null;
+
+		try {
+
+			HttpClient httpClient = HttpClient.newHttpClient();
+			HttpRequest request = HttpRequest.newBuilder()
+					.uri(uriObj)
+					.GET()
+					.build();
+
+			HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
+
+			if (response.statusCode() == HttpURLConnection.HTTP_OK) {
+				document = mapper.readValue(response.body(), new TypeReference<Document>() {});
+
+			} else {
+				System.err.println("Failed to find proces byID. HTTP error code: " + response.statusCode());
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return document;
+	}
+
+	private byte[] toPDF(String content, Optional<BigInteger> idtascai) {
+		URI uriObj = URI.create(uri + "/toPDF/");
+		ObjectMapper mapper = new ObjectMapper();
+		byte[] pdf = null;
+
+		try {
+			PdfDTO pdfDTO = new PdfDTO(content, idtascai);
+			String requestBody = mapper.writeValueAsString(pdfDTO);
+
+			HttpClient httpClient = HttpClient.newHttpClient();
+			HttpRequest request = HttpRequest.newBuilder()
+					.uri(uriObj)
+					.header("Content-Type", "application/json")
+					.POST(HttpRequest.BodyPublishers.ofString(requestBody))
+					.build();
+
+			HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
+
+			if (response.statusCode() == HttpURLConnection.HTTP_OK) {
+				pdf = mapper.readValue(response.body(), new TypeReference<byte[]>() {});
+
+			} else {
+				System.err.println("Failed to find proces byID. HTTP error code: " + response.statusCode());
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return pdf;
+	}
 }

+ 13 - 30
src/main/java/es/uv/saic/web/IndicadorController.java

@@ -5,20 +5,21 @@ import java.util.List;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.json.JsonMapper;
 
 import es.uv.saic.domain.Organ;
 import es.uv.saic.service.IndicadorService;
 import es.uv.saic.domain.Indicador;
 import es.uv.saic.domain.IndicadorEnquesta;
 import es.uv.saic.dto.EnquestaDTO;
+import es.uv.saic.dto.IndicadorEnquestaDTO;
 import es.uv.saic.dto.IndicadorEnquestaValorDTO;
 import es.uv.saic.service.IndicadorEnquestaService;
 import es.uv.saic.service.IndicadorEnquestaTmpService;
@@ -45,8 +46,8 @@ public class IndicadorController {
 
         Integer i = 0;
         try {
-            //i = iets.deleteByEnquestaCursAmbitEstudi(enquestaDTO.getEnquesta(), enquestaDTO.getCurs(),
-            //     enquestaDTO.getAmbit(), enquestaDTO.getEstudi());
+            i = iets.deleteByEnquestaCursAmbitEstudi(enquestaDTO.getEnquesta(), enquestaDTO.getCurs(),
+                enquestaDTO.getAmbit(), enquestaDTO.getEstudi());
 
         } catch(Exception e) {
             e.printStackTrace();
@@ -119,19 +120,14 @@ public class IndicadorController {
     /*
      * Endpoint1 para la funcion getAllInds de ies
      */
-    @PostMapping("/allInds1")
-    public ResponseEntity<?> getAllInds(@RequestBody String json) {
+    @GetMapping("/allInds/{ruct}/{curs}")
+    public ResponseEntity<?> getAllInds(@RequestParam Integer ruct, @RequestParam Integer curs) {
         try {
-            JsonNode jsonNode = JsonMapper.builder().build().readTree(json);
             
-            Organ organ = os.findByRuct(jsonNode.get("ruct").asInt());
-            Integer curs = jsonNode.get("curs").asInt();
+            Organ organ = os.findByRuct(ruct);
             List<IndicadorEnquesta> list = ies.getAllInds(organ, curs);
 
             return ResponseEntity.ok(list);
-        } catch (JsonMappingException e) {
-            e.printStackTrace();
-            return ResponseEntity.badRequest().body("Error al mapear el JSON: " + e.getMessage());
         } catch (Exception e) {
             e.printStackTrace();
             return ResponseEntity.badRequest().body("Error al obtener los indicadores1: " + e.getMessage());
@@ -142,20 +138,12 @@ public class IndicadorController {
      * Endpoint2 para la funcion getAllInds de ies
      */
     @PostMapping("/allInds2")
-    public ResponseEntity<?> getAllInds2(@RequestBody String json) {
+    public ResponseEntity<?> getAllInds2(@RequestBody IndicadorEnquestaDTO indicadorEnquestaDTO) {
         try {
-            JsonNode jsonNode = JsonMapper.builder().build().readTree(json);
-            
-            Integer idTitulacio = jsonNode.get("idTitulacio").asInt();
-            Integer idCentre = jsonNode.get("idCentre").asInt();
-            Integer curs = jsonNode.get("curs").asInt();
-
-            List<IndicadorEnquestaValorDTO> list = ies.getAllInds(idTitulacio, idCentre, curs);
+            List<IndicadorEnquestaValorDTO> list = ies.getAllInds(indicadorEnquestaDTO.getIdTitulacio(),
+                indicadorEnquestaDTO.getIdCentre(), indicadorEnquestaDTO.getCurs());
 
             return ResponseEntity.ok(list);
-        } catch (JsonMappingException e) {
-            e.printStackTrace();
-            return ResponseEntity.badRequest().body("Error al mapear el JSON: " + e.getMessage());
         } catch (Exception e) {
             e.printStackTrace();
             return ResponseEntity.badRequest().body("Error al obtener los indicadores2: " + e.getMessage());
@@ -212,14 +200,9 @@ public class IndicadorController {
     /*
      * Endpoint para la funcion getFromTitulacion de ies
      */
-    @PostMapping("/getFromTitulacio")
-    public ResponseEntity<?> getFromTitulacion(@RequestBody String json) {
+    @GetMapping("/getFromTitulacio/{idTitulacio}/{curs}")
+    public ResponseEntity<?> getFromTitulacion(@RequestParam Integer idTitulacio, @RequestParam Integer curs) {
         try {
-            JsonNode jsonNode = JsonMapper.builder().build().readTree(json);
-            //Obtener los parametros
-            Integer idTitulacio = jsonNode.get("idTitulacio").asInt();
-            Integer curs = jsonNode.get("curs").asInt();
-
             List<Indicador> list = is.getFromTitulacion(idTitulacio, curs);
 
             return ResponseEntity.ok(list);

+ 7 - 26
src/main/java/es/uv/saic/web/OrganController.java

@@ -1,24 +1,17 @@
 package es.uv.saic.web;
 
 import java.util.List;
-import java.util.stream.Collectors;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.json.JsonMapper;
-
 import es.uv.saic.domain.IndicadorEnquesta;
 import es.uv.saic.domain.Organ;
 import es.uv.saic.dto.OrganDTO;
-import es.uv.saic.dto.OrganDTOImp;
 import es.uv.saic.service.IndicadorEnquestaService;
 import es.uv.saic.service.OrganService;
 
@@ -64,18 +57,12 @@ public class OrganController {
     /*
      * Endpoint para findById
      */
-    @PostMapping("/findById")
-    public ResponseEntity<?> findById(@RequestBody String json) {
+    @GetMapping("/findById/{tlugar}/{idTitulacio}")
+    public ResponseEntity<?> findById(@RequestParam String tlugar,  @RequestParam Integer idTitulacio) {
         try {
-            JsonNode jsonNode = JsonMapper.builder().build().readTree(json); 
-        
-            Organ organ = os.findByID(jsonNode.get("tlugar").asText(),
-                (jsonNode.get("idTitulacio").asInt()));
+            Organ organ = os.findByID(tlugar, idTitulacio);
 
             return ResponseEntity.ok(organ);
-        } catch(JsonMappingException e) {
-            return ResponseEntity.badRequest().body("Error al obtener los datos" +
-                " del json:" + e.getMessage());
         } catch(Exception e) {
             return ResponseEntity.badRequest().body("Error al obtener el organo" +
                 " por tlugar y titulación: " + e.getMessage());
@@ -85,18 +72,12 @@ public class OrganController {
     /*
      * Endpoint para getTitulacionsByTypeCentre
      */
-    @PostMapping("/getTitulacionsByTypeCentre")
-    public ResponseEntity<?> getTitulacionsByTypeCentre(@RequestBody String json) {
+    @GetMapping("/getTitulacionsByTypeCentre/{lugar}/{ambit}")
+    public ResponseEntity<?> getTitulacionsByTypeCentre(@RequestParam Integer lugar, @RequestParam Integer ambit) {
         try {
-            JsonNode jsonNode = JsonMapper.builder().build().readTree(json); 
-        
-            List<Organ> organList = os.getTitulacionsByTypeCentre(jsonNode.get("lugar").asInt(),
-                (jsonNode.get("ambit").asInt()));
+            List<Organ> organList = os.getTitulacionsByTypeCentre(lugar, ambit);
 
             return ResponseEntity.ok(organList);
-        } catch(JsonMappingException e) {
-            return ResponseEntity.badRequest().body("Error al obtener los datos" +
-                " del json:" + e.getMessage());
         } catch(Exception e) {
             return ResponseEntity.badRequest().body("Error al obtener los organos" +
                 " por lugar y ambit: " + e.getMessage());

+ 30 - 0
src/main/java/es/uv/saic/web/PlantillaController.java

@@ -0,0 +1,30 @@
+package es.uv.saic.web;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.RestController;
+
+import es.uv.saic.dto.PdfDTO;
+import es.uv.saic.service.PlantillaService;
+
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+
+@RestController
+public class PlantillaController {
+    @Autowired
+    private PlantillaService ps;
+
+    @PostMapping("/toPDF")
+    public ResponseEntity<?> toPDF(@RequestBody PdfDTO pdfDTO) {
+        try {
+            byte[] pdf = ps.toPDF(pdfDTO.getContent(), pdfDTO.getIdtascai());  
+            return (pdf != null && pdf.length != 0) ? ResponseEntity.ok(pdf) : ResponseEntity.badRequest().body("El pdf esta vacio o es null");
+        } catch (Exception e) {
+             e.printStackTrace();
+            return ResponseEntity.badRequest().body("Error al pdf:" +  e.getMessage());
+        }
+    }
+    
+}

+ 11 - 21
src/main/java/es/uv/saic/web/TascaController.java

@@ -2,24 +2,20 @@ package es.uv.saic.web;
 
 import java.math.BigInteger;
 
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.json.JsonMapper;
-
 import es.uv.saic.domain.InstanciaTasca;
 import es.uv.saic.domain.Tasca;
-import es.uv.saic.dto.InstanciaDTO;
+import es.uv.saic.dto.TascaDTO;
 import es.uv.saic.dto.TascaInformeTransferDTO;
 import es.uv.saic.service.InstanciaTascaService;
 import es.uv.saic.service.TascaService;
 
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
 
 
 @RestController
@@ -44,10 +40,10 @@ public class TascaController {
     }
 
     @PostMapping("/getLastByProcName")
-    public ResponseEntity<?> getLastByProcName(@RequestBody InstanciaDTO instanciaDTO) {
+    public ResponseEntity<?> getLastByProcName(@RequestBody TascaDTO tascaDTO) {
         try {
-            TascaInformeTransferDTO tit = its.getLastByProcName(instanciaDTO.getNomProces(),
-                instanciaDTO.getLugar(), instanciaDTO.getCentre(), instanciaDTO.getAmbit());
+            TascaInformeTransferDTO tit = its.getLastByProcName(tascaDTO.getNomProces(),
+                tascaDTO.getLugar(), tascaDTO.getLugar2(), tascaDTO.getTambit());
 
             return ResponseEntity.ok(tit);
         } catch (Exception e) {
@@ -56,18 +52,12 @@ public class TascaController {
         }
     }
     
-    @PostMapping("/getByProcesTascap")
-    public ResponseEntity<?> getByProcesTascap(@RequestBody String json) {
+    @PostMapping("/getByProcesTascap/{idProces}/{idTascap}")
+    public ResponseEntity<?> getByProcesTascap(@RequestParam Integer idProces, @RequestParam Integer idTascap) {
         try {
-            JsonNode jsonNode = JsonMapper.builder().build().readTree(json);
-
-            Tasca tasca = ts.getByProcesTascap(jsonNode.get("idProces").asInt(),
-                jsonNode.get("idTascap").asInt());
+            Tasca tasca = ts.getByProcesTascap(idProces, idTascap);
 
             return ResponseEntity.ok(tasca);
-        } catch (JsonMappingException e) {
-            e.printStackTrace();
-            return ResponseEntity.badRequest().body("Error al mapear el JSON: " + e.getMessage());
         } catch (Exception e) {
             e.printStackTrace();
             return ResponseEntity.badRequest().body("Error al obtener la tasca: " + e.getMessage());