Browse Source

ExportController and IndicadorController eliminated

Drowsito 2 weeks ago
parent
commit
dd1380c7ad

+ 0 - 16
src/main/java/es/uv/saic/feign/ExportClient.java

@@ -1,16 +0,0 @@
-package es.uv.saic.feign;
-
-import java.util.List;
-
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-
-@FeignClient(value = "export-controller", url = "${saic.url.domain}")
-public interface ExportClient {
-    @GetMapping("/export/{id_p}/{id_t}")
-    List<String[]> exportData(@PathVariable Integer id_p, @PathVariable Integer id_t);
-
-    @GetMapping("/export2/{id_p}/{id_t}")
-     List<String[]> exportData2(@PathVariable Integer id_p, @PathVariable Integer id_t);
-}

+ 0 - 199
src/main/java/es/uv/saic/web/ExportController.java

@@ -1,199 +0,0 @@
-package es.uv.saic.web;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.List;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import jakarta.servlet.http.HttpServletResponse;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.core.Authentication;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-
-import es.uv.saic.domain.Usuari;
-import es.uv.saic.feign.ExportClient;
-
-@Controller
-public class ExportController {
-	
-	@Autowired
-	private ExportClient ec;
-	
-	/*
-	 * Export data for a given process and task as CSV
-	 * @param model
-	 * @param auth Authentication
-	 * @param response HttpServletResponse
-	 * @param id_p Process ID
-	 * @param id_t Task ID
-	 */
-	@GetMapping("/export/{id_p}/{id_t}")  
-	public void exportData(Model model, Authentication auth, HttpServletResponse response, 
-			@PathVariable Integer id_p, @PathVariable Integer id_t) throws IOException {
-		if(!((Usuari)auth.getPrincipal()).isAdmin() & !((Usuari)auth.getPrincipal()).isDataTest()) {
-			return;
-		}
-		
-		List<String[]> lines = ec.exportData(id_p, id_t);
-		response.setContentType("text/csv");
-        response.setCharacterEncoding("UTF-8");
-        response.setHeader("Content-Disposition", "attachment; filename=data_export.csv");
-		
-		PrintWriter pw = response.getWriter();
-		
-		lines.stream()
-	         .map(this::convertToCSV)
-	         .forEach(pw::println);
-		pw.close();
-		pw.flush();
-	}
-
-//	@GetMapping("/export/{id_p}/{id_t}")  
-//	public void exportData(Model model, Authentication auth, HttpServletResponse response, 
-//			@PathVariable Integer id_p, @PathVariable Integer id_t) throws IOException {
-//		if(!((Usuari)auth.getPrincipal()).isAdmin() & !((Usuari)auth.getPrincipal()).isDataTest()) {
-//			return;
-//		}
-//		
-//		response.setContentType("text/csv");
-//        response.setCharacterEncoding("UTF-8");
-//        response.setHeader("Content-Disposition", "attachment; filename=data_export.csv");
-//		
-//		PrintWriter pw = response.getWriter();
-//		Proces p = this.ps.findByID(id_p);
-//		List<Instancia> ins = p.getInstancies();
-//		List<String[]> lines = new ArrayList<>();
-//		if(p.getNomProces().equals("SAEM")) {
-//			String[] header = {"centre", "titulacio", "cod_int", "nom_int", "per_int", "obs_int", "cod_fin", "nom_fin", "per_fin", "obs_fin", "data_fi_docencia"};
-//			lines.add(header);
-//		}
-//		else {
-//			String[] header = {"centre", "titulacio", "cod_assignatura_1er", "nom_assignatura_1er", "obs_assignatura_1er", "cod_assignatura_3er", "nom_assignatura_3er", "obs_assignatura_3er"};
-//			lines.add(header);
-//		}
-//				
-//		for(Instancia i : ins) {
-//			InstanciaTasca it = i.getInstanciaTasca().stream()
-//												     .filter(c -> id_t.equals(c.getTasca().getIdTascap()))
-//												     .findAny()
-//												     .orElse(null);
-//			if(it == null) {
-//				continue;
-//			}
-//			if(!it.getEstat().equals("E")){
-//				continue;
-//			}
-//			
-//			System.out.println(it.getText());
-//			Document doc = Jsoup.parseBodyFragment(it.getText());
-//	        int size = lines.get(0).length;
-//	        String[] line = new String[size];
-//        	line[0] = i.getCentre().toString();
-//			line[1] = i.getTitulacio().toString();
-//			String[] ids = {"", "",
-//							//"ind_enquestes_1er_modul_cod", "ind_enquestes_1er_modul_nom", "ind_enquestes_1er_modul_per", "ind_enquestes_1er_modul_obs", 
-//					        //"ind_enquestes_3er_modul_cod", "ind_enquestes_3er_modul_nom", "ind_enquestes_3er_modul_per", "ind_enquestes_3er_modul_obs", 
-//						    "ind_enquestes_1er_modul_cod", "ind_enquestes_1er_modul_nom", "ind_enquestes_1er_modul_obs", 
-//					        "ind_enquestes_3er_modul_cod", "ind_enquestes_3er_modul_nom", "ind_enquestes_3er_modul_obs", 
-//					        "mceEditable"};
-//
-//			for(int x = 2; x<=8; x++) {
-//				if(ids[x].startsWith("ind_")) {
-//					try {
-//						if(ids[x].equals("ind_enquestes_1er_modul_obs")) {
-//							line[x] = doc.getElementById("ind_enquestes_1er_modul_nom").nextElementSibling().text();
-//						}
-//						else {
-//							System.out.println(doc.getElementById(ids[x]));
-//							line[x] = doc.getElementById(ids[x]).text();
-//						}
-//						
-//					}
-//					catch(Exception e) {
-//						line[x] = "[error]";
-//						System.out.println("instancia: "+i.getIdInstancia().toString()+", centre: "+i.getCentre().toString()+", titulacio: "+i.getTitulacio().toString());
-//					}
-//				}/*
-//				else {
-//					try {
-//						line[x] = doc.getElementsByClass(ids[x]).last().text();
-//					}
-//					catch(Exception e) {
-//						line[x] = "[error]";
-//						System.out.println("instancia: "+i.getIdInstancia().toString()+", centre: "+i.getCentre().toString()+", titulacio: "+i.getTitulacio().toString());
-//					}
-//				}*/	
-//			}
-//
-//			lines.add(line);    
-//		}
-//		
-//		lines.stream()
-//	         .map(this::convertToCSV)
-//	         .forEach(pw::println);
-//		pw.close();
-//		pw.flush();
-//	}
-
-	/*
-	 * Export data for a given process and task as CSV (not used)
-	 * @param model
-	 * @param auth Authentication
-	 * @param response HttpServletResponse
-	 * @param id_p Process ID
-	 * @param id_t Task ID
-	 */
-	@GetMapping("/export2/{id_p}/{id_t}")  
-	public void exportData2(Model model, Authentication auth, HttpServletResponse response, 
-			@PathVariable Integer id_p, @PathVariable Integer id_t) throws IOException {
-		if(!((Usuari)auth.getPrincipal()).isAdmin() & !((Usuari)auth.getPrincipal()).isDataTest()) {
-			return;
-		}
-		
-		List<String[]> lines = ec.exportData2(id_p, id_t);
-		response.setContentType("text/csv");
-        response.setCharacterEncoding("UTF-8");
-        response.setHeader("Content-Disposition", "attachment; filename=data_export.csv");
-		
-		PrintWriter pw = response.getWriter();
-
-		lines.stream()
-	         .map(this::convertToCSV)
-	         .forEach(pw::println);
-		pw.close();
-		pw.flush();
-	}
-	
-	/*
-	 * Convert an array of Strings to a single CSV line, escaping special characters
-	 * @param data Array of Strings to convert
-	 * @return A single CSV line as a String
-	 */
-	public String convertToCSV(String[] data) {
-	    return Stream.of(data)
-	      .map(this::escapeSpecialCharacters)
-	      .collect(Collectors.joining(";"));
-	}
-	
-	/*
-	 * Escape special characters in a String for CSV format
-	 * @param data The String to escape
-	 * @return The escaped String
-	 */
-	public String escapeSpecialCharacters(String data) {
-		if(data == null) return "";
-	    String escapedData = data.replaceAll("\\R", " ");
-	    data = data.replace("\"", "'");   
-	    data = data.replace(";", ","); 
-	    data = data.replace("\n", " ");
-	    escapedData = "\"" + data + "\"";
-	    return escapedData;
-	}
-	
-	
-}

