Problema Reglas y javascript al mover

cancel
Showing results for 
Search instead for 
Did you mean: 
emelbye
Active Member

Problema Reglas y javascript al mover

Hola,

Les comento el problema y si me pueden dar una mano con la resolución.
Tengo Un directorio de un proyecto que incluye otras carpetas. Aprobado, Incompleto.

Se procesan imágenes por Ephesoft, llegan perfecto con sus meta-datos y tipo de documento (definido como modelo) en Alfresco.

Quiero correr un script que verifique que exista al menos 2 tipos (por ejemplo tipo1 y tipo2)de documentos que son obligatorios. Si existen los mueva a la carpeta Aprobado, y si falta alguno de esos 2 tipos los mueva a la carpeta Incompleto.


Estructura de directorios:

|- MiEmpresa
  |—- Aprobado
    |——– 000312312
         |———-  tipo1.pdf   tipo2,pdf  tipo3.pdf  tipo4.pdf
    |——– 312312312
         |———- tipo1.pdf    tipo2.pdf

  |—- Incompleto
     |——-  543523342
          |——— tipo2.pdf   tipo3.pdf


La regla la aplico a MiEmpresa.
Cuando se crean tipo contenido
En el script obtengo el padre del documento y verifico que que exista tipo1.pdf y tipo2.pdf
Si no existe lo quiero mover a Incompleto, si estan esos 2 tipos lo mueve a Aprobado.

Aca el codigo concreto

   var carpeta = document;
   var doc;
   var i, j;
   var esta;
   var tipos = new Array();
   var faltan = new Array();
   var tiposDesc = new Array();
   
   tipos[0] = "tdk:Solicitud1";
   tipos[1] = "tdk:Solicitud2";
   tipos[2] = "tdk:Solicitud3";
   tipos[3] = "tdk:Solicitud4";
   tipos[4] = "tdk:Fotocopias";

   tiposDesc[0] = "Solicitud 1ra Hoja";
   tiposDesc[1] = "Solicitud 2da Hoja";
   tiposDesc[2] = "Solicitud 3ra Hoja";
   tiposDesc[3] = "Solicitud 4ta Hoja";
   tiposDesc[4] = "Fotocopia de DNI";
   
   for (j = 0; j < tipos.length; j++)
   {
      esta = false;
      for (i = 0; i < carpeta.children.length; i++)
      {
         doc = carpeta.children;
         if(doc.isSubType(tipos[j])){
            esta = true;
         }
      }
      if (!esta){
         faltan[faltan.length] = tipos[j];
      }
   }
   
   esta = false;
   for (i = 0; i < carpeta.children.length; i++)
   {
      doc = carpeta.children;
      if(doc.isSubType(tipos[4])){
         if (doc.properties["tdk:Fotocopias-TipoDNI"] == "SI"){
            esta = true;
         }   
      }
   }
   if (!esta){
      faltan[faltan.length] = tiposDesc[4];
   }
   
   var carpetaFinal;
   
   if (faltan.length == 0){
      carpetaFinal = space.childByNamePath("Sitios/empresa/documentLibrary/Empresa/Legajos_Revisar");
         logger.log("Estan todos");
   }
   else{
         carpetaFinal = space.childByNamePath("Sitios/eadicard/documentLibrary/Empresa/Legajos_Incompletos");
      carpeta.properties.description = "Faltan los siguientes tipos de documentos: " + faltan;
         logger.log("Faltan los siguientes tipos de documentos: " + faltan);
   }
   carpeta.move(carpetaFinal);
2 Replies
fboiero
Member II

Re: Problema Reglas y javascript al mover

Una solución es pasarle desde el ephesoft el numero de documentos de esa carpeta como una propiedad mas de cada documento(cantDoc). Eso lo haces desde el ScriptExport.java del ephesoft y en la regla o el wf de alfresco validas que la cantidad de documentos de la carpeta sea igual a la propiedad cantDoc.
Es una solución rebuscada pero gracias a "Fede" quedo funcionando con esto. 
Saludos
emelbye
Active Member

Re: Problema Reglas y javascript al mover

que grande fede!!!