Procházet zdrojové kódy

Todos los controladores completados + DTOs nuevos creados

Mario Martínez Hernández před 1 měsícem
rodič
revize
aa9d3118a0

+ 27 - 0
src/main/java/es/uv/saic/dto/CategoriaDTO.java

@@ -0,0 +1,27 @@
+package es.uv.saic.dto;
+
+public class CategoriaDTO {
+    Integer categoria;
+    Integer lugar;
+    String tlugar;
+ 
+    CategoriaDTO() {}
+
+    CategoriaDTO(Integer categoria, Integer lugar, String tlugar) {
+        this.categoria = categoria;
+        this.lugar = lugar;
+        this.tlugar = tlugar;
+    }
+    
+    public Integer getCategoria() {
+        return this.categoria;
+    }
+
+    public Integer getLugar() {
+        return this.lugar;
+    }
+
+    public String getTlugar() {
+        return this.tlugar;
+    }
+}

+ 42 - 0
src/main/java/es/uv/saic/dto/DocumentTmpDTO.java

@@ -0,0 +1,42 @@
+package es.uv.saic.dto;
+
+import org.springframework.web.multipart.MultipartFile;
+
+public class DocumentTmpDTO {
+    Integer idDocument;
+    Integer idCategoria;
+    Integer lugar;
+    String tlugar;
+    MultipartFile file;
+
+    DocumentTmpDTO() {}
+
+    DocumentTmpDTO(Integer idDocument, Integer idCategoria, Integer lugar,
+        String tlugar, MultipartFile file) {
+        this.idDocument = idDocument;
+        this.idCategoria = idCategoria;
+        this.lugar = lugar;
+        this.tlugar = tlugar;
+        this.file = file;
+    }
+
+    public Integer getIdDocument() {
+        return this.idDocument;
+    }
+
+    public Integer getIdCategoria() {
+        return this.idCategoria;
+    }
+
+    public Integer getLugar() {
+        return this.lugar;
+    }
+
+    public String getTlugar() {
+        return this.tlugar;
+    }
+
+    public MultipartFile getFile () {
+        return this.file;
+    }
+}

+ 46 - 0
src/main/java/es/uv/saic/dto/EnquestaDTO.java

@@ -0,0 +1,46 @@
+package es.uv.saic.dto;
+
+public class EnquestaDTO {
+    String enquesta;
+    Integer curs;
+    String ambit;
+    String estudi;
+    Integer centre;
+    Integer titulacio;
+
+    EnquestaDTO() {};
+    
+    EnquestaDTO(String enquesta, Integer curs, String ambit, String estudi,
+        Integer centre, Integer titulacio) {
+            this.enquesta = enquesta;
+            this.curs = curs;
+            this.ambit = ambit;
+            this.estudi = estudi;
+            this.centre = centre;
+            this.titulacio = titulacio;
+    }
+
+    public String getEnquesta() {
+        return this.enquesta;
+    }
+
+    public Integer getCurs() {
+        return this.curs;
+    }
+
+    public String getAmbit() {
+        return this.ambit;
+    }
+
+    public String getEstudi() {
+        return this.estudi;
+    }
+
+    public Integer getCentre() {
+        return this.centre;
+    }
+
+    public Integer getTitulacio() {
+        return this.titulacio;
+    }
+}

+ 6 - 6
src/main/java/es/uv/saic/dto/IndicadorDTO.java

@@ -1,9 +1,9 @@
 package es.uv.saic.dto;
 
 public interface IndicadorDTO {
-    	String getDimensio();
-    	String getIndicador();
-    	String getAmbit();
-    	String getCurs();
-    	String getValor();
-	}
+	String getDimensio();
+	String getIndicador();
+	String getAmbit();
+	String getCurs();
+	String getValor();
+}

+ 10 - 10
src/main/java/es/uv/saic/dto/IndicadorEnquestaTmpDup.java

