业务上的附件和FileNet流程中的VWAttachment

来源:互联网 发布:淘宝 延长收货 确认 编辑:程序博客网 时间:2024/05/17 04:35
        多数涉及流程的业务会伴随着附件内容。公司业务通过流程逐步完成:业务流程中每个结点处理人大多会对发起人(申请人)的需求进行查看分析等,最终经历一系列审核确认完成公司业务。申请人除了有简单的描述之外,还会包括详细的内容——称之为附件,这就是ECM产品内容的一种类型。

       客户的申请内容在业务流程的作用下成为企业内容,在后续的公司操作上往往会被提及。在这种背景下,单纯内容管理或业务流程管理往往不会满足企业需求,往往需要结合而论。如果继而深入企业人事(人:组织管理;事:业务过程),除了ECM和BPM外,往往还会牵涉到ERP和OA等。此处留个话头,仅从FileNet等流程引擎的流程和附件关系的设计和操作上简单描述。

       对于FileNet而言,企业内容和业务流程涉及的是CE和PE。在项目中,流程设计中根据业务需要多数会带有附件。而FileNet所流程设计器中可以对attachments进行设计,流程的附件属性作为VWAttachment类出现。在设计过程中,其同DataField属性一样,可以在不同结点进行选择,这样会将这些属性做为流程结点真实可用的属性。

       一个流程中可以包含一个或多个VWAttachment,每个VWAttachment可以是一个附件也可以是一个附件数组。VWAttachment类并不是CE的Document等,它保存的是CE中某些Document的Id和Version等,有了这些条件就可以在流程处理过程中精确定位附件内容了。

       在流程处理中,除了附件的内容外,附件的某些属性(往往多于VWAttachment所能承载的信息)往往需要直接显示在表单上。此时我们可以在流程设计之初将这些需要显示的内容设计为流程DataField。总之,业务流程进行中可以通过很多方式来提升流程处理能力,其中将业务附件指定到流程VWAttachment中、将一些需要展示在表单的CE内容存于流程的DataField中等等都是很有效的方法。

       获取流程附件、增加\减少流程附件类似于操作数组,由于其不存在去除指定位置的方法,故而采用传统的遍历方式来获取全部附件,在将需要增加的附件或减少的附件添加到该附件数组中,随后再重新将该附件数组设置回流程Attachments中,下面代码展示减少流程附件过程。

 

VWAttachment[] vwAttachments = null;int rights;//获取需求附件vwAttachments = (VWAttachment[])vwStepElement.getParameterValue(“ATTACHMENTPARAMETERNAME”);//获取对该附件的权限Rights= vwStepElement.getParameter(“ATTACHMENTPARAMETERNAME”).getMode();//流程附件中是否存在待删除documentBoolean isExit = false;for(int i = 0 ; i < vwAttachments.length ; i++){if(docId.equals(vwAttachments[i].getId())){isExit = true;//存在break;}}//如果流程附件中存在待删除document,则判断是否具备写权限,具备则进行删除if(isExit){//如果存在写权限,并且待删除附件在流程附件中,则删除流程中此附件if(rights == 2 || rights == 3){//具备写权限if(vwAttachments.length >1){//如果流程附件个数大于1,则设置删除后的附件组/** * 获取新的附件组 */VWAttachment[] vwAtts = new VWAttachment[vwAttachments.length - 1];VWAttachment vwAtt;int count = 0;for(int i = 0 ; i < vwAttachments.length ; i++){if(!docId.equals(vwAttachments[i].getId())){vwAtts[count] = vwAttachments[i];count++;}}/** * 设置附件组 */vwStepElement.doLock(true);//设置需求附件vwStepElement.setParameterValue(“ATTACHMENTPARAMETERNAME”, vwAtts, true);vwStepElement.doSave(true);}}


原创粉丝点击