Пример #1
0
    @Override
    protected Integer doInBackground() {
      setMessage("Procensado usuarios...");
      int cont = 0;
      PreparedStatement st = null;
      ResultSet res = null;
      int asoc = 0;
      try {
        st =
            (PreparedStatement)
                MaimonidesApp.getConexion()
                    .prepareStatement(
                        "SELECT p.cod FROM profesores AS p JOIN usuarios_profesores AS up ON up.profesor_id=p.id AND p.ano=up.ano WHERE p.ano<>? AND up.usuario_id=? ORDER BY p.ano DESC LIMIT 0,1");
        st.setInt(1, MaimonidesApp.getApplication().getAnoEscolar().getId());
        for (Usuario u : modelo.getDatos()) {
          cont++;
          setProgress(cont, 0, modelo.getRowCount());
          setMessage("Verificando " + u + "...");
          if (u.getProfesor() == null) {
            // Vemos la id del profesor del año anterior
            st.setInt(2, u.getId());
            res = st.executeQuery();
            if (res.next()) {
              Profesor p =
                  Profesor.getProfesorPorCodigo(
                      res.getInt(1), MaimonidesApp.getApplication().getAnoEscolar());
              if (p != null) {
                u.setProfesor(p);
                if (u.guardar()) {
                  asoc++;
                }
              }
            }
          }
        }
      } catch (SQLException ex) {
        Logger.getLogger(PanelUsuarios.class.getName()).log(Level.SEVERE, null, ex);
      }

      return asoc;
    }
Пример #2
0
 @Override
 protected ArrayList<Usuario> doInBackground() {
   ArrayList<Usuario> usuarios = new ArrayList<Usuario>();
   setMessage("Cargando profesores...");
   ArrayList<Profesor> profesores = Profesor.getProfesores();
   int i = 0;
   for (Profesor p : profesores) {
     i++;
     setProgress(i, 0, profesores.size());
     setMessage("Procesando " + p + "...");
     // Ahora vemos si ya existe un usuario con ese profesor asignado
     boolean existe = false;
     for (Usuario usr : modelo.getDatos()) {
       if (p.equals(usr.getProfesor())) {
         existe = true;
         break;
       }
     }
     if (existe) {
       setMessage("Ya existe usuario para el profesor...");
     } else {
       setMessage("Creando usuario para el profesor...");
       Usuario u = new Usuario();
       u.setRoles(Rol.ROL_PROFESOR);
       u.setClave("");
       u.setFechaAlta(new GregorianCalendar());
       u.setProfesor(p);
       String nombre =
           (p.getNombre().substring(0, 1) + p.getApellido1().substring(0, 1) + p.getApellido2())
               .toLowerCase()
               .replaceAll("á", "a")
               .replaceAll("é", "e")
               .replaceAll("í", "i")
               .replaceAll("ó", "o")
               .replaceAll("ú", "u");
       u.setNombre(nombre);
       // Vemos si existe el nombre
       existe = true;
       int cont = 0;
       while (existe) {
         cont++;
         existe = false;
         // Revisamos en los usuarios de la tabla
         for (Usuario usr : modelo.getDatos()) {
           if (usr.getNombre().equals(u.getNombre())) {
             existe = true;
             break;
           }
         }
         // Si no existe revisamos en los usuarios que estamos creando
         if (!existe) {
           for (Usuario usr : usuarios) {
             if (usr.getNombre().equals(u.getNombre())) {
               existe = true;
               break;
             }
           }
         }
         if (existe) {
           u.setNombre(nombre + cont);
         }
       }
       if (u.guardar()) {
         usuarios.add(u);
       }
     }
   }
   return usuarios;
 }