Browse Source

Creadas 2 clases y finalizado dashboard, a falta de los colores de Gantt

Mario Martínez Hernández 2 weeks ago
parent
commit
9d20f312e3

+ 35 - 0
src/main/java/es/uv/saic/domain/CursoValor.java

@@ -0,0 +1,35 @@
+package es.uv.saic.domain;
+
+public class CursoValor{
+    private String periodo;
+    private String valor;
+    private Integer curso;
+    
+    public CursoValor(){ }
+    
+    public CursoValor(String periodo, String valor) {
+        this.periodo = periodo;
+        this.valor = valor;
+        this.curso = Integer.parseInt(periodo.split("-")[1]);
+    }
+    
+    public String getPeriodo() {
+        return periodo;
+    }
+    public void setPeriodo(String periodo) {
+        this.periodo = periodo;
+    }
+    public Integer getCurso() {
+        return curso;
+    }
+    public void setValor(Integer curso) {
+        this.curso = curso;
+    }
+    public String getValor() {
+        return valor;
+    }
+    public void setValor(String valor) {
+        this.valor = valor;
+    }
+}
+

+ 8 - 35
src/main/java/es/uv/saic/domain/Indicador.java

@@ -24,6 +24,14 @@ public class Indicador {
 		this.valores = new ArrayList<CursoValor>();
 	}
 
+	public Indicador(String dimension, String indicador, String valor, String ambit, List<CursoValor> cursoValors) {
+		this.dimension = dimension;
+		this.indicador = indicador;
+		this.valor = valor;
+		this.ambit = ambit;
+		this.valores = cursoValors;
+	}
+
 	public String getDimension() {
 		return dimension;
 	}
@@ -81,39 +89,4 @@ public class Indicador {
 			return null;
 		}
 	}
-
-
-	public class CursoValor{
-		private String periodo;
-		private String valor;
-		private Integer curso;
-		
-		public CursoValor(){ }
-		
-		public CursoValor(String periodo, String valor) {
-			this.periodo = periodo;
-			this.valor = valor;
-			this.curso = Integer.parseInt(periodo.split("-")[1]);
-		}
-		
-		public String getPeriodo() {
-			return periodo;
-		}
-		public void setPeriodo(String periodo) {
-			this.periodo = periodo;
-		}
-		public Integer getCurso() {
-			return curso;
-		}
-		public void setValor(Integer curso) {
-			this.curso = curso;
-		}
-		public String getValor() {
-			return valor;
-		}
-		public void setValor(String valor) {
-			this.valor = valor;
-		}
-	}
-
 }

+ 95 - 0
src/main/java/es/uv/saic/dto/InstanciaGanttDTOImp.java

@@ -0,0 +1,95 @@
+package es.uv.saic.dto;
+
+import java.math.BigInteger;
+
+public class InstanciaGanttDTOImp implements InstanciaGanttDTO{
+    private BigInteger id;
+	private String name;
+	private String titCas;
+	private String titVal;
+	private String start;
+	private String end;
+	private Integer progress;
+	private String customClass;
+
+    public InstanciaGanttDTOImp(BigInteger id, String name, String titCas, String titVal, String start, String end,
+            Integer progress, String customClass) {
+        this.id = id;
+        this.name = name;
+        this.titCas = titCas;
+        this.titVal = titVal;
+        this.start = start;
+        this.end = end;
+        this.progress = progress;
+        this.customClass = customClass;
+    }
+
+    public InstanciaGanttDTOImp(InstanciaGanttDTO instanciaGanttDTO) {
+        this.id = instanciaGanttDTO.getId();
+        this.name = instanciaGanttDTO.getName();
+        this.titCas = instanciaGanttDTO.getTitCas();
+        this.titVal = instanciaGanttDTO.getTitVal();
+        this.start = instanciaGanttDTO.getStart();
+        this.end = instanciaGanttDTO.getEnd();
+        this.progress = instanciaGanttDTO.getProgress();
+        this.customClass = instanciaGanttDTO.getCustom_class();
+    }
+
+    public void setId(BigInteger id) {
+        this.id = id;
+    }
+    public void setName(String name) {
+        this.name = name;
+    }
+    public void setTitCas(String titCas) {
+        this.titCas = titCas;
+    }
+    public void setTitVal(String titVal) {
+        this.titVal = titVal;
+    }
+    public void setStart(String start) {
+        this.start = start;
+    }
+    public void setEnd(String end) {
+        this.end = end;
+    }
+    public void setProgress(Integer progress) {
+        this.progress = progress;
+    }
+    public void setCustomClass(String customClass) {
+        this.customClass = customClass;
+    }
+    @Override
+    public BigInteger getId() {
+        return id;
+    }
+    @Override
+    public String getName() {
+        return name;
+    }
+    @Override
+    public String getTitCas() {
+        return titCas;    
+    }
+    @Override
+    public String getTitVal() {
+        return titVal;
+    }
+    @Override
+    public String getStart() {
+        return start;
+    }
+    @Override
+    public String getEnd() {
+        return end;
+    }
+    @Override
+    public Integer getProgress() {
+        return progress;
+    }
+
+    @Override
+    public String getCustom_class() {
+        return customClass;
+    }   
+}

