Просмотр исходного кода

actualizado dashboards para el botón

Mario Martínez Hernández 1 месяц назад
Родитель
Сommit
aa3992920d

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

@@ -0,0 +1,32 @@
+package es.uv.saic.dto;
+
+import java.util.List;
+
+public class ProcedureRequestDTO {
+    private ProcesDTO proces;
+    private List<TascaDTO> tasques;
+
+    public ProcedureRequestDTO() {}
+
+    public ProcedureRequestDTO(ProcesDTO proces, List<TascaDTO> tasques) {
+        this.proces = proces;
+        this.tasques = tasques;
+    }
+
+    public ProcesDTO getProces() {
+        return proces;
+    }
+
+    public void setProces(ProcesDTO proces) {
+        this.proces = proces;
+    }
+
+    public List<TascaDTO> getTasques() {
+        return tasques;
+    }
+
+    public void setTasques(List<TascaDTO> tasques) {
+        this.tasques = tasques;
+    }
+    
+}

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

@@ -24,6 +24,7 @@ public class TascaDTO {
     private Integer idRol;
     private String nomRol;
     private Boolean informe;
+    private Integer idPlantilla;
 
     public TascaDTO() {
     }
@@ -31,7 +32,7 @@ public class TascaDTO {
     public TascaDTO(Integer idTasca, String codiEvidencia, String dataLim, String descripcioCas, String descripcioVal,
             Integer idTascaSeg, Integer idTascaSeg2, Integer idTascap, Integer idTipus, String nomTipus,
             String nomEvidenciaCas, String nomEvidenciaVal, String titolCas, String titolVal, String opcions,
-            Integer idRol, String nomRol, Boolean informe) {
+            Integer idRol, String nomRol, Boolean informe, Integer idPlantilla) {
         this.idTasca = idTasca;
         this.codiEvidencia = codiEvidencia;
         this.dataLim = dataLim;
@@ -50,6 +51,7 @@ public class TascaDTO {
         this.idRol = idRol;
         this.nomRol = nomRol;
         this.informe = informe;
+        this.idPlantilla = idPlantilla;
     }
 
     public TascaDTO(Tasca tasca) {
@@ -226,4 +228,11 @@ public class TascaDTO {
         this.informe = informe;
     }
     
+    public Integer getIdPlantilla() {
+        return idPlantilla;
+    }
+
+    public void setIdPlantilla(Integer idPlantilla) {
+        this.idPlantilla = idPlantilla; 
+    }
 }

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

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

+ 62 - 121
src/main/java/es/uv/saic/web/AdminController.java

@@ -25,6 +25,7 @@ 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.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
@@ -42,6 +43,9 @@ import es.uv.saic.domain.Rol;
 import es.uv.saic.domain.Tasca;
 import es.uv.saic.domain.Usuari;
 import es.uv.saic.domain.UsuarisRol;
+import es.uv.saic.dto.ProcedureRequestDTO;
+import es.uv.saic.dto.ProcesDTO;
+import es.uv.saic.dto.TascaDTO;
 import es.uv.saic.feign.IndicadorClient;
 import es.uv.saic.service.AcreditacioService;
 import es.uv.saic.service.EmailService;
@@ -471,8 +475,8 @@ public class AdminController {
 		}
 	}
 
-	// POST para la creación de un procedimiento nuevo
-	@PutMapping("/procedures")
+	// PUT para la creación de un procedimiento nuevo
+	@PutMapping("/procedure")
 	public void newProcedure(@RequestParam Map<String, String> params,
 			@RequestParam(name = "idTascap[]", required = false) List<String> idTascap,
 			@RequestParam(name = "dataLimit[]", required = false) List<String> dataLimit,
@@ -489,8 +493,7 @@ public class AdminController {
 			@RequestParam(name = "nomEvidenciaCas[]", required = false) List<String> nomEvidenciaCas,
 			@RequestParam(name = "nomEvidenciaVal[]", required = false) List<String> nomEvidenciaVal,
 			@RequestParam(name = "idPlantilla[]", required = false) List<String> idPlantilla,
-			@RequestParam(name = "informe[]", required = false) List<Boolean> informe)
-			throws NumberFormatException, ParseException {
+			@RequestParam(name = "informe[]", required = false) List<Boolean> informe) {
 
 		DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DDMMYYYY);
 		Proces p = new Proces();
@@ -512,9 +515,9 @@ public class AdminController {
 		if (idTascaSeg != null) {
 			for (Integer i = 0; i < idTascap.size(); i++) {
 				Tasca t = new Tasca();
-				t.setIdTasca((p.getIdProces() * 10000) + Integer.parseInt(idTascap.get(i)));
+				t.setIdTasca((p.getIdProces() * 10000) + t.getIdTascap());
 				t.setProces(p);
-				t.setIdTascap(Integer.parseInt(idTascap.get(i)));
+				t.setIdTascap(t.getIdTascap());
 				t.setIdTascaSeg(Integer.parseInt(idTascaSeg.get(i)));
 				t.setIdTascaSeg2(idTascaSeg2.get(i).equals(".") ? null : Integer.parseInt(idTascaSeg2.get(i)));
 				t.setOpcions(opcions.get(i));
@@ -547,95 +550,65 @@ public class AdminController {
 
 	// POST para editar un procedimiento ya existente
 	@PostMapping("/procedure")
-	public void editProcedure(@RequestParam Map<String, String> params,
-			@RequestParam(name = "idTascap[]", required = false) List<String> idTascap,
-			@RequestParam(name = "dataLimit[]", required = false) List<String> dataLimit,
-			@RequestParam(name = "tipus[]", required = false) List<String> tipus,
-			@RequestParam(name = "codiEvidencia[]", required = false) List<String> codiEvidencia,
-			@RequestParam(name = "idTascaSeg[]", required = false) List<String> idTascaSeg,
-			@RequestParam(name = "idTascaSeg2[]", required = false) List<String> idTascaSeg2,
-			@RequestParam(name = "opcions[]", required = false) List<String> opcions,
-			@RequestParam(name = "idRol[]", required = false) List<String> idRol,
-			@RequestParam(name = "titolCas[]", required = false) List<String> titolCas,
-			@RequestParam(name = "titolVal[]", required = false) List<String> titolVal,
-			@RequestParam(name = "descripcioCas[]", required = false) List<String> descripcioCas,
-			@RequestParam(name = "descripcioVal[]", required = false) List<String> descripcioVal,
-			@RequestParam(name = "nomEvidenciaCas[]", required = false) List<String> nomEvidenciaCas,
-			@RequestParam(name = "nomEvidenciaVal[]", required = false) List<String> nomEvidenciaVal,
-			@RequestParam(name = "idPlantilla[]", required = false) List<String> idPlantilla,
-			@RequestParam(name = "informe[]", required = false) List<Boolean> informe)
-			throws NumberFormatException, ParseException {
-
-		DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DDMMYYYY);
-		Proces p = ps.findByID(Integer.parseInt(params.get("idProces")));
-		p.setNomProces(params.get("nomProces"));
-		p.setVersio(params.get("versio"));
-		p.setComentaris(params.get("comentaris"));
-		p.setSubTitol(params.get("subTitol"));
-		p.setAmbit(params.get("ambit"));
-		p.setTitolCas(params.get("titolCas").equals(".") ? "" : params.get("titolCas"));
-		p.setTitolVal(params.get("titolVal").equals(".") ? "" : params.get("titolVal"));
-		p.setDescripcioCas(params.get("descripcioCas").equals(".") ? "" : params.get("descripcioCas"));
-		p.setDescripcioVal(params.get("descripcioVal").equals(".") ? "" : params.get("descripcioVal"));
-		p.setCursActivacio(Integer.parseInt(params.get("cursActivacio")));
-		p.setCursAvaluat(Integer.parseInt(params.get("cursAvaluat")));
+	public void editProcedure(@RequestBody ProcedureRequestDTO resquest) {
+		ProcesDTO proces = resquest.getProces();
+		List<TascaDTO> tasques = resquest.getTasques();
+		Proces p = ps.findByID(proces.getIdProces());
+		p.setNomProces(proces.getNomProces());
+		p.setVersio(proces.getVersio());
+		p.setComentaris(proces.getComentaris());
+		p.setSubTitol(proces.getSubTitol());
+		p.setAmbit(proces.getAmbit());
+		p.setTitolCas(proces.getTitolCas());
+		p.setTitolVal(proces.getTitolVal());
+		p.setDescripcioCas(proces.getDescripcioCas());
+		p.setDescripcioVal(proces.getDescripcioVal());
+		p.setCursActivacio(proces.getCursActivacio());
+		p.setCursAvaluat(proces.getCursAvaluat());
 
 		ps.save(p);
 
-		if (idTascaSeg != null) {
-			for (Tasca t : ts.findByProces(p.getIdProces())) {
-				if (!idTascap.contains(Integer.toString(t.getIdTascap()))) {
-					ts.delete(t);
+		for (TascaDTO t : tasques) {
+			if (t.getIdTascaSeg() != null) {
+				for (Tasca t2 : ts.findByProces(p.getIdProces())) {
+					if (!t.getIdTascap().toString().contains(Integer.toString(t2.getIdTascap()))) {
+						ts.delete(t2);
+					}
 				}
-			}
 
-			for (Integer i = 0; i < idTascap.size(); i++) {
-				Tasca t;
+				Tasca tasca;
 				try {
-					t = ts.getByID((p.getIdProces() * 10000) + Integer.parseInt(idTascap.get(i)));
-					if (t == null) {
-						t = new Tasca();
-						t.setIdTasca((p.getIdProces() * 10000) + Integer.parseInt(idTascap.get(i)));
-						t.setProces(p);
-						t.setIdTascap(Integer.parseInt(idTascap.get(i)));
+					tasca = ts.getByID((p.getIdProces() * 10000) + t.getIdTascap());
+					if (tasca == null) {
+						tasca = new Tasca();
+						tasca.setIdTasca((p.getIdProces() * 10000) + t.getIdTascap());
+						tasca.setProces(p);
+						tasca.setIdTascap(t.getIdTascap());
 					}
 				} catch (Exception e) {
-					t = new Tasca();
-					t.setIdTasca((p.getIdProces() * 10000) + Integer.parseInt(idTascap.get(i)));
-					t.setProces(p);
-					t.setIdTascap(Integer.parseInt(idTascap.get(i)));
+					tasca = new Tasca();
+					tasca.setIdTasca((p.getIdProces() * 10000) + t.getIdTascap());
+					tasca.setProces(p);
+					tasca.setIdTascap(t.getIdTascap());
 				}
 
-				t.setIdTascaSeg(Integer.parseInt(idTascaSeg.get(i)));
-				t.setIdTascaSeg2(idTascaSeg2.get(i).equals(".") ? null : Integer.parseInt(idTascaSeg2.get(i)));
-				t.setOpcions(opcions.get(i));
-				t.setTitolCas(titolCas.get(i).equals(".") ? "" : titolCas.get(i).replace("[comma]", ","));
-				t.setDescripcioCas(
-						descripcioCas.get(i).equals(".") ? "" : descripcioCas.get(i).replace("[comma]", ","));
-				t.setTitolVal(titolVal.get(i).equals(".") ? "" : titolVal.get(i).replace("[comma]", ","));
-				t.setDescripcioVal(
-						descripcioVal.get(i).equals(".") ? "" : descripcioVal.get(i).replace("[comma]", ","));
-				t.setNomEvidenciaCas(
-						nomEvidenciaCas.get(i).equals(".") ? "" : nomEvidenciaCas.get(i).replace("[comma]", ","));
-				t.setNomEvidenciaVal(
-						nomEvidenciaVal.get(i).equals(".") ? "" : nomEvidenciaVal.get(i).replace("[comma]", ","));
-				t.setDataLim(LocalDate.parse(dataLimit.get(i), formatter));
-				t.setTipus(tps.findOne(Integer.parseInt(tipus.get(i))));
-				if (t.getTipus().getTipus() == 11 || t.getTipus().getTipus() == 15) {
-					t.setCodiEvidencia(idPlantilla.get(i));
+				if (tasca.getTipus().getTipus() == 11 || tasca.getTipus().getTipus() == 15) {
+					tasca.setCodiEvidencia(t.getIdPlantilla().toString());
 				} else {
-					t.setCodiEvidencia(
-							codiEvidencia.get(i).equals(".") ? "" : codiEvidencia.get(i).replace("[comma]", ","));
+					tasca.setCodiEvidencia(
+							t.getCodiEvidencia().equals(".") ? "" : t.getCodiEvidencia().replace("[comma]", ","));
 				}
-				t.setRol(rs.findOne(Integer.parseInt(idRol.get(i))));
-				t.setInforme(informe.get(i));
-				ts.save(t);
+
+				tasca.setRol(rs.findOne(t.getIdRol()));
+				tasca.setInforme(t.getInforme());
+				ts.save(tasca);
+				
 			}
 		}
 	}
 
 	// DELETE que elimina un procedimiento
-	@DeleteMapping("/procedures")
+	@DeleteMapping("/procedure")
 	public void removeProcedure(@RequestParam("idProces") Integer idProces) {
 		Proces p = ps.findByID(idProces);
 		for (Tasca t : ts.findByProces(p.getIdProces())) {
@@ -646,10 +619,11 @@ public class AdminController {
 
 	// POST que le eliminar un usuario concreto del sitema
 	@DeleteMapping("/userrole")
-	public HashMap<String, Object> removeUserrole(@RequestParam("idRol") Integer idRol,
+	public boolean removeUserrole(@RequestParam("idRol") Integer idRol,
 			@RequestParam("usuari") String usuari,
 			@RequestParam("lugar") Integer lugar, @RequestParam("tlugar") String tlugar) throws IOException {
-		HashMap<String, Object> map = new HashMap<>();
+		
+		usuari = usuari.split(",")[0];
 
 		UsuarisRol u = urs.findActive(idRol, usuari, lugar, tlugar);
 		if (u != null) {
@@ -658,30 +632,17 @@ public class AdminController {
 			urs.save(u);	
 		}
 
-		List<Integer> respCentres = new ArrayList<Integer>();
-		List<Integer> respTitulacions = new ArrayList<Integer>();
-		if (tlugar.equals("C")) {
-			respCentres.add(lugar);
-			map.put("respCentres", respCentres);
-			map.put("respTitulacions", respTitulacions);
-		} else {
-			Organ titulacio = os.findByID(tlugar, lugar);
-			respCentres.add(titulacio.getOrgan().getId().getLugar());
-			respTitulacions.add(titulacio.getId().getLugar());
-			map.put("respCentres", respCentres);
-			map.put("respTitulacions", respTitulacions);
-		}
-
-		return map;
+		return urs.findActive(idRol, usuari, lugar, tlugar) == null ? true : false;
 	}
 
 	// PUT para añadir un nuevo usuario al sistema
 	@PutMapping("/userrole")
-	public HashMap<String, Object> newUserrole(@RequestParam("idRol") Integer idRol,
+	public boolean 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) throws IOException {
-		HashMap<String, Object> map = new HashMap<>();
+			@RequestParam Map<String, String> params) {
+		
+		usuari = usuari.split(",")[0];
 
 		if (usuari == null && params.get("username") != null) {
 			Usuari x = new Usuari();
@@ -697,7 +658,6 @@ public class AdminController {
 		Rol rol = rs.findOne(idRol);
 		Integer lugar = null;
 		String tlugar = null;
-		boolean exists = false;
 		if (rol.getAmbit().equals("U") || (rol.getAmbit().equals("C"))) {
 			lugar = idCentre;
 			tlugar = "C";
@@ -716,8 +676,6 @@ public class AdminController {
 					r.setSupervisor(0);
 					r.setNum(num + 1);
 					urs.save(r);
-				} else {
-					exists = true;
 				}
 			} else {
 				UsuarisRol r = new UsuarisRol();
@@ -732,6 +690,7 @@ public class AdminController {
 				urs.save(r);
 			}	
 		} else {
+			lugar = idTitulacio;
 			tlugar = "T";
 			UsuarisRol u = urs.findLast(idRol, usuari, idTitulacio, tlugar);
 			Integer num = urs.findLastNum(idRol, idTitulacio, tlugar);
@@ -748,8 +707,6 @@ public class AdminController {
 					r.setSupervisor(0);
 					r.setNum(num + 1);
 					urs.save(r);
-				} else {
-					exists = true;
 				}
 			} else {
 				UsuarisRol r = new UsuarisRol();
@@ -763,24 +720,8 @@ public class AdminController {
 				r.setNum(num + 1);
 				urs.save(r);
 			}
-		}
-
-		List<Integer> respCentres = new ArrayList<Integer>();
-		respCentres.add(idCentre);
-		map.put("respCentres", respCentres);
-		List<Integer> respTitulacions = new ArrayList<Integer>();
-		if (idTitulacio != null) {
-			respTitulacions.add(idTitulacio);
-		}
-		map.put("respTitulacions", respTitulacions);
-
-		if (exists) {
-			map.put("roleExists", true);
-		} else {
-			map.put("roleExists", null);
-		}
-
-		return map;
+		};
+		return urs.findActive(idRol, usuari, lugar, tlugar) != null ? true : false;
 	}
 
 	// GET que recoge todas las plantillas actuales del sistema

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

@@ -689,7 +689,9 @@ public class ProceduresController {
 	}
 
 	@GetMapping("/find/proces/{idProces}")
-	public Proces findProcesByID(@PathVariable Integer idProces) {
-		return ps.findByID(idProces);
+	public ProcesDTO findProcesByID(@PathVariable Integer idProces) {
+		Proces proces = ps.findByID(idProces);
+		return proces != null ? new ProcesDTO(proces) : null;
+
 	}
 }