public static IndicadorInteligente consultarCompletoIndInte(
     int idIndInte, String usuario, String mes, String anio) {
   ResultSet resultado = null;
   IndicadorInteligente indinte = null;
   try {
     ConexionBase c = new ConexionBase();
     Connection con = c.getConexion();
     if (con != null) {
       Statement st;
       st = con.createStatement();
       String query =
           "SELECT ii.frecuencia, ind.nb_indicador, ii.meta, ii.mes, ii.peso, ii.prog_quin1, ii.prog_quin2, ii.prog_sem1, ii.prog_sem2, ii.prog_sem3, ii.prog_sem4, ii.prog_sem5, ii.res_ponderado, ii.resul_quin1, ii.resul_quin2, ii.resul_sem1, ii.resul_sem2, ii.resul_sem3, ii.resul_sem4, ii.resul_sem5, ii.resultado, ii.tipo, ii.idIndicador  FROM IndInte ii, Indicadores ind WHERE ii.idIndicador = ind.idIndicador AND ii.estatus='activo' AND ii.mes='"
               + mes.toLowerCase()
               + "' AND ii.anio='"
               + anio
               + "' AND ii.usuario='"
               + usuario
               + "' AND ii.idIndInte="
               + idIndInte;
       System.out.println(
           query); //  				1				2				3		4		5		6				7				8				9			10			11				12			13					14					15
       //	16				17			18				19				20				21			22      23
       resultado = st.executeQuery(query);
       if (resultado != null && !resultado.equals("")) {
         while (resultado.next()) {
           indinte = new IndicadorInteligente();
           indinte.setIdIndInte(idIndInte);
           indinte.setFrecuencia(resultado.getString(1) != null ? resultado.getString(1) : "");
           indinte.setNombre(resultado.getString(2) != null ? resultado.getString(2) : "");
           indinte.setMeta(resultado.getString(3) != null ? resultado.getString(3) : "0");
           indinte.setMes(mes);
           indinte.setPeso(resultado.getString(5) != null ? resultado.getString(5) : "0");
           indinte.setProgQuin1(resultado.getString(6) != null ? resultado.getString(6) : "0");
           indinte.setProgQuin2(resultado.getString(7) != null ? resultado.getString(7) : "0");
           indinte.setProgSem1(resultado.getString(8) != null ? resultado.getString(8) : "0");
           indinte.setProgSem2(resultado.getString(9) != null ? resultado.getString(9) : "0");
           indinte.setProgSem3(resultado.getString(10) != null ? resultado.getString(10) : "0");
           indinte.setProgSem4(resultado.getString(11) != null ? resultado.getString(11) : "0");
           indinte.setProgSem5(resultado.getString(12) != null ? resultado.getString(12) : "0");
           indinte.setRpond(resultado.getString(13) != null ? resultado.getString(13) : "0");
           indinte.setResulQuin1(resultado.getString(14) != null ? resultado.getString(14) : "0");
           indinte.setResulQuin2(resultado.getString(15) != null ? resultado.getString(15) : "0");
           indinte.setResulSem1(resultado.getString(16) != null ? resultado.getString(16) : "0");
           indinte.setResulSem2(resultado.getString(17) != null ? resultado.getString(17) : "0");
           indinte.setResulSem3(resultado.getString(18) != null ? resultado.getString(18) : "0");
           indinte.setResulSem4(resultado.getString(19) != null ? resultado.getString(19) : "0");
           indinte.setResulSem5(resultado.getString(20) != null ? resultado.getString(20) : "0");
           indinte.setResultado(resultado.getString(21) != null ? resultado.getString(21) : "0");
           indinte.setTipo(resultado.getString(22) != null ? resultado.getString(22) : "");
           int idIndicador =
               Integer.parseInt(resultado.getString(23) != null ? resultado.getString(23) : "0");
           indinte.setIdIndicador(idIndicador);
         }
       }
       st.close();
     }
     c.cerrarConexion();
   } catch (SQLException e) {
     e.printStackTrace();
   }
   return indinte;
 }
 /**
  * @param user
  * @return
  */
 public static ArrayList<IndicadorInteligente> consultar(String user, String mes, String anio) {
   ArrayList<IndicadorInteligente> arrIndInte = new ArrayList<IndicadorInteligente>();
   ResultSet resultado = null;
   if (user != "" && mes != "" && anio != "") {
     try {
       ConexionBase c = new ConexionBase();
       Connection con = c.getConexion();
       if (con != null) {
         Statement st;
         st = con.createStatement();
         String query =
             "SELECT ii.idIndInte, (SELECT ind.nb_indicador FROM indicadores ind WHERE ii.idIndicador = ind.idIndicador),ii.idIndicador, ii.frecuencia, ii.estatus, ii.meta, ii.peso, ii.tipo, ii.res_ponderado, ii.prog_quin1, ii.prog_quin2, ii.prog_sem1, ii.prog_sem2, ii.prog_sem3, ii.prog_sem4, ii.prog_sem5, ii.usuario, ii.resul_quin1, ii.resul_quin2, ii.resul_sem1, ii.resul_sem2, ii.resul_sem3, ii.resul_sem4, ii.resul_sem5, resultado, (SELECT filInd.unidad_medida FROM FiltroIndicadores filInd, indicadores ind WHERE filInd.idIndicador = ind.idIndicador AND ind.idIndicador = ii.idIndicador), (SELECT filInd.sentido FROM FiltroIndicadores filInd, indicadores ind WHERE filInd.idIndicador = ind.idIndicador AND ind.idIndicador = ii.idIndicador) FROM indinte ii WHERE usuario='"
                 + user
                 + "' AND anio='"
                 + anio
                 + "' AND mes='"
                 + mes.toLowerCase()
                 + "'";
         //					  1				2																						3				4				5	  	6		7		8	 			9	  		10			11			12	 	13
         // 		14			15		 16		   17		18			19			20				21			22			23			24
         System.out.println(query);
         resultado = st.executeQuery(query);
         while (resultado.next()) {
           IndicadorInteligente indInt = new IndicadorInteligente();
           int idIndInte = Integer.parseInt(resultado.getString(1));
           int idIndicador = Integer.parseInt(resultado.getString(3));
           indInt.setIdIndInte(idIndInte);
           indInt.setNombre((resultado.getString(2) != "" ? resultado.getString(2) : ""));
           indInt.setIdIndicador(idIndicador);
           indInt.setFrecuencia((resultado.getString(4) != "" ? resultado.getString(4) : ""));
           indInt.setEstatus((resultado.getString(5) != null ? resultado.getString(5) : ""));
           indInt.setMeta((resultado.getString(6) != null ? resultado.getString(6) : "0"));
           indInt.setPeso((resultado.getString(7) != null ? resultado.getString(7) : "0"));
           indInt.setTipo((resultado.getString(8) != null ? resultado.getString(8) : ""));
           indInt.setRpond((resultado.getString(9) != null ? resultado.getString(9) : "0"));
           indInt.setProgQuin1((resultado.getString(10) != null ? resultado.getString(10) : ""));
           indInt.setProgQuin2((resultado.getString(11) != null ? resultado.getString(11) : ""));
           indInt.setProgSem1((resultado.getString(12) != null ? resultado.getString(12) : ""));
           indInt.setProgSem2((resultado.getString(13) != null ? resultado.getString(13) : ""));
           indInt.setProgSem3((resultado.getString(14) != null ? resultado.getString(14) : ""));
           indInt.setProgSem4((resultado.getString(15) != null ? resultado.getString(15) : ""));
           indInt.setProgSem5((resultado.getString(16) != null ? resultado.getString(16) : ""));
           // indInt.setSentido((resultado.getString(17)!=""?resultado.getString(17):""));
           indInt.setUsuario((resultado.getString(17) != null ? resultado.getString(17) : ""));
           indInt.setResulQuin1((resultado.getString(18) != null ? resultado.getString(18) : ""));
           indInt.setResulQuin2((resultado.getString(19) != null ? resultado.getString(19) : ""));
           indInt.setResulSem1((resultado.getString(20) != null ? resultado.getString(20) : ""));
           indInt.setResulSem2((resultado.getString(21) != null ? resultado.getString(21) : ""));
           indInt.setResulSem3((resultado.getString(22) != null ? resultado.getString(22) : ""));
           indInt.setResulSem4((resultado.getString(23) != null ? resultado.getString(23) : ""));
           indInt.setResulSem5((resultado.getString(24) != null ? resultado.getString(24) : ""));
           indInt.setResultado((resultado.getString(25) != null ? resultado.getString(25) : "0"));
           indInt.setUnidad((resultado.getString(26) != null ? resultado.getString(26) : ""));
           indInt.setSentido((resultado.getString(27) != null ? resultado.getString(27) : ""));
           indInt.setAnio(anio);
           arrIndInte.add(indInt);
         }
         st.close();
       }
       c.cerrarConexion();
     } catch (SQLException e) {
       e.printStackTrace();
     }
   }
   return arrIndInte;
 }
  /** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */
  protected void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    // TODO Auto-generated method stub

    String nombre = request.getParameter("nombre");
    String usuario = request.getParameter("usuarioEnviado");
    String cveIndInte = request.getParameter("claveIndInte");
    String mesNum = request.getParameter("mesNum");
    String anio = request.getParameter("anio");
    String unidad = request.getParameter("unidad");
    String meta = request.getParameter("hidmeta");
    String resultado = request.getParameter("hidresultado");
    String peso = request.getParameter("peso");
    String frecuencia = request.getParameter("frecuencia");
    String tipo = request.getParameter("tipo");
    String rpond = request.getParameter("rpond");
    String usuario1 = request.getParameter("usuSes");
    String progSem1 = request.getParameter("progSem1");
    String realSem1 = request.getParameter("realSem1");
    String progSem2 = request.getParameter("progSem2");
    String realSem2 = request.getParameter("realSem2");
    String progSem3 = request.getParameter("progSem3");
    String realSem3 = request.getParameter("realSem3");
    String progSem4 = request.getParameter("progSem4");
    String realSem4 = request.getParameter("realSem4");
    String progSem5 = request.getParameter("progSem5");
    String realSem5 = request.getParameter("realSem5");
    String progQuin1 = request.getParameter("progQuin1");
    String realQuin1 = request.getParameter("realQuin1");
    String progQuin2 = request.getParameter("progQuin2");
    String realQuin2 = request.getParameter("realQuin2");
    String progMes = request.getParameter("progMes");
    String realMes = request.getParameter("realMes");
    String mes = request.getParameter("mesHR");
    String contComent = request.getParameter("contComent");
    int idIndInte = Integer.parseInt(cveIndInte);

    if (contComent != null && !contComent.equals("") && !contComent.equals("0")) {
      int cantComentarios = Integer.parseInt(contComent);
      if (cantComentarios > 0) {
        for (int f = 1; f <= cantComentarios; f++) {
          String fhComen = request.getParameter("fhComen" + f);
          String usuComen = request.getParameter("usuComen" + f);
          String textComen = request.getParameter("textComen" + f);
          ComentarioIndInte coment = new ComentarioIndInte();
          coment.setFhComentario(fhComen);
          coment.setUsuario(usuComen);
          coment.setTxComentario(textComen);
          coment.setIdIndInte(idIndInte);
          ClaseComentIndInte.agregarComent(coment);
        }
      }
    }

    IndicadorInteligente ii = new IndicadorInteligente();
    ii.setIdIndInte(idIndInte);
    ii.setFrecuencia(frecuencia);
    ii.setMeta(meta);
    ii.setResultado(resultado);
    ii.setPeso(peso);
    ii.setTipo(tipo);
    ii.setRpond(rpond);
    ii.setProgSem1(progSem1);
    ii.setResulSem1(realSem1);
    ii.setProgSem2(progSem2);
    ii.setResulSem2(realSem2);
    ii.setProgSem3(progSem3);
    ii.setResulSem3(realSem3);
    ii.setProgSem4(progSem4);
    ii.setResulSem4(realSem4);
    ii.setProgSem5(progSem5);
    ii.setResulSem5(realSem5);
    ii.setProgQuin1(progQuin1);
    ii.setResulQuin1(realQuin1);
    ii.setProgQuin2(progQuin2);
    ii.setResulQuin2(realQuin2);
    ii.setRpond(rpond);
    boolean in = ClaseIndicadoresInteligentes.update(ii, usuario, mes);
    if (in) {
      request.setAttribute(
          "variableEnviada", new String("El indicador se actualizo correctamente"));
    } else {
      request.setAttribute("variableEnviada", new String("No se pudo actualizar"));
    }

    int mesNumReal = Integer.parseInt(mesNum) + 1;

    ArrayList<IndicadorInteligente> arrIndInte =
        (ArrayList<IndicadorInteligente>)
            ClaseIndicadoresInteligentes.consultar(usuario, mes, anio);
    arrIndInte =
        (ArrayList<IndicadorInteligente>)
            ClaseIndicadoresInteligentes.consultaResultados(arrIndInte);
    ArrayList<String> resulsetProcentaje =
        (ArrayList<String>) ClaseHojaRumbo.consultarPorcentajes(usuario, mesNum, anio);
    ArrayList<Prioridad> arrProyectosP =
        (ArrayList<Prioridad>)
            ClaseProyectosPrioritarios.consultar(usuario, mes, mesNumReal + "", anio);
    arrProyectosP = (ArrayList<Prioridad>) ClasePrioridesPorMes.consultarResMes(arrProyectosP, mes);

    request.setAttribute("indicadores", arrIndInte);
    request.setAttribute("porcentajes", resulsetProcentaje);
    request.setAttribute("proyectosPrio", arrProyectosP);
    request.setAttribute("usuarioEnviado", usuario);
    request.setAttribute("mesEnviado", mes);
    request.setAttribute("mesNumerico", mesNum);
    request.setAttribute("anio", anio);
    request.setAttribute("origen", "Otro");
    request.getRequestDispatcher("InterfazIndicadoresADN.jsp").forward(request, response);
  }