@@ -1,13 +1,13 @@
 package es.uv.saic.dto;
 
 public interface IndicadorEnquestaTmpDup {
-    	String getCurs();
-    	String getCursd();
-    	String getEnquesta();
-    	String getTipus();
-    	String getAmbit();
-    	String getEstudi();
-    	String getIndicador();
-    	String getTitulacio();
-    	String getCentre();
-	}
+	String getCurs();
+	String getCursd();
+	String getEnquesta();
+	String getTipus();
+	String getAmbit();
+	String getEstudi();
+	String getIndicador();
+	String getTitulacio();
+	String getCentre();
+}

+ 12 - 12
src/main/java/es/uv/saic/dto/IndicadorEnquestaValorDTO.java

@@ -1,15 +1,15 @@
 package es.uv.saic.dto;
 
 public interface IndicadorEnquestaValorDTO {
-		String getEnquesta();
-		String getIndicador();
-		String getValor();
-		String getNum();
-		String getAmbit();
-		String getTipus();
-		String getMin();
-		String getMax();
-		Integer getCurs();
-		String getCursd();
-		String getMedia();
-	}
+	String getEnquesta();
+	String getIndicador();
+	String getValor();
+	String getNum();
+	String getAmbit();
+	String getTipus();
+	String getMin();
+	String getMax();
+	Integer getCurs();
+	String getCursd();
+	String getMedia();
+}

+ 9 - 9
src/main/java/es/uv/saic/dto/InstanciaGanttDTO.java

@@ -3,12 +3,12 @@ package es.uv.saic.dto;
 import java.math.BigInteger;
 
 public interface InstanciaGanttDTO {
-    	BigInteger getId();
-    	String getName();
-		String getTitCas();
-		String getTitVal();
-    	String getStart();
-    	String getEnd();
-    	Integer getProgress();
-    	String getCustom_class();
-	}
+	BigInteger getId();
+	String getName();
+	String getTitCas();
+	String getTitVal();
+	String getStart();
+	String getEnd();
+	Integer getProgress();
+	String getCustom_class();
+}

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

@@ -1,5 +0,0 @@
-package es.uv.saic.dto;
-
-public interface ProcesDTO {
-    
-}

+ 8 - 8
src/main/java/es/uv/saic/dto/TascaAsignadaDTO.java

@@ -1,11 +1,11 @@
 package es.uv.saic.dto;
 
 public interface TascaAsignadaDTO {
-		String getTLugar();
-		String getLugar();
-		String getIdProces();
-		String getInstancia();
-		String getInstanciaTasca();
-		String getTascaP();
-		Object getRol();
-	}
+	String getTLugar();
+	String getLugar();
+	String getIdProces();
+	String getInstancia();
+	String getInstanciaTasca();
+	String getTascaP();
+	Object getRol();
+}

+ 68 - 0
src/main/java/es/uv/saic/web/DocumentController.java