+ 0 - 193
src/main/java/es/uv/saic/web/IndicadorController.java

@@ -1,193 +0,0 @@
-package es.uv.saic.web;
-
-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 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.domain.IndicadorEnquestaTmp;
-import es.uv.saic.dto.EnquestaDTO;
-import es.uv.saic.dto.IndicadorEnquestaDTO;
-import es.uv.saic.dto.IndicadorEnquestaTmpDup;
-import es.uv.saic.dto.IndicadorEnquestaValorDTO;
-import es.uv.saic.service.IndicadorEnquestaService;
-import es.uv.saic.service.IndicadorEnquestaTmpService;
-
-@RestController
-public class IndicadorController {
-    @Autowired
-    private IndicadorService is;
-
-    @Autowired
-    private IndicadorEnquestaService ies;
-
-    @Autowired
-    private IndicadorEnquestaTmpService iets;
-
-    @Autowired
-    private es.uv.saic.service.OrganService os;
-
-    /*
-    * Endpoint para la funcion deleteByEnquestaCursAmbitEstudi de iets
-    */
-    @DeleteMapping("/delete/ByEnquestaCursAmbitEstudi")
-    public Integer deleteByEnquestaCursAmbitEstudi(@RequestBody EnquestaDTO enquestaDTO) {
-
-        Integer i = 0;
-        try {
-            i = iets.deleteByEnquestaCursAmbitEstudi(enquestaDTO.getEnquesta(), enquestaDTO.getCurs(),
-                enquestaDTO.getAmbit(), enquestaDTO.getEstudi());
-
-        } catch(Exception e) {
-            e.printStackTrace();
-        }
-    return i;
-    }
-
-    @DeleteMapping("/delete/by/{enquesta}")
-    public Integer deleteByEnquestaC(@PathVariable String enquesta) {
-        return iets.deleteByEnquesta(enquesta);
-    }
-
-    /*
-    * Endpoint para la funcion deleteFromCurrent de iets, dev
-    */
-    @DeleteMapping("/delete/current/{enquesta}")
-    public Integer deleteFromCurrent(@PathVariable("enquesta") String enquesta) {
-        return iets.deleteFromCurrent(enquesta);
-    }
-
-    /*
-    * Endpoint para la funcion deleteFromPending de iets
-    */
-    @DeleteMapping("/delete/pending/{enquesta}")
-    public Integer deleteFromPending(@PathVariable("enquesta") String enquesta) {
-        return iets.deleteFromPending(enquesta);
-    }
-
-    /*
-    * Endpoint para la funcion deleteDuplicates de iets
-    */
-    @DeleteMapping("/delete/duplicates/{enquesta}")
-    public Integer deleteDuplicates(@PathVariable("enquesta") String enquesta) {
-       return iets.deleteDuplicates(enquesta);
-    }
-
-    /*
-     * Endpoint1 para la funcion getAllInds de ies
-     */
-    @GetMapping("/allInds/{ruct}/{curs}")
-    public ResponseEntity<?> getAllInds(@PathVariable Integer ruct, @PathVariable Integer curs) {
-        try {
-            
-            Organ organ = os.findByRuct(ruct);
-            List<IndicadorEnquesta> list = ies.getAllInds(organ, curs);
-
-            return ResponseEntity.ok(list);
-        } catch (Exception e) {
-            e.printStackTrace();
-            return ResponseEntity.badRequest().body("Error al obtener los indicadores1: " + e.getMessage());
-        }
-    }
-
-    /*
-     * Endpoint2 para la funcion getAllInds de ies
-     */
-    @PostMapping("/allInds2")
-    public ResponseEntity<?> getAllInds2(@RequestBody IndicadorEnquestaDTO indicadorEnquestaDTO) {
-        try {
-            List<IndicadorEnquestaValorDTO> list = ies.getAllInds(indicadorEnquestaDTO.getIdTitulacio(),
-                indicadorEnquestaDTO.getIdCentre(), indicadorEnquestaDTO.getCurs());
-
-            return ResponseEntity.ok(list);
-        } catch (Exception e) {
-            e.printStackTrace();
-            return ResponseEntity.badRequest().body("Error al obtener los indicadores2: " + e.getMessage());
-        }
-    }
-
-    /*
-     * Endpoint para la funcion findByEnquestaCursAmbitEstudi de ies
-     */
-    @PostMapping("/findByEnquestaCursAmbitEstudi")
-    public List<IndicadorEnquesta> findByEnquestaCursAmbitEstudi(@RequestBody EnquestaDTO enquestaDTO) {
-        return ies.findByEnquestaCursAmbitEstudi(enquestaDTO.getEnquesta(),
-                enquestaDTO.getCurs(), enquestaDTO.getAmbit(), enquestaDTO.getEstudi());
-    }
-
-    /*
-     * Endpoing para la función findByEnquestaCursAmbitEstudiCentre
-     */
-    @PostMapping("/findByEnquestaCursAmbitEstudiCentre")
-    public List<IndicadorEnquesta> findByEnquestaCursAmbitEstudiCentre(@RequestBody EnquestaDTO enquestaDTO) {
-        return ies.findByEnquestaCursAmbitEstudiCentre(enquestaDTO.getEnquesta(),
-                enquestaDTO.getCurs(), enquestaDTO.getAmbit(), enquestaDTO.getEstudi(), enquestaDTO.getCentre());
-    }
-
-    @PostMapping("/findByEnquestaCursAmbitEstudiCentreTitulacio")
-    public List<IndicadorEnquesta> findByEnquestaCursAmbitEstudiCentreTitulacio(@RequestBody EnquestaDTO enquestaDTO) {
-        return ies.findByEnquestaCursAmbitEstudiCentreTitulacio(enquestaDTO.getEnquesta(),
-                enquestaDTO.getCurs(), enquestaDTO.getAmbit(), enquestaDTO.getEstudi(), enquestaDTO.getCentre(),
-                enquestaDTO.getTitulacio());
-    }
-
-    /*
-     * Endpoint para la funcion getFromTitulacion de ies
-     */
-    @GetMapping("/getFromTitulacio/{idTitulacio}/{curs}")
-    public ResponseEntity<?> getFromTitulacion(@PathVariable Integer idTitulacio, @PathVariable Integer curs) {
-        try {
-            List<Indicador> list = is.getFromTitulacion(idTitulacio, 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 indicadores: " + e.getMessage());
-        }
-    }
-
-    /*
-     * Endpoint para la funcion save de iets
-     */
-    @PostMapping("/save")
-    public void save(@RequestBody IndicadorEnquestaTmp ie) {
-        iets.save(ie);
-    }
-
-    @GetMapping("/countByEnquesta/{enquesta}")
-    public Integer countByEnquesta(@RequestParam String enquesta) {
-        return iets.countByEnquesta(enquesta);
-    }
-    
-    @GetMapping("/checkDuplicates/{enquesta}")
-    public List<IndicadorEnquestaTmpDup> checkDuplicates(@PathVariable String enquesta) {
-        return iets.checkDuplicates(enquesta);
-    }
-    
-    @GetMapping("/checkIntegrity/{enquesta}")
-    public List<IndicadorEnquestaTmpDup> checkIntegrity(@PathVariable String enquesta) {
-        return iets.checkDuplicates(enquesta);
-    }
-
-    @GetMapping("/consolidateByEnquesta/{enquesta}")
-    public Integer consolidateByEnquesta(@PathVariable String enquesta) {
-        return ies.consolidateByEnquesta(enquesta);
-    }
-    
-}