Răsfoiți Sursa

Update en el mapping

marher22 2 luni în urmă
părinte
comite
89285f86a0

+ 1 - 1
.vscode/settings.json

@@ -11,7 +11,7 @@
             "password": "acd425"
         }
     ],
-    "java.configuration.updateBuildConfiguration": "interactive",
+    "java.configuration.updateBuildConfiguration": "automatic",
     "java.compile.nullAnalysis.mode": "automatic",
     "java.dependency.syncWithFolderExplorer": false
 }

+ 0 - 101
src/main/java/es/uv/saic/domain/ScheduledTasks.java

@@ -1,101 +0,0 @@
-package es.uv.saic.domain;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.Date;
-import java.util.List;
-
-import jakarta.mail.MessagingException;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import es.uv.saic.service.CalendariService;
-import es.uv.saic.service.EmailService;
-import es.uv.saic.service.InstanciaService;
-import es.uv.saic.service.InstanciaTascaService;
-import es.uv.saic.service.ParserService;
-import es.uv.saic.service.SysStatusService;
-import es.uv.saic.service.UsuariService;
-
-@Component
-@SuppressWarnings("unused")
-public class ScheduledTasks {
-	
-	@Autowired
-	private EmailService es;
-	@Autowired
-	private InstanciaService it;
-	@Autowired
-	private InstanciaTascaService its;
-	@Autowired
-	private UsuariService us;
-	@Autowired
-	private ParserService ps;
-	@Autowired
-	private CalendariService cs;
-	@Autowired
-	private SysStatusService sss;
-	@Value("${saic.mailer.queue.enabled}")
-	private String queueEnabled;
-	@Value("${saic.mailer.reminder.enabled}")
-	private String reminderEnabled;
-	@Value("${saic.mailer.calendar.enabled}")
-	private String calendarEnabled;
-	@Value("${saic.mailer.maxMailsPerRound}")
-	private Integer maxMailsPerRound;
-	@Value("${saic.parser.surveys.enabled}")
-	private String parserEnabled;
-	@Value("${saic.scheduler.expired.enabled}")
-	private String expiredEnabled;
-
-	@Scheduled(fixedDelay = 300000)
-	public void sendInstanceMails() {
-		if(Boolean.parseBoolean(this.queueEnabled)) {
-			Integer counter = 0;
-			while(!es.pendingQueueIsEmpty() && counter < maxMailsPerRound) {
-				es.sendActiveTaskNext();
-				counter+=1;
-			}
-		}
-	}
-	
-	@Scheduled(cron="0 0 1 * * *")
-	public void sendReminderMails() {
-		if(Boolean.parseBoolean(this.reminderEnabled)) {
-			sss.log("Start sending mail reminders");
-			for(InstanciaTasca instanciaTasca : its.getPastTasks()) {
-				for(Usuari u : us.getInstanceAsignedUsers(instanciaTasca.getInstancia().getIdInstancia())) {
-					Email email = new Email();
-					email.setUsusari(u);
-					email.setInstanciaTasca(instanciaTasca);
-					es.addEmail(email);
-				}
-			}
-		}
-	}
-	
-	@Scheduled(cron="0 0 1 * * *")
-	public void sendCalendarMails() throws MessagingException {
-		if(Boolean.parseBoolean(this.calendarEnabled)) {
-			Integer counter = 0;
-			Usuari u = this.us.findByUsername("system");
-			List<Calendari> events = this.cs.getNextEvents();
-			for(Calendari e : events) {
-				this.es.sendCalendarMail(u, e);
-				counter+=1;
-			}
-		}
-	}
-	
-	@Scheduled(cron="0 0 1 * * *")
-	public void closeExpiredTasks() {
-		if(Boolean.parseBoolean(this.expiredEnabled)) {
-			// to do in future
-		}
-	}
-
-}

+ 25 - 1
src/main/java/es/uv/saic/dto/EmailDTO.java

@@ -1,16 +1,40 @@
 package es.uv.saic.dto;
 
