流程特性的NC功能在LFW中实现

上传人:ni****g 文档编号:487135391 上传时间:2024-01-03 格式:DOCX 页数:10 大小:415.15KB
返回 下载 相关 举报
流程特性的NC功能在LFW中实现_第1页
第1页 / 共10页
流程特性的NC功能在LFW中实现_第2页
第2页 / 共10页
流程特性的NC功能在LFW中实现_第3页
第3页 / 共10页
流程特性的NC功能在LFW中实现_第4页
第4页 / 共10页
流程特性的NC功能在LFW中实现_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《流程特性的NC功能在LFW中实现》由会员分享,可在线阅读,更多相关《流程特性的NC功能在LFW中实现(10页珍藏版)》请在金锄头文库上搜索。

1、流程特性的NC功能在LFW中实现说明书目录1.案例场景32.元数据建模43.Lfw页面开发44.接入流程45.插件注册66.附件管理71. 案例场景有些带流程的业务是用Swing平台实现的,如果想用LFW去也去实现Swing业务,但是用LFW仅仅是填报业务,具体流程仍然走Swing那一套业务,,此种业务LFW也是支持的,例如差旅费报销,在swing平台已经实现了其增删改查带流程审批的业务,如下图1,网上报销模块也实现了web版的差旅费报销,增删改查带流程,仍然走的是Swing那一套业务,如图2,以差旅费报销为例讲解,web版的开发过程图1图22. 元数据建模在Swing平台差旅费报销单已经建好

2、了元数据,增删改查带流程的业务功能已经开发完毕,那么利用lfw瓶盖开发的web版无需在建元数据,使用已经建好的即可。3. Lfw页面开发Web版差旅费报销单开发步骤如下:第1步:与一般Web开发一样,新建application,window,view开发第2步:View中 使用的元数据是差旅费报销单元数据重要类说明:l ExpViewCtrl:差旅费报销单单据信息对应的控制器l ExpMenuViewCtrl:按钮对应的控制器类ExpViewCtrl的源码如下:ExpMenuViewCtrl源码如下:4. 接入流程和lfw中的开发的带流程的功能类似,步骤如下:第1步:流程的公共审批view引进

3、来第2步:建立plugin和plugout的关系,会在控制器中产生一个plugin方法,具体参阅ExpViewCtrl中的pluginplugin_exetask方法第3步:在功能审批点击提交,就会触发到pluginplugin_exetask方法,然后执行nc的流程提交,例如NcWfmCmd,最终是用LfwPfUtil中提供的方法去审批的第4步:在swing平台,打开审批流定义,给差旅费报销单定义审批流第5步:lfw打开流程图,如下图:Lfw平台已经封装好了此流程展示的公共view,仅仅需要传给参数即可。差旅费报销单此js是在include中如下图:在inculde.js中的有一段代码是打开

4、流程图的,如下图,pfinfo是lfw平台已经开发好的,仅仅需要传给相关参数即可。var url_ = getRootPath()+/app/mockapp/pfinfo?model=nc.bs.er.linkpfinfo.PfinfoPageModel&billId=+billid+&billType=+billtype;showDialog(url_,transs(yer_pfprogress),1000,600,null,null);流程历史窗口pfinfo,是用图片展示的流程图,视图类是nc.uap.wfm.ncworkflow.NCPfInfoMainCtrl,图片展示最终是nc.u

