/** Descomprime los archivos de la tarea. */
  protected void descompArchivos() throws ADMINGLOExcepcion {
    String cNombreAnt = "";
    Iterator itr;
    PERSCoordinacion.Archivos archI;
    Map mpArchListos, mpArchPresentes, mpArchAusentes;
    mpArchListos = new TreeMap(String.CASE_INSENSITIVE_ORDER);
    mpArchPresentes = new TreeMap(String.CASE_INSENSITIVE_ORDER);
    if (this.siSubtrabajo()) {
      if (this.siSubtrabajoFin()) {
        subtraV.loadArchivosSalidaListos(mpArchListos);
        subtraV.loadArchivosSalidaPresentes(mpArchPresentes);
      } else {
        subtraV.loadArchivosListos(mpArchListos);
        subtraV.loadArchivosPresentes(mpArchPresentes);
      }
    } else {
      //      // provisional [
      //      try {
      //        this.info.getConex().dbCommit();
      //      } catch (OIExcepcion e) {
      //        System.err.println("[Provisional] No pudo escribirse en la base de datos");
      //      }
      //      // provisional ]
      tarea.loadArchivosListos(mpArchListos);
      tarea.loadArchivosPresentes(mpArchPresentes);
    }
    itr = mpArchivos.values().iterator();
    while (itr.hasNext()) {
      archI = (PERSCoordinacion.Archivos) itr.next();
      if (mpArchListos.get(archI.getNombre()) != null) {
        // el archivo no se debe descomprimir, ya está listo.
      } else {
        if (mpArchPresentes.get(archI.getNombre()) != null) {
          // el archivo se debe descomprimir.
          if (this.siSubtrabajo()) {
            if (this.siSubtrabajoFin()) {
              //              Zip.unzipFile(subtrabajo.getComprimidosDir()+
              //                  "/"+archI.getNombre(),
              //                  subtrabajo.getResultadosDir());
              // tdutils.copiaArchivo()

              try {
                tdutils.copiaArchivo(
                    new File(subtraV.getSubtrabajoDir() + "/" + archI.getNombre()),
                    new File(subtraV.getResultadosDir() + "/" + archI.getNombre()));
                // tdutils.copiaArchivo(new File(subtraV.getSubtrabajoDir()+"/"+ archI.getNombre()),
                // new File(subtraV.getResultadosDir()+"/"+archI.getNombre()));
              } catch (IOException e) {
                e.printStackTrace();
              }

            } else {
              //              Zip.unzipFile(subtrabajo.getComprimidosDir()+
              //                  "/"+archI.getNombre(),
              //                  subtrabajo.getSubtrabajoDir());
            }
          } else {
            Zip.unzipFile(tarea.getComprimidosDir() + "/" + archI.getNombre(), tarea.getTareaDir());
          }
          try {
            archI.setEstadoArchivo(ADMINAPPIArchivos.ARCHIVO_LISTO);
            archI.write();
          } catch (ADMINGLOExcepcion ex) {
          }
        } else {
          // el archivo está ausente
          archI.setEstadoArchivo(ADMINAPPIArchivos.ARCHIVO_AUSENTE);
          try {
            archI.write();
          } catch (ADMINGLOExcepcion ex1) {
          }
          continue;
        }
      }
    }
  }