Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamu <samurey@gmail.com>2013-08-31 20:07:52 (GMT)
committer Samu <samurey@gmail.com>2013-08-31 20:07:52 (GMT)
commit3288bcf2f2f7751c8e4c968050bddaae691e031a (patch)
treee7b517c3b95a7392343ca4aa6a5fc714a39454eb
parent650fd5622e58c91f7b5c50059b0b9a99ae54361d (diff)
entorno personal
-rw-r--r--EjercitarWeb/WebContent/ver_resultados.jsp85
-rw-r--r--EjercitarWeb/src/src/CargarEntornoPersonalServlet.java320
-rw-r--r--EjercitarWeb/src/src/CargarResultadosGeneralesConceptosServlet.java (copied from EjercitarWeb/src/src/CargarResultadosGeneralesServlet.java)77
-rw-r--r--EjercitarWeb/src/src/CargarResultadosGeneralesTemasServlet.java (renamed from EjercitarWeb/src/src/CargarResultadosGeneralesServlet.java)12
4 files changed, 425 insertions, 69 deletions
diff --git a/EjercitarWeb/WebContent/ver_resultados.jsp b/EjercitarWeb/WebContent/ver_resultados.jsp
index 8d82e65..e1de21e 100644
--- a/EjercitarWeb/WebContent/ver_resultados.jsp
+++ b/EjercitarWeb/WebContent/ver_resultados.jsp
@@ -11,10 +11,10 @@
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script src="js/attc.googleCharts.js" type="text/javascript"></script>
- <link rel="stylesheet" type="text/css" href="js/attc.css">
+
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js" type="text/javascript"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/themes/ui-lightness/jquery-ui.css" type="text/css" />
-<%@page import="java.util.List" import="model.Tema" import="model.Profesor"%>
+<%@page import="java.util.List" import="model.Tema" import="model.Alumno" import="model.Profesor"%>
</head>
<body>
@@ -22,15 +22,21 @@
<div id="content">
<div id="tabs">
<ul>
- <li onclick="cargarResultadosGenerales(<%= request.getParameter("asignatura") %>)"><a href="#tabs-1">General</a></li>
+ <li><a href="#tabs-1">General</a></li>
<li><a href="#tabs-2">Alumnos por tema </a></li>
- <li><a href="#tabs-3">Individual</a></li>
+ <li onclick="$('#tabs-individual').slideToggle()"><a href="#tabs-3">Individual</a></li>
</ul>
<div id=tabs-1 >
<div id="resultados"> </div>
+ <br>
+ Promedio de Temas
<div id="grafico_temas"> </div>
-
+ <br>
+ Promedio de Conceptos
+ <div id="resultados_conceptos"> </div>
+ <div id="grafico_conceptos"> </div>
+
</div>
<div id=tabs-2>
@@ -52,17 +58,27 @@
</div>
- <div id="grafico"> </div>
- <input type="button" onclick="boton()" value="boton">
+
</form>
</div>
<div id=tabs-3>
+ <fieldset>
+ <legend> Seleccione un Alumno </legend>
+ <label> Alumno: </label>
+ <select id="alumnos" name="alumno" onchange="cargarInformacionAlumno(<%= request.getParameter("asignatura") %>)">
+ <option value='-1'> Seleccione un Alumno... </option>
+ <% List<Alumno> alumnos = (List<Alumno>)request.getAttribute("alumnoList"); %>
+ <% for(Alumno alumno : alumnos) {%>
+ <option value="<%= alumno.getIdAlumno() %>"><%= alumno.getNombre() + " " + alumno.getApellido() %></option>
+ <% } %>
+ </select>
+ </fieldset>
<div id="tabs-individual">
<ul>
<li><a href="#tabs-11">General</a></li>
- <li><a href="#tabs-22">Alumnos por tema </a></li>
+ <li><a href="#tabs-22">Entorno Personal </a></li>
<li><a href="#tabs-33">Individual</a></li>
</ul>
@@ -71,7 +87,16 @@
</div>
<div id=tabs-22>
- <p> holas2 </p>
+ <div id="datos_entorno"> </div>
+ Estados de animo
+ <div id="grafico_animo"> </div>
+ <br>
+ Recibio ayuda de sus padres?
+ <div id="grafico_padres"> </div>
+ <br>
+ Hizo sus tareas en el hogar?
+ <div id="grafico_hogar"> </div>
+
</div>
<div id=tabs-33>
@@ -88,33 +113,43 @@
<script type="text/javascript">
function cargarResultados(asignatura, alumnoList){
- //obtiene los objetos productCode, y obtiene el valor del objeto
var tema_id=$("#temas").val(); //ya se tiene el objeto select
- //llama al servlet con el parametro seleccionado
-
$("#tabla").load("CargarResultadosServlet", {asignatura:asignatura, tema_id:tema_id});
- //$("#conceptos").multiselect("refresh");
- $("#grafico").attc();
-
+ }
+
+ function cargarInformacionAlumno(asignatura){
+ var alumno_id=$("#alumnos").val(); //ya se tiene el objeto select
+ $("#tabs-individual").slideToggle();
+ $("#datos_entorno").load("CargarEntornoPersonalServlet", {alumno_id:alumno_id}, function() {
+
+ $('#animo_grafico').attc();
+ $('#padres_grafico').attc();
+ $('#hogar_grafico').attc();
+ }
+ );
}
function cargarResultadosGenerales(asignatura){
-
- $("#resultados").load("CargarResultadosGeneralesServlet", {asignatura:asignatura}, function() {
+ $("#resultados").load("CargarResultadosGeneralesTemasServlet", {asignatura:asignatura}, function() {
$('#tema_grafico').attc();}
);
-
-
-
- }
- function boton(){
- $("#grafico").attc();
+ $("#resultados_conceptos").load("CargarResultadosGeneralesConceptosServlet", {asignatura:asignatura}, function() {
+
+ $('#concepto_grafico').attc();}
+ );
}
+
+ $( "#tabs" ).tabs();
+ $( "#tabs-individual" ).tabs();
+
- $( "#tabs" ).tabs();
- $( "#tabs-individual" ).tabs();
+ $(document).ready(function() {
+
+ cargarResultadosGenerales(<%= request.getParameter("asignatura") %>)
+
+ });
</script>
diff --git a/EjercitarWeb/src/src/CargarEntornoPersonalServlet.java b/EjercitarWeb/src/src/CargarEntornoPersonalServlet.java
new file mode 100644
index 0000000..c7fb4a7
--- /dev/null
+++ b/EjercitarWeb/src/src/CargarEntornoPersonalServlet.java
@@ -0,0 +1,320 @@
+package src;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.ejb.EJB;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import model.Alumno;
+import model.Asignatura;
+import model.Concepto;
+import model.Curso;
+import model.Sesion;
+import model.Tema;
+
+import beans.AdministracionBeanRemote;
+
+/**
+ * Servlet implementation class CargarEntornoPersonalServlet
+ */
+@WebServlet("/CargarEntornoPersonalServlet")
+public class CargarEntornoPersonalServlet extends HttpServlet {
+ private static final long serialVersionUID = 1L;
+
+ @PersistenceContext
+ EntityManager em;
+
+ @EJB
+ AdministracionBeanRemote abr;
+ /**
+ * @see HttpServlet#HttpServlet()
+ */
+ public CargarEntornoPersonalServlet() {
+ super();
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ response.setContentType("text/html;charset=UTF-8");
+ PrintWriter out = response.getWriter();
+
+ String alumno_id = request.getParameter("alumno_id");
+ Alumno alumno = em.find(Alumno.class, Integer.valueOf(alumno_id));
+
+
+ List<Sesion> sesionList = em.createQuery("Select e from Sesion e where e.alumno = :alumno")
+ .setParameter("alumno", alumno).getResultList();
+
+
+ //List<Sesion> sesionList = alumno.getSesionList();
+
+ int cantidadFeliz = 0;
+ int cantidadTriste = 0;
+ int cantidadEnamorado = 0;
+ int cantidadSuenho = 0;
+ int cantidadPadres = 0;
+ int cantidadHogar = 0;
+
+
+ for(Sesion sesion : sesionList) {
+
+ String estado = sesion.getEstadoAnimo();
+ if(estado.equals("Feliz")) cantidadFeliz++;
+ if(estado.equals("Triste")) cantidadTriste++;
+ if(estado.equals("Enamorado")) cantidadEnamorado++;
+ if(estado.equals("Suenho")) cantidadSuenho++;
+
+ if(sesion.getAyudaPadres()) cantidadPadres++;
+ if(sesion.getDesdeHogar()) cantidadHogar++;
+ }
+
+ //Tabla Animos
+ try {
+ out.printf("<table title=\"Resultados\"" +
+ "id=\"animo_grafico\"" +
+ "summary=\"tema\"" +
+ "data-attc-createChart=\"true\" " +
+ "data-attc-colDescription=\"estado\" " +
+ "data-attc-colValues=\"cantidad\"" +
+ "data-attc-location=\"grafico_animo\" " +
+ "data-attc-hideTable=\"true\" " +
+ "data-attc-type=\"pie\" " +
+ "data-attc-googleOptions=" + "\'" + "{\"is3D\":true}\'" +
+ "data-attc-controls='{\"showHide\":false,\"create\":false,\"chartType\":false}'>");
+ out.printf("<thead>");
+ out.printf("<tr>");
+
+
+ out.printf("<th id=\"estado\">");
+ out.printf("Estado");
+ out.printf("</th>");
+
+ out.printf("<th id=\"cantidad\">");
+ out.printf("Cantidad");
+ out.printf("</th>");
+
+ out.printf("</tr>");
+ out.printf("</thead>");
+ out.printf("<tbody>");
+
+ //fila
+ out.printf("<tr>");
+
+ out.printf("<td class='lname'>");
+ out.printf("Feliz");
+ out.printf("</td>");
+
+ out.printf("<td class='lname'>");
+ out.printf(Integer.toString(cantidadFeliz));
+ out.printf("</td>");
+
+ out.printf("</tr>");
+ //fin fila
+
+ //fila
+ out.printf("<tr>");
+
+ out.printf("<td class='lname'>");
+ out.printf("Triste");
+ out.printf("</td>");
+
+ out.printf("<td class='lname'>");
+ out.printf(Integer.toString(cantidadTriste));
+ out.printf("</td>");
+
+ out.printf("</tr>");
+ //fin fila
+
+ //fila
+ out.printf("<tr>");
+
+ out.printf("<td class='lname'>");
+ out.printf("Enamorado");
+ out.printf("</td>");
+
+ out.printf("<td class='lname'>");
+ out.printf(Integer.toString(cantidadEnamorado));
+ out.printf("</td>");
+
+ out.printf("</tr>");
+ //fin fila
+
+ //fila
+ out.printf("<tr>");
+
+ out.printf("<td class='lname'>");
+ out.printf("Suenho");
+ out.printf("</td>");
+
+ out.printf("<td class='lname'>");
+ out.printf(Integer.toString(cantidadSuenho));
+ out.printf("</td>");
+
+ out.printf("</tr>");
+ //fin fila
+
+ out.printf("</tbody>");
+ out.printf("</table>");
+ } finally {
+ //out.close();
+ }
+
+
+
+
+ //tabla padres
+ try {
+ out.printf("<table title=\"Resultados\"" +
+ "id=\"padres_grafico\"" +
+ "summary=\"tema\"" +
+ "data-attc-createChart=\"true\" " +
+ "data-attc-colDescription=\"estado\" " +
+ "data-attc-colValues=\"cantidad\"" +
+ "data-attc-location=\"grafico_padres\" " +
+ "data-attc-hideTable=\"true\" " +
+ "data-attc-type=\"pie\" " +
+ "data-attc-googleOptions=" + "\'" + "{\"is3D\":true}\'" +
+ "data-attc-controls='{\"showHide\":false,\"create\":false,\"chartType\":false}'>");
+ out.printf("<thead>");
+ out.printf("<tr>");
+
+
+ out.printf("<th id=\"estado\">");
+ out.printf("Estado");
+ out.printf("</th>");
+
+ out.printf("<th id=\"cantidad\">");
+ out.printf("Cantidad");
+ out.printf("</th>");
+
+ out.printf("</tr>");
+ out.printf("</thead>");
+ out.printf("<tbody>");
+
+ //fila
+ out.printf("<tr>");
+
+ out.printf("<td class='lname'>");
+ out.printf("Si");
+ out.printf("</td>");
+
+ out.printf("<td class='lname'>");
+ out.printf(Integer.toString(cantidadPadres));
+ out.printf("</td>");
+
+ out.printf("</tr>");
+ //fin fila
+
+ //fila
+ out.printf("<tr>");
+
+ out.printf("<td class='lname'>");
+ out.printf("No");
+ out.printf("</td>");
+
+ out.printf("<td class='lname'>");
+ out.printf(Integer.toString(sesionList.size() - cantidadPadres));
+ out.printf("</td>");
+
+ out.printf("</tr>");
+ //fin fila
+
+
+ out.printf("</tbody>");
+ out.printf("</table>");
+ } finally {
+ //out.close();
+ }
+
+
+
+ //tabla hogar
+ try {
+ out.printf("<table title=\"Resultados\"" +
+ "id=\"hogar_grafico\"" +
+ "summary=\"tema\"" +
+ "data-attc-createChart=\"true\" " +
+ "data-attc-colDescription=\"estado\" " +
+ "data-attc-colValues=\"cantidad\"" +
+ "data-attc-location=\"grafico_hogar\" " +
+ "data-attc-hideTable=\"true\" " +
+ "data-attc-type=\"pie\" " +
+ "data-attc-googleOptions=" + "\'" + "{\"is3D\":true}\'" +
+ "data-attc-controls='{\"showHide\":false,\"create\":false,\"chartType\":false}'>");
+ out.printf("<thead>");
+ out.printf("<tr>");
+
+
+ out.printf("<th id=\"estado\">");
+ out.printf("Estado");
+ out.printf("</th>");
+
+ out.printf("<th id=\"cantidad\">");
+ out.printf("Cantidad");
+ out.printf("</th>");
+
+ out.printf("</tr>");
+ out.printf("</thead>");
+ out.printf("<tbody>");
+
+ //fila
+ out.printf("<tr>");
+
+ out.printf("<td class='lname'>");
+ out.printf("Si");
+ out.printf("</td>");
+
+ out.printf("<td class='lname'>");
+ out.printf(Integer.toString(cantidadHogar));
+ out.printf("</td>");
+
+ out.printf("</tr>");
+ //fin fila
+
+ //fila
+ out.printf("<tr>");
+
+ out.printf("<td class='lname'>");
+ out.printf("No");
+ out.printf("</td>");
+
+ out.printf("<td class='lname'>");
+ out.printf(Integer.toString(sesionList.size() - cantidadHogar));
+ out.printf("</td>");
+
+ out.printf("</tr>");
+ //fin fila
+
+
+ out.printf("</tbody>");
+ out.printf("</table>");
+ } finally {
+ out.close();
+ }
+
+ //List<Concepto> conceptoList = abr.getConceptoList(idTema);
+ System.out.println("prueba");
+ //System.out.println(conceptoList.toString());
+ }
+
+ /**
+ * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ doGet(request, response);
+ }
+
+}
diff --git a/EjercitarWeb/src/src/CargarResultadosGeneralesServlet.java b/EjercitarWeb/src/src/CargarResultadosGeneralesConceptosServlet.java
index 48c4e33..d76ecd2 100644
--- a/EjercitarWeb/src/src/CargarResultadosGeneralesServlet.java
+++ b/EjercitarWeb/src/src/CargarResultadosGeneralesConceptosServlet.java
@@ -2,6 +2,10 @@ package src;
import java.io.IOException;
import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import javax.ejb.EJB;
@@ -22,10 +26,10 @@ import model.Curso;
import model.Tema;
/**
- * Servlet implementation class CargarResultadosGeneralesServlet
+ * Servlet implementation class CargarResultadosGeneralesConceptosServlet
*/
-@WebServlet("/CargarResultadosGeneralesServlet")
-public class CargarResultadosGeneralesServlet extends HttpServlet {
+@WebServlet("/CargarResultadosGeneralesConceptosServlet")
+public class CargarResultadosGeneralesConceptosServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@PersistenceContext
@@ -37,7 +41,7 @@ public class CargarResultadosGeneralesServlet extends HttpServlet {
/**
* @see HttpServlet#HttpServlet()
*/
- public CargarResultadosGeneralesServlet() {
+ public CargarResultadosGeneralesConceptosServlet() {
super();
// TODO Auto-generated constructor stub
}
@@ -62,52 +66,48 @@ public class CargarResultadosGeneralesServlet extends HttpServlet {
.setParameter("asignatura", asignatura).getResultList();
request.setAttribute("alumnoList", alumnoList);
System.out.println(alumnoList.toString());
-
- double promedioGeneral = 0;
- double [] promedioTemas = new double[temaList.size()];
- //inicializacion
- for(int i = 0; i < temaList.size(); i++)
- promedioTemas[i] = 0;
-
+ HashMap<String, Double> promedioConceptos = new HashMap<String, Double>();
for(Alumno alumno : alumnoList) {
- promedioGeneral = promedioGeneral + Double.valueOf(abr.getValorNodoRed(asignatura.getNombre(), asignatura.getIdAsignatura(), alumno.getIdAlumno()));
- System.out.println("promedio " + promedioGeneral);
- int c=0;
- //Promedio por temas
+
for(Tema tema: temaList){
- promedioTemas[c] = promedioTemas[c] + Double.valueOf(abr.getValorNodoRed(tema.getNombre(), asignatura.getIdAsignatura(), alumno.getIdAlumno()));
- c++;
+ List<Concepto> conceptoList = em.createQuery("Select e from Concepto e where e.tema = :tema")
+ .setParameter("tema", tema).getResultList();
+
+ for(Concepto concepto : conceptoList) {
+ if (!promedioConceptos.containsKey(concepto.getNombre())) {
+ promedioConceptos.put(concepto.getNombre(), Double.valueOf("0"));
+ System.out.println("valor hash: " + promedioConceptos.get(concepto.getNombre().toString()));
+
+ }
+ //double valorActual =
+ promedioConceptos.put(concepto.getNombre(), promedioConceptos.get(concepto.getNombre())
+ + Double.valueOf(abr.getValorNodoRed(concepto.getNombre(), asignatura.getIdAsignatura(), alumno.getIdAlumno())));
+
+ }
}
}
- promedioGeneral = promedioGeneral/alumnoList.size();
-
- //calculo promedio temas
- for(int i = 0; i < temaList.size(); i++)
- promedioTemas[i] = promedioTemas[i]/temaList.size();
-
+ Iterator<String> keySetIterator = promedioConceptos.keySet().iterator();
+ while(keySetIterator.hasNext()){
+ String key = keySetIterator.next();
+ System.out.println("valor hash: " + promedioConceptos.get(key).toString());
+ promedioConceptos.put(key, promedioConceptos.get(key)/alumnoList.size());
+ }
try {
-
-
- out.printf(asignatura.getNombre());
- out.printf("</br>");
- out.printf("Promedio: ");
- out.print(promedioGeneral);
-
out.printf("<table title=\"Resultados\"" +
- "id=\"tema_grafico\"" +
+ "id=\"concepto_grafico\"" +
"summary=\"tema\"" +
"data-attc-createChart=\"true\" " +
"data-attc-colDescription=\"tema\" " +
"data-attc-colValues=\"promedio\"" +
- "data-attc-location=\"grafico_temas\" " +
+ "data-attc-location=\"grafico_conceptos\" " +
"data-attc-hideTable=\"true\" " +
- "data-attc-type=\"pie\" " +
+ "data-attc-type=\"column\" " +
"data-attc-googleOptions=" + "\'" + "{\"is3D\":true}\'" +
"data-attc-controls='{\"showHide\":false,\"create\":false,\"chartType\":false}'>");
out.printf("<thead>");
@@ -126,17 +126,18 @@ public class CargarResultadosGeneralesServlet extends HttpServlet {
out.printf("</thead>");
out.printf("<tbody>");
- int c = 0;
- for (Tema tema : temaList){
+ keySetIterator = promedioConceptos.keySet().iterator();
+ while(keySetIterator.hasNext()){
+ String key = keySetIterator.next();
//System.out.println(tema.getConceptoList().toString());
out.printf("<tr>");
out.printf("<td class='lname'>");
- out.printf(tema.getNombre());
+ out.printf(key);
out.printf("</td>");
out.printf("<td class='lname'>");
- out.printf(Double.toString(promedioTemas[c]));
+ out.printf(Double.toString(promedioConceptos.get(key)));
out.printf("</td>");
out.printf("</tr>");
@@ -156,8 +157,8 @@ public class CargarResultadosGeneralesServlet extends HttpServlet {
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- // TODO Auto-generated method stub
doGet(request, response);
}
}
+
diff --git a/EjercitarWeb/src/src/CargarResultadosGeneralesServlet.java b/EjercitarWeb/src/src/CargarResultadosGeneralesTemasServlet.java
index 48c4e33..ad74aee 100644
--- a/EjercitarWeb/src/src/CargarResultadosGeneralesServlet.java
+++ b/EjercitarWeb/src/src/CargarResultadosGeneralesTemasServlet.java
@@ -22,10 +22,10 @@ import model.Curso;
import model.Tema;
/**
- * Servlet implementation class CargarResultadosGeneralesServlet
+ * Servlet implementation class CargarResultadosGeneralesTemasServlet
*/
-@WebServlet("/CargarResultadosGeneralesServlet")
-public class CargarResultadosGeneralesServlet extends HttpServlet {
+@WebServlet("/CargarResultadosGeneralesTemasServlet")
+public class CargarResultadosGeneralesTemasServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@PersistenceContext
@@ -37,7 +37,7 @@ public class CargarResultadosGeneralesServlet extends HttpServlet {
/**
* @see HttpServlet#HttpServlet()
*/
- public CargarResultadosGeneralesServlet() {
+ public CargarResultadosGeneralesTemasServlet() {
super();
// TODO Auto-generated constructor stub
}
@@ -85,7 +85,7 @@ public class CargarResultadosGeneralesServlet extends HttpServlet {
//calculo promedio temas
for(int i = 0; i < temaList.size(); i++)
- promedioTemas[i] = promedioTemas[i]/temaList.size();
+ promedioTemas[i] = promedioTemas[i]/alumnoList.size();
@@ -107,7 +107,7 @@ public class CargarResultadosGeneralesServlet extends HttpServlet {
"data-attc-colValues=\"promedio\"" +
"data-attc-location=\"grafico_temas\" " +
"data-attc-hideTable=\"true\" " +
- "data-attc-type=\"pie\" " +
+ "data-attc-type=\"column\" " +
"data-attc-googleOptions=" + "\'" + "{\"is3D\":true}\'" +
"data-attc-controls='{\"showHide\":false,\"create\":false,\"chartType\":false}'>");
out.printf("<thead>");