5、ap.wfm.pubview.flowhistory.ImgOpinionServlet展示图片查看流程图第二种方法,例如:public void onViewApproveInfo( MouseEvent mouseEvent) Dataset mainDs = AppLifeCycleContext.current().getViewContext().getView().getViewModels().getDataset(cac_mwmv_ds);if (null = mainDs.getSelectedRow() String msg = LfwResBundle.getInstan

6、ce().getStrByID(dcswrapplication, CACAPPLY_01_06_05); AppInteractionUtil.showShortMessage(msg);else if(mainDs.getSelectedRows().length1) String msg = LfwResBundle.getInstance().getStrByID(dcswrapplication, CACAPPLY_01_06_05); AppInteractionUtil.showShortMessage(msg); elseRow dsRow = mainDs.getSelect

7、edRow();AppLifeCycleContext.current().getApplicationContext().addAppAttribute(NC, Y);AppLifeCycleContext.current().getApplicationContext().addAppAttribute(busitype, SPSQ);AppLifeCycleContext.current().getApplicationContext().addAppAttribute(billId,dsRow.getString(mainDs.nameToIndex(pk_application_id

8、);WfmUtilFacade.openFlowImage(); 重要类说明:l NcWfmCmd:LFW封装好的,nc流程提交命令类l ExpNcWfmCmd:差旅费报销单扩展的NcWfmCmd类l ExpApproveCmd:在审批时ExpNcWfmCmd类调了ExpApproveCmd去审批l LfwPfUtil:ExpApproveCmd又调了LfwPfUtil中的审批方法去审批,流程类的保存,提交,审批等业务操作最终都是调的是此类ExpNcWfmCmd源码如下:ExpApproveCmd源码如下:5. 插件注册在Swing平台添加的差旅费报销单,在lfw的代办事项中也能看到,并能打开

9、单据,那么就要注册一个类才可以在代办事项中打开的单据,打开方式是和lfw中流程服务操作类是一样的,都是触发getTaskProcessUrl方法。步骤如下:第1步:以集团管理员登陆,打开插件管理第2步:在门户流程集成下注册nc网上报销流程类NCErWflQryImpl,如下图所示重要类说明:l NCErWflQryImpl:在待办事项portlet加载时,从两个地方取数据,一个是lfw本身的待办任务,另一个是通过这里插件注册动态取到的数据,今天所讲解的是插件,插件的功能一是提供待办任务列表,另一个是点击待办代开界面,其中qryTaskList提供任务列表的方法, getTaskProcessU

10、rl是页面打开方法,注意,此方法中url后加WfmConstants.WfmAppAttr_IsNC =Y,表示的你打开的nc流程审批view。这样界面上的公共审批view显示的是针对nc业务的。NCErWflQryImpl源码如下:代办事项图如下:查询插件所在sql:select * from pt_extension where pk_extpoint in (select pk_extpoint from pt_extpoint where point=TASK_QRY_PLUGIN)6. 附件管理原理是从lfw上传的附件,传到nc那边例如oa协同的费用申请的,附件管理源码如下,步骤如下

11、:第1步:使用到元数据ERFileNode,它的表sm_pub_filesystem数据库已经有了,所以仅仅是生成vo和发布元数据即可。第2步:把filemanager窗口放到你的项目中,同时更改dataset对应的元数据改为你的项目对应的ERFileNode的vo,以及组件等第3部:filemanager窗口和view这少用到两个控制器,FileManagerWindowCtrl和FileManagerViewCtrl,如果添加新文件夹或者改名有涉及到view控制器NewFolderViewCtrl,RenameViewCtrl。第4步:把附件管理的window放到application中,

12、例如: 第7步:附件的上传,删除,下载等,这里来调用nc的附件的上传方法,示例如ERFileSystemAction第8步:因为ERFileSystemAction是个action,所以需要在web.xml中进行配置第9步:点击附件管理菜单,弹出附件管理窗口,示例代码如下 /* * 附件管理 * param mouseEvent */ public void onFileManagerClick(MouseEvent mouseEvent) LfwView mainWidget = AppLifeCycleContext.current().getWindowContext().getView

13、Context(main).getView(); Dataset ds = mainWidget.getViewModels().getDataset(IFysqConst.FYSQZB_DS_ID); Row row = ds.getSelectedRow(); String pk_jkbx = (String)row.getValue(ds.nameToIndex(MatterAppVO.PK_MTAPP_BILL); if(pk_jkbx = null | .equals(pk_jkbx) throw new LfwRuntimeException(nc.vo.ml.NCLangRes4VoTransl.getNCLan

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号