+import java.math.BigInteger;
+
 public class EmailDTO {
+    private String usuari;
+    private BigInteger idInstanciaTasca;
     private String to;
     private String subject;
     private String message;
 
-    public EmailDTO(String to, String subject, String message) {
+    public EmailDTO() {};
+
+    public EmailDTO(String usuari, BigInteger idInstanciaTasca,String to, String subject, String message) {
+        this.usuari = usuari;
+        this.idInstanciaTasca = idInstanciaTasca;
         this.to = to;
         this.subject = subject;
         this.message = message;
     }
 
+    public String getUsuari() {
+        return this.usuari;
+    }
+
+    public void setUsuari(String usuari) {
+        this.usuari = usuari;
+    }
+
+    public BigInteger getIdInstanciaTasca() {
+        return this.idInstanciaTasca;
+    }
+
+    public void setIdInstanciaTasca(BigInteger idInstanciaTasca) {
+        this.idInstanciaTasca = idInstanciaTasca;
+    }
+
     public String getTo() {
         return to;
     }

+ 20 - 18
src/main/java/es/uv/saic/feign/AdminClient.java

@@ -6,9 +6,11 @@ import java.util.List;
 import java.util.Map;
 
 import org.springframework.cloud.openfeign.FeignClient;
+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.PutMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 
 import es.uv.saic.domain.Acreditacio;
@@ -16,40 +18,40 @@ import es.uv.saic.domain.AcreditacioTransfer;
 
 @FeignClient(name = "saic-core-service", contextId = "admin-controller")
 public interface AdminClient {
-    @PostMapping("/admin/instances")
+    @PostMapping("/admins/instance")
     HashMap<String, Object> instantiate(@RequestParam("procedure") Integer idProces,
 			@RequestParam("center") Integer idCentre,
 			@RequestParam("titulation") Integer idTitulacio);
      
-    @PostMapping("/admin/instance/delete")
+    @DeleteMapping("/admins/instance")
     void deleteInstance(@RequestParam BigInteger idInstancia);
     
-    @PostMapping("/admin/instance/clear")
+    @PostMapping("/admins/instance/clear")
     String clearInstance(@RequestParam BigInteger idInstancia);
 
-    @PostMapping("/admin/instance/close")
+    @PostMapping("/admins/instance/close")
     String closeInstance(@RequestParam BigInteger idInstancia);
 
-    @PostMapping("/admin/instance/task/remove")
+    @DeleteMapping("/admins/instance/task")
     String removeTask(@RequestParam BigInteger idInstanciaTasca);
 
     @PostMapping("/admin/instance/task/clear")
     String clearTask(@RequestParam BigInteger idInstanciaTasca);
 
-    @PostMapping("/admin/instance/task/reload")
+    @PostMapping("/admins/instance/task/reload")
     String reloadTask(@RequestParam BigInteger idInstanciaTasca);
 
-    @PostMapping("/admin/instance/task/reactivate")
+    @PostMapping("/admins/instance/task/reactivate")
     String activateTask(@RequestParam BigInteger idInstanciaTasca);
 
-    @PostMapping("/admin/instance/task/edit")
+    @PostMapping("/admins/instance/task/edit")
     String editTask(@RequestParam BigInteger idInstanciaTasca);
 
-    @PostMapping("/admin/mailing")
+    @PostMapping("/admins/mailing")
     void sendMails( @RequestParam Integer idRol, @RequestParam("centres[]") List<Integer> centres,
 			@RequestParam String subject, @RequestParam String body);
 
-    @PostMapping("/admin/procedures/new")
+    @PutMapping("/admins/procedures")
     void newProcedure(@RequestParam Map<String,String> params, 
 			@RequestParam(name="idTascap[]", required=false) List<String> idTascap, 
 			@RequestParam(name="dataLimit[]", required=false) List<String> dataLimit, 
@@ -68,7 +70,7 @@ public interface AdminClient {
 			@RequestParam(name="idPlantilla[]", required=false) List<String> idPlantilla,
 			@RequestParam(name="informe[]", required=false) List<Boolean> informe);
     
-    @PostMapping("/admin/procedures/edit")
+    @PostMapping("/admins/procedures")
     void editProcedure(@RequestParam Map<String,String> params, 
 			@RequestParam(name="idTascap[]", required=false) List<String> idTascap, 
 			@RequestParam(name="dataLimit[]", required=false) List<String> dataLimit, 
@@ -87,21 +89,21 @@ public interface AdminClient {
 			@RequestParam(name="idPlantilla[]", required=false) List<String> idPlantilla,
 			@RequestParam(name="informe[]", required=false) List<Boolean> informe);
 
-    @PostMapping("/admin/procedures/remove")
+    @DeleteMapping("/admins/procedures")
     void removeProcedure(@RequestParam("idProces") Integer idProces);    
     
-    @PostMapping("/admin/userrole/remove")
+    @DeleteMapping("/admins/userrole")
     HashMap<String, Object> removeUserrole(@RequestParam("idRol") Integer idRol, @RequestParam("usuari") String usuari, 
 		@RequestParam("lugar") Integer lugar, @RequestParam("tlugar") String tlugar);
     
-    @PostMapping("/admin/userrole/new")
+    @PutMapping("/admins/userrole")
 	HashMap<String, Object> newUserrole(@RequestParam("idRol") Integer idRol, @RequestParam(name="usuari", required=false) String usuari, @RequestParam("centre") Integer idCentre, 
 			@RequestParam(name="titulacio", required=false) Integer idTitulacio, @RequestParam Map<String,String> params);
 	
-	@GetMapping("/admin/templates")
+	@GetMapping("/admins/templates")
 	List<String> getTemplates2();
 
-	@PostMapping("/admin/templates/inds/update")
+	@PostMapping("/admins/templates/inds/update")
 	void updateTemplateInds(@RequestParam(name="indicador[]", required=true) List<String> indicador,
 			@RequestParam(name="enquesta[]", required=true) List<String> enquesta,
 			@RequestParam(name="media[]", required=true) List<String> media,
@@ -109,10 +111,10 @@ public interface AdminClient {
 			@RequestParam(name="proces", required=true) String proces
 			);
 	
-	@GetMapping("/admin/acredita/{curs}/{grup}/{tambit}")  
+	@GetMapping("/admins/acredita/{curs}/{grup}/{tambit}")  
 	List<AcreditacioTransfer> acreditacionsByCurs(@PathVariable Integer curs, @PathVariable Integer grup, @PathVariable String tambit);
 
-	@PostMapping("/admin/acredita") 
+	@PostMapping("/admins/acredita") 
 	Acreditacio UpdateAcreditacio(@RequestParam String tlugar, @RequestParam Integer lugar, 
 									@RequestParam Integer grupCurs, @RequestParam Integer grupNum, @RequestParam Integer cursImpla,
 									@RequestParam String dataAcred, @RequestParam String dataRenov, @RequestParam String dataSegui,

+ 0 - 14
src/main/java/es/uv/saic/feign/AjaxClient.java

@@ -1,14 +0,0 @@
-package es.uv.saic.feign;
-
-import java.io.IOException;
-
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.GetMapping;
-
-import es.uv.saic.dto.ModelDTO;
-
-@FeignClient(name = "saic-core-service", contextId = "ajax-controller")
-public interface AjaxClient {
-    @GetMapping("/ajax/active/centres")
-	public ModelDTO getActiveCentres() throws IOException;
-}

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

@@ -24,37 +24,37 @@ import fr.opensagres.xdocreport.core.XDocReportException;
 @FeignClient(name = "saic-docs-service")
 public interface DocumentClient {
 
-    @PostMapping("/document/save")
+    @PostMapping("/documents/save")
     public Document save(@RequestBody Document doc);
 
-    @PostMapping("/findByCategoriaOrgan")
+    @PostMapping("/documents/categoria/organ")
     public Document findByCategoriaOrgan(@RequestBody CategoriaDTO categoria);
 
-    @GetMapping("/document/{idDocument}")
+    @GetMapping("/documents/{idDocument}")
     public Document findByID(@PathVariable("idDocument") Integer idDocument);
 
-    @PostMapping("/document/upload")
+    @PostMapping("/documents/upload")
     public String upload(@RequestBody DocumentTmpDTO documentTmpDTO);
 
-    @PostMapping("/document/archive")
+    @PostMapping("/documents/archive")
     public Document archive(@RequestBody Document doc);
 
-    @PostMapping("/archiveByOrgan")
+    @PostMapping("/documents/archive/organ")
     public void archiveByOrgan(@RequestBody ArchiveOrganDTO organ);
 
-    @GetMapping("/download/{fileName}")
+    @GetMapping("/downloads/{fileName}")
     @ResponseBody
 	public ResponseEntity<byte[]> download(@PathVariable("fileName") BigInteger idInstanciaTasca) throws IOException;		
 
-    @GetMapping(value="/download/document/{id}", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
+    @GetMapping(value="/downloads/document/{id}", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
 	@ResponseBody
 	public ResponseEntity<byte[]> downloadDocument(@PathVariable("id") Integer idDocument) throws FileNotFoundException;
 
-   	@GetMapping(value="/download/report/{t}/{p}", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
+   	@GetMapping(value="/downloads/report/{t}/{p}", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
 	@ResponseBody 
 	public ResponseEntity<FileSystemResource> downloadReport(@PathVariable("t") Integer idTitulacio, @PathVariable("p") String nomProces) throws IOException, XDocReportException;
 
-    @GetMapping(value="/download/template/{id}", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
+    @GetMapping(value="/downloads/template/{id}", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
 	@ResponseBody 
 	public ResponseEntity<byte[]> downloadTemplate(@PathVariable("id") BigInteger idTascai) throws IOException, XDocReportException;
 
@@ -70,7 +70,7 @@ public interface DocumentClient {
 			@PathVariable("evidencia") String evidencia, @PathVariable("curs") Integer curs,
             @PathVariable("tipusTasca") Integer tipusTasca) throws IOException, XDocReportException;
 
-    @GetMapping(value="/pdf/download/{idTascai}")
+    @GetMapping(value="/pdf/{idTascai}")
 	@ResponseBody
 	public byte[] downloadTemplatePdf(@PathVariable("idTascai") BigInteger idTascai) throws IOException, InterruptedException;
 

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

@@ -0,0 +1,16 @@
+package es.uv.saic.feign;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import es.uv.saic.dto.EmailDTO;
+
+@FeignClient(name = "saic-core-service", contextId = "email-controller")
+public interface EmailClient {
+    @PostMapping("emails/send")
+	public void sendEmail(@RequestBody EmailDTO email);
+
+    @PostMapping("/emails/add")
+    public void addEmail(@RequestBody EmailDTO email);
+}

+ 19 - 15
src/main/java/es/uv/saic/feign/IndicadorClient.java

@@ -14,27 +14,31 @@ import es.uv.saic.dto.EnquestaDTO;
 
 @FeignClient(name = "saic-core-service", contextId = "indicador-controller")
 public interface IndicadorClient {
-    @GetMapping("/indicadorEnquesta/findTypes")
+    @GetMapping("/indicadorEnquesta")
     List<String> findTypes();
 
-    @DeleteMapping("/delete/ByEnquestaCursAmbitEstudi")
-    public Integer deleteByEnquestaCursAmbitEstudi(@RequestBody EnquestaDTO enquestaDTO);
+    @DeleteMapping("/indicadorEnquesta/{enquesta}/{curs}/{ambit}/{estudi}")
+    public Integer deleteByEnquestaCursAmbitEstudi(@PathVariable("enquesta") String enquesta, @PathVariable("curs") Integer curs, 
+        @PathVariable("ambit") String ambit, @PathVariable("estudi") String estudi);
 
-    @PostMapping("/findByEnquestaCursAmbitEstudi")
-    public List<IndicadorEnquesta> findByEnquestaCursAmbitEstudi(@RequestBody EnquestaDTO enquestaDTO);
+    @PostMapping("/indicadorEnquesta/{enquesta}/{curs}/{ambit}/{estudi}")
+    public List<IndicadorEnquesta> findByEnquestaCursAmbitEstudi(@PathVariable("enquesta") String enquesta, @PathVariable("curs") Integer curs, 
+        @PathVariable("ambit") String ambit, @PathVariable("estudi") String estudi);
 
-    @DeleteMapping("/delete/current/{enquesta}")
-    public Integer deleteFromCurrent(@PathVariable String enquesta);
+    @DeleteMapping("/indicadorEnquesta/current/{enquesta}")
+    public Integer deleteFromCurrent(@PathVariable("enquesta") String enquesta);
     
-    @DeleteMapping("/delete/pending/{enquesta}")
-    public Integer deleteFromPending(@PathVariable String enquesta);
+    @DeleteMapping("/indicadorEnquesta/pending/{enquesta}")
+    public Integer deleteFromPending(@PathVariable("enquesta") String enquesta);
         
-    @DeleteMapping("/delete/duplicates/{enquesta}")
-    public Integer deleteDuplicates(@PathVariable String enquesta);
+    @DeleteMapping("/indicadorEnquesta/duplicates/{enquesta}")
+    public Integer deleteDuplicates(@PathVariable("enquesta") String enquesta);
     
-    @PostMapping("/findByEnquestaCursAmbitEstudiCentre")
-    public List<IndicadorEnquesta> findByEnquestaCursAmbitEstudiCentre(@RequestBody EnquestaDTO enquestaDTO);
+    @PostMapping("/indicadorEnquesta/{enquesta}/{curs}/{ambit}/{estudi}/{centre}")
+    public List<IndicadorEnquesta> findByEnquestaCursAmbitEstudiCentre(@PathVariable("enquesta") String enquesta, @PathVariable("curs") Integer curs, 
+        @PathVariable("ambit") String ambit, @PathVariable("estudi") String estudi, @PathVariable("centre") String centre);
     
-    @PostMapping("/findByEnquestaCursAmbitEstudiCentreTitulacio")
-    public List<IndicadorEnquesta> findByEnquestaCursAmbitEstudiCentreTitulacio(@RequestBody EnquestaDTO enquestaDTO);
+    @PostMapping("/indicadorEnquesta/{enquesta}/{curs}/{ambit}/{estudi}/{centre}/{titulacio}")
+    public List<IndicadorEnquesta> findByEnquestaCursAmbitEstudiCentreTitulacio(@PathVariable("enquesta") String enquesta, @PathVariable("curs") Integer curs, 
+        @PathVariable("ambit") String ambit, @PathVariable("estudi") String estudi, @PathVariable("centre") String centre, @PathVariable("titulacio") String titulacio);
 }

+ 1 - 1
src/main/java/es/uv/saic/feign/ManagerClient.java

@@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 
 @FeignClient(name = "saic-core-service", contextId = "manager-controller")
 public interface ManagerClient {
-    @PostMapping("/managers")
+    @PostMapping("/managers/form")
     HashMap<String, Object> managersForm(@RequestBody String usuari);
 
     @PostMapping("/managers/search")

+ 1 - 1
src/main/java/es/uv/saic/feign/NoticiaClient.java

@@ -9,6 +9,6 @@ import es.uv.saic.domain.Noticia;
 
 @FeignClient(name = "saic-core-service", contextId = "noticia-controller")
 public interface NoticiaClient {
-    @GetMapping("/noticia/findVisibles")
+    @GetMapping("/noticia")
     List<Noticia> findVisibles();
 }

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

@@ -17,53 +17,53 @@ import es.uv.saic.dto.OrganDTO;
 
 @FeignClient(name = "saic-core-service", contextId = "organ-controller")
 public interface OrganClient {
-    @GetMapping("/getCentres")
+    @GetMapping("/organs")
     List<OrganDTO> getCentres();
 
-    @GetMapping("/getActiveCentres")
+    @GetMapping("/organs/active")
     List<OrganDTO> getActiveCentres();
 
-    @GetMapping("/getTitulacionsWithCentre")
+    @GetMapping("/organs/titulacions")
     public List<OrganDTO> getTitulacionsWithCentre();
     
-    @GetMapping("/getAllIndsByRuct/{ruct}/{curs}")
+    @GetMapping("/organs/indicadors/{ruct}/{curs}")
     public List<IndicadorEnquesta> getAllIndsByRuct(@PathVariable Integer ruct, @PathVariable Integer curs);
 
-    @GetMapping("/findById/{tlugar}/{idTitulacio}")
+    @GetMapping("/organs/find/{tlugar}/{idTitulacio}")
     public OrganDTO findByID(@PathVariable String tlugar,  @PathVariable Integer idTitulacio);
 
-    @GetMapping("/getTitulacions/supervisor")
+    @GetMapping("/organs/supervisor")
     public List<OrganDTO> getTitulacionsSupervisor();
      
-    @GetMapping("/getTitulacionsByCentre/{centre}")
+    @GetMapping("/organs/titulacions/{centre}")
     public List<OrganDTO> getTitulacionsByCentre(@PathVariable Integer centre);
 
-    @PostMapping("/findOrgansByUsuari")
+    @PostMapping("/organs/usuari")
     public List<OrganDTO> findOrgansByUsuari(@RequestBody Usuari usuari);
 
-    @GetMapping("/findByRuct/{ruct}")
+    @GetMapping("/organs/findByRuct/{ruct}")
     public OrganDTO findByRuct(@PathVariable Integer ruct);
 
-    @PostMapping("/ajax/search/titulations")
+    @PostMapping("/organs/titulacions/usuari")
 	public HashMap<String, Object> getTitulationsByCenter(@RequestParam(name="centers[]", required=false) List<Integer> centres,
         @RequestParam String usuari ) throws IOException;
 
-    @PostMapping("/ajax/search/managers/titulations")
+    @PostMapping("/organs/titulacions/managers")
 	public HashMap<String, Object> getCenterTitulations(@RequestParam("center") Integer centre);
 
-    @PostMapping("/ajax/find/titulations2")
+    @PostMapping("/organs/titulacions/calendar")
 	public HashMap<String, Object> getTitulationsByCenters(@RequestParam("centers[]") List<Integer> centres, @RequestParam("procedure") Integer idProces) throws IOException;
 
-    @PostMapping("/ajax/find/titulations")
+    @PostMapping("/organs/titulacions/admin")
 	public HashMap<String, Object> getTitulationsByCenter(@RequestParam("center") Integer centre, @RequestParam("procedure") Integer idProces) throws IOException;
 
-    @PostMapping("/ajax/get/titulations")
+    @PostMapping("/organs/titulacions")
 	public HashMap<String, Object> getAllTitulationsByCenter(@RequestParam("center") Integer centre) throws IOException;
 
-    @PostMapping("/ajax/find/centers")
+    @PostMapping("/organs/centres")
 	public HashMap<String, Object> getAllCentresByAmbit(@RequestParam("procedure") Integer idProces) throws IOException;
 
-    @PostMapping("/getEquivalents")
+    @PostMapping("/organs/equivalents")
 	public List<Integer> getEquivalents(@RequestParam Integer lugar, @RequestParam String tlugar);
 }
 

+ 9 - 9
src/main/java/es/uv/saic/feign/PlantillaClient.java

@@ -17,32 +17,32 @@ import es.uv.saic.dto.TemplateDataDTO;
 public interface PlantillaClient {
 
     //Se usa
-    @GetMapping("/plantilla")
+    @GetMapping("/plantillas")
     List<Plantilla> findAll();
 
     //Se usa
-    @GetMapping("/plantilla/{id}")
+    @GetMapping("/plantillas/{id}")
     Plantilla findByID(@PathVariable("id") Integer id);
 
-    @GetMapping("/plantilla/{versio}/{codi}/{ambit}")
+    @GetMapping("/plantillas/{versio}/{codi}/{ambit}")
     Plantilla findByVersioCodiAmbit(@PathVariable("versio") Integer versio, @PathVariable("codi") String codi, @PathVariable("ambit") String ambit);
 
-    @PostMapping("/plantilla/save")
+    @PostMapping("/plantillas")
     String save(@RequestBody Plantilla plantilla);
 
-    @DeleteMapping("/plantilla/delete")
+    @DeleteMapping("/plantillas")
     String delete(@RequestBody Plantilla plantilla);
 
-    @GetMapping("/plantilla/used/{id}")
+    @GetMapping("/plantillas/used/{id}")
     Boolean isUsed(@PathVariable("id") Integer id);
 
-    @PostMapping("/addTemplateData")
+    @PostMapping("/plantillas/addTemplateData")
     String addTemplateData(@RequestBody TemplateDataDTO td);
 
     //Se usa
-    @PostMapping("/addTemplateData2")
+    @PostMapping("/plantillas/addTemplateData2")
     String addTemplateData2(@RequestBody TemplateDataDTO td);
 
-    @PostMapping("/savePDF")
+    @PostMapping("/plantillas/savePDF")
     String savePDF(@RequestBody PdfDTO pdf);
 }

+ 0 - 132
src/main/java/es/uv/saic/service/EmailService.java

@@ -1,132 +0,0 @@
-package es.uv.saic.service;
-
-import java.text.SimpleDateFormat;
-import java.util.LinkedList;
-import java.util.Queue;
-
-import jakarta.mail.MessagingException;
-
-import org.springframework.mail.MailSendException;
-import org.springframework.mail.SimpleMailMessage;
-import org.springframework.mail.javamail.JavaMailSender;
-import org.springframework.stereotype.Service;
-
-import es.uv.saic.domain.Calendari;
-import es.uv.saic.domain.Email;
-import es.uv.saic.domain.InstanciaTasca;
-import es.uv.saic.domain.Usuari;
-
-@Service
-public class EmailService {
-	private JavaMailSender mailSender;
-	private Queue<Email> pendingQueue  = new LinkedList<Email>();
-
-    public EmailService(JavaMailSender javaMailSender) {
-        this.mailSender = javaMailSender;
-    }
-    
-    public boolean sendActiveTaskNext() {
-    	if(!this.pendingQueue.isEmpty()) {
-	    	Email e = this.getNextEmail();
-	    	try {
-	    		if(e.getInstanciaTasca() != null) {
-	    			this.sendNewTaskMail(e.getUsusari(), e.getInstanciaTasca());
-	    		}
-	    		else {
-	    			this.sendMail(e.getUsusari().getEmail(), e.getSubject(), e.getBody());
-	    		}
-			} 
-	    	catch (MessagingException err) {
-				err.printStackTrace();
-			}
-	    	catch (MailSendException err) {
-	    		err.printStackTrace();
-	    	}
-	    	return true;
-	    }
-    	else {
-    		return false;
-    	}
-    }
-    
-    public void addEmail(Email email) {
-    	pendingQueue.add(email);
-    }
-    
-    private Email getNextEmail() {
-    	return this.pendingQueue.poll();
-    }
-    
-    public Queue<Email> getPendingQueue() {
-    	return this.pendingQueue;
-    }
-    
-    public boolean pendingQueueIsEmpty() {
-    	return this.pendingQueue.isEmpty();
-    }
-
-    public void sendMail(String to, String subject, String msg) throws MessagingException{
-
-    	SimpleMailMessage mailMessage = new SimpleMailMessage();
-        mailMessage.setTo(to);
-        mailMessage.setSubject(subject);
-        mailMessage.setText(msg);
-        mailMessage.setFrom("saic@uv.es");
-
-        mailSender.send(mailMessage);
-    }
-    
-    public void sendNewTaskMail(Usuari u, InstanciaTasca it) throws MessagingException{
-    	String subject = "Notificació de tasca a realitzar en SAIC";
-    	String msg = "Estimat/da usuari/a:\n" + 
-			    	"\n" + 
-			    	"El Sistema d'Assegurament Intern de la Qualitat (SAIC) de la Universitat de València li informa que té vosté una tasca per realitzar\n" + 
-			    	"\n" + 
-			    	"Tasca: "+it.getTasca().getTitolVal()+"\n" + 
-			    	"Procediment: "+it.getTasca().getProces().getTitolVal()+"\n" + 
-			    	"Centre/Titulació: "+it.getInstancia().getOrgan().getOrgan().getNomVal()+" / "+it.getInstancia().getOrgan().getNomVal()+"\n" + 
-			    	"Curs al qual s'aplica: "+Integer.toString(it.getInstancia().getProces().getCursAvaluat()-1) + "-" + Integer.toString(it.getInstancia().getProces().getCursAvaluat())+"\n" + 
-			    	"\n" + 
-			    	"Per a realitzar-la ha de connectar-se al SAIC i seguir els passos que allà es descriuen.\n" + 
-			    	"\n" + 
-			    	"Faça clic ací https://saic.uv.es per a accedir al Sistema d'Assegurament Intern de la Qualitat (SAIC).\n" + 
-			    	"\n" + 
-			    	"Per a consultes sobre procediments o la documentació que s'ha d'aportar, envie un correu a unitat.qualitat@uv.es\n" + 
-			    	"Per a qualsevol consulta tècnica, envie un correu a saic@uv.es\n" + 
-			    	"\n" + 
-			    	"----------" +
-			    	"\n" + 
-			    	"Estimado/a usuario/a:\n" + 
-			    	"\n" + 
-			    	"El Sistema de Aseguramiento Interno de la Calidad (SAIC) de la Universitat de València le informa que tiene Vd. una tarea por realizar:\n" + 
-			    	"\n" + 
-			    	"Tarea: "+it.getTasca().getTitolCas()+"\n" + 
-			    	"Procedimiento: "+it.getTasca().getProces().getTitolCas()+"\n" + 
-			    	"Centro/Titulación: "+it.getInstancia().getOrgan().getOrgan().getNomCas()+" / "+it.getInstancia().getOrgan().getNomCas()+"\n" + 
-			    	"Curso al que se aplica: "+Integer.toString(it.getInstancia().getProces().getCursAvaluat())+"\n" + 
-			    	"\n" + 
-			    	"Para realizarla debe Vd. conectarse al SAIC y seguir los pasos allí descritos.\n" + 
-			    	"\n" + 
-			    	"Pinche aquí https://saic.uv.es para acceder al Sistema de Aseguramiento Interno de la Calidad (SAIC).\n" + 
-			    	"\n" + 
-			    	"Para consultas sobre los procedimientos o la documentación a aportar, envíe un correo a unitat.qualitat@uv.es \n" +
-    				"Para cualquier consulta técnica, envíe un correo a saic@uv.es\n";
-    	this.sendMail(u.getEmail(), subject, msg);
-    }
-    
-    public void sendCalendarMail(Usuari u, Calendari c) throws MessagingException{
-    	String subject = "[SYS] Notificación de evento planificado en SAIC";
-    	String msg = "Estimado/a administrador:\n" + 
-			    	"\n" + 
-			    	"El siguiente evento está planificado para hoy.\n" + 
-			    	"\n" + 
-			    	"Nombre: "+c.getTitolCas()+"\n" + 
-			    	"ID Proceso: "+c.getIdProces().toString()+"\n" + 
-			    	"Ámbito: "+c.getAmbit()+"\n" + 
-			    	"Planificado para el día "+new SimpleDateFormat("dd/MM/yyyy").format(c.getData())+"\n"+
-			    	"\n" + 
-			    	"Acceda a https://saic.uv.es y realice las acciones pertinentes. \n" + 
-			    	"\n";
-    	this.sendMail(u.getEmail(), subject, msg);
-    }
-}

+ 8 - 6
src/main/java/es/uv/saic/service/InstanciaTascaService.java

@@ -26,10 +26,12 @@ import es.uv.saic.domain.TascaVersioTransfer;
 import es.uv.saic.domain.Organ;
 import es.uv.saic.domain.Usuari;
 import es.uv.saic.dto.CategoriaDTO;
+import es.uv.saic.dto.EmailDTO;
 import es.uv.saic.dto.InstanciaTascaDTO;
 import es.uv.saic.dto.TascaInformeTransferDTO;
 import es.uv.saic.feign.PlantillaClient;
 import es.uv.saic.feign.DocumentClient;
+import es.uv.saic.feign.EmailClient;
 
 @Service
 public class InstanciaTascaService {
@@ -45,9 +47,9 @@ public class InstanciaTascaService {
 	@Autowired
 	private InstanciaService instanciaService;
 	@Autowired
-	private EmailService es;
-	@Autowired
 	private PlantillaClient plc;
+	@Autowired
+	private EmailClient ec;
 	@Value("${saic.data.filePath}")
 	private String filePath;
 	
@@ -363,10 +365,10 @@ public class InstanciaTascaService {
 			}
 			
 			for(Usuari u : this.usuariService.getInstanceAsignedUsers(it.getInstancia().getIdInstancia())) {
-				Email email = new Email();
-				email.setInstanciaTasca(this.findActiveByInstancia(it.getInstancia().getIdInstancia()));
-				email.setUsusari(u);
-				es.addEmail(email);
+				EmailDTO email = new EmailDTO();
+				email.setIdInstanciaTasca(this.findActiveByInstancia(it.getInstancia().getIdInstancia()).getIdInstanciaTasca());
+				email.setUsuari(u.getUsuari());
+				ec.addEmail(email);
 			}
 			
 			if(this.findActiveByInstancia(it.getInstancia().getIdInstancia()).getTasca().getRol().getNomRol().equals("sys")) {

+ 0 - 1278
src/main/java/es/uv/saic/service/ParserService.java

@@ -1,1278 +0,0 @@
-package es.uv.saic.service;
-
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.HashMap;
-
-import org.apache.commons.lang.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-
-import es.uv.saic.domain.IndicadorEnquesta;
-
-//Este servicio no hay que adaptarlo
-@Service
-public class ParserService {
-	
-	@Autowired
-	private IndicadorEnquestaService ies;
-	@Autowired 
-	private SysStatusService sss;
-	@Value("${saic.parser.surveys.path}")
-	private String surveysPath;
-	@Value("${saic.uqserver.host}")
-	private String host;
-	@Value("${saic.uqserver.user}")
-	private String user;
-	@Value("${saic.uqserver.passwd}")
-	private String passwd;
-	@Value("${saic.uqserver.dbname.grau}")
-	private String dbnameGrau;
-	@Value("${saic.uqserver.dbname.master}")
-	private String dbnameMaster;
-	@Value("${saic.uqserver.dbname.prof}")
-	private String dbnameProf;
-	@Value("${saic.uqserver2.host}")
-	private String host2;
-	@Value("${saic.uqserver2.user}")
-	private String user2;
-	@Value("${saic.uqserver2.passwd}")
-	private String passwd2;
-	@Value("${saic.uqserver2.dbname.master}")
-	private String dbnameMaster2;
-	@Value("${saic.uqserver2.dbname.prof}")
-	private String dbnameProf2;
-	@Value("${saic.uqserver2.dbname.otros}")
-	private String dbnameOtros2;
-	@Value("${saic.uqserver2.dbname.doct}")
-	private String dbnameDoctorado2;
-	@Value("${saic.data.master}")
-	private String pathFilesMaster;
-	@Value("${saic.data.doctorado}")
-	private String pathFilesDoctorado;
-	@Value("${saic.data.evdocente}")
-	private String pathFilesEvdocente;
-	
-	
-	private HashMap<String, String> titsMap;
-	
-	public ParserService() {
-		titsMap = new HashMap<String, String>();
-		titsMap.put("TRAD", "1099");
-	}
-	
-	public String doParse(String database, String table, String year) throws ClassNotFoundException {
-		int r = 0;
-		switch(database) {
-			case "grado":
-				r += this.parseGrauFromUqServer(table, year);
-				break;
-			case "master":
-				r += this.parseMasterFromUqServer(table, year);
-				break;
-			case "evalprof":
-				r += this.parseEvalProf(table, year);
-				break;
-			case "otros":
-				r += this.parseOtros(table);
-				break;
-			case "pas":
-				r += this.parsePas(table, year);
-				break;
-			case "doctorado":
-				r += this.parseDoctorado(table, year);
-				break;
-			case "todos":
-				r += this.parseGrauFromUqServer(table, year);
-				r += this.parseMasterFromUqServer(table, year);
-				r += this.parseEvalProf(table, year);
-				r += this.parseDoctorado(table, year);
-				r += this.parseOtros(table);
-				break;
-			default: 
-				break;
-		}
-		return Integer.toString(r);
-	}
-		
-	public int parseOtros(String table) throws ClassNotFoundException {
-		Class.forName("com.mysql.cj.jdbc.Driver");
-		String connUrl = "jdbc:mysql://"+this.host2+"/"+this.dbnameOtros2+"?user="+this.user2+"&password="+this.passwd2;
-		int r = 0;
-		try (Connection connection = DriverManager.getConnection(connUrl)) {
-			switch(table) {
-				case "otros":
-					r += this.parseOtrosProfes(connection);
-					r += this.parseOtrosTasas(connection);
-					break;
-				case "enquestes":	
-					r += this.parseOtrosEncuestas(connection);
-					break;
-				case "docentia":
-					r += this.parseOtrosDocentia(connection);
-					break;
-				case "todos":
-					r += this.parseOtrosProfes(connection);
-					r += this.parseOtrosTasas(connection);
-					r += this.parseOtrosDocentia(connection);
-					break;
-				default:
-					break;
-			}
-		}
-		catch (SQLException ex) {
-			sss.err("Error when connecting survey database", ex.getMessage() + System.lineSeparator() + StringUtils.join(ex.getStackTrace(), System.lineSeparator()));
-            ex.printStackTrace();
-        }
-		return r;
-	}
-	
-	public int parsePas(String table, String year) throws ClassNotFoundException {
-		Class.forName("com.mysql.cj.jdbc.Driver");
-		String connUrl = "jdbc:mysql://"+this.host+"/"+this.dbnameGrau+"?user="+this.user+"&password="+this.passwd+"&serverTimezone=GMT";
-		int r = 0;
-		try (Connection connection = DriverManager.getConnection(connUrl)) {
-			r += this.parseDadesPas(connection, year);
-		}
-		catch (SQLException ex) {
-			sss.err("Error when connecting survey database", ex.getMessage() + System.lineSeparator() + StringUtils.join(ex.getStackTrace(), System.lineSeparator()));
-            ex.printStackTrace();
-        }
-		return r;
-	}
-	
-	public int parseEvalProf(String table, String year) throws ClassNotFoundException {
-		Class.forName("com.mysql.cj.jdbc.Driver");
-		String connUrl = "jdbc:mysql://"+this.host2+"/"+this.dbnameProf2+"?user="+this.user2+"&password="+this.passwd2;
-		int r = 0;
-		try (Connection connection = DriverManager.getConnection(connUrl)) {
-			r += this.parseEvalProfBD(connection, year);
-		}
-		catch (SQLException ex) {
-			sss.err("Error when connecting survey database", ex.getMessage() + System.lineSeparator() + StringUtils.join(ex.getStackTrace(), System.lineSeparator()));
-            ex.printStackTrace();
-        }
-		return r;
-	}
-	
-	public int parseGrauFromUqServer(String table, String year) throws ClassNotFoundException {	
-		
-		Class.forName("com.mysql.cj.jdbc.Driver");
-		String connUrl = "jdbc:mysql://"+this.host+"/"+this.dbnameGrau+"?user="+this.user+"&password="+this.passwd+"&serverTimezone=GMT";
-		int r = 0;
-		try (Connection connection = DriverManager.getConnection(connUrl)) {	
-			switch(table) {
-				case "dades1er":
-					r += this.parseGrauDades1er(connection, year);
-					break;
-				case "dades3er":
-					r += this.parseGrauDades3er(connection, year);
-					break;
-				case "dadesGraduats":
-					r += this.parseGrauDadesGraduats(connection, year);
-					break;
-				case "profes":
-					r += this.parseGrauProfes(connection, year);
-					break;
-				case "todos":
-					r += this.parseGrauDades1er(connection, year);
-					r += this.parseGrauDades3er(connection, year);
-					r += this.parseGrauDadesGraduats(connection, year);
-					r += this.parseGrauProfes(connection, year);
-					break;
-				default:
-					break;
-			}
-		}
-		catch (SQLException ex) {
-			sss.err("Error when connecting survey database", ex.getMessage() + System.lineSeparator() + StringUtils.join(ex.getStackTrace(), System.lineSeparator()));
-            ex.printStackTrace();
-        }
-		return r;
-	}
-	
-	public int parseMasterFromUqServer(String table, String year) throws ClassNotFoundException {	
-		
-		Class.forName("com.mysql.cj.jdbc.Driver");
-		String connUrl = "jdbc:mysql://"+this.host2+"/"+this.dbnameMaster2+"?user="+this.user2+"&password="+this.passwd2;
-		int r = 0;
-		try (Connection connection = DriverManager.getConnection(connUrl)) {
-			
-			switch(table) {
-				case "data":
-					r += this.parseMasterData(connection, year);
-					break;
-				case "datag":
-					r += this.parseMasterDataG(connection, year);
-					break;
-				case "profes":
-					r += this.parseMasterProfes(connection, year);
-					break;
-				case "todos":
-					r += this.parseMasterData(connection, year);
-					r += this.parseMasterDataG(connection, year);
-					r += this.parseMasterProfes(connection, year);
-					break;
-				default:
-					break;
-			}
-		}
-		catch (SQLException ex) {
-			sss.err("Error when connecting survey database", ex.getMessage() + System.lineSeparator() + StringUtils.join(ex.getStackTrace(), System.lineSeparator()));
-            ex.printStackTrace();
-        }
-		return r;
-	}
-	
-	public int parseDoctorado(String table, String year) throws ClassNotFoundException {	
-		
-		Class.forName("com.mysql.cj.jdbc.Driver");
-		String connUrl = "jdbc:mysql://"+this.host2+"/"+this.dbnameDoctorado2+"?user="+this.user2+"&password="+this.passwd2;
-		int r = 0;
-		try (Connection connection = DriverManager.getConnection(connUrl)) {
-			
-			switch(table) {
-				case "estud":
-					r += this.parseDocEstud(connection, year);
-					break;
-				case "etesi":
-					r += this.parseDocEtesi(connection, year);
-					break;
-				case "prof":
-					r += this.parseDocProf(connection, year);
-					break;
-				case "inds":
-					r += this.parseDocInds(connection, year);
-					break;
-				case "tasas":
-					r += this.parseDocTasas(connection, year);
-					break;
-				case "recom":
-					r += this.parseDocRecom(connection, year);
-					break;
-				case "todos":
-					r += this.parseDocEstud(connection, year);
-					r += this.parseDocEtesi(connection, year);
-					r += this.parseDocProf(connection, year);
-					r += this.parseDocInds(connection, year);
-					r += this.parseDocTasas(connection, year);
-					r += this.parseDocRecom(connection, year);
-					break;
-				default:
-					break;
-			}
-		}
-		catch (SQLException ex) {
-			sss.err("Error when connecting survey database", ex.getMessage() + System.lineSeparator() + StringUtils.join(ex.getStackTrace(), System.lineSeparator()));
-            ex.printStackTrace();
-        }
-		return r;
-	}
-		
-	private int execute(Statement statement, String[] queries) throws SQLException {
-		int r = 1;
-		for(String sql : queries) {
-			
-			System.out.println(sql);
-			
-	        ResultSet result = statement.executeQuery(sql);
-	        ResultSetMetaData resultMetadata = result.getMetaData();
-	        int columns = resultMetadata.getColumnCount();
-	   
-	        while (result.next()) {
-	        	String c = result.getString("centre");
-	        	String t = result.getString("tit");
-	        	String ambit = result.getString("ambit");
-	        	Integer titulacio = null;
-	        	Integer centre = null;
-	        		        	
-	        	boolean isvalid = false;
-	        	if(ambit.equals("T") && c != null && t != null) {
-	        		t = translate(t);
-	        		if(StringUtils.isNumeric(t) && StringUtils.isNumeric(c.replace("C", ""))) {
-	        			titulacio = Integer.parseInt(t);
-	        			centre = Integer.parseInt(c.replace("C", ""));
-	        			isvalid = true;
-	        		}
-	        	}
-	        	else if(ambit.equals("C") && c != null && t == null) {
-	        		if(StringUtils.isNumeric(c.replace("C", ""))) {
-	        			centre = Integer.parseInt(c.replace("C", ""));
-	        			isvalid = true;
-	        		}
-	        	}
-	        	else if(ambit.equals("U")) {
-	        		isvalid = true;
-	        	}
-	        		        	
-	        	if(isvalid) {
-	        		String enquesta = result.getString("enquesta");		        	
-		        	Integer curs = result.getInt("curs");
-		        	for(int i = 8; i <= columns; i++) {
-		        		IndicadorEnquesta ie = new IndicadorEnquesta();
-		            	ie.setEnquesta(enquesta);
-		        		ie.setTitulacio(titulacio);
-		        		ie.setCentre(centre);
-		        		ie.setCurs(curs);
-		        		ie.setAmbit(ambit); 
-		            	ie.setIndicador(resultMetadata.getColumnLabel(i).replace("_min", "").replace("_max", "").toLowerCase());
-		            	ie.setNum(null);
-		            	ie.setEstudi(result.getString("estudi").toLowerCase());
-		            	ie.setCursd(result.getString("cursd"));
-		            	String tipus = "avg";
-		            	if(resultMetadata.getColumnLabel(i).endsWith("_min")) {
-		            		tipus = "min";
-		            	}
-		            	else if(resultMetadata.getColumnLabel(i).endsWith("_max")) {
-		            		tipus = "max";
-		            	}
-		            	ie.setTipus(tipus);
-		            	try {
-		            		ie.setValor(result.getString(i).replace(",", "."));
-		            	}
-		            	catch(Exception ex) {
-		            		ie.setValor(null);
-		            	}
-		            	
-		            	ies.save(ie);
-		            	r+=1;
-		        	}   
-	        	}
-	        }
-		}
-		return r;
-	}
-	
-	private int executeRows(Statement statement, String[] queries) throws SQLException {
-		int r = 1;
-		for(String sql : queries) {
-			
-			System.out.println(sql);
-			
-	        ResultSet result = statement.executeQuery(sql);
-	   
-	        while (result.next()) {
-	        	String c = result.getString("centre");
-	        	String t = result.getString("tit");
-	        	String ambit = result.getString("ambit");
-	        	Integer titulacio = null;
-	        	Integer centre = null;
-	        		        	
-	        	boolean isvalid = false;
-	        	if(ambit.equals("T") && c != null && t != null) {
-	        		t = translate(t);
-	        		if(StringUtils.isNumeric(t) && StringUtils.isNumeric(c.replace("C", ""))) {
-	        			titulacio = Integer.parseInt(t);
-	        			centre = Integer.parseInt(c.replace("C", ""));
-	        			isvalid = true;
-	        		}
-	        	}
-	        	else if(ambit.equals("C") && c != null && t == null) {
-	        		if(StringUtils.isNumeric(c.replace("C", ""))) {
-	        			centre = Integer.parseInt(c.replace("C", ""));
-	        			isvalid = true;
-	        		}
-	        	}
-	        	else if(ambit.equals("U")) {
-	        		isvalid = true;
-	        	}
-	        		        	
-	        	if(isvalid) {
-		        	IndicadorEnquesta ie = new IndicadorEnquesta();
-	            	ie.setEnquesta(result.getString("enquesta"));
-	        		ie.setTitulacio(titulacio);
-	        		ie.setCentre(centre);
-	        		ie.setCurs(result.getInt("curs"));
-	        		ie.setAmbit(ambit); 
-	            	ie.setIndicador(result.getString("indicador").replace("_min", "").replace("_max", "").toLowerCase());
-	            	ie.setNum(result.getString("num"));
-	            	ie.setEstudi(result.getString("estudi").toLowerCase());
-	            	ie.setCursd(result.getString("cursd"));
-	            	String tipus = "avg";
-	            	if(result.getString("indicador").endsWith("_min")) {
-	            		tipus = "min";
-	            	}
-	            	else if(result.getString("indicador").endsWith("_max")) {
-	            		tipus = "max";
-	            	}
-	            	ie.setTipus(tipus);
-	            	try {
-	            		ie.setValor(result.getString("valor"));
-	            	}
-	            	catch(Exception ex) {
-	            		ie.setValor(null);
-	            	}
-	            	
-	            	ies.save(ie);
-	            	r+=1;  
-	        	}
-	        }
-		}
-		return r;
-	}
-	
-	private String translate(String t) {
-		if(StringUtils.isNumeric(t)) {
-			return t;
-		}
-		
-		String r = this.titsMap.get(t);
-		return r == null ? t : r;
-	}
-	
-	private int parseGrauDades1er(Connection connection, String year) throws SQLException {	
-		
-		Statement statement = connection.createStatement();
-		String[] queries = {
-				"SELECT 'dades_1er' AS enquesta, tit, cmostrar AS centre, CONCAT('20', RIGHT(curs, 2)) AS curs, null AS cursd, 'T' AS ambit, 'g' AS estudi, "
-				+ "(i01/N_enquestes)*100 AS i01, i02m AS i02, i03m AS i03, i03v2m AS i03v2, i04m AS i04, i05m AS i05, i06m AS i06, i07m AS i07, "
-				+ "i08m AS i08, i09m AS i09, i10m AS i10, i11m AS i11, i12m AS i12, i13m AS i13, i14m AS i14, i15m AS i15, "
-				+ "i16m AS i16, i17m AS i17, i18m AS i18, i19m AS i19, i20m AS i20, i21m AS i21, (i22_si/(i22_si+i22_no))*100 AS i22, "
-				+ "i24m AS i24, i24_titm AS i24_tit, i24_mercatm AS i24_mercat, (i25_si/(i25_si+i25_no))*100 AS i25, "
-				+ "(i26_si/(i26_si+i26_no))*100 AS i26, igual1m AS igual1 "
-				+ "FROM MDB_grau.recomptes_1erA a "
-				+ "LEFT JOIN MDB_grau.Centre b ON a.centre = b.centre "
-				+ "WHERE CONCAT('20', RIGHT(curs, 2)) >= "+year+" AND N_enquestes >= 3;",
-		
-				"SELECT 'dades_1er' AS enquesta, NULL AS tit, cmostrar AS centre, CONCAT('20', RIGHT(curs, 2)) AS curs, null AS cursd, 'C' AS ambit, 'g' AS estudi, "
-				+ "(i01/N_enquestes)*100 AS i01, i02m AS i02, i03m AS i03, i03v2m AS i03v2, i04m AS i04, i05m AS i05, i06m AS i06, "
-				+ "i07m AS i07, i08m AS i08, i09m AS i09, i10m AS i10, i11m AS i11, i12m AS i12, i13m AS i13, "
-				+ "i14m AS i14, i15m AS i15, i16m AS i16, i17m AS i17, i18m AS i18, i19m AS i19, i20m AS i20, "
-				+ "i21m AS i21, (i22_si/(i22_si+i22_no))*100 AS i22, i24m AS i24, i24_titm AS i24_tit, "
-				+ "i24_mercatm AS i24_mercat, (i25_si/(i25_si+i25_no))*100 AS i25, (i26_si/(i26_si+i26_no))*100 AS i26, igual1m AS igual1 "
-				+ "FROM MDB_grau.recomptes_1er_curscentre a "
-				+ "LEFT JOIN MDB_grau.Centre b ON a.centre = b.centre "
-				+ "WHERE CONCAT('20', RIGHT(curs, 2)) >= "+year+" AND N_enquestes >= 3;",
-				
-				"SELECT 'dades_1er' AS enquesta, NULL AS tit, cmostrar AS centre, CONCAT('20', RIGHT(curs, 2)) AS curs, null AS cursd, 'C' AS ambit, 'g' AS estudi, "
-				+ "bibliom AS biblio, cafem AS cafe, reprom AS repro "
-				+ "FROM MDB_grau.recomptes_1er_curscentre_bibcaf a "
-				+ "LEFT JOIN MDB_grau.Centre b ON a.centre = b.centre "
-				+ "WHERE CONCAT('20', RIGHT(curs, 2)) >= "+year+";",
-		
-				"SELECT 'dades_1er' AS enquesta, NULL AS tit, NULL AS centre, CONCAT('20', RIGHT(curs, 2)) AS curs, null AS cursd, 'U' AS ambit, 'g' AS estudi, "
-				+ "(i01/N_enquestes)*100 AS i01, i02m AS i02, i03m AS i03, i03v2m AS i03v2, i04m AS i04, i05m AS i05, i06m AS i06, "
-				+ "i07m AS i07, i08m AS i08, i09m AS i09, i10m AS i10, i11m AS i11, i12m AS i12, i13m AS i13, "
-				+ "i14m AS i14, i15m AS i15, i16m AS i16, i17m AS i17, i18m AS i18, i19m AS i19, i20m AS i20, "
-				+ "i21m AS i21, (i22_si/(i22_si+i22_no))*100 AS i22, i24m AS i24, i24_titm AS i24_tit, "
-				+ "i24_mercatm AS i24_mercat, (i25_si/(i25_si+i25_no))*100 AS i25, (i26_si/(i26_si+i26_no))*100 AS i26, igual1m AS igual1 "
-				+ "FROM MDB_grau.global WHERE CONCAT('20', RIGHT(curs, 2)) >= "+year+" AND N_enquestes >= 3;",
-				
-				"SELECT 'dades_1er' AS enquesta, NULL AS tit, NULL AS centre, CONCAT('20', RIGHT(curs, 2)) AS curs, null AS cursd, 'U' AS ambit, 'g' AS estudi, "
-				+ "bibliom AS biblio, cafem AS cafe, reprom AS repro "
-				+ "FROM MDB_grau.global_1er_bibcaf WHERE CONCAT('20', RIGHT(curs, 2)) >= "+year+";",
-				
-				"SELECT 'dades_1er' AS enquesta, NULL AS tit, cmostrar AS centre, CONCAT('20', RIGHT(curs, 2)) AS curs, null AS cursd, 'C' AS ambit, 'g' AS estudi, "
-				+ "max_pi01*100 AS i01_max, min_pi01*100 AS i01_min, max_i02m AS i02_max, min_i02m AS i02_min, "
-				+ "max_i03v2m AS i03v2_max, min_i03v2m AS i03v2_min, max_i07m AS i07_max, min_i07m AS i07_min, "
-				+ "max_i08m AS i08_max, min_i08m AS i08_min, "
-				+ "max_i16m AS i16_max, min_i16m AS i16_min, max_i17m AS i17_max, min_i17m AS i17_min, "
-				+ "max_pi22*100 AS i22_max, min_pi22*100 AS i22_min, max_pi25*100 AS i25_max, "
-				+ "min_pi25*100 AS i25_min, max_pi26*100 AS i26_max, min_pi26*100 AS i26_min "
-				+ "FROM MDB_grau.MinMax_1er_curscentre a "
-				+ "LEFT JOIN MDB_grau.Centre b ON a.centre = b.centre "
-				+ "WHERE CONCAT('20', RIGHT(curs, 2)) >= "+year+";"};
-		
-		return this.execute(statement, queries);
-	}
-	
-	private int parseGrauDades3er(Connection connection, String year) throws SQLException {	
-		
-		Statement statement = connection.createStatement();
-		String[] queries = {
-				"SELECT 'dades_3er' AS enquesta, tit, cmostrar AS centre, CONCAT('20', RIGHT(curs, 2)) AS curs, null AS cursd, 'T' AS ambit, 'g' AS estudi, "
-				+ "(i01/N_enquestes)*100 AS i01, i02m AS i02, i03m AS i03, i04m AS i04, i05m AS i05, i06m AS i06, i07m AS i07, "
-				+ "i08m AS i08, i09m AS i09, i10m AS i10, i11m AS i11, i12m AS i12, i13m AS i13, i14m AS i14, i15m AS i15, "
-				+ "i16m AS i16, i17m AS i17, i18m AS i18, i19m AS i19, i20m AS i20, i21m AS i21, i22m AS i22, "
-				+ "i24m AS i24, i25_titm AS i24_tit, i25_mercatm AS i24_mercat, i26m AS i26, igual1m AS igual1  "
-				+ "FROM MDB_grau.recomptes_3erA a "
-				+ "LEFT JOIN MDB_grau.Centre b ON a.centre = b.centre "
-				+ "WHERE CONCAT('20', RIGHT(curs, 2)) >= "+year+" AND N_enquestes >= 3;",
-				
-				"SELECT 'dades_3er' AS enquesta, NULL AS tit, cmostrar AS centre, CONCAT('20', RIGHT(curs, 2)) AS curs, null AS cursd, 'C' AS ambit, 'g' AS estudi, "
-				+ "(i01/N_enquestes)*100 AS i01, i02m AS i02, i03m AS i03, i04m AS i04, i05m AS i05, i06m AS i06, "
-				+ "i07m AS i07, i08m AS i08, i09m AS i09, i10m AS i10, i11m AS i11, i12m AS i12, i13m AS i13, "
-				+ "i14m AS i14, i15m AS i15, i16m AS i16, i17m AS i17, i18m AS i18, i19m AS i19, i20m AS i20, "
-				+ "i21m AS i21, i22m AS i22, i24m AS i24, i25_titm AS i24_tit, i25_mercatm AS i24_mercat, "
-				+ "i26m AS i26, igual1m AS igual1  "
-				+ "FROM MDB_grau.recomptes_3er_curscentre a "
-				+ "LEFT JOIN MDB_grau.Centre b ON a.centre = b.centre "
-				+ "WHERE CONCAT('20', RIGHT(curs, 2)) >= "+year+" AND N_enquestes >= 3;",
-				
-				"SELECT 'dades_3er' AS enquesta, NULL AS tit, cmostrar AS centre, CONCAT('20', RIGHT(curs, 2)) AS curs, null AS cursd, 'C' AS ambit, 'g' AS estudi, "
-				+ "bibliom AS biblio, cafem AS cafe, reprom AS repro "
-				+ "FROM MDB_grau.recomptes_3er_curscentre_bibcaf a "
-				+ "LEFT JOIN MDB_grau.Centre b ON a.centre = b.centre "
-				+ "WHERE CONCAT('20', RIGHT(curs, 2)) >= "+year+";",
-				
-				"SELECT 'dades_3er' AS enquesta, NULL AS tit, NULL AS centre, CONCAT('20', RIGHT(curs, 2)) AS curs, null AS cursd, 'U' AS ambit, 'g' AS estudi, "
-				+ "(i01/N_enquestes)*100 AS i01, i02m AS i02, i03m AS i03, i04m AS i04, i05m AS i05, i06m AS i06, "
-				+ "i07m AS i07, i08m AS i08, i09m AS i09, i10m AS i10, i11m AS i11, i12m AS i12, i13m AS i13, "
-				+ "i14m AS i14, i15m AS i15, i16m AS i16, i17m AS i17, i18m AS i18, i19m AS i19, i20m AS i20, "
-				+ "i21m AS i21, i22m AS i22, i24m AS i24, i25_titm AS i24_tit, i25_mercatm AS i24_mercat, "
-				+ "i26m AS i26, igual1m AS igual1  "
-				+ "FROM MDB_grau.global_3er WHERE CONCAT('20', RIGHT(curs, 2)) >= "+year+" AND N_enquestes >= 3",
-				
-				"SELECT 'dades_3er' AS enquesta, NULL AS tit, NULL AS centre, CONCAT('20', RIGHT(curs, 2)) AS curs, null AS cursd, 'U' AS ambit, 'g' AS estudi, "
-				+ "bibliom AS biblio, cafem AS cafe, reprom AS repro "
-				+ "FROM MDB_grau.global_3er_bibcaf WHERE CONCAT('20', RIGHT(curs, 2)) >= "+year+";",
-				
-				"SELECT 'dades_3er' AS enquesta, NULL AS tit, cmostrar AS centre, CONCAT('20', RIGHT(curs, 2)) AS curs, null AS cursd, 'C' AS ambit, 'g' AS estudi, "
-				+ "max_pi01*100 AS i01_max, min_pi01*100 AS i01_min, max_i02m AS i02_max, min_i02m AS i02_min, "
-				+ "max_i08m AS i08_max, min_i08m AS i08_min, max_i02m AS i09_max, min_i09m AS i09_min, "
-				+ "max_i18m AS i18_max, min_i18m AS i18_min, max_i20m AS i20_max, min_i20m AS i20_min "
-				+ "FROM MDB_grau.MinMax_3er_curscentre a "
-				+ "LEFT JOIN MDB_grau.Centre b ON a.centre = b.centre "
-				+ "WHERE CONCAT('20', RIGHT(curs, 2)) >= "+year+";"};
-		
-		return this.execute(statement, queries);
-	}
-	
-	private int parseGrauDadesGraduats(Connection connection, String year) throws SQLException {	
-		
-		Statement statement = connection.createStatement();
-		String[] queries = {
-				"SELECT 'dades_graduats' AS enquesta, tit, cmostrar AS centre, CONCAT('20', RIGHT(cursf, 2)) AS curs, null AS cursd, 'T' AS ambit, 'g' AS estudi, "
-				+ "it01m_pf AS it01_pf, it02m_pf AS it02_pf, it03m_pf AS it03_pf, it04m_comp AS it04_comp, it05m_comp AS it05_comp, "
-				+ "it06m_comp AS it06_comp, it07m_comp AS it07_comp, it08m_comp AS it08_comp, it09m_comp AS it09_comp, "
-				+ "it10m_de AS it10_de, it11m_de AS it11_de, it12m_de AS it12_de, it13m_de AS it13_de, it14m_de AS it14_de, "
-				+ "it15m_de AS it15_de, it17m_pe AS it17_pe, it18m_pe AS it18_pe, it19m_pe AS it19_pe, it20m_pe AS it20_pe, "
-				+ "it21m_pe AS it21_pe, it22m_pe AS it22_pe, it25m_mob AS it25_mob, it26m_mob AS it26_mob, it27m_mob AS it27_mob, "
-				+ "it28m_mob AS it28_mob, it29m_mob AS it29_mob, it30m_mob AS it30_mob, it31m_mob AS it31_mob, it32m_mob AS it32_mob, "
-				+ "it33m_tfg AS it33_tfg, it34m_tfg AS it34_tfg, it35m_tfg AS it35_tfg, it36m_tfg AS it36_tfg, it37m_tfg AS it37_tfg, "
-				+ "it39m_treb AS it39_treb, it40m_treb AS it40_treb, it41m_treb AS it41_treb, it42m_treb AS it42_treb, "
-				+ "gm_Qprof AS g_Qprof, gm_instal AS g_instal, gm_exp AS g_exp, gm_recomana AS g_recomana "
-				+ "FROM MDB_grau.GMitjanes_xtitcursfA a "
-				+ "LEFT JOIN MDB_grau.Centre b ON a.centre = b.centre "
-				+ "WHERE CONCAT('20', RIGHT(cursf, 2)) >= "+year+" AND total >= 3;",
-				
-				"SELECT 'dades_graduats' AS enquesta, NULL AS tit, cmostrar AS centre, CONCAT('20', RIGHT(cursf, 2)) AS curs, null AS cursd, 'C' AS ambit, 'g' AS estudi, "
-				+ "it01m_pf AS it01_pf, it02m_pf AS it02_pf, it03m_pf AS it03_pf, it04m_comp AS it04_comp, it05m_comp AS it05_comp, "
-				+ "it06m_comp AS it06_comp, it07m_comp AS it07_comp, it08m_comp AS it08_comp, it09m_comp AS it09_comp, "
-				+ "it10m_de AS it10_de, it11m_de AS it11_de, it12m_de AS it12_de, it13m_de AS it13_de, it14m_de AS it14_de, "
-				+ "it15m_de AS it15_de, it17m_pe AS it17_pe, it18m_pe AS it18_pe, it19m_pe AS it19_pe, it20m_pe AS it20_pe, "
-				+ "it21m_pe AS it21_pe, it22m_pe AS it22_pe, it25m_mob AS it25_mob, it26m_mob AS it26_mob, it27m_mob AS it27_mob, "
-				+ "it28m_mob AS it28_mob, it29m_mob AS it29_mob, it30m_mob AS it30_mob, it31m_mob AS it31_mob, it32m_mob AS it32_mob, "
-				+ "it33m_tfg AS it33_tfg, it34m_tfg AS it34_tfg, it35m_tfg AS it35_tfg, it36m_tfg AS it36_tfg, it37m_tfg AS it37_tfg, "
-				+ "it39m_treb AS it39_treb, it40m_treb AS it40_treb, it41m_treb AS it41_treb, it42m_treb AS it42_treb, "
-				+ "gm_Qprof AS g_Qprof, gm_instal AS g_instal, gm_exp AS g_exp, gm_recomana AS g_recomana "
-				+ "FROM MDB_grau.GMitjanes_xcentrecursf a "
-				+ "LEFT JOIN MDB_grau.Centre b ON a.centre = b.centre "
-				+ "WHERE CONCAT('20', RIGHT(cursf, 2)) >= "+year+" AND total >= 3;",
-				
-				"SELECT 'dades_graduats' AS enquesta, NULL AS tit, NULL AS centre, CONCAT('20', RIGHT(cursf, 2)) AS curs, null AS cursd, 'U' AS ambit, 'g' AS estudi, "
-				+ "it01m_pf AS it01_pf, it02m_pf AS it02_pf, it03m_pf AS it03_pf, it04m_comp AS it04_comp, it05m_comp AS it05_comp, "
-				+ "it06m_comp AS it06_comp, it07m_comp AS it07_comp, it08m_comp AS it08_comp, it09m_comp AS it09_comp, "
-				+ "it10m_de AS it10_de, it11m_de AS it11_de, it12m_de AS it12_de, it13m_de AS it13_de, it14m_de AS it14_de, "
-				+ "it15m_de AS it15_de, it17m_pe AS it17_pe, it18m_pe AS it18_pe, it19m_pe AS it19_pe, it20m_pe AS it20_pe, "
-				+ "it21m_pe AS it21_pe, it22m_pe AS it22_pe, it25m_mob AS it25_mob, it26m_mob AS it26_mob, it27m_mob AS it27_mob, "
-				+ "it28m_mob AS it28_mob, it29m_mob AS it29_mob, it30m_mob AS it30_mob, it31m_mob AS it31_mob, it32m_mob AS it32_mob, "
-				+ "it33m_tfg AS it33_tfg, it34m_tfg AS it34_tfg, it35m_tfg AS it35_tfg, it36m_tfg AS it36_tfg, it37m_tfg AS it37_tfg, "
-				+ "it39m_treb AS it39_treb, it40m_treb AS it40_treb, it41m_treb AS it41_treb, it42m_treb AS it42_treb, "
-				+ "gm_Qprof AS g_Qprof, gm_instal AS g_instal, gm_exp AS g_exp, gm_recomana AS g_recomana "
-				+ "FROM MDB_grau.GMitjanes_xcursf WHERE pertany = 1 AND CONCAT('20', RIGHT(cursf, 2)) >= "+year+" AND total >= 3;",
-				
-				"SELECT 'dades_graduats' AS enquesta, NULL AS tit, cmostrar AS centre, CONCAT('20', RIGHT(cursf, 2)) AS curs, null AS cursd, 'C' AS ambit, 'g' AS estudi, "
-				+ "max_it13m_de AS it13_de_max, min_it13m_de AS it13_de_min, max_it14m_de AS it14_de_max, min_it14m_de AS it14_de_min, "
-				+ "max_it15m_de AS it15_de_max, min_it15m_de AS it15_de_min, max_it17m_pe AS it17_pe_max, min_it17m_pe AS it17_pe_min, "
-				+ "max_it18m_pe AS it18_pe_max, min_it18m_pe AS it18_pe_min, max_it19m_pe AS it19_pe_max, min_it19m_pe AS it19_pe_min, "
-				+ "max_it20m_pe AS it20_pe_max, min_it20m_pe AS it20_pe_min, max_it21m_pe AS it21_pe_max, min_it21m_pe AS it21_pe_min,"
-				+ "max_it22m_pe AS it22_pe_max, min_it22m_pe AS it22_pe_min, max_it25m_mob AS it25_mob_max, min_it25m_mob AS it25_mob_min, "
-				+ "max_it26m_mob AS it26_mob_max, min_it26m_mob AS it26_mob_min, max_it27m_mob AS it27_mob_max, min_it27m_mob AS it27_mob_min,"
-				+ "max_it28m_mob AS it28_mob_max, min_it28m_mob AS it28_mob_min, max_it29m_mob AS it29_mob_max, min_it29m_mob AS it29_mob_min, "
-				+ "max_it30m_mob AS it30_mob_max, min_it30m_mob AS it30_mob_min, max_it310m_mob AS it31_mob_max, min_it31m_mob AS it31_mob_min, "
-				+ "max_it32m_mob AS it32_mob_max, min_it32m_mob AS it32_mob_min, "
-				+ "max_gm_instal AS g_instal_max, min_gm_instal AS g_instal_min "
-				+ "FROM MDB_grau.MinMax_grad_cursfcentre a "
-				+ "LEFT JOIN MDB_grau.Centre b ON a.centre = b.centre "
-				+ "WHERE CONCAT('20', RIGHT(cursf, 2)) >= "+year+";"};
-		
-		return this.execute(statement, queries);
-	}
-	
-	private int parseGrauProfes(Connection connection, String year) throws SQLException {	
-		
-		Statement statement = connection.createStatement();
-		String[] queries = {
-				"SELECT 'profes' AS enquesta, tit, cmostrar AS centre, CONCAT('20', RIGHT(curs, 2)) AS curs, null AS cursd, 'T' AS ambit, 'g' AS estudi, "
-				+ "a2m AS a2, a3m AS a3, a4m AS a4, a6m AS a6, a7m AS a7, a9m AS a9, a11m AS a11, a13m AS a13, a14m AS a14, "
-				+ "a15_1m AS a15_1, a15_2m AS a15_2, a15_3m AS a15_3, a15_4m AS a15_4, a16m AS a16, a17m AS a17, a19m AS a19, "
-				+ "a20m AS a20, a21m AS a21, a27m AS a27, a28m AS a28, a29m AS a29, a31m AS a31, a32m AS a32 "
-				+ "FROM MDB_grau.recomptes_profesA a "
-				+ "LEFT JOIN MDB_grau.Centre b ON a.centre = b.centre "
-				+ "WHERE CONCAT('20', RIGHT(curs, 2)) >= "+year+";",
-				
-				"SELECT 'profes' AS enquesta, NULL AS tit, cmostrar AS centre, CONCAT('20', RIGHT(curs, 2)) AS curs, null AS cursd, 'C' AS ambit, 'g' AS estudi, "
-				+ "a2m AS a2, a3m AS a3, a4m AS a4, a6m AS a6, a7m AS a7, a9m AS a9, a11m AS a11, "
-				+ "a13m AS a13, a14m AS a14, a15_1m AS a15_1, a15_2m AS a15_2, a15_3m AS a15_3, "
-				+ "a15_4m AS a15_4, a16m AS a16, a17m AS a17, a19m AS a19, a20m AS a20, a21m AS a21, "
-				+ "a27m AS a27, a28m AS a28, a29m AS a29, a31m AS a31, a32m AS a32 "
-				+ "FROM MDB_grau.recomptes_profes_curscentre a "
-				+ "LEFT JOIN MDB_grau.Centre b ON a.centre = b.centre "
-				+ "WHERE CONCAT('20', RIGHT(curs, 2)) >= "+year+";",
-				
-				"SELECT 'profes' AS enquesta, NULL AS tit, NULL AS centre, CONCAT('20', RIGHT(curs, 2)) AS curs, null AS cursd, 'U' AS ambit, 'g' AS estudi, "
-				+ "a2m AS a2, a3m AS a3, a4m AS a4, a6m AS a6, a7m AS a7, a9m AS a9, a11m AS a11, "
-				+ "a13m AS a13, a14m AS a14, a15_1m AS a15_1, a15_2m AS a15_2, a15_3m AS a15_3, "
-				+ "a15_4m AS a15_4, a16m AS a16, a17m AS a17, a19m AS a19, a20m AS a20, a21m AS a21, "
-				+ "a27m AS a27, a28m AS a28, a29m AS a29, a31m AS a31, a32m AS a32 "
-				+ "FROM MDB_grau.global_profes WHERE CONCAT('20', RIGHT(curs, 2)) >= "+year+"",
-				
-				"SELECT 'profes' AS enquesta, NULL AS tit, cmostrar AS centre, CONCAT('20', RIGHT(curs, 2)) AS curs, null AS cursd, 'C' AS ambit, 'g' AS estudi, "
-				+ "max_A9m AS a9_max, min_A9m AS a9_min, max_A11m AS a11_max, min_A11m AS a11_min, "
-				+ "max_A13m AS a13_max, min_A13m AS a13_min, max_A16m AS a16_max, min_A16m AS a16_min,"
-				+ "max_A17m AS a17_max, min_A17m AS a17_min, max_A19m AS a19_max, min_A19m AS a19_min,"
-				+ "max_A28m AS a28_max, min_A28m AS a28_min "
-				+ "FROM MDB_grau.MinMax_profes_curscentre a "
-				+ "LEFT JOIN MDB_grau.Centre b ON a.centre = b.centre "
-				+ "WHERE CONCAT('20', RIGHT(curs, 2)) >= "+year+";"};
-		
-		return this.execute(statement, queries);
-	}
-	
-	private int parseDadesPas(Connection connection, String year) throws SQLException {	
-		
-		Statement statement = connection.createStatement();
-		String[] queries = {
-				"SELECT 'dadespas' AS enquesta, NULL AS tit, cmostrar AS centre, CONCAT('20', RIGHT(curs, 2)) AS curs, null AS cursd, 'C' AS ambit, 'u' AS estudi, "
-				+ "i01m AS i01, i02m AS i02, i03m AS i03, i04m AS i04, i05m AS i05, i06m AS i06, i07m AS i07, i08m AS i08, "
-				+ "i09m AS i09, i10m AS i10, i11m AS i11, i12m AS i12, i13m AS i13, i14m AS i14, i15m AS i15, i16m AS i16, "
-				+ "g1m AS g1, g2m AS g2, g3m AS g3, g4m AS g4 "
-				+ "FROM MDB_grau.recomptesPAS_centre a "
-				+ "LEFT JOIN MDB_grau.Centre b ON a.centre = b.centre "
-				+ "WHERE CONCAT('20', RIGHT(curs, 2)) >= "+year+";",
-				
-				"SELECT 'dadespas' AS enquesta, NULL AS tit, NULL AS centre, CONCAT('20', RIGHT(curs, 2)) AS curs, null AS cursd, 'U' AS ambit, 'u' AS estudi,"
-				+ "i01m AS i01, i02m AS i02, i03m AS i03, i04m AS i04, i05m AS i05, i06m AS i06, i07m AS i07, i08m AS i08, "
-				+ "i09m AS i09, i10m AS i10, i11m AS i11, i12m AS i12, i13m AS i13, i14m AS i14, i15m AS i15, i16m AS i16, "
-				+ "g1m AS g1, g2m AS g2, g3m AS g3, g4m AS g4 "
-				+ "FROM MDB_grau.global_PAS a "
-				+ "WHERE CONCAT('20', RIGHT(curs, 2)) >= "+year+";"};
-		
-		return this.execute(statement, queries);
-	}
-	
-	private int parseMasterData(Connection connection, String year) throws SQLException {	
-		
-		Statement statement = connection.createStatement();
-		String[] queries = {
-				"SELECT 'data' AS enquesta, b.tit AS tit, c.cmostrar AS centre, CONCAT('20', RIGHT(ACURS, 2)) AS curs, null AS cursd, 'T' AS ambit, 'm' AS estudi, "
-				+ "IT01 AS it01, IT02 AS it02, IT03 AS it03, IT04 AS it04, IT05 AS it05, IT06 AS it06, "
-				+ "IT07 AS it07, IT08 AS it08, IT09 AS it09, IT10 AS it10, IT11 AS it11, IT12 AS it12, "
-				+ "IT13 AS it13, IT14 AS it14, IT15 AS it15, IT16 AS it16, IT17 AS it17, IT18 AS it18, "
-				+ "IT19 AS it19, IT21 AS it21, IT22 AS it22, IT23 AS it23, IT24 AS it24, IT25 AS it25, "
-				+ "IT26 AS it26, IT27 AS it27, IT28 AS it28, IT29 AS it29, IT30 AS it30, IT30 AS it30, "
-				+ "IT31 AS it31, IT32 AS it32, IT33 AS it33, G_satis AS g_satis, G_RelQP AS g_relqp, "
-				+ "G_QProf AS g_qprof, G_Postg AS g_postg, G_Interes AS g_interes, G_Util AS g_util "
-				+ "FROM MDB_master.Mitjanes_final a "
-				+ "LEFT JOIN MDB_master.ESTUDIS b ON a.tit = b.tit "
-				+ "LEFT JOIN MDB_master.Centre c ON b.centre = c.centre "
-				+ "WHERE CONCAT('20', RIGHT(ACURS, 2)) >= "+year+";",
-				
-				/*+ "AND a.TIT NOT IN(SELECT DISTINCT(TIT) FROM MDB_master.Mitjanes_final_codigeneric) "
-				+ "UNION "
-				+ "SELECT 'data' AS enquesta, b.tit AS tit, c.cmostrar AS centre, CONCAT('20', RIGHT(ACURS, 2)) AS curs, null AS cursd, 'T' AS ambit, 'm' AS estudi, "
-				+ "IT01 AS it01, IT02 AS it02, IT03 AS it03, IT04 AS it04, IT05 AS it05, IT06 AS it06, "
-				+ "IT07 AS it07, IT08 AS it08, IT09 AS it09, IT10 AS it10, IT11 AS it11, IT12 AS it12, "
-				+ "IT13 AS it13, IT14 AS it14, IT15 AS it15, IT16 AS it16, IT17 AS it17, IT18 AS it18, "
-				+ "IT19 AS it19, IT21 AS it21, IT22 AS it22, IT23 AS it23, IT24 AS it24, IT25 AS it25, "
-				+ "IT26 AS it26, IT27 AS it27, IT28 AS it28, IT29 AS it29, IT30 AS it30, IT30 AS it30, "
-				+ "IT31 AS it31, IT32 AS it32, IT33 AS it33, G_satis AS g_satis, G_RelQP AS g_relqp, "
-				+ "G_QProf AS g_qprof, G_Postg AS g_postg, G_Interes AS g_interes, G_Util AS g_util, gcovidm AS gcovid "
-				+ "FROM MDB_master.Mitjanes_final_codigeneric a "
-				+ "LEFT JOIN MDB_master.ESTUDIS b ON a.tit = b.tit "
-				+ "LEFT JOIN MDB_master.Centre c ON b.centre = c.centre "
-				+ "WHERE Total >= 3 AND CONCAT('20', RIGHT(ACURS, 2)) >= "+year+";",*/
-				
-				"SELECT 'data' AS enquesta, NULL AS tit, b.cmostrar AS centre, CONCAT('20', RIGHT(ACURS, 2)) AS curs, null AS cursd, 'C' AS ambit, 'm' AS estudi, "
-				+ "IT01 AS it01, IT02 AS it02, IT03 AS it03, IT04 AS it04, IT05 AS it05, IT06 AS it06, "
-				+ "IT07 AS it07, IT08 AS it08, IT09 AS it09, IT10 AS it10, IT11 AS it11, IT12 AS it12, IT13 AS it13, "
-				+ "IT14 AS it14, IT15 AS it15, IT16 AS it16, IT17 AS it17, IT18 AS it18, IT19 AS it19, "
-				+ "IT21 AS it21, IT22 AS it22, IT23 AS it23, IT24 AS it24, IT25 AS it25, IT26 AS it26, "
-				+ "IT27 AS it27, IT28 AS it28, IT29 AS it29, IT30 AS it30, IT30 AS it30, IT31 AS it31, "
-				+ "IT32 AS it32, IT33 AS it33, G_satis AS g_satis, G_RelQP AS g_relqp, G_QProf AS g_qprof, "
-				+ "G_Postg AS g_postg, G_Interes AS g_interes, G_Util AS g_util "
-				+ "FROM MDB_master.Mitjanes_final_xcentre a "
-				+ "LEFT JOIN MDB_master.Centre b ON a.centre = b.centre WHERE CONCAT('20', RIGHT(ACURS, 2)) >= "+year+";",
-				
-				"SELECT 'data' AS enquesta, NULL AS tit, NULL AS centre, CONCAT('20', RIGHT(ACURS, 2)) AS curs, null AS cursd, 'U' AS ambit, 'm' AS estudi, "
-				+ "IT01 AS it01, IT02 AS it02, IT03 AS it03, IT04 AS it04, IT05 AS it05, IT06 AS it06, "
-				+ "IT07 AS it07, IT08 AS it08, IT09 AS it09, IT10 AS it10, IT11 AS it11, IT12 AS it12, IT13 AS it13, "
-				+ "IT14 AS it14, IT15 AS it15, IT16 AS it16, IT17 AS it17, IT18 AS it18, IT19 AS it19, "
-				+ "IT21 AS it21, IT22 AS it22, IT23 AS it23, IT24 AS it24, IT25 AS it25, IT26 AS it26, "
-				+ "IT27 AS it27, IT28 AS it28, IT29 AS it29, IT30 AS it30, IT30 AS it30, IT31 AS it31, "
-				+ "IT32 AS it32, IT33 AS it33, G_satis AS g_satis, G_RelQP AS g_relqp, G_QProf AS g_qprof, "
-				+ "G_Postg AS g_postg, G_Interes AS g_interes, G_Util AS g_util "
-				+ "FROM MDB_master.Mitjanes_final_global "
-				+ "WHERE CONCAT('20', RIGHT(ACURS, 2)) >= "+year+";",
-				
-				"SELECT 'data' AS enquesta, NULL AS tit, b.cmostrar AS centre, CONCAT('20', RIGHT(ACURS, 2)) AS curs, null AS cursd, 'C' AS ambit, 'm' AS estudi, "
-				+ "max_it13m AS it13_max, min_it13m AS it13_min, max_it14m AS it14_max, min_it14m AS it14_min, "
-				+ "max_it15m AS it15_max, min_it15m AS it15_min, max_it16m AS it16_max, min_it16m AS it16_min, "
-				+ "max_it17m AS it17_max, min_it17m AS it17_min "
-				+ "FROM MDB_master.MinMax_final_xcentre a "
-				+ "LEFT JOIN MDB_master.Centre b ON a.centre = b.centre WHERE CONCAT('20', RIGHT(ACURS, 2)) >= "+year+";"};
-		
-		return this.execute(statement, queries);
-	}
-	
-	private int parseMasterDataG(Connection connection, String year) throws SQLException {	
-		
-		Statement statement = connection.createStatement();
-		String[] queries = {
-				"SELECT 'data_g' AS enquesta, b.tit AS tit, c.cmostrar AS centre, CONCAT('20', RIGHT(cursf, 2)) AS curs, null AS cursd, 'T' AS ambit, 'm' AS estudi, "
-				+ "IT01m_pf AS it01_pf, IT02m_pf AS it02_pf, IT03m_pf AS it03_pf, IT04m_comp AS it04_comp, "
-				+ "IT04m_comp AS it05_comp, IT06m_comp AS it06_comp, IT07m_comp AS it07_comp, "
-				+ "IT08m_comp AS it08_comp, IT09m_comp AS it09_comp, IT10m_comp AS it10_comp, "
-				+ "IT11m_de AS it11_de, IT12m_de AS it12_de, IT13m_de AS it13_de, IT14m_de AS it14_de, "
-				+ "IT15m_de AS it15_de, IT16m_de AS it16_de, (IT17_pe_S/(IT17_pe_S+IT17_pe_N))*100 AS it17_pe, "
-				+ "IT18m_pe AS it18_pe, IT19m_pe AS it19_pe, IT20m_pe AS it20_pe, IT21m_pe AS it21_pe, "
-				+ "IT22m_pe AS it22_pe, IT23m_pe AS it23_pe, (IT24_mob_S/(IT24_mob_S+IT24_mob_N))*100 AS it24_mob, "
-				+ "IT25_mob1 AS it25_mob1, IT25_mob2 AS it25_mob2, IT25_mob3 AS it25_mob3, IT25_mob4 AS it25_mob4, "
-				+ "IT26m_mob AS it26_mob, IT27m_mob AS it27_mob, IT28m_mob AS it28_mob, IT29m_mob AS it29_mob, "
-				+ "IT30m_mob AS it30_mob, IT26m_mob AS it26_mob, IT31m_mob AS it31_mob, IT32m_mob AS it32_mob, "
-				+ "IT33m_mob AS it33_mob, IT34m_tfm AS it34_tfm, IT35m_tfm AS it35_tfm, IT36m_tfm AS it36_tfm, "
-				+ "IT37m_tfm AS it37_tfm, IT38m_tfm AS it38_tfm, IT40m_treb AS it40_treb, IT41m_treb AS it41_treb, "
-				+ "IT41m_treb AS it41_treb, IT42m_treb AS it42_treb, IT43m_treb AS it43_treb, gm_Qprof AS g_qprof, "
-				+ "gm_instal AS g_instal, gm_exp AS g_exp, gm_recomana AS g_recomana "
-				+ "FROM MDB_master.Mitjanes_Gxtitcursf a "
-				+ "LEFT JOIN MDB_master.ESTUDIS b ON a.tit = b.tit "
-				+ "LEFT JOIN MDB_master.Centre c ON b.centre = c.centre WHERE CONCAT('20', RIGHT(cursf, 2)) >= "+year+";",
-				
-				"SELECT 'data_g' AS enquesta, NULL AS tit, b.cmostrar AS centre, CONCAT('20', RIGHT(cursf, 2)) AS curs, null AS cursd, 'C' AS ambit, 'm' AS estudi, "
-				+ "IT01m_pf AS it01_pf, IT02m_pf AS it02_pf, IT03m_pf AS it03_pf, IT04m_comp AS it04_comp, "
-				+ "IT04m_comp AS it05_comp, IT06m_comp AS it06_comp, IT07m_comp AS it07_comp, "
-				+ "IT08m_comp AS it08_comp, IT09m_comp AS it09_comp, IT10m_comp AS it10_comp, "
-				+ "IT11m_de AS it11_de, IT12m_de AS it12_de, IT13m_de AS it13_de, IT14m_de AS it14_de, "
-				+ "IT15m_de AS it15_de, IT16m_de AS it16_de, (IT17_pe_S/(IT17_pe_S+IT17_pe_N))*100 AS it17_pe, "
-				+ "IT18m_pe AS it18_pe, IT19m_pe AS it19_pe, IT20m_pe AS it20_pe, IT21m_pe AS it21_pe, "
-				+ "IT22m_pe AS it22_pe, IT23m_pe AS it23_pe, (IT24_mob_S/(IT24_mob_S+IT24_mob_N))*100 AS it24_mob, "
-				+ "IT25_mob1 AS it25_mob1, IT25_mob2 AS it25_mob2, IT25_mob3 AS it25_mob3, IT25_mob4 AS it25_mob4, "
-				+ "IT26m_mob AS it26_mob, IT27m_mob AS it27_mob, IT28m_mob AS it28_mob, IT29m_mob AS it29_mob, "
-				+ "IT30m_mob AS it30_mob, IT26m_mob AS it26_mob, IT31m_mob AS it31_mob, IT32m_mob AS it32_mob, "
-				+ "IT33m_mob AS it33_mob, IT34m_tfm AS it34_tfm, IT35m_tfm AS it35_tfm, IT36m_tfm AS it36_tfm, "
-				+ "IT37m_tfm AS it37_tfm, IT38m_tfm AS it38_tfm, IT40m_treb AS it40_treb, IT41m_treb AS it41_treb, "
-				+ "IT41m_treb AS it41_treb, IT42m_treb AS it42_treb, IT43m_treb AS it43_treb, gm_Qprof AS g_qprof, "
-				+ "gm_instal AS g_instal, gm_exp AS g_exp, gm_recomana AS g_recomana "
-				+ "FROM MDB_master.Mitjanes_Gxcentrecursf a "
-				+ "LEFT JOIN MDB_master.Centre b ON a.centre = b.centre WHERE CONCAT('20', RIGHT(cursf, 2)) >= "+year+";",
-				
-				"SELECT 'data_g' AS enquesta, NULL AS tit, NULL AS centre, CONCAT('20', RIGHT(cursf, 2)) AS curs, null AS cursd, 'U' AS ambit, 'm' AS estudi, "
-				+ "IT01m_pf AS it01_pf, IT02m_pf AS it02_pf, IT03m_pf AS it03_pf, IT04m_comp AS it04_comp, "
-				+ "IT04m_comp AS it05_comp, IT06m_comp AS it06_comp, IT07m_comp AS it07_comp, "
-				+ "IT08m_comp AS it08_comp, IT09m_comp AS it09_comp, IT10m_comp AS it10_comp, "
-				+ "IT11m_de AS it11_de, IT12m_de AS it12_de, IT13m_de AS it13_de, IT14m_de AS it14_de, "
-				+ "IT15m_de AS it15_de, IT16m_de AS it16_de, (IT17_pe_S/(IT17_pe_S+IT17_pe_N))*100 AS it17_pe, "
-				+ "IT18m_pe AS it18_pe, IT19m_pe AS it19_pe, IT20m_pe AS it20_pe, IT21m_pe AS it21_pe, "
-				+ "IT22m_pe AS it22_pe, IT23m_pe AS it23_pe, (IT24_mob_S/(IT24_mob_S+IT24_mob_N))*100 AS it24_mob, "
-				+ "IT25_mob1 AS it25_mob1, IT25_mob2 AS it25_mob2, IT25_mob3 AS it25_mob3, IT25_mob4 AS it25_mob4, "
-				+ "IT26m_mob AS it26_mob, IT27m_mob AS it27_mob, IT28m_mob AS it28_mob, IT29m_mob AS it29_mob, "
-				+ "IT30m_mob AS it30_mob, IT26m_mob AS it26_mob, IT31m_mob AS it31_mob, IT32m_mob AS it32_mob, "
-				+ "IT33m_mob AS it33_mob, IT34m_tfm AS it34_tfm, IT35m_tfm AS it35_tfm, IT36m_tfm AS it36_tfm, "
-				+ "IT37m_tfm AS it37_tfm, IT38m_tfm AS it38_tfm, IT40m_treb AS it40_treb, IT41m_treb AS it41_treb, "
-				+ "IT41m_treb AS it41_treb, IT42m_treb AS it42_treb, IT43m_treb AS it43_treb, gm_Qprof AS g_qprof, "
-				+ "gm_instal AS g_instal, gm_exp AS g_exp, gm_recomana AS g_recomana "
-				+ "FROM MDB_master.Mitjanes_Gxcursf WHERE CONCAT('20', RIGHT(cursf, 2)) >= "+year+";",
-				
-				"SELECT 'data_g' AS enquesta, NULL AS tit, b.cmostrar AS centre, CONCAT('20', RIGHT(cursf, 2)) AS curs, null AS cursd, 'C' AS ambit, 'm' AS estudi, "
-				+ "max_IT26m_mob AS it26_mob_max, min_IT26m_mob AS it26_mob_min, "
-				+ "max_IT27m_mob AS it27_mob_max, min_IT27m_mob AS it27_mob_min, "
-				+ "max_IT28m_mob AS it28_mob_max, min_IT28m_mob AS it28_mob_min, "
-				+ "max_IT29m_mob AS it29_mob_max, min_IT29m_mob AS it29_mob_min, "
-				+ "max_IT30m_mob AS it30_mob_max, min_IT30m_mob AS it30_mob_min, "
-				+ "max_IT31m_mob AS it31_mob_max, min_IT31m_mob AS it31_mob_min, "
-				+ "max_IT32m_mob AS it32_mob_max, min_IT32m_mob AS it32_mob_min, "
-				+ "max_IT33m_mob AS it33_mob_max, min_IT33m_mob AS it33_mob_min, "
-				+ "max_gm_instal AS g_instal_max, min_gm_instal AS g_instal_min "
-				+ "FROM MDB_master.MinMax_Gxcursfcentre a "
-				+ "LEFT JOIN MDB_master.Centre b ON a.centre = b.centre WHERE CONCAT('20', RIGHT(cursf, 2)) >= "+year+";"
-				};
-		
-		return this.execute(statement, queries);
-	}
-	
-	private int parseMasterProfes(Connection connection, String year) throws SQLException {	
-		
-		Statement statement = connection.createStatement();
-		String[] queries = {
-				"SELECT 'profes_tancades' AS enquesta, b.tit AS tit, c.cmostrar AS centre, CONCAT('20', RIGHT(ACURS, 2)) AS curs, null AS cursd, 'T' AS ambit, 'm' AS estudi, "
-				+ "A1 AS a1, A2 AS a2, A3 AS a3, A4 AS a4, A5 AS a5, A6 AS a6, A7 AS a7, A8 AS a8, A9 AS a9, A10 AS a10, "
-				+ "A11 AS a11, A12 as a12, A13 AS a13, A14 AS a14, A15_1 AS a15_1, A15_2 AS a15_2, A15_3 AS a15_3, "
-				+ "A15_4 AS a15_4, A15_5 AS a15_5, A16 AS a16, A17 AS a17, A18 AS a18, A19 AS a19, A20 AS a20, "
-				+ "A21 AS a21, A26 AS a26, A27 AS a27, A28 AS a28, A29 AS a29, A30 AS a30, A31 AS a31, A32 AS a32 "
-				+ "FROM MDB_master.Mitjanes_profesXtit a "
-				+ "LEFT JOIN MDB_master.ESTUDIS b ON a.tit = b.tit "
-				+ "LEFT JOIN MDB_master.Centre c ON b.centre = c.centre WHERE CONCAT('20', RIGHT(ACURS, 2)) >= "+year+";",
-				
-				"SELECT 'profes_tancades' AS enquesta, NULL AS tit, c.cmostrar AS centre, CONCAT('20', RIGHT(ACURS, 2)) AS curs, null AS cursd, 'C' AS ambit, 'm' AS estudi, "
-				+ "A1 AS a1, A2 AS a2, A3 AS a3, A4 AS a4, A5 AS a5, A6 AS a6, A7 AS a7, A8 AS a8, A9 AS a9, A10 AS a10, "
-				+ "A11 AS a11, A12 as a12, A13 AS a13, A14 AS a14, A15_1 AS a15_1, A15_2 AS a15_2, A15_3 AS a15_3, "
-				+ "A15_4 AS a15_4, A15_5 AS a15_5, A16 AS a16, A17 AS a17, A18 AS a18, A19 AS a19, A20 AS a20, "
-				+ "A21 AS a21, A26 AS a26, A27 AS a27, A28 AS a28, A29 AS a29, A30 AS a30, A31 AS a31, A32 AS a32 "
-				+ "FROM MDB_master.Mitjanes_profesxCurscentre a "
-				+ "LEFT JOIN MDB_master.periodesCurs p ON p.curs = CONCAT('20', RIGHT(ACURS, 2)) "
-				+ "LEFT JOIN MDB_master.Centre c ON a.centre = c.centre WHERE p.ProfesComplet = 1 AND CONCAT('20', RIGHT(ACURS, 2)) >= "+year+";",
-				
-				"SELECT 'profes_tancades' AS enquesta, NULL AS tit, NULL AS centre, CONCAT('20', RIGHT(ACURS, 2)) AS curs, null AS cursd, 'U' AS ambit, 'm' AS estudi,"
-				+ "A1 AS a1, A2 AS a2, A3 AS a3, A4 AS a4, A5 AS a5, A6 AS a6, A7 AS a7, A8 AS a8, A9 AS a9, A10 AS a10, "
-				+ "A11 AS a11, A12 as a12, A13 AS a13, A14 AS a14, A15_1 AS a15_1, A15_2 AS a15_2, A15_3 AS a15_3, "
-				+ "A15_4 AS a15_4, A15_5 AS a15_5, A16 AS a16, A17 AS a17, A18 AS a18, A19 AS a19, A20 AS a20, "
-				+ "A21 AS a21, A26 AS a26, A27 AS a27, A28 AS a28, A29 AS a29, A30 AS a30, A31 AS a31, A32 AS a32 "
-				+ "FROM MDB_master.Mitjanes_profesxCurs a"
-				+ "LEFT JOIN MDB_master.periodesCurs p ON p.curs = CONCAT('20', RIGHT(ACURS, 2)) "
-				+ "WHERE p.ProfesComplet = 1 AND CONCAT('20', RIGHT(ACURS, 2)) >= "+year+";",
-				
-				"SELECT 'profes_tancades' AS enquesta, NULL AS tit, c.cmostrar AS centre, CONCAT('20', RIGHT(ACURS, 2)) AS curs, null AS cursd, 'C' AS ambit, 'm' AS estudi, "
-				+ "max_A16m AS a16_max, min_A16m AS a16_min, max_A17m AS a17_max, min_A17m AS a17_min, "
-				+ "max_A19m AS a19_max, min_A19m AS a19_min "
-				+ "FROM MDB_master.MinMax_profesxCurscentre a "
-				+ "LEFT JOIN MDB_master.periodesCurs p ON p.curs = CONCAT('20', RIGHT(ACURS, 2)) "
-				+ "LEFT JOIN MDB_master.Centre c ON a.centre = c.centre WHERE p.ProfesComplet = 1 AND CONCAT('20', RIGHT(ACURS, 2)) >= "+year+";"};
-		
-		return this.execute(statement, queries);
-	}
-	
-	
-	private int parseEvalProfBD(Connection connection, String year) throws SQLException {	
-		 
-		Statement statement = connection.createStatement();
-		String[] queries = {
-				"SELECT 'evalprof' AS enquesta, t.cod_titula AS tit, c.cod_actual AS centre, CONCAT('20', anyo) AS curs, null AS cursd, 'T' AS ambit, tipus AS estudi, "
-				+ "it01, it02, it03, it04, it05, it06, it07, it08, it09, it10, it11, it12, it13, it14, b1, b2, b3, b4, b5, b6, global "
-				+ "FROM MDB_evalProf.MediasTitulacion m "
-				+ "LEFT JOIN MDB_evalProf.Titulaciones t ON m.estudio = t.estudio "
-				+ "LEFT JOIN MDB_evalProf.Centros c ON t.cod_centro = c.cod_centro "
-				+ "WHERE c.cod_actual IS NOT NULL AND c.cod_actual <> '' AND num_encues >= 3 AND CONCAT('20', anyo) >= "+year+"; ",
-				
-				"SELECT 'evalprof' AS enquesta, NULL AS tit, c.cod_actual AS centre, CONCAT('20', anyo) AS curs, null AS cursd, 'C' AS ambit, tipus AS estudi, "
-				+ "it01, it02, it03, it04, it05, it06, it07, it08, it09, it10, it11, it12, it13, it14, b1, b2, b3, b4, b5, b6, global "
-				+ "FROM MDB_evalProf.MediasCentro m "
-				+ "LEFT JOIN MDB_evalProf.Centros c ON m.centre = c.cod_centro "
-				+ "LEFT JOIN MDB_master.periodesCurs p ON p.curs = CONCAT('20', anyo) "
-				+ "WHERE c.cod_actual IS NOT NULL AND c.cod_actual <> '' AND CONCAT('20', anyo) >= "+year+"; ",
-				
-				"SELECT 'evalprof' AS enquesta, NULL AS tit, NULL AS centre, CONCAT('20', anyo) AS curs, null AS cursd, 'U' AS ambit, tipus AS estudi, "
-				+ "it01, it02, it03, it04, it05, it06, it07, it08, it09, it10, it11, it12, it13, it14, b1, b2, b3, b4, b5, b6, global "
-				+ "FROM MDB_evalProf.MediasUniversidad "
-				+ "LEFT JOIN MDB_master.periodesCurs p ON p.curs = CONCAT('20', anyo) "
-				+ "WHERE CONCAT('20', anyo) >= "+year+"; "};
-		
-		return this.execute(statement, queries);
-		
-	}
-	
-	private int parseOtrosProfes(Connection connection) throws SQLException {	
-		 
-		Statement statement = connection.createStatement();
-		String[] queries = {
-				"SELECT 'otros' AS enquesta, t.cod_titula AS tit, c.cod_actual AS centre, curs, null AS cursd, ambit, estudi, "
-				+ "I_RH2_06, I_RH2_07, I_RH2_08, I_RH2_profcursos, I_RH2_totpdi "
-				+ "FROM MDB_otros.profesorado m "
-				+ "LEFT JOIN MDB_evalProf.Titulaciones t ON m.titulacion = t.estudio "
-				+ "LEFT JOIN MDB_evalProf.Centros c ON t.cod_centro = c.cod_centro "
-				+ "WHERE c.cod_actual IS NOT NULL AND c.cod_actual <> '';"};
-		
-		return this.execute(statement, queries);
-		
-	}
-	
-	private int parseOtrosEncuestas(Connection connection) throws SQLException {	
-		 
-		Statement statement = connection.createStatement();
-		String[] queries = {
-				"SELECT 'enquestes' AS enquesta, titulacio AS tit, centre, curs, null AS cursd, ambit, estudi, "
-				+ "1er_modul_cod, 1er_modul_nom, 1er_modul_obs, 3er_modul_cod, 3er_modul_nom, 3er_modul_obs "
-				+ "FROM MDB_otros.asignaturas_encuestas;"};
-		
-		return this.execute(statement, queries);
-		
-	}
-	
-	private int parseOtrosTasas(Connection connection) throws SQLException {	
-		 
-		Statement statement = connection.createStatement();
-		String[] queries = {
-				"SELECT 'otros' AS enquesta, t.cod_titula AS tit, c.cod_actual AS centre, curs, null AS cursd, ambit, estudi, "
-				+ "i_oe1_nb_nuevos, i_oe1_nb_plazas, i_oe1_tasa_mat, i_oe1_tasa_ofedem "
-				+ "FROM MDB_otros.tasas m "
-				+ "LEFT JOIN MDB_evalProf.Titulaciones t ON m.titulacion = t.estudio "
-				+ "LEFT JOIN MDB_evalProf.Centros c ON t.cod_centro = c.cod_centro "
-				+ "WHERE c.cod_actual IS NOT NULL AND c.cod_actual <> '';"};
-		
-		return this.execute(statement, queries);
-		
-	}
-	
-	private int parseOtrosDocentia(Connection connection) throws SQLException {	
-		 
-		Statement statement = connection.createStatement();
-		String[] queries = {				
-				"SELECT *  "
-				+ "FROM MDB_otros.docentia_evaluacion "
-				+ "WHERE centre IS NOT NULL;"};
-		
-		return this.execute(statement, queries);
-		
-	}
-	
-	/* ToDo */
-	private int parseDocEstud(Connection connection, String year) throws SQLException {
-		// escuela doctorado = 62
-		
-		Statement statement = connection.createStatement();
-		String[] queries = {
-				"SELECT 'doc_estud' AS enquesta, pro.prg_mostrar AS tit, 62 AS centre, CONCAT('20', RIGHT(acurs, 2)) AS curs, null AS cursd, 'T' AS ambit, 'd' AS estudi, "
-				+ "i01m, i02m, i03m, i04m, i05m, i06m, i07m, i08m, i09m, i10m, i11m, i12m, i13m, i14m, i16m, i17m, i18m, i19m, i20m, i21m, i22m, i23m, "
-				+ "i03d1m, i04d1m, i05d1m, i05d2m, i06d1m, i06d2m, i06d3m, i06d4m, i07d1m, i08d1m, i08d2m, i09d1m, i09d2m, i24m, i25m, i26m, i27m, i28m, "
-				+ "i29m, i30m, i31m, i32m, i33m, i34m, i35m, g_Qprofm, g_instalm, g_activm, g_expm, g_recomanam "
-				+ "FROM MDB_doctorado.recom_estud_xprg1 LEFT JOIN MDB_doctorado.Programa pro ON prg = pro.prg_uv "
-				+ "WHERE N_enq >= 3 AND CONCAT('20', RIGHT(acurs, 2)) >= "+year+";",
-				
-				"SELECT 'doc_estud' AS enquesta, NULL AS tit, 62 AS centre, CONCAT('20', RIGHT(acurs, 2)) AS curs, null AS cursd, 'U' AS ambit, 'd' AS estudi, "
-				+ "i01m, i02m, i03m, i04m, i05m, i06m, i07m, i08m, i09m, i10m, i11m, i12m, i13m, i14m, i16m, i17m, i18m, i19m, i20m, i21m, i22m, i23m "
-				+ "FROM MDB_doctorado.recom_estud_xcurs1 "
-				+ "WHERE N_enq >= 3 AND CONCAT('20', RIGHT(acurs, 2)) >= "+year+";",
-				
-				"SELECT 'doc_estud' AS enquesta, NULL AS tit, 62 AS centre, CONCAT('20', RIGHT(acurs, 2)) AS curs, null AS cursd, 'U' AS ambit, 'd' AS estudi, "
-				+ "i24m, i25m, i26m, i27m, i28m, i29m, i30m, i31m, i32m, i33m, i34m, i35m, g_Qprofm, g_instalm, g_activm, g_expm, g_recomanam "
-				+ "FROM MDB_doctorado.recom_estud_xcurs2 "
-				+ "WHERE N_enq >= 3 AND CONCAT('20', RIGHT(acurs, 2)) >= "+year+";",
-
-				"SELECT 'doc_estud' AS enquesta, NULL AS tit, 62 AS centre, CONCAT('20', RIGHT(acurs, 2)) AS curs, null AS cursd, 'U' AS ambit, 'd' AS estudi, "
-				+ "i03d1m, i04d1m, i05d1m, i05d2m, i06d1m, i06d2m, i06d3m, i06d4m, i07d1m, i08d1m, i08d2m, i09d1m, i09d2m "
-				+ "FROM MDB_doctorado.recom_estud_xcurs6 "
-				+ "WHERE N_enq >= 3 AND CONCAT('20', RIGHT(acurs, 2)) >= "+year+";",
-				
-				"SELECT 'doc_estud' AS enquesta, prg AS tit, 62 AS centre, CONCAT('20', RIGHT(acurs, 2)) AS curs, null AS cursd, 'T' AS ambit, 'd' AS estudi, "
-				+ "indicador_estud_programa AS ind_prg, ind_estud_pdi AS ind_pdi "
-				+ "FROM MDB_doctorado.Indicador_estud_v2022 LEFT JOIN MDB_doctorado.Programa pro ON prg = pro.prg_uv "
-				+ "WHERE N_enq >= 3 AND CONCAT('20', RIGHT(acurs, 2)) >= "+year+";",
-				
-				"SELECT 'doc_estud' AS enquesta, prg AS tit, 62 AS centre, CONCAT('20', RIGHT(acurs, 2)) AS curs, null AS cursd, 'T' AS ambit, 'd' AS estudi, "
-				+ "b_instal "
-				+ "FROM MDB_doctorado.recom_estud_xprg4_bloc LEFT JOIN MDB_doctorado.Programa pro ON prg = pro.prg_uv "
-				+ "WHERE N_enqg >= 3 AND CONCAT('20', RIGHT(acurs, 2)) >= "+year+";"};
-		
-		return this.execute(statement, queries);
-	}
-	
-	private int parseDocEtesi(Connection connection, String year) throws SQLException {
-		// escuela doctorado = 62
-		
-		Statement statement = connection.createStatement();
-		String[] queries = {
-				"SELECT 'doc_etesi' AS enquesta, pro.prg_mostrar AS tit, 62 AS centre, CONCAT('20', RIGHT(acurs, 2)) AS curs, null AS cursd, 'T' AS ambit, 'd' AS estudi, "
-				+ "i01m, i02m, i03m, i04m, i05m, i06m, i07m, i08m, i09m, i10m, i11m, i12m, i13m, i14m, i16m, i17m, i18m, i19m, i20m, i21m, i22m, i23m, i24m, "
-				+ "i25m, i26m, i27m, i28m, i29m, i30m "
-				+ "FROM MDB_doctorado.recom_etesi_xprg1_SAIC LEFT JOIN MDB_doctorado.Programa pro ON prg = pro.prg_uv "
-				+ "WHERE N_enq >= 3 AND CONCAT('20', RIGHT(acurs, 2)) >= "+year+";",
-				
-				"SELECT 'doc_etesi' AS enquesta, pro.prg_mostrar AS tit, 62 AS centre, CONCAT('20', RIGHT(acurs, 2)) AS curs, null AS cursd, 'T' AS ambit, 'd' AS estudi, "
-				+ "i31m, i32m, i33m, i34m, i35m, i37m, g_Qprofm, g_instalm, g_activ1m, g_activ2m, g_expm, g_recomanam "
-				+ "FROM MDB_doctorado.recom_etesi_xprg2 LEFT JOIN MDB_doctorado.Programa pro ON prg = pro.prg_uv "
-				+ "WHERE N_enq >= 3 AND CONCAT('20', RIGHT(acurs, 2)) >= "+year+";",
-				
-				"SELECT 'doc_etesi' AS enquesta, pro.prg_mostrar AS tit, 62 AS centre, CONCAT('20', RIGHT(acurs, 2)) AS curs, null AS cursd, 'T' AS ambit, 'd' AS estudi, "
-				+ "i03d1m, i04d1m, i05d1m, i05d2m, i06d1m, i06d2m, i06d3m, i06d4m, i07d1m, i08d1m, i08d2m, i09d1m, i09d2m "
-				+ "FROM MDB_doctorado.recom_etesi_xprg5 LEFT JOIN MDB_doctorado.Programa pro ON prg = pro.prg_uv "
-				+ "WHERE N_enq >= 3 AND CONCAT('20', RIGHT(acurs, 2)) >= "+year+";",
-				
-				"SELECT 'doc_etesi' AS enquesta, NULL AS tit, 62 AS centre, CONCAT('20', RIGHT(acurs, 2)) AS curs, null AS cursd, 'U' AS ambit, 'd' AS estudi, "
-				+ "i01m, i02m, i03m, i04m, i05m, i06m, i07m, i08m, i09m, i10m, i11m, i12m, i13m, i14m, i16m, i17m, i18m, i19m, i20m, i21m, i22m, i23m, i24m, "
-				+ "i25m, i26m, i27m, i28m, i29m, i30m "
-				+ "FROM MDB_doctorado.recom_etesi_xcurs1_SAIC WHERE N_enq >= 3 AND CONCAT('20', RIGHT(acurs, 2)) >= "+year+";",
-				
-				"SELECT 'doc_etesi' AS enquesta, NULL AS tit, 62 AS centre, CONCAT('20', RIGHT(acurs, 2)) AS curs, null AS cursd, 'U' AS ambit, 'd' AS estudi, "
-				+ "i31m, i32m, i33m, i34m, i35m, i37m, g_Qprofm, g_instalm, g_activ1m, g_activ2m, g_expm, g_recomanam "
-				+ "FROM MDB_doctorado.recom_etesi_xcurs2 WHERE N_enq >= 3 AND CONCAT('20', RIGHT(acurs, 2)) >= "+year+";",
-				
-				"SELECT 'doc_etesi' AS enquesta, NULL AS tit, 62 AS centre, CONCAT('20', RIGHT(acurs, 2)) AS curs, null AS cursd, 'U' AS ambit, 'd' AS estudi, "
-				+ "i03d1m, i04d1m, i05d1m, i05d2m, i06d1m, i06d2m, i06d3m, i06d4m, i07d1m, i08d1m, i08d2m, i09d1m, i09d2m "
-				+ "FROM MDB_doctorado.recom_etesi_xcurs5 WHERE N_enq >= 3 AND CONCAT('20', RIGHT(acurs, 2)) >= "+year+";",
-				
-				"SELECT 'doc_etesi' AS enquesta, prg AS tit, 62 AS centre, CONCAT('20', RIGHT(acurs, 2)) AS curs, null AS cursd, 'T' AS ambit, 'd' AS estudi, "
-				+ "indicador_egressat_programa AS ind_prg, ind_egre_pdi AS ind_pdi, ind_egre_director AS ind_director "
-				+ "FROM MDB_doctorado.Indicador_etesi_v2022 LEFT JOIN MDB_doctorado.Programa pro ON prg = pro.prg_uv "
-				+ "WHERE N_enq >= 3 AND CONCAT('20', RIGHT(acurs, 2)) >= "+year+";"};
-		
-		return this.execute(statement, queries);
-	}
-	
-	private int parseDocProf(Connection connection, String year) throws SQLException {
-		// escuela doctorado = 62
-		
-		Statement statement = connection.createStatement();
-		String[] queries = {
-				"SELECT 'doc_prof' AS enquesta, pro.prg_mostrar AS tit, 62 AS centre, CONCAT('20', RIGHT(acurs, 2)) AS curs, null AS cursd, 'T' AS ambit, 'd' AS estudi, "
-				+ "i01m, i02m, i03m, i04m, i05m, i06m, i07m, i08m, i09m, i10m, i11m, i12m, i13m, i14m, i15m, i16m, i17m, i18m, i19m, i20m, i21m, b_alum "
-				+ "FROM MDB_doctorado.recom_prof_xprg1 LEFT JOIN MDB_doctorado.Programa pro ON prg = pro.prg_uv "
-				+ "WHERE N_enq >= 3 AND CONCAT('20', RIGHT(acurs, 2)) >= "+year+";",
-				
-				"SELECT 'doc_prof' AS enquesta, NULL AS tit, 62 AS centre, CONCAT('20', RIGHT(acurs, 2)) AS curs, null AS cursd, 'U' AS ambit, 'd' AS estudi, "
-				+ "i01m, i02m, i03m, i04m, i05m, i06m, i07m, i08m, i09m, i10m, i11m, i12m, i13m, i14m, i15m, i16m, i17m, i18m, i19m, i20m, i21m, b_alum "
-				+ "FROM MDB_doctorado.recom_prof_xcurs1 WHERE N_enq >= 3 AND CONCAT('20', RIGHT(acurs, 2)) >= "+year+";",
-				
-				"SELECT 'doc_prof' AS enquesta, prg AS tit, 62 AS centre, CONCAT('20', RIGHT(acurs, 2)) AS curs, null AS cursd, 'T' AS ambit, 'd' AS estudi, "
-				+ "indicador_prof AS ind_prof "
-				+ "FROM MDB_doctorado.Indicador_prof LEFT JOIN MDB_doctorado.Programa pro ON prg = pro.prg_uv "
-				+ "WHERE N_enq >= 3 AND CONCAT('20', RIGHT(acurs, 2)) >= "+year+";"};
-		
-		return this.execute(statement, queries);
-	}
-	
-	private int parseDocTasas(Connection connection, String year) throws SQLException {
-			
-			Statement statement = connection.createStatement();
-			String[] queries = {
-					"SELECT 'doc_tasas' AS enquesta, titulacion AS tit, 62 AS centre, curs, null AS cursd, 'T' AS ambit, 'd' AS estudi, "
-					+ "n_prof_dire, n_prof, d_i01, n_prof_sex, n_prof_noaso, d_i02, n_prof_proy, d_i03, n_prof_ip, d_i04, n_tesis_ext, n_tesis, d_i05 "
-					+ "FROM MDB_doctorado.tasas WHERE curs >= "+year+";"};
-			
-			return this.execute(statement, queries);
-	}
-	
-	private int parseDocInds(Connection connection, String year) throws SQLException {
-		
-		Statement statement = connection.createStatement();
-		String[] queries = {
-				"SELECT 'doc_inds' AS enquesta, titulacion AS tit, 62 AS centre, curs, null AS cursd, 'T' AS ambit, 'd' AS estudi, "
-				+ "I_OED_01, I_OED_02, I_OED_03, I_OED_04, I_OED_05, I_OED_07, I_OED_08, I_DED_01, I_DED_02, I_DED_03, I_DED_04,"
-				+ "I_DED_05, I_DED_06 "
-				+ "FROM MDB_doctorado.indicadores WHERE curs >= "+year+"; "};
-		
-		return this.execute(statement, queries);
-}
-	
-	private int parseDocRecom(Connection connection, String year) throws SQLException {
-		Statement statement = connection.createStatement();
-		String[] queries = {
-			"SELECT LOWER(enquesta) AS enquesta, indicador, SUBSTRING_INDEX(indicador, '_', 1) AS num, tit, 62 AS centre, "
-			+ "curs, null AS cursd, 'T' AS ambit, 'd' AS estudi, valor "
-			+ "FROM MDB_doctorado.doc_recom WHERE curs >= "+year+";"};
-		
-		return this.executeRows(statement, queries);
-	}
-	
-	public String doAction(String action) throws ClassNotFoundException {
-		
-		String r = "0";
-		try {
-			switch(action) {
-				case "mediasCentroNP":
-					r = Integer.toString(this.ies.deleteCentroNoAdscrito());
-					break;
-				case "bienalesProfesGrado":
-					r = Integer.toString(this.ies.fixBiennials("profes", 2022));
-					break;
-				case "bienalesProfesMaster":
-					r = Integer.toString(this.ies.fixBiennials("profes_tancades", 2022));
-					break;
-				case "bienalesPas":
-					r = Integer.toString(this.ies.fixBiennials("dadespas", 2022));
-					break;
-				case "precargaEvalprof":
-					r = this.precargaEvalProf();
-					break;
-				case "precargaMaster": 
-					r = this.precargaMaster();
-					break;
-				case "precargaDoctorado":
-					r = this.precargaDoctorado();
-					break;
-				default:
-					break;
-			}
-		}
-		catch (SQLException ex){
-			return "-1";
-		}
-		
-		return r;
-		
-	}
-	
-	public String precargaEvalProf() throws ClassNotFoundException, SQLException {
-		Class.forName("com.mysql.cj.jdbc.Driver");
-		String connUrl = "jdbc:mysql://"+this.host2+"/"+this.dbnameProf2+"?user="+this.user2+"&password="+this.passwd2+"&allowLoadLocalInfile=true";
-		
-		String queries[] = {"DELETE FROM MDB_evalProf.MediasUniversidad; ",
-				            "DELETE FROM MDB_evalProf.MediasCentro; ",
-				            "DELETE FROM MDB_evalProf.MediasTitulacion; ",
-				            "LOAD DATA LOCAL INFILE '"+pathFilesEvdocente+"tit.txt' INTO TABLE MDB_evalProf.MediasTitulacion "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-				            "LOAD DATA LOCAL INFILE '"+pathFilesEvdocente+"centre.txt' INTO TABLE MDB_evalProf.MediasCentro "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-				            "UPDATE MDB_evalProf.Titulaciones SET cod_centro = '111' WHERE cod_titula = '2153'; ",
-				            "UPDATE MDB_evalProf.Titulaciones SET cod_centro = '121' WHERE cod_titula = '2208'; ",
-				            "INSERT INTO MDB_evalProf.MediasUniversidad "
-				            		+ "SELECT * FROM MDB_evalProf.MediasTitulacion WHERE estudio = 'GRAU' OR estudio = 'MAST';",
-				            "DELETE FROM MDB_evalProf.MediasTitulacion WHERE estudio = 'GRAU' OR estudio = 'MAST' OR estudio = 'TRAD';",
-				            "UPDATE MDB_evalProf.MediasTitulacion SET tipus = 'G' WHERE CAST(estudio AS UNSIGNED) < 2000;",
-				            "UPDATE MDB_evalProf.MediasTitulacion SET tipus = 'M' WHERE CAST(estudio AS UNSIGNED) >= 2000 AND CAST(estudio AS UNSIGNED) < 3000;",
-				            "UPDATE MDB_evalProf.MediasUniversidad SET tipus = 'G' WHERE estudio = 'GRAU';",
-				            "UPDATE MDB_evalProf.MediasUniversidad SET tipus = 'M' WHERE estudio = 'MAST';",
-				            "UPDATE MDB_evalProf.MediasCentro SET tipus = 'G' WHERE tipus = 'GRAU';",
-				            "UPDATE MDB_evalProf.MediasCentro SET tipus = 'M' WHERE tipus LIKE 'M_STER';"
-				            };
-		
-		Statement statement = null;
-		try (Connection connection = DriverManager.getConnection(connUrl)) {
-			statement = connection.createStatement();
-			for(String q : queries) { statement.addBatch(q); }
-			statement.executeBatch();
-		}
-		catch (SQLException ex) {
-			sss.err("Error when connecting survey database", ex.getMessage() + System.lineSeparator() + StringUtils.join(ex.getStackTrace(), System.lineSeparator()));
-            ex.printStackTrace();
-            return "-1";
-		}
-		finally {
-			if(statement != null) { statement.close(); }
-		}
-		
-		return "1";
-	}
-	
-	
-	public String precargaMaster() throws ClassNotFoundException, SQLException {
-		Class.forName("com.mysql.cj.jdbc.Driver");
-		String connUrl = "jdbc:mysql://"+this.host2+"/"+this.dbnameMaster2+"?user="+this.user2+"&password="+this.passwd2+"&allowLoadLocalInfile=true";
-		
-		String queries[] = {"DELETE FROM MDB_master.Mitjanes_profesXtit; ",
-				            "DELETE FROM MDB_master.Mitjanes_profesxCurscentre; ",
-				            "DELETE FROM MDB_master.Mitjanes_profesxCurs; ",
-				            "DELETE FROM MDB_master.Mitjanes_Gxtitcursf; ",
-				            "DELETE FROM MDB_master.Mitjanes_Gxcursf; ",
-				            "DELETE FROM MDB_master.Mitjanes_Gxcentrecursf; ",
-				            "DELETE FROM MDB_master.Mitjanes_final_xcentre; ",
-				            "DELETE FROM MDB_master.MinMax_final_xcentre; ",
-				            "DELETE FROM MDB_master.MinMax_profesxCurscentre; ",
-				            "DELETE FROM MDB_master.MinMax_Gxcursfcentre; ",
-				            "DELETE FROM MDB_master.Mitjanes_final_global; ",
-				            //"DELETE FROM MDB_master.Mitjanes_final_codigeneric; ",
-				            "DELETE FROM MDB_master.Mitjanes_final; ",
-				            "LOAD DATA LOCAL INFILE '"+pathFilesMaster+"Mitjanes_profesXtit.csv' INTO TABLE MDB_master.Mitjanes_profesXtit "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-				            "LOAD DATA LOCAL INFILE '"+pathFilesMaster+"Mitjanes_profesxCurscentre.csv' INTO TABLE MDB_master.Mitjanes_profesxCurscentre "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesMaster+"Mitjanes_profesxCurs.csv' INTO TABLE MDB_master.Mitjanes_profesxCurs "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesMaster+"Mitjanes_Gxtitcursf.csv' INTO TABLE MDB_master.Mitjanes_Gxtitcursf "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesMaster+"Mitjanes_Gxcursf.csv' INTO TABLE MDB_master.Mitjanes_Gxcursf "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesMaster+"Mitjanes_Gxcentrecursf.csv' INTO TABLE MDB_master.Mitjanes_Gxcentrecursf "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesMaster+"Mitjanes_final_xcentre.csv' INTO TABLE MDB_master.Mitjanes_final_xcentre "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",		
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesMaster+"MinMax_final_xcentre.csv' INTO TABLE MDB_master.MinMax_final_xcentre "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesMaster+"MinMax_profesxCurscentre.csv' INTO TABLE MDB_master.MinMax_profesxCurscentre "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",         		
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesMaster+"MinMax_Gxcursfcentre.csv' INTO TABLE MDB_master.MinMax_Gxcursfcentre "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",   		
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesMaster+"Mitjanes_final_global.csv' INTO TABLE MDB_master.Mitjanes_final_global "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-		            		//"LOAD DATA LOCAL INFILE '"+pathFilesMaster+"Mitjanes_final_codigeneric.csv' INTO TABLE MDB_master.Mitjanes_final_codigeneric "
-				            //		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",         		
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesMaster+"Mitjanes_final.csv' INTO TABLE MDB_master.Mitjanes_final "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; "	
-				            };
-		
-		Statement statement = null;
-		try (Connection connection = DriverManager.getConnection(connUrl)) {
-			statement = connection.createStatement();
-			for(String q : queries) { statement.addBatch(q); }
-			statement.executeBatch();
-		}
-		catch (SQLException ex) {
-			sss.err("Error when connecting survey database", ex.getMessage() + System.lineSeparator() + StringUtils.join(ex.getStackTrace(), System.lineSeparator()));
-            ex.printStackTrace();
-            return "-1";
-		}
-		finally {
-			if(statement != null) { statement.close(); }
-		}
-		
-		return "1";
-	}
-	
-	public String precargaDoctorado() throws ClassNotFoundException, SQLException {
-		Class.forName("com.mysql.cj.jdbc.Driver");
-		String connUrl = "jdbc:mysql://"+this.host2+"/"+this.dbnameDoctorado2+"?user="+this.user2+"&password="+this.passwd2+"&allowLoadLocalInfile=true";
-		
-		String queries[] = {"DELETE FROM MDB_doctorado.recom_etesi_xprg1; ",
-							"DELETE FROM MDB_doctorado.recom_etesi_xprg1_SAIC; ",
-				            "DELETE FROM MDB_doctorado.recom_etesi_xprg2; ",
-				            "DELETE FROM MDB_doctorado.recom_etesi_xprg5; ",
-				            "DELETE FROM MDB_doctorado.recom_etesi_xcurs1_SAIC; ",
-				            "DELETE FROM MDB_doctorado.recom_etesi_xcurs2; ",
-				            "DELETE FROM MDB_doctorado.recom_etesi_xcurs5; ",
-				            "DELETE FROM MDB_doctorado.recom_prof_xprg1; ",
-				            "DELETE FROM MDB_doctorado.recom_prof_xcurs1; ",
-				            "DELETE FROM MDB_doctorado.recom_estud_xcurs1; ",
-				            "DELETE FROM MDB_doctorado.recom_estud_xcurs2; ",
-				            "DELETE FROM MDB_doctorado.recom_estud_xcurs6; ",
-				            "DELETE FROM MDB_doctorado.recom_estud_xprg1; ",
-				            "DELETE FROM MDB_doctorado.recom_estud_xprg4; ",
-				            "DELETE FROM MDB_doctorado.Indicador_estud_v2022; ",
-				            "DELETE FROM MDB_doctorado.Indicador_etesi_v2022; ",
-				            "DELETE FROM MDB_doctorado.Indicador_prof; ",
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesDoctorado+"recom_etesi_xprg5.csv' INTO TABLE MDB_doctorado.recom_etesi_xprg5 "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesDoctorado+"recom_etesi_xprg2.csv' INTO TABLE MDB_doctorado.recom_etesi_xprg2 "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesDoctorado+"recom_etesi_xprg1_SAIC.csv' INTO TABLE MDB_doctorado.recom_etesi_xprg1_SAIC "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesDoctorado+"recom_etesi_xcurs5.csv' INTO TABLE MDB_doctorado.recom_etesi_xcurs5 "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesDoctorado+"recom_etesi_xcurs2.csv' INTO TABLE MDB_doctorado.recom_etesi_xcurs2 "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",		
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesDoctorado+"recom_etesi_xcurs1_SAIC.csv' INTO TABLE MDB_doctorado.recom_etesi_xcurs1_SAIC "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",      		
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesDoctorado+"recom_prof_xprg1.csv' INTO TABLE MDB_doctorado.recom_prof_xprg1 "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesDoctorado+"recom_prof_xcurs1.csv' INTO TABLE MDB_doctorado.recom_prof_xcurs1 "
-		            				+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",   
-            				"LOAD DATA LOCAL INFILE '"+pathFilesDoctorado+"recom_estud_xprg1_2022.csv' INTO TABLE MDB_doctorado.recom_estud_xprg1 "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesDoctorado+"recom_estud_xprg4_bloc.csv' INTO TABLE MDB_doctorado.recom_estud_xprg4 "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesDoctorado+"recom_estud_xcurs6.csv' INTO TABLE MDB_doctorado.recom_estud_xcurs6 "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",         		
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesDoctorado+"recom_estud_xcurs2.csv' INTO TABLE MDB_doctorado.recom_estud_xcurs2 "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",         		
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesDoctorado+"recom_estud_xcurs1.csv' INTO TABLE MDB_doctorado.recom_estud_xcurs1 "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesDoctorado+"Indicador_estud_v2022.csv' INTO TABLE MDB_doctorado.Indicador_estud_v2022 "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesDoctorado+"Indicador_etesi_v2022.csv' INTO TABLE MDB_doctorado.Indicador_etesi_v2022 "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; ",
-		            		"LOAD DATA LOCAL INFILE '"+pathFilesDoctorado+"Indicador_prof.csv' INTO TABLE MDB_doctorado.Indicador_prof "
-				            		+ "CHARACTER SET UTF8 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 LINES; "
-				            };
-		
-		Statement statement = null;
-		try (Connection connection = DriverManager.getConnection(connUrl)) {
-			statement = connection.createStatement();
-			for(String q : queries) { statement.addBatch(q); }
-			statement.executeBatch();
-		}
-		catch (SQLException ex) {
-			sss.err("Error when connecting survey database", ex.getMessage() + System.lineSeparator() + StringUtils.join(ex.getStackTrace(), System.lineSeparator()));
-            ex.printStackTrace();
-            return "-1";
-		}
-		finally {
-			if(statement != null) { statement.close(); }
-		}
-		
-		return "1";
-	}
-	
-}

+ 0 - 2
src/main/java/es/uv/saic/web/DashboardController.java

@@ -19,7 +19,6 @@ import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -30,7 +29,6 @@ import es.uv.saic.domain.Indicador;
 import es.uv.saic.domain.Link;
 import es.uv.saic.domain.Usuari;
 import es.uv.saic.dto.CategoriaDocumentDTO;
-import es.uv.saic.dto.InstanciaGanttDTO;
 import es.uv.saic.dto.InstanciaGanttDTOImp;
 import es.uv.saic.dto.OrganDTO;
 import es.uv.saic.feign.DashboardClient;

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

@@ -86,7 +86,8 @@ public class DataController {
 		String retval = "";
 		EnquestaDTO enquestaDTO = new EnquestaDTO(enquesta, curs, ambit, estudi); 
 	
-		Integer r = ic.deleteByEnquestaCursAmbitEstudi(enquestaDTO);
+		Integer r = ic.deleteByEnquestaCursAmbitEstudi(enquestaDTO.getEnquesta(), enquestaDTO.getCurs(), 
+				enquestaDTO.getAmbit(), enquestaDTO.getEstudi());
 		String locale = LocaleContextHolder.getLocale().getLanguage();
 		retval = locale.equals("es") ? "[INFO] Se han eliminado "+r+" registros" : "[INFO] S'han esborrat "+r+" registres";			
 
@@ -101,7 +102,8 @@ public class DataController {
 			@RequestParam Integer curs, @RequestParam String ambit, @RequestParam String estudi) throws IOException {    
 		EnquestaDTO enquestaDTO = new EnquestaDTO(enquesta, curs, ambit, estudi); 
 			
-		return ic.findByEnquestaCursAmbitEstudi(enquestaDTO);
+		return ic.findByEnquestaCursAmbitEstudi(enquestaDTO.getEnquesta(), enquestaDTO.getCurs(), 
+				enquestaDTO.getAmbit(), enquestaDTO.getEstudi());
 	}
 	
 	// GET para mostrar el formulario de busqueda de datos
@@ -209,13 +211,16 @@ public class DataController {
 		EnquestaDTO enquestaDTO = new EnquestaDTO(enquesta, curs, ambit, estudi, centre, titulacio);
 		
 		if(ambit.equals("U")) {
-			inds = ic.findByEnquestaCursAmbitEstudi(enquestaDTO);
+			inds = ic.findByEnquestaCursAmbitEstudi(enquestaDTO.getEnquesta(), enquestaDTO.getCurs(), 
+					enquestaDTO.getAmbit(), enquestaDTO.getEstudi());
 		}
 		else if(ambit.equals("C")) {
-			inds = ic.findByEnquestaCursAmbitEstudiCentre(enquestaDTO);
+			inds = ic.findByEnquestaCursAmbitEstudiCentre(enquestaDTO.getEnquesta(), enquestaDTO.getCurs(), 
+					enquestaDTO.getAmbit(), enquestaDTO.getEstudi(), enquestaDTO.getCentre().toString());
 		}
 		if(ambit.equals("T")) {
-			inds = ic.findByEnquestaCursAmbitEstudiCentreTitulacio(enquestaDTO);
+			inds = ic.findByEnquestaCursAmbitEstudiCentreTitulacio(enquestaDTO.getEnquesta(), enquestaDTO.getCurs(), 
+					enquestaDTO.getAmbit(), enquestaDTO.getEstudi(), enquestaDTO.getCentre().toString(), enquestaDTO.getTitulacio().toString());
 		}
 
         return inds;

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

@@ -1,6 +1,5 @@
 package es.uv.saic.web;
 
-import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.math.BigInteger;
 import java.nio.file.Files;

+ 43 - 47
src/main/java/es/uv/saic/web/OrganController.java

@@ -1,7 +1,6 @@
 package es.uv.saic.web;
 
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -13,12 +12,8 @@ import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 
-import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
-import es.uv.saic.domain.DummyDataTransfer;
-import es.uv.saic.domain.Organ;
-import es.uv.saic.domain.Proces;
 import es.uv.saic.domain.Usuari;
 import es.uv.saic.dto.OrganDTO;
 import es.uv.saic.feign.OrganClient;
@@ -27,42 +22,44 @@ import jakarta.servlet.http.HttpSession;
 @Controller
 public class OrganController {
 
-    @Autowired
-    private OrganClient oc;
+	@Autowired
+	private OrganClient oc;
 
-    // POST que buscar titulaciones que se encuentren asociadas a uno o varios centros
+	// POST que buscar titulaciones que se encuentren asociadas a uno o varios
+	// centros
 	@PostMapping("/ajax/search/titulations")
 	public String getTitulationsByCenter(Model model, Authentication auth,
-			@RequestParam(name="centers[]", required=false) List<Integer> centres) throws IOException {	
-		HashMap<String, Object> response = oc.getTitulationsByCenter(centres, ((Usuari) auth.getPrincipal()).getUsuari());      
-        
+			@RequestParam(name = "centers[]", required = false) List<Integer> centres) throws IOException {
+		HashMap<String, Object> response = oc.getTitulationsByCenter(centres,
+				((Usuari) auth.getPrincipal()).getUsuari());
+
 		if (response == null) {
-			return "401";	
-        }
+			return "401";
+		}
 
 		model.addAllAttributes(response);
 		return "components/selector_titulacions";
-    }
+	}
 
 	@PostMapping("/ajax/search/managers/titulations")
-	public String getCenterTitulations(Model model, Authentication auth, 
+	public String getCenterTitulations(Model model, Authentication auth,
 			@RequestParam("center") Integer centre,
 			HttpSession session) {
-		
+
 		HashMap<String, Object> response = oc.getCenterTitulations(centre);
-		
+
 		if (response == null) {
-			return "401";   
+			return "401";
 		}
 
 		List<Object> rawList = (List<Object>) response.get("resp_titulacions");
 		ObjectMapper mapper = new ObjectMapper();
-		
+
 		List<OrganDTO> titulacions = rawList.stream()
-			.map(obj -> mapper.convertValue(obj, OrganDTO.class)) 
-			.collect(Collectors.toList());
-		
-		response.remove("resp_titulacions"); 
+				.map(obj -> mapper.convertValue(obj, OrganDTO.class))
+				.collect(Collectors.toList());
+
+		response.remove("resp_titulacions");
 
 		model.addAllAttributes(response);
 		model.addAttribute("sup_titulacions", titulacions);
@@ -72,26 +69,25 @@ public class OrganController {
 
 	@PostMapping("/ajax/find/titulations2")
 	public String getTitulationsByCenters(Model model, Authentication auth,
-			@RequestParam("centers[]") List<Integer> centres, @RequestParam("procedure") Integer idProces) throws IOException {	
-		HashMap<String, Object> response =
-                oc.getTitulationsByCenters(centres, idProces);
-      
+			@RequestParam("centers[]") List<Integer> centres, @RequestParam("procedure") Integer idProces)
+			throws IOException {
+		HashMap<String, Object> response = oc.getTitulationsByCenters(centres, idProces);
+
 		if (response == null) {
-			return "401";	
-        }
+			return "401";
+		}
 
 		model.addAllAttributes(response);
 		return "components/selector_titulacions_managers";
 	}
-	
+
 	@PostMapping("/ajax/find/titulations")
 	public String getTitulationsByCenter(Model model, Authentication auth,
-			@RequestParam("center") Integer centre, @RequestParam("procedure") Integer idProces) throws IOException {	
-		HashMap<String, Object> response =
-                oc.getTitulationsByCenter(centre, idProces);
-		
+			@RequestParam("center") Integer centre, @RequestParam("procedure") Integer idProces) throws IOException {
+		HashMap<String, Object> response = oc.getTitulationsByCenter(centre, idProces);
+
 		if (response == null) {
-			return "401";	
+			return "401";
 		}
 
 		model.addAllAttributes(response);
@@ -99,26 +95,26 @@ public class OrganController {
 	}
 
 	@PostMapping("/ajax/get/titulations")
-	public String getAllTitulationsByCenter(Model model, Authentication auth, @RequestParam("center") Integer centre) throws IOException {	
-		HashMap<String, Object> response =
-                oc.getAllTitulationsByCenter(centre);
-            
+	public String getAllTitulationsByCenter(Model model, Authentication auth, @RequestParam("center") Integer centre)
+			throws IOException {
+		HashMap<String, Object> response = oc.getAllTitulationsByCenter(centre);
+
 		if (response == null) {
-			return "401";	
-        }
+			return "401";
+		}
 
 		model.addAllAttributes(response);
 		return "components/selector_titulacions";
 	}
 
 	@PostMapping("/ajax/find/centers")
-	public String getAllCentresByAmbit(Model model, Authentication auth, @RequestParam("procedure") Integer idProces) throws IOException {	
-		HashMap<String, Object> response =
-                oc.getAllCentresByAmbit(idProces);
-		
+	public String getAllCentresByAmbit(Model model, Authentication auth, @RequestParam("procedure") Integer idProces)
+			throws IOException {
+		HashMap<String, Object> response = oc.getAllCentresByAmbit(idProces);
+
 		if (response == null) {
-			return "401";	
-        }
+			return "401";
+		}
 
 		model.addAllAttributes(response);
 		return "components/selector_centres";

+ 1 - 3
src/main/java/es/uv/saic/web/ParseController.java

@@ -2,9 +2,6 @@ package es.uv.saic.web;
 
 import java.io.IOException;
 import java.sql.SQLException;
-import java.util.Optional;
-
-import jakarta.servlet.http.HttpServletResponse;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -16,6 +13,7 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 
 import es.uv.saic.feign.ParseClient;
+import jakarta.servlet.http.HttpServletResponse;
 
 // Controller for the parsing options page for admin user
 @Controller

+ 0 - 2
src/main/java/es/uv/saic/web/ProceduresController.java

@@ -4,7 +4,6 @@ import java.io.File;
 import java.io.IOException;
 import java.math.BigInteger;
 import java.sql.Timestamp;
-import java.time.Year;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -27,7 +26,6 @@ import es.uv.saic.domain.EvidenciaIndicadorEnquesta;
 import es.uv.saic.domain.InstanciaTascaVer;
 import es.uv.saic.domain.Plantilla;
 import es.uv.saic.domain.Proces;
-import es.uv.saic.domain.Rol;
 import es.uv.saic.domain.Tipus;
 import es.uv.saic.domain.Usuari;
 import es.uv.saic.dto.RolDTO;

+ 0 - 6
src/main/java/es/uv/saic/web/StatsController.java

@@ -2,7 +2,6 @@ package es.uv.saic.web;
 
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,10 +13,8 @@ import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.GetMapping;
 
-import es.uv.saic.domain.Email;
 import es.uv.saic.domain.Usuari;
 import es.uv.saic.feign.StatsClient;
-import es.uv.saic.service.EmailService;
 
 // Controller to handle admin statistics page
 @Controller
@@ -25,9 +22,6 @@ public class StatsController {
 	
 	@Autowired
     private SessionRegistry sessionRegistry;
-
-	@Autowired
-    private EmailService emailService;
 	
 	@Autowired
     private StatsClient sc;

+ 0 - 89
src/main/java/es/uv/saic/web/TestController.java

@@ -1,89 +0,0 @@
-package es.uv.saic.web;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.security.access.annotation.Secured;
-import org.springframework.security.core.Authentication;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
-
-import es.uv.saic.domain.Instancia;
-import es.uv.saic.domain.InstanciaTasca;
-import es.uv.saic.dto.PdfDTO;
-import es.uv.saic.feign.PlantillaClient;
-import es.uv.saic.service.InstanciaService;
-import es.uv.saic.service.InstanciaTascaService;
-
-// INACCESIBLE DESDE VISTAS
-//	Generates PDFs for all instances of a given process and task for admin user 
-@Controller
-public class TestController {
-		
-	@Autowired 
-	private InstanciaService ins;
-	@Autowired 
-	private InstanciaTascaService its;
-	@Autowired
-	private PlantillaClient plc;
-	
-	@Value("${saic.data.filePath}")
-	private String filePath;
-	@Value("${saic.data.templates.fileNotFound}")
-	private String fileNotFound;
-	@Value("${saic.data.templates.filePath}")
-	private String templatePath;
-	@Value("${saic.data.templates.logoPath}")
-	private String logoPath;	
-	
-	/*
-	 * Generates PDFs for all instances of a given process and task for admin user
-	 * 
-	 * @param auth The authentication object
-	 * @return A string indicating the result of the operation
-	 * @throws FileNotFoundException If a required file is not found
-	 * @throws IOException If an I/O error occurs
-	 * @throws InterruptedException If the thread is interrupted
-	 */
-	@GetMapping("/admin/pdf")
-	@Secured({"ROLE_ADMIN"})
-	@ResponseBody
-	public String generatePDF(Authentication auth) throws FileNotFoundException, IOException, InterruptedException {
-		
-		// 94231 y 94232    tascap = 300
-		List<Instancia> instancies = ins.findByIdProces(94231);
-		for(Instancia i : instancies) {
-			InstanciaTasca it = this.its.findByInstanciaTascap(i.getIdInstancia(), 300);
-			if(it.getEstat() != null) {
-				if(it.getEstat().equals("E")) {
-					PdfDTO pdf = new PdfDTO(it.getText(), it.getIdInstanciaTasca());
-					String dst = plc.savePDF(pdf);
-					it.setEvidencia(dst);
-					its.save(it);
-				}
-			}	
-		}
-		
-		instancies = new ArrayList<Instancia>();
-		instancies = ins.findByIdProces(94231);
-		for(Instancia i : instancies) {
-			InstanciaTasca it = this.its.findByInstanciaTascap(i.getIdInstancia(), 300);
-			if(it.getEstat() != null) {
-				if(it.getEstat().equals("E")) {
-					PdfDTO pdf = new PdfDTO(it.getText(), it.getIdInstanciaTasca());
-					String dst = plc.savePDF(pdf);
-					it.setEvidencia(dst);
-					its.save(it);
-				}
-			}	
-		}
-		
-		return "OK";
-	}
-	
-}

+ 7 - 7
src/main/resources/templates/adminProcedures.html

@@ -152,17 +152,17 @@
 	});
 	
 	function formNew(){
-		$.post("/ajax/find/procedure", {procedure:0, action:"new"}, function(rawData){ 
+		$.put("/ajax/find/procedure", {procedure:0, action:"new"}, function(rawData){ 
 			$('#formFields').html(rawData);
 			$('.selectpicker').selectpicker('refresh');
 			$('#formFields').show();
 		});
 		$('#formFields').show();
-		$('#procedureForm').attr('action', '/admin/procedures/new');
+		$('#procedureForm').attr('action', '/admin/procedures');
 	}
 	
 	function formDuplicate(){
-		$.post("/ajax/find/procedure", {procedure:$('#proceduresSelector').val(), action:"duplicate"}, function(rawData){ 
+		$.put("/ajax/find/procedure", {procedure:$('#proceduresSelector').val(), action:"duplicate"}, function(rawData){ 
 			$('#formFields').html(rawData);
 			$('.selectpicker').selectpicker('refresh');
 			$('#formFields').find('.datepicker').datepicker({
@@ -173,16 +173,16 @@
 			    clearBtn: true
 			});
 			$('#formFields').show();
-			$('#procedureForm').attr('action', '/admin/procedures/new');
+			$('#procedureForm').attr('action', '/admin/procedures');
 		});
 	}
 	
 	function formRemove(){
-		$.post("/ajax/find/procedure", {procedure:$('#proceduresSelector').val(), action:"remove"}, function(rawData){ 
+		$.delete("/ajax/find/procedure", {procedure:$('#proceduresSelector').val(), action:"remove"}, function(rawData){ 
 			$('#formFields').html(rawData);
 			$('.selectpicker').selectpicker('refresh');
 			$('#formFields').show();
-			$('#procedureForm').attr('action', '/admin/procedures/remove');
+			$('#procedureForm').attr('action', '/admin/procedures');
 		});
 	}
 		
@@ -191,7 +191,7 @@
 			$('#formFields').html(rawData);
 			$('.selectpicker').selectpicker('refresh');
 			$('#formFields').show();
-			$('#procedureForm').attr('action', '/admin/procedures/edit');
+			$('#procedureForm').attr('action', '/admin/procedures');
 		});
 	}