Replica las anotaciones de flujo de trabajo a las notas del documento
# iterate over the documents attached to the current workflow #foreach( $doc in $documents ) # retrieve the last task completion event #set($lastEvent = $WorkflowTool.getLastHistory($processId,'task.end')) # apply the 'rejected' stamp and move the file to the Approved subfolder $StampTool.stamp($doc, 'approved', $lastEvent.user.username); $DocTool.move($doc, 'Approved', $lastEvent.user.username); # make a pdf conversion of the approved file an store it in a public area #set($docConverted = $DocTool.convert($doc, "pdf", $lastEvent.user.username)) $DocTool.move($docConverted, "/AreaTEST/TEST MERITOR/PUBLIC/Approved", $lastEvent.user.username); # get the collection of all annotation done by the participants in the current workflow #set($histories = $WorkflowTool.getHistories($processId, 'task.note')) $log.info("histories: $histories") $log.info("histories.size: $histories.size()") # iterate over the annotations and replicate them in the document #set($noteDAO = $ContextTool.getBean('DocumentNoteDAO')) #foreach( $hist in $histories ) # create the new note to be saved for the document #set($note = $ClassTool.newInstance('com.logicaldoc.core.document.DocumentNote')) # prepare all the metadata and save to database $note.setDocId($doc.id); $note.setUsername($hist.username); $note.setMessage($hist.comment); $note.setDate($doc.date); $note.setUserId($hist.userId); $note.setFileName($doc.fileName); $note.setFileVersion($doc.fileVersion); $noteDAO.store($note, null); #end #end
Este procedimiento está diseñado para ejecutarse dentro de un flujo de trabajo, el identificador de instancia del flujo de trabajo actual se encuentra en la variable processId.
Para cada documento adjunto al flujo de trabajo, se aplica el sello approved y se almacena una conversión PDF en una carpeta pública.
Una vez que se ha completado el flujo de trabajo, las anotaciones dejadas por los usuarios permanecen en el historial del flujo de trabajo (dentro del panel de control del flujo de trabajo), entonces para que los usuarios normales puedan acceder a ellas más fácilmente, cada anotación se replica en los documentos como notas.