+ 6 - 6
src/main/java/es/uv/saic/feign/DashboardClient.java

@@ -23,7 +23,7 @@ import es.uv.saic.domain.Grafica;
 import es.uv.saic.domain.Indicador;
 import es.uv.saic.domain.Link;
 import es.uv.saic.dto.CategoriaDocumentDTO;
-import es.uv.saic.dto.InstanciaGanttDTO;
+import es.uv.saic.dto.InstanciaGanttDTOImp;
 
 @FeignClient(value = "dashboard-service", url = "${saic.url.domain}")
 public interface DashboardClient {
@@ -45,7 +45,7 @@ public interface DashboardClient {
 
     @GetMapping("/dashboard/gantt/{ruct}")
 	@ResponseBody
-	public List<InstanciaGanttDTO> loadGantt(@PathVariable Integer ruct);
+	public List<InstanciaGanttDTOImp> loadGantt(@PathVariable Integer ruct);
 
     @GetMapping("/dashboard/documents/cats/{idCategoria}/{tambit}")
 	@ResponseBody
@@ -72,13 +72,13 @@ public interface DashboardClient {
 	@ResponseBody
 	public List<Indicador> getGraphDataTaxes(@PathVariable Integer lugar) throws ParserConfigurationException;
 
-    @GetMapping("/dashboard/graphs/inds/{ruct}")
+	@GetMapping("/dashboard/graphs/inds/{ruct}/{tambit}")
 	@ResponseBody
-	public List<Indicador> getGraphData(@PathVariable Integer ruct) throws ParserConfigurationException;
+	public List<Indicador> getGraphDataByRuctTambit(@PathVariable Integer ruct, @PathVariable String tambit) throws ParserConfigurationException;
 
-    @GetMapping("/dashboard/graphs/inds/{ruct}/{tambit}")
+    @GetMapping("/dashboard/graphs/inds/{ruct}")
 	@ResponseBody
-	public List<Indicador> getGraphData(@PathVariable Integer ruct, @PathVariable Optional<String> tambit) throws ParserConfigurationException;
+	public List<Indicador> getGraphDataByRuct(@PathVariable Integer ruct) throws ParserConfigurationException;
 
     @GetMapping("/dashboard/links/{ruct}")
 	@ResponseBody

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

@@ -31,6 +31,7 @@ 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;
 
@@ -98,6 +99,18 @@ public class DashboardController {
 	public List<?> loadReports(Model model, Authentication auth, @PathVariable Integer idTitulacio) {
 		return dbc.loadReports(idTitulacio);
 	}
+
+	@GetMapping("/dashboard/graphs/inds/{ruct}/{tambit}")
+	@ResponseBody
+	public List<Indicador> getGraphDataByRuctTambit(@PathVariable Integer ruct, @PathVariable String tambit) throws ParserConfigurationException {
+		return dbc.getGraphDataByRuctTambit(ruct, tambit);
+	}
+
+    @GetMapping("/dashboard/graphs/inds/{ruct}")
+	@ResponseBody
+	public List<Indicador> getGraphDataByRuct(@PathVariable Integer ruct) throws ParserConfigurationException {
+		return dbc.getGraphDataByRuct(ruct);
+	}
 	
 	// GET para conseguir la documentación ya a aportada a partir del id de la tituación
 	@GetMapping("/dashboard/documents/{idTitulacio}")
@@ -109,7 +122,7 @@ public class DashboardController {
 	// GET para conseguir el diagrama de gantt a partir del ruct
 	@GetMapping("/dashboard/gantt/{ruct}")
 	@ResponseBody
-	public List<InstanciaGanttDTO> loadGantt(Model model, @PathVariable Integer ruct){
+	public List<InstanciaGanttDTOImp> loadGantt(Model model, @PathVariable Integer ruct){
 		return dbc.loadGantt(ruct);
 	}
 		

+ 8 - 8
src/main/resources/templates/dashboardCentre.html

@@ -59,7 +59,7 @@
                          <h6 ><small style="font-weight: bold;">RUCT: </small><small style="font-weight: bold;" th:text="${organ.ruct}"></small></h6>
                      </div>
                      <div class="col-sm-2" style="padding:0;">
-                     	<img th:src="@{${'/logos/C' + organ.id.lugar +'.png'}}" class="float-right img-responsive img-rounded" style="width:80px;margin-top:0px;">
+                     	<img th:src="@{${'/logos/C' + organ.lugar +'.png'}}" class="float-right img-responsive img-rounded" style="width:80px;margin-top:0px;">
                      </div>
                  </div>
 				<div class="clearfix"></div>
@@ -200,9 +200,9 @@
                             		<div class="col-lg-4">
                             			<div style="margin-bottom:5px;">
                             				<select class="form-control pointer data-selector data-selector-orig">
-                            					<option value="G" selected th:text="#{dashboard.data.sel.g}" th:if="${organ.id.lugar != 62}">Grado</option>
-                            					<option value="M" th:text="#{dashboard.data.sel.m}" th:if="${organ.id.lugar != 62}">Máster</option>
-                            					<option value="D" selected th:text="#{dashboard.data.sel.d}" th:if="${organ.id.lugar == 62}">Doctorado</option>
+                            					<option value="G" selected th:text="#{dashboard.data.sel.g}" th:if="${organ.lugar != 62}">Grado</option>
+                            					<option value="M" th:text="#{dashboard.data.sel.m}" th:if="${organ.lugar != 62}">Máster</option>
+                            					<option value="D" selected th:text="#{dashboard.data.sel.d}" th:if="${organ.lugar == 62}">Doctorado</option>
                             				</select>
                             				<select class="form-control pointer data-selector data-selector-group">
                             					<option value="2" data-group="G" th:text="#{dashboard.data.sel.estud1}" selected>Satisfacción Estudiantes 1º</option>
@@ -276,8 +276,8 @@
 	        <div class="modal-body">
 	        	<div class="container-fluid">
 			    	<form id="newDocumentForm" style="margin-top:25px;">
-			    		<input type="hidden" id="fileLugar" name="lugar" th:value="${organ.id.lugar}">  
-			    		<input type="hidden" id="fileTlugar" name="tlugar" th:value="${organ.id.tlugar}">  
+			    		<input type="hidden" id="fileLugar" name="lugar" th:value="${organ.lugar}">  
+			    		<input type="hidden" id="fileTlugar" name="tlugar" th:value="${organ.tlugar}">  
 						<div class="uv-table-group-procedure" id="categoryContainer">
 							<label>Categoría</label>
 							<select class="form-control selectpicker" id="categorySelector" name="category" data-width="100%" data-actions-box="true" th:attr="data-none-selected-text=#{global.selectors.noData}" required>
@@ -387,8 +387,8 @@
   
 	<script type="text/javascript">
 		var locale = '[[${#locale.language}]]';
-		var lugar = '[[${organ.id.lugar}]]';
-		var tlugar = '[[${organ.id.tlugar}]]';
+		var lugar = '[[${organ.lugar}]]';
+		var tlugar = '[[${organ.tlugar}]]';
 		var ruct = '[[${organ.ruct}]]';
 		var tambit = '[[${organ.tambit}]]';
 		var treeProcedures, treeDocuments, ganttChart;

+ 8 - 8
src/main/resources/templates/dashboardTitulacio.html

@@ -65,12 +65,12 @@
 				<div class="row">
                      <div class="col-sm-10">
                          <h5 style="margin-bottom:3px;"><span style="text-transform: uppercase;" th:text="${#locale.language} == 'es' ? ${organ.nomCas}:${organ.nomVal}">nombre titulación</span></h5>
-                         <h5 style="text-transform: uppercase;margin-bottom:3px;"><small th:text="${#locale.language} == 'es' ? ${organ.organ.nomCas}:${organ.organ.nomVal}">nombre centro</small></h5>
+                         <h5 style="text-transform: uppercase;margin-bottom:3px;"><small th:text="${#locale.language} == 'es' ? ${organ.nomCas2}:${organ.nomVal2}">nombre centro</small></h5>
                          <h5 style="margin-bottom:0px;"><a target="_blank" th:href="${'/public/reports/'+organ.ruct}"><small><i class="fa fa-link"></i></small> <small th:text="#{dashboard.header.published}">Informes publicados</small></a></h5>
                      </div>
                      <div class="col-sm-2" style="padding:0;">
 						<h6 style="margin-bottom:10px;margin-top:-5px;text-align: right;"><small style="font-weight: bold;">RUCT: </small><small class="pointer" style="font-weight: bold;"><a tabindex="0" role="button" data-container="body" data-trigger="focus" data-toggle="popover" data-placement="left" th:attr="title=#{dashboard.acred.codes}, data-content=${organ.codis}" th:text="${organ.ruct}"></a></small></h6>
-                     	<img th:src="@{${'/logos/C' + organ.organ.id.lugar +'.png'}}" class="float-right img-responsive img-rounded" style="width:80px;max-width:80px;margin-top:0px;">
+                     	<img th:src="@{${'/logos/C' + organ.lugar2 +'.png'}}" class="float-right img-responsive img-rounded" style="width:80px;max-width:80px;margin-top:0px;">
                      </div>
                  </div>
 				<div class="clearfix"></div>
@@ -303,8 +303,8 @@
 	        <div class="modal-body">
 	        	<div class="container-fluid">
 			    	<form id="newDocumentForm" style="margin-top:25px;">
-			    		<input type="hidden" id="fileLugar" name="lugar" th:value="${organ.id.lugar}">  
-			    		<input type="hidden" id="fileTlugar" name="tlugar" th:value="${organ.id.tlugar}">  
+			    		<input type="hidden" id="fileLugar" name="lugar" th:value="${organ.lugar}">  
+			    		<input type="hidden" id="fileTlugar" name="tlugar" th:value="${organ.tlugar}">  
 						<div class="uv-table-group-procedure" id="categoryContainer">
 							<label>Categoría</label>
 							<select class="form-control selectpicker" id="categorySelector" name="category" data-width="100%" data-actions-box="true" th:attr="data-none-selected-text=#{global.selectors.noData}" required>
@@ -367,8 +367,8 @@
 	        </div>
 	        <div class="modal-body">
 	        	<div class="container-fluid">
-	        		<input type="hidden" id="lugar" th:value="${organ.id.lugar}">
-	        		<input type="hidden" id="tlugar" th:value="${organ.id.tlugar}">
+	        		<input type="hidden" id="lugar" th:value="${organ.lugar}">
+	        		<input type="hidden" id="tlugar" th:value="${organ.tlugar}">
 			    	<div class="row">
 			    		<div class="col-3">
 							<label th:text="#{dashboard.acred.date.acred}">Fecha acreditación</label>
@@ -520,8 +520,8 @@
   
   	<script type="text/javascript">
 	  	var locale = '[[${#locale.language}]]';
-		var lugar = '[[${organ.id.lugar}]]';
-		var tlugar = '[[${organ.id.tlugar}]]';
+		var lugar = '[[${organ.lugar}]]';
+		var tlugar = '[[${organ.tlugar}]]';
 		var ruct = '[[${organ.ruct}]]';
 		var tambit = '[[${organ.tambit}]]';
 		$.fn.selectpicker.Constructor.BootstrapVersion = '4';