@@ -0,0 +1,68 @@
+package es.uv.saic.web;
+
+import java.io.IOException;
+
+import org.springframework.http.ResponseEntity;
+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 org.springframework.web.multipart.MultipartFile;
+
+import es.uv.saic.dto.CategoriaDTO;
+import es.uv.saic.dto.DocumentTmpDTO;
+import es.uv.saic.domain.Document;
+import es.uv.saic.service.DocumentService;
+
+@RestController
+public class DocumentController {
+    private DocumentService ds;
+
+    /*
+     * endpoint para save
+     */
+    @PostMapping("/document/save")
+    public ResponseEntity<?> save(@RequestBody Document doc) {
+        try {
+            Document auxDocument = ds.save(doc);        
+            return (auxDocument != null) ? ResponseEntity.ok(auxDocument) : 
+                ResponseEntity.badRequest().body("El documento no se a podido guardad correctamente.") ; 
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResponseEntity.badRequest().body("Hubo un error al procesar el documento: " + e.getMessage());
+        }
+        
+    }
+
+    /*
+     * endpoing para findByCategoriaOrgan
+     */
+    @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) : 
+                ResponseEntity.badRequest().body("El documento no se a podido encontrar.") ;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResponseEntity.badRequest().body("Hubo un error al procesar el documento: " + e.getMessage());
+        }
+    }
+
+    /*
+     * endpoint para upload
+     */
+    @PostMapping("/document/upload")
+    public ResponseEntity<String> upload(@RequestBody DocumentTmpDTO documentTmpDTO) {
+        try{
+            return ResponseEntity.ok(ds.upload(documentTmpDTO.getIdDocument(), documentTmpDTO.getIdCategoria(),
+                documentTmpDTO.getLugar(), documentTmpDTO.getTlugar(), documentTmpDTO.getFile()));
+        } catch(IllegalStateException e) {
+            e.printStackTrace();
+            return ResponseEntity.badRequest().body("Error: " + e.getMessage());
+        } catch(IOException e) {
+            e.printStackTrace();
+            return ResponseEntity.badRequest().body("Error: " + e.getMessage());
+        }
+    }
+}

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

@@ -29,12 +29,12 @@ import org.springframework.web.bind.annotation.ResponseBody;
 
 import es.uv.saic.domain.Document;
 import es.uv.saic.domain.Indicador;
-import es.uv.saic.domain.IndicadorEnquestaRepository;
 import es.uv.saic.domain.InstanciaTasca;
-import es.uv.saic.domain.InstanciaTascaRepository.TascaInformeTransfer;
 import es.uv.saic.domain.Organ;
 import es.uv.saic.domain.Proces;
 import es.uv.saic.domain.Tasca;
+import es.uv.saic.dto.IndicadorEnquestaValorDTO;
+import es.uv.saic.dto.TascaInformeTransferDTO;
 import es.uv.saic.service.DocumentService;
 import es.uv.saic.service.IndicadorEnquestaService;
 import es.uv.saic.service.IndicadorService;
