public void editarIndicadorEdicion() {
   if (metaSeleccionada != null) {
     System.out.println("META " + metaSeleccionada);
     selected.getObjetivoestrategicoindicadorCollection().remove(this.metaSeleccionada);
     nuevoObjetivoestrategicoindicador = metaSeleccionada;
     System.out.println(metaSeleccionada);
     System.err.println(
         "cuenta " + metaSeleccionada.getIndicador().getSemaforoCollection().size());
     for (Semaforo s : metaSeleccionada.getIndicador().getSemaforoCollection()) {
       if (s.getColor() == 'v') {
         verde = s;
       }
       if (s.getColor() == 'n') {
         naranja = s;
       }
       if (s.getColor() == 'r') {
         rojo = s;
       }
     }
     ejbFacadeObjEstInd.remove(metaSeleccionada);
   } else {
     FacesContext context = FacesContext.getCurrentInstance();
     context.addMessage(null, new FacesMessage("Seleccione un item de la lista"));
   }
 }
 public void agregarIndicador() {
   List semaforos = new ArrayList<Semaforo>();
   semaforos.add(getVerde());
   semaforos.add(getNaranja());
   semaforos.add(getRojo());
   nuevoObjetivoestrategicoindicador.getIndicador().setSemaforoCollection(semaforos);
   this.selected
       .getObjetivoestrategicoindicadorCollection()
       .add(nuevoObjetivoestrategicoindicador);
   nuevoObjetivoestrategicoindicador = new Objetivoestrategicoindicador();
   nuevoObjetivoestrategicoindicador.setObjetivoestrategico(selected);
   nuevoObjetivoestrategicoindicador.setIndicador(new Indicador());
   nuevoObjetivoestrategicoindicador.getIndicador().setIdPersonaResponsable(new Persona());
   nuevoObjetivoestrategicoindicador.getIndicador().setIdIndicador(0);
   idProvisional++;
   nuevoObjetivoestrategicoindicador.setObjetivoestrategicoindicadorPK(
       new ObjetivoestrategicoindicadorPK(0, idProvisional));
   setRojo(new Semaforo());
   getRojo().setColor('r');
   getRojo().setIdSemaforo(0);
   setNaranja(new Semaforo());
   getNaranja().setColor('n');
   getNaranja().setIdSemaforo(0);
   setVerde(new Semaforo());
   getVerde().setColor('v');
   getVerde().setIdSemaforo(0);
 }
 /** @return the histrorial */
 public List<Historial> getHistrorial() {
   if (metaSeleccionada != null) {
     System.out.println("INDICADOR " + metaSeleccionada.getIndicador().getIdIndicador());
     histrorial =
         ejbFacadeHistorial.getSemaforosIndicador(
             metaSeleccionada.getIndicador().getIdIndicador());
     this.createDateModel();
     return histrorial;
   } else {
     return null;
   }
 }
 public void guardarHistorial() {
   nuevoHistorial = new Historial();
   nuevoHistorial.setValor(new BigDecimal(nuevoVolorIndocador));
   nuevoHistorial.setIdIndicador(metaSeleccionada.getIndicador());
   nuevoHistorial.setFechaMedicion(fecha);
   ejbFacadeHistorial.create(nuevoHistorial);
   for (int i = 0; i < itemsdetalle.size(); i++) {
     itemsdetalle.get(i).setIdhistorial(nuevoHistorial);
     itemsdetalle.get(i).setIddetallehistorial(0);
     ejbFacadeDeta.create(itemsdetalle.get(i));
   }
   metaSeleccionada.getIndicador().setHistorialCollection(histrorial);
   ejbFacadeIndicador.edit(metaSeleccionada.getIndicador());
   ejbFacadeObjEstInd.edit(metaSeleccionada);
   ejbFacade.edit(metaSeleccionada.getObjetivoestrategico());
   nuevoVolorIndocador = 0;
 }
 public void calculaIndicador() {
   boolean calucular = true;
   System.out.println("inicio");
   for (Detallehistorial d : itemsdetalle) {
     System.out.println("Valor " + d.getValor());
     if (d.getValor() == null) calucular = false;
   }
   System.out.println(calucular);
   if (calucular) {
     if (!metaSeleccionada.getIndicador().getFormula().equals("")) {
       String formula = metaSeleccionada.getIndicador().getFormula().replaceAll("\\s", "").trim();
       Validacion cadena = new Validacion(formula);
       if (cadena.Exp_Valida()) {
         String Exp = formula.trim();
         // Borra parentesis del inicio y fin si toda la expresion esta entre parentesis
         if (Exp.charAt(0) == '(' && Exp.charAt(Exp.length() - 1) == ')') {
           int p = 1, i = 1;
           while (p != 0) {
             if (Exp.charAt(i) == '(') {
               p++;
             }
             if (Exp.charAt(i) == ')') {
               p--;
             }
             i++;
           }
           if (i == Exp.length()) {
             Exp = Exp.substring(1, Exp.length() - 1);
           }
         }
         arbol = new Arbol(Exp);
         arbol.Formar_Arbol();
         arbol.reemplazarValores(itemsdetalle);
         List term = arbol.listarTerminos();
         nuevoObjetivoestrategicoindicador
             .getIndicador()
             .setComponenteformlaCollection(new ArrayList());
         nuevoVolorIndocador = Double.parseDouble(arbol.Calcular());
         for (int i = 0; i < term.size(); i++) {
           System.out.println("term " + term.get(i));
         }
       }
     }
   }
 }
 public void verDetalleObjEst() {
   for (Semaforo s : nuevoObjetivoestrategicoindicador.getIndicador().getSemaforoCollection()) {
     if (s.getColor() == 'v') {
       verde = s;
     }
     if (s.getColor() == 'n') {
       naranja = s;
     }
     if (s.getColor() == 'r') {
       rojo = s;
     }
   }
 }
 public Objetivoestrategico preparaEdicion() {
   idProvisional = 0;
   setRojo(new Semaforo());
   getRojo().setColor('r');
   getRojo().setIdSemaforo(0);
   setNaranja(new Semaforo());
   getNaranja().setColor('n');
   getNaranja().setIdSemaforo(0);
   setVerde(new Semaforo());
   getVerde().setColor('v');
   getVerde().setIdSemaforo(0);
   nuevoObjetivoestrategicoindicador = new Objetivoestrategicoindicador();
   nuevoObjetivoestrategicoindicador.setObjetivoestrategico(selected);
   nuevoObjetivoestrategicoindicador.setIndicador(new Indicador());
   nuevoObjetivoestrategicoindicador.getIndicador().setIdPersonaResponsable(new Persona());
   nuevoObjetivoestrategicoindicador.getIndicador().setIdIndicador(0);
   nuevoObjetivoestrategicoindicador.setObjetivoestrategicoindicadorPK(
       new ObjetivoestrategicoindicadorPK(0, idProvisional));
   System.out.println("META " + nuevoObjetivoestrategicoindicador.getMeta());
   System.out.println(
       "Indicadores " + selected.getObjetivoestrategicoindicadorCollection().size());
   return selected;
 }
 public void evaluar() {
   itemsdetalle = new ArrayList<Detallehistorial>();
   Detallehistorial det;
   for (Componenteformla com : metaSeleccionada.getIndicador().getComponenteformlaCollection()) {
     det = new Detallehistorial();
     det.setIdcomponenteformula(com);
     itemsdetalle.add(det);
   }
   System.out.println("cargo");
   try {
     FacesContext.getCurrentInstance()
         .getExternalContext()
         .redirect("/BSC/faces/objetivoestrategico/Evaluar.xhtml");
   } catch (IOException ex) {
     Logger.getLogger(ObjetivoestrategicoController.class.getName()).log(Level.SEVERE, null, ex);
   }
 }
 public void obtieneComponentes() {
   if (nuevoObjetivoestrategicoindicador.getIndicador().getFormula() != null) {
     if (!nuevoObjetivoestrategicoindicador.getIndicador().getFormula().equals("")) {
       String formula =
           nuevoObjetivoestrategicoindicador
               .getIndicador()
               .getFormula()
               .replaceAll("\\s", "")
               .trim();
       Validacion cadena = new Validacion(formula);
       if (cadena.Exp_Valida()) {
         String Exp = formula.trim();
         // Borra parentesis del inicio y fin si toda la expresion esta entre parentesis
         if (Exp.charAt(0) == '(' && Exp.charAt(Exp.length() - 1) == ')') {
           int p = 1, i = 1;
           while (p != 0) {
             if (Exp.charAt(i) == '(') {
               p++;
             }
             if (Exp.charAt(i) == ')') {
               p--;
             }
             i++;
           }
           if (i == Exp.length()) {
             Exp = Exp.substring(1, Exp.length() - 1);
           }
         }
         arbol = new Arbol(Exp);
         arbol.Formar_Arbol();
         List term = arbol.listarTerminos();
         nuevoObjetivoestrategicoindicador
             .getIndicador()
             .setComponenteformlaCollection(new ArrayList());
         for (int i = 0; i < term.size(); i++) {
           System.out.println("term " + term.get(i));
           Componenteformla c = new Componenteformla();
           c.setDescripcion((String) term.get(i));
           c.setIdindicador(nuevoObjetivoestrategicoindicador.getIndicador());
           nuevoObjetivoestrategicoindicador.getIndicador().getComponenteformlaCollection().add(c);
         }
       }
     }
   }
 }
 public Objetivoestrategico preparaNuevo() {
   idProvisional = 0;
   setRojo(new Semaforo());
   getRojo().setColor('r');
   getRojo().setIdSemaforo(0);
   setNaranja(new Semaforo());
   getNaranja().setColor('n');
   getNaranja().setIdSemaforo(0);
   setVerde(new Semaforo());
   getVerde().setColor('v');
   getVerde().setIdSemaforo(0);
   nuevoObjetivoestrategicoindicador = new Objetivoestrategicoindicador();
   nuevoObjetivoestrategicoindicador.setObjetivoestrategico(selected);
   nuevoObjetivoestrategicoindicador.setIndicador(new Indicador());
   nuevoObjetivoestrategicoindicador.getIndicador().setIdPersonaResponsable(new Persona());
   System.out.println(nuevoObjetivoestrategicoindicador.getIndicador().getIdPersonaResponsable());
   nuevoObjetivoestrategicoindicador.getIndicador().setIdIndicador(0);
   nuevoObjetivoestrategicoindicador.setObjetivoestrategicoindicadorPK(
       new ObjetivoestrategicoindicadorPK(0, idProvisional));
   return this.prepareCreate();
 }
 public void create() {
   Collection<Objetivoestrategicoindicador> objEstIndList =
       selected.getObjetivoestrategicoindicadorCollection();
   selected.setObjetivoestrategicoindicadorCollection(null);
   ejbFacade.create(selected);
   for (Objetivoestrategicoindicador objEstInd : objEstIndList) {
     objEstInd.getIndicador().setIdIndicador(new Integer(3));
     objEstInd.getIndicador().setObjetivoestrategicoindicadorCollection(null);
     Collection<Semaforo> semList = objEstInd.getIndicador().getSemaforoCollection();
     objEstInd.getIndicador().setSemaforoCollection(null);
     Collection<Componenteformla> componentes =
         objEstInd.getIndicador().getComponenteformlaCollection();
     objEstInd.getIndicador().setComponenteformlaCollection(null);
     ejbFacadeIndicador.create(objEstInd.getIndicador());
     objEstInd.getIndicador().setComponenteformlaCollection(componentes);
     ejbFacadeIndicador.edit(objEstInd.getIndicador());
     objEstInd.setObjetivoestrategicoindicadorPK(
         new ObjetivoestrategicoindicadorPK(
             selected.getIdObjetivoEstrategico(), objEstInd.getIndicador().getIdIndicador()));
     for (Semaforo sem : semList) {
       sem.setIdIndicador(objEstInd.getIndicador());
       ejbFacadeSemaforo.edit(sem);
     }
     objEstInd.getIndicador().setSemaforoCollection(semList);
     objEstInd.setObjetivoestrategico(selected);
     ejbFacadeObjEstInd.edit(objEstInd);
   }
   selected.setObjetivoestrategicoindicadorCollection(objEstIndList);
   ejbFacade.edit(selected);
 }
 public void agregarIndicadorEdicion() {
   List semaforos = new ArrayList<Semaforo>();
   semaforos.add(getVerde());
   semaforos.add(getNaranja());
   semaforos.add(getRojo());
   nuevoObjetivoestrategicoindicador.getIndicador().setSemaforoCollection(semaforos);
   nuevoObjetivoestrategicoindicador.getIndicador().setSemaforoCollection(null);
   Collection<Componenteformla> componentes =
       nuevoObjetivoestrategicoindicador.getIndicador().getComponenteformlaCollection();
   nuevoObjetivoestrategicoindicador.getIndicador().setComponenteformlaCollection(null);
   ejbFacadeIndicador.create(nuevoObjetivoestrategicoindicador.getIndicador());
   nuevoObjetivoestrategicoindicador.getIndicador().setComponenteformlaCollection(componentes);
   for (Componenteformla c : componentes) {
     c.setIdcomponenteformla(0);
     c.setIdindicador(nuevoObjetivoestrategicoindicador.getIndicador());
     ejbFacadeComp.create(c);
   }
   ejbFacadeIndicador.edit(nuevoObjetivoestrategicoindicador.getIndicador());
   nuevoObjetivoestrategicoindicador.getIndicador().setSemaforoCollection(semaforos);
   nuevoObjetivoestrategicoindicador.setObjetivoestrategicoindicadorPK(
       new ObjetivoestrategicoindicadorPK(
           selected.getIdObjetivoEstrategico(),
           nuevoObjetivoestrategicoindicador.getIndicador().getIdIndicador()));
   for (int i = 0; i < semaforos.size(); i++) {
     Semaforo s = (Semaforo) semaforos.get(i);
     s.setIdIndicador(nuevoObjetivoestrategicoindicador.getIndicador());
     System.out.println("Gusrdo semanforo");
     ejbFacadeSemaforo.create(s);
   }
   this.ejbFacadeObjEstInd.create(nuevoObjetivoestrategicoindicador);
   this.selected
       .getObjetivoestrategicoindicadorCollection()
       .add(nuevoObjetivoestrategicoindicador);
   nuevoObjetivoestrategicoindicador = new Objetivoestrategicoindicador();
   nuevoObjetivoestrategicoindicador.setObjetivoestrategico(selected);
   nuevoObjetivoestrategicoindicador.setIndicador(new Indicador());
   nuevoObjetivoestrategicoindicador.getIndicador().setIdPersonaResponsable(new Persona());
   nuevoObjetivoestrategicoindicador.getIndicador().setIdIndicador(0);
   setRojo(new Semaforo());
   getRojo().setColor('r');
   getRojo().setIdSemaforo(0);
   setNaranja(new Semaforo());
   getNaranja().setColor('n');
   getNaranja().setIdSemaforo(0);
   setVerde(new Semaforo());
   getVerde().setColor('v');
   getVerde().setIdSemaforo(0);
   ejbFacade.edit(selected);
 }