@@ -166,7 +166,7 @@ public class DownloadController {
 		
 		Organ titulacio = os.findByID("T", idTitulacio);
 		
-		TascaInformeTransfer it = its.getLastByProcName(nomProces, titulacio.getId().getLugar(), 
+		TascaInformeTransferDTO it = its.getLastByProcName(nomProces, titulacio.getId().getLugar(), 
 														titulacio.getOrgan().getId().getLugar(), 
 														titulacio.getOrgan().getTambit());
 		
@@ -286,10 +286,10 @@ public class DownloadController {
 		catch(Exception e) { }
 		
 		/*  Indicadores de encuestas  */
-		List<IndicadorEnquestaRepository.IndicadorEnquestaValorDTO> enquestesT;
+		List<IndicadorEnquestaValorDTO> enquestesT;
 		enquestesT = this.ies.getAllInds(idTitulacio, idCentre, curs);
 				
-		for(IndicadorEnquestaRepository.IndicadorEnquestaValorDTO i : enquestesT) {
+		for(IndicadorEnquestaValorDTO 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());
@@ -344,10 +344,10 @@ public class DownloadController {
 		catch(Exception e) { }
 		
 		/*  Indicadores de encuestas  */
-		List<IndicadorEnquestaRepository.IndicadorEnquestaValorDTO> enquestesT;	
+		List<IndicadorEnquestaValorDTO> enquestesT;	
 		enquestesT = this.ies.getAllInds(idTitulacio, idCentre, curs);
 				
-		for(IndicadorEnquestaRepository.IndicadorEnquestaValorDTO i : enquestesT) {
+		for(IndicadorEnquestaValorDTO 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());

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

@@ -13,11 +13,13 @@ import org.springframework.web.bind.annotation.RestController;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
+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.IndicadorEnquestaValorDTO;
 import es.uv.saic.service.IndicadorEnquestaService;
 import es.uv.saic.service.IndicadorEnquestaTmpService;
@@ -40,27 +42,17 @@ public class IndicadorController {
     * Endpoint para la funcion deleteByEnquestaCursAmbitEstudi de iets
     */
     @DeleteMapping("/delete/ByEnquestaCursAmbitEstudi")
-    public ResponseEntity<String> deleteByEnquestaCursAmbitEstudi(@RequestBody String json) {
+    public ResponseEntity<String> deleteByEnquestaCursAmbitEstudi(@RequestBody EnquestaDTO enquestaDTO) {
 
-        //Parsear el JSON
-        JsonNode jsonNode = null;
         Integer i = 0;
         try {
-            jsonNode = com.fasterxml.jackson.databind.json.JsonMapper.builder().build().readTree(json);
-            
-            String enquesta = jsonNode.get("enquesta").asText();
-            Integer curs = jsonNode.get("curs").asInt();
-            String ambit = jsonNode.get("ambit").asText();
-            String estudi = jsonNode.get("estudi").asText();
+            //i = iets.deleteByEnquestaCursAmbitEstudi(enquestaDTO.getEnquesta(), enquestaDTO.getCurs(),
+            //     enquestaDTO.getAmbit(), enquestaDTO.getEstudi());
 
-            //i = iets.deleteByEnquestaCursAmbitEstudi(enquesta, curs, ambit, estudi);
-        }catch (JsonMappingException e) {
-            e.printStackTrace();
-            return ResponseEntity.badRequest().body("Error al mapear el JSON: " + e.getMessage());
-        } catch (Exception e) {
+        } catch(Exception e) {
             e.printStackTrace();
-            return ResponseEntity.badRequest().body("Error al eliminar la enquesta: " + e.getMessage());
-        } 
+            return ResponseEntity.badRequest().body("Error al tramitar la petición de borrar: " + e.getMessage());
+        }
     return ResponseEntity.ok("Se han eliminado " + i + " enquesta/s.");
     }
 
@@ -129,20 +121,15 @@ public class IndicadorController {
      * Endpoint1 para la funcion getAllInds de ies
      */
     @PostMapping("/allInds1")
-    public ResponseEntity<String> getAllInds(@RequestBody String json) {
-        JsonNode jsonNode = null;
+    public ResponseEntity<?> getAllInds(@RequestBody String json) {
         try {
-            jsonNode = com.fasterxml.jackson.databind.json.JsonMapper.builder().build().readTree(json);
+            JsonNode jsonNode = JsonMapper.builder().build().readTree(json);
             
             Organ organ = os.findByRuct(jsonNode.get("ruct").asInt());
             Integer curs = jsonNode.get("curs").asInt();
             List<IndicadorEnquesta> list = ies.getAllInds(organ, curs);
 
-            final ObjectMapper mapper = new ObjectMapper();
-
-            String response = mapper.writeValueAsString(list);
-
-            return ResponseEntity.ok(response);
+            return ResponseEntity.ok(list);
         } catch (JsonMappingException e) {
             e.printStackTrace();
             return ResponseEntity.badRequest().body("Error al mapear el JSON: " + e.getMessage());
@@ -156,21 +143,17 @@ public class IndicadorController {
      * Endpoint2 para la funcion getAllInds de ies
      */
     @PostMapping("/allInds2")
-    public ResponseEntity<String> getAllInds2(@RequestBody String json) {
-        JsonNode jsonNode = null;
-        
+    public ResponseEntity<?> getAllInds2(@RequestBody String json) {
         try {
-            jsonNode = com.fasterxml.jackson.databind.json.JsonMapper.builder().build().readTree(json);
+            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);
-            final ObjectMapper mapper = new ObjectMapper();
-            String response = mapper.writeValueAsString(list);
 
-            return ResponseEntity.ok(response);
+            return ResponseEntity.ok(list);
         } catch (JsonMappingException e) {
             e.printStackTrace();
             return ResponseEntity.badRequest().body("Error al mapear el JSON: " + e.getMessage());
@@ -184,26 +167,12 @@ public class IndicadorController {
      * Endpoint para la funcion findByEnquestaCursAmbitEstudi de ies
      */
     @PostMapping("/findByEnquestaCursAmbitEstudi")
-    public ResponseEntity<String> findByEnquestaCursAmbitEstudi(@RequestBody String json) {
-        JsonNode jsonNode = null;
+    public ResponseEntity<?> findByEnquestaCursAmbitEstudi(@RequestBody EnquestaDTO enquestaDTO) {
         try {
-            jsonNode = com.fasterxml.jackson.databind.json.JsonMapper.builder().build().readTree(json);
-            //Obtener los parametros
-            String enquesta = jsonNode.get("enquesta").asText();
-            Integer curs = jsonNode.get("curs").asInt();
-            String ambit = jsonNode.get("ambit").asText();
-            String estudi = jsonNode.get("estudi").asText();
-
-            List<IndicadorEnquesta> list = ies.findByEnquestaCursAmbitEstudi(enquesta, curs, ambit, estudi);
-
-            final ObjectMapper mapper = new ObjectMapper();
-
-            String response = mapper.writeValueAsString(list);
+            List<IndicadorEnquesta> list = ies.findByEnquestaCursAmbitEstudi(enquestaDTO.getEnquesta(),
+                enquestaDTO.getCurs(), enquestaDTO.getAmbit(), enquestaDTO.getEstudi());
 
-            return ResponseEntity.ok(response);
-        } catch (JsonMappingException e) {
-            e.printStackTrace();
-            return ResponseEntity.badRequest().body("Error al mapear el JSON: " + e.getMessage());
+            return ResponseEntity.ok(list);
         } catch (Exception e) {
             e.printStackTrace();
             return ResponseEntity.badRequest().body("Error al obtener los indicadores: " + e.getMessage());
@@ -215,27 +184,12 @@ public class IndicadorController {
      */
 
     @PostMapping("/findByEnquestaCursAmbitEstudiCentre")
-    public ResponseEntity<String> findByEnquestaCursAmbitEstudiCentre(@RequestBody String json) {
-        JsonNode jsonNode = null;
+    public ResponseEntity<?> findByEnquestaCursAmbitEstudiCentre(@RequestBody EnquestaDTO enquestaDTO) {
         try {
-            jsonNode = com.fasterxml.jackson.databind.json.JsonMapper.builder().build().readTree(json);
-            //Obtener los parametros
-            String enquesta = jsonNode.get("enquesta").asText();
-            Integer curs = jsonNode.get("curs").asInt();
-            String ambit = jsonNode.get("ambit").asText();
-            String estudi = jsonNode.get("estudi").asText();
-            Integer centre = jsonNode.get("centre").asInt();
-
-            List<IndicadorEnquesta> list = ies.findByEnquestaCursAmbitEstudiCentre(enquesta, curs, ambit, estudi, centre);
-
-            final ObjectMapper mapper = new ObjectMapper();
+            List<IndicadorEnquesta> list = ies.findByEnquestaCursAmbitEstudiCentre(enquestaDTO.getEnquesta(),
+                enquestaDTO.getCurs(), enquestaDTO.getAmbit(), enquestaDTO.getEstudi(), enquestaDTO.getCentre());
 
-            String response = mapper.writeValueAsString(list);
-
-            return ResponseEntity.ok(response);
-        } catch (JsonMappingException e) {
-            e.printStackTrace();
-            return ResponseEntity.badRequest().body("Error al mapear el JSON: " + e.getMessage());
+            return ResponseEntity.ok(list);
         } catch (Exception e) {
             e.printStackTrace();
             return ResponseEntity.badRequest().body("Error al obtener los indicadores: " + e.getMessage());
@@ -243,28 +197,13 @@ public class IndicadorController {
     }
 
     @PostMapping("/findByEnquestaCursAmbitEstudiCentreTitulacio")
-    public ResponseEntity<String> findByEnquestaCursAmbitEstudiCentreTitulacio(@RequestBody String json) {
-        JsonNode jsonNode = null;
+    public ResponseEntity<?> findByEnquestaCursAmbitEstudiCentreTitulacio(@RequestBody EnquestaDTO enquestaDTO) {
         try {
-            jsonNode = com.fasterxml.jackson.databind.json.JsonMapper.builder().build().readTree(json);
-
-            String enquesta = jsonNode.get("enquesta").asText();
-            Integer curs = jsonNode.get("curs").asInt();
-            String ambit = jsonNode.get("ambit").asText();
-            String estudi = jsonNode.get("estudi").asText();
-            Integer centre = jsonNode.get("centre").asInt();
-            Integer titulacio = jsonNode.get("titulacio").asInt();
+            List<IndicadorEnquesta> list = ies.findByEnquestaCursAmbitEstudiCentreTitulacio(enquestaDTO.getEnquesta(),
+                enquestaDTO.getCurs(), enquestaDTO.getAmbit(), enquestaDTO.getEstudi(), enquestaDTO.getCentre(),
+                enquestaDTO.getTitulacio());
 
-            List<IndicadorEnquesta> list = ies.findByEnquestaCursAmbitEstudiCentreTitulacio(enquesta, curs, ambit, estudi, centre, titulacio);
-
-            final ObjectMapper mapper = new ObjectMapper();
-
-            String response = mapper.writeValueAsString(list);
-
-            return ResponseEntity.ok(response);
-        } catch (JsonMappingException e) {
-            e.printStackTrace();
-            return ResponseEntity.badRequest().body("Error al mapear el JSON: " + e.getMessage());
+            return ResponseEntity.ok(list);
         } catch (Exception e) {
             e.printStackTrace();
             return ResponseEntity.badRequest().body("Error al obtener los indicadores: " + e.getMessage());
@@ -275,21 +214,16 @@ public class IndicadorController {
      * Endpoint para la funcion getFromTitulacion de ies
      */
     @PostMapping("/getFromTitulacio")
-    public ResponseEntity<String> getFromTitulacion(@RequestBody String json) {
-        JsonNode jsonNode = null;
+    public ResponseEntity<?> getFromTitulacion(@RequestBody String json) {
         try {
-            jsonNode = com.fasterxml.jackson.databind.json.JsonMapper.builder().build().readTree(json);
+            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);
 
-            final ObjectMapper mapper = new ObjectMapper();
-
-            String response = mapper.writeValueAsString(list);
-
-            return ResponseEntity.ok(response);
+            return ResponseEntity.ok(list);
         } catch (JsonMappingException e) {
             e.printStackTrace();
             return ResponseEntity.badRequest().body("Error al mapear el JSON: " + e.getMessage());

+ 57 - 11
src/main/java/es/uv/saic/web/OrganController.java

@@ -7,9 +7,13 @@ 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.RestController;
 
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.json.JsonMapper;
 
 import es.uv.saic.domain.Organ;
 import es.uv.saic.dto.OrganDTO;
@@ -19,15 +23,15 @@ import es.uv.saic.service.OrganService;
 public class OrganController {
     
     @Autowired
-    OrganService organService;
+    OrganService os;
 
     /*
-     * Endopint for getActiveCentres
+     * Endpoint for getActiveCentres
      */ 
     @GetMapping("/getActiveCentres")
     public ResponseEntity<?> getActiveCentres() {
         try {
-            List<Organ> list = organService.getActiveCentres();
+            List<Organ> list = os.getActiveCentres();
 
             return ResponseEntity.ok(list);
         } catch (Exception e) {
@@ -36,10 +40,13 @@ public class OrganController {
         }
     }
 
+    /*
+     * Endpoint for getTitulacions
+     */
     @GetMapping("/getTitulacions")
     public ResponseEntity<?> getTitulacions() {
         try {
-            List<OrganDTO> list = organService.findAllTitulacionsWithCentre();
+            List<OrganDTO> list = os.findAllTitulacionsWithCentre();
 
             return ResponseEntity.ok(list);
         } catch (Exception e) {
@@ -52,18 +59,57 @@ public class OrganController {
      * Endopint for findByRuct
      */
     @PostMapping("/findByRuct/{ruct}")
-    public ResponseEntity<String> findByRuct7(@PathVariable Integer ruct) {
+    public ResponseEntity<?> findByRuct(@PathVariable Integer ruct) {
         try {
-            final ObjectMapper mapper = new ObjectMapper();
-            
-            Organ organ = organService.findByRuct(ruct);
-
-            String response = mapper.writeValueAsString(organ);
+            Organ organ = os.findByRuct(ruct);
 
-            return ResponseEntity.ok(response);
+            return ResponseEntity.ok(organ);
         } catch (Exception e) {
             e.printStackTrace();
             return ResponseEntity.badRequest().body("Error al obtener el organo por ruct: " + e.getMessage());
         }
     }
+
+    /*
+     * Endpoint para findById
+     */
+    @PostMapping("/findById")
+    public ResponseEntity<?> findById(@RequestBody String json) {
+        try {
+            JsonNode jsonNode = JsonMapper.builder().build().readTree(json); 
+        
+            Organ organ = os.findByID(jsonNode.get("tlugar").asText(),
+                (jsonNode.get("idTitulacio").asInt()));
+
+            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());
+        }
+    }
+
+    /*
+     * Endpoint para getTitulacionsByTypeCentre
+     */
+    @PostMapping("/getTitulacionsByTypeCentre")
+    public ResponseEntity<?> getTitulacionsByTypeCentre(@RequestBody String json) {
+        try {
+            JsonNode jsonNode = JsonMapper.builder().build().readTree(json); 
+        
+            List<Organ> organList = os.getTitulacionsByTypeCentre(jsonNode.get("lugar").asInt(),
+                (jsonNode.get("ambit").asInt()));
+
+            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());
+        }
+    }
+
 }

+ 2 - 7
src/main/java/es/uv/saic/web/ProcesController.java

@@ -21,15 +21,10 @@ public class ProcesController {
         try {
             Proces proces = procesService.findByID(id);
 
-            if (proces != null){
-                return ResponseEntity.ok(proces);
-            }
-
-            return ResponseEntity.badRequest().body("El proces con id " + id + " esta vacio");
+            return (proces != null) ? ResponseEntity.ok(proces) : ResponseEntity.badRequest().body("El proces con id " + id + " esta vacio");
         } catch (Exception e) {
              e.printStackTrace();
             return ResponseEntity.badRequest().body("Error al obtener el proces por el id:" +  e.getMessage());
         }
-    }
-    
+    }    
 }

+ 17 - 45
src/main/java/es/uv/saic/web/TascaController.java

@@ -8,11 +8,11 @@ import org.springframework.web.bind.annotation.RestController;
 
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
+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.TascaInformeTransferDTO;
 import es.uv.saic.service.InstanciaTascaService;
 import es.uv.saic.service.TascaService;
@@ -25,25 +25,18 @@ import org.springframework.web.bind.annotation.RequestBody;
 @RestController
 public class TascaController {
     @Autowired
-    TascaService tascaService;
+    TascaService ts;
 
     @Autowired
-    InstanciaTascaService instanciaTascaService;
+    InstanciaTascaService its;
 
     @PostMapping("/instanciatasca/{id}")
-    public ResponseEntity<String> findInstanciaTascaById(@PathVariable("id") BigInteger id) {
+    public ResponseEntity<?> findInstanciaTascaById(@PathVariable("id") BigInteger id) {
         try {
-            InstanciaTasca instanciatasca = instanciaTascaService.findById(id);
-            
-            if (instanciatasca != null){
-                final ObjectMapper mapper = new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT);
+            InstanciaTasca instanciatasca = its.findById(id);
 
-                String response = mapper.writeValueAsString(instanciatasca);
-
-                return ResponseEntity.ok(response);
-            }
-
-            return ResponseEntity.badRequest().body("La instancia esta vacia");
+            return (instanciatasca != null) ? 
+            ResponseEntity.ok(instanciatasca) : ResponseEntity.badRequest().body("La instancia esta vacia");
         } catch (Exception e) {
             e.printStackTrace();
             return ResponseEntity.badRequest().body("Error al obtener la instancia por el id:" +  e.getMessage());
@@ -51,26 +44,12 @@ public class TascaController {
     }
 
     @PostMapping("/getLastByProcName")
-    public ResponseEntity<String> getLastByProcName(@RequestBody String json) {
-        JsonNode jsonNode = null;
+    public ResponseEntity<?> getLastByProcName(@RequestBody InstanciaDTO instanciaDTO) {
         try {
-            jsonNode = com.fasterxml.jackson.databind.json.JsonMapper.builder().build().readTree(json);
-
-            String nomProces = jsonNode.get("nomProces").asText();
-            Integer lugar = jsonNode.get("lugar").asInt();
-            Integer lugarOrgan = jsonNode.get("lugarOrgan").asInt();
-            String organAmbit = jsonNode.get("organAmbit").asText();
-
-            TascaInformeTransferDTO tit = instanciaTascaService.getLastByProcName(nomProces, lugar, lugarOrgan, organAmbit);
-
-            final ObjectMapper mapper = new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT);
-
-            String response = mapper.writeValueAsString(tit);
+            TascaInformeTransferDTO tit = its.getLastByProcName(instanciaDTO.getNomProces(),
+                instanciaDTO.getLugar(), instanciaDTO.getCentre(), instanciaDTO.getAmbit());
 
-            return ResponseEntity.ok(response);
-        } catch (JsonMappingException e) {
-            e.printStackTrace();
-            return ResponseEntity.badRequest().body("Error al mapear el JSON: " + e.getMessage());
+            return ResponseEntity.ok(tit);
         } catch (Exception e) {
             e.printStackTrace();
             return ResponseEntity.badRequest().body("Error al obtener la última tarea a partir del procedimiento: " + e.getMessage());
@@ -78,21 +57,14 @@ public class TascaController {
     }
     
     @PostMapping("/getByProcesTascap")
-    public ResponseEntity<String> getByProcesTascap(@RequestBody String json) {
-        JsonNode jsonNode = null;
+    public ResponseEntity<?> getByProcesTascap(@RequestBody String json) {
         try {
-            jsonNode = com.fasterxml.jackson.databind.json.JsonMapper.builder().build().readTree(json);
-
-            Integer idProces = jsonNode.get("idProces").asInt();
-            Integer idTascap = jsonNode.get("idTascap").asInt();
-
-            Tasca tasca = tascaService.getByProcesTascap(idProces, idTascap);
-
-            final ObjectMapper mapper = new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT);
+            JsonNode jsonNode = JsonMapper.builder().build().readTree(json);
 
-            String response = mapper.writeValueAsString(tasca);
+            Tasca tasca = ts.getByProcesTascap(jsonNode.get("idProces").asInt(),
+                jsonNode.get("idTascap").asInt());
 
-            return ResponseEntity.ok(response);
+            return ResponseEntity.ok(tasca);
         } catch (JsonMappingException e) {
             e.printStackTrace();
             return ResponseEntity.badRequest().body("Error al mapear el JSON: " + e.getMessage());