案例交通费报销单带流程模式化开发web实现手册_第1页
案例交通费报销单带流程模式化开发web实现手册_第2页
案例交通费报销单带流程模式化开发web实现手册_第3页
案例交通费报销单带流程模式化开发web实现手册_第4页
案例交通费报销单带流程模式化开发web实现手册_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录一、新建 Web 工程2新建 Web 工程:21.3.新建业务组件:44.启动工程:9二、发布元数据10三、创建功能节点121. 设置工程前缀122. 创建 Application:133. 新建流程大类:154. 模式化生成 Window17四、发布功能节点23五、模板设计29六、流程设计31七、创建 Portal 页面32八、分配功能权限341.职责设置34设置352.九、效果呈现37十、业务扩展开发371.调整数据项内容372.修改表格列宽度383.修改表格列编辑类型和渲染类型394. 修改数字型显示精度395. 增加必输项406. 修改数据项是否可编辑407. 新建报销单时增加默认

2、数据408. 子表金额自动累加到主表合计金额439.增加表格列下拉选项4510.修改参照属性(“费用承担部门”)47一、新建 Web 工程LFW 新建的工程以及组件的步骤如下:1.新建 Web 工程:第 1 步:选择项目第 2 步:选择WEB 开发->LFW 工程第 3 步:工程名和模块名均输入 lfwdemo,点击完成即可2.Module 模块数据库这一步可以不数据库,因为发布功能节点时,在也不晚3.新建业务组件:第 1 步:选择项目insert into md_module (createtime, creator, description, displayname, dr, hel

3、p, id, isactive, modifier, modifytime, name, parentmoduleid, resid, ts, versiontype)values ('2012-10-01 09:00:00', 'yonyou', 'lfwdemo', 'web 培训', 0, 'lfwdemo','lfwdemo', 'Y', 'yonyou', '2012-10-01 09:00:00', 'lfwdemo', n

4、ull, null, '2012-10-0109:00:00', 0);第 2 步:选择WEB 开发->业务组件第 3 步:组件名和显示名称均输入 bx完成后的 Java 视图工程目录:完成后的 LFW 开发视图工程目录:4.启动工程:第 1 步:调试方式->LFW 中间件,来启动工程成功启动后的控制台信息:第 2 步:打开浏览器,地址栏输入,输入管理员用户名和密码登陆后如下:二、发布元数据元数据从开发案例中拷贝步骤如下:第 1 步:根据我们提供的 TrafficExpens 元数据文件,将“TrafficExpense.bmf”文件放入bx 业务组件的“METAD

5、ATA”文件夹中,如下图,放完后,刷新一下工程。第 2 步切换到 uapmdp图,如果看不到刷新一下即可,双击打开元数据设计器:注意:要实现 Web 工程的流程,必须实现上面的 2 个接口,元数据模型已经加上了, 接口是:“协同流程信息获取、回写”接口,以及 IBDObject 接口,同时实体还要设置“业务接口属性”。第 3 步:发布元数据、生成 Java 源代码既是模型类、生成 sql并执行:第 4 步:关闭中间件,并重启。三、创建功能节点切换到 LFW 项目开发1.设置工程前缀图,来进行操作第 1 步:右键项目,选择设置工程模块前缀第 2 步:这只包前缀,填写:nc.demo2.创建 Ap

6、plication:第 1 步:右键应用,选择新建应用第 2 步:id 和名称输入:jtfbxd创建完成:3.新建流程大类:第 1 步:右键流程,选择新建流程大类第 2 步:输入编码:jtfbxdflow,名称:交通费报销建好后:4.模式化生成 Window第 1 步:右键应用 jtfbxd,选择模式化向导第 2 步:在弹出的依模板创建 window 中选择主子列表流程模板,如下图第 3 步:选择 jtfbxd 元数据模型第 4 步:流程大类选择交通费报销第 5 步,组件 id:填写 nc.lfwdemo.bx,其他不动第 6 步:选择完成即可第 7 步:在创建完成后,提示是否功能发布,选择取

7、消,因为下面我们通过发布功能来第 8 步:创建完成后,点击刷新,看一下窗口和视图创建的样子。Java 目录结构:Web 目录结构:四、发布功能节点主要做几件事,新建菜单分类,选择父菜单,新建模块,新建功能分类。步骤如下:第 1 步:右键功能发布,选择手动发布应用第 2 步:主要做几件事,选择应用,新建菜单分类,选择父菜单,新建模块,新建功能分类,其中选择应用是:jtfbxd,其他的下面分别讲解。第 3 步:新建菜单分类:编码是:type_finance,名称是:财务系统第 4 步:选择父菜单,在弹出的框中选择新建,填写编码:_bx,名称是:报销第 5 步:新建模块,编码,id 标题都输入:lf

8、wdemo第 6 步:新建功能分类,编码:functype_bx,名称:报销功能分类第 7 步:输入菜单信息和功能信息:菜单信息是:编码:_jtfbxd,名称:交通费报销单功能信息是:编码:func_jtfbxd,名称:交通费报销第 8 步:点击“确定”,在弹出的是否创建成后打印模板框,选择“确定”,发布完五、模板设计默认向导已经给生成了模板可以对此进行再次修改。步骤如下:第 1 步:刷新 lfwdemo 项目,关闭中间件,然后重新启动第 2 步:以报销单管理员登陆系统,然后打开系统管理下的模板设置,如下图,找到第 3 步:选择编辑条件,来进行条件的设置第 4 步:按下图修改缺省条件显示六、流

9、程设计以管理员登录系统,进入“业务类型”功能页面,选择“交通费报销”分类,选中jtfbxd 流程,流程设计步骤如下第 1 步: 点击修改按钮,在打开的框中,勾选流程下级可替换,和流程下级可用。第 2 步: 点击“维护流程定义”,来打开流程定义。第 3 步:点击流程定义的超,来进行流程的设计,设计 2 个人工活动,第一个人工活动是制单节点,设置用户 u1 来制单,第 2 个人工活动用户设置 u2 来审批七、创建 Portal 页面创建一个 portal 页面来挂接菜单,步骤如下:第 1 步:右键 Portal 配置下的 Portal 页面,选择按菜单分类生成页面:第 2 步:在弹出的框中,选择财

10、务系统第 3 步:双击生成的 portal,生成的 portal 页面如下,无需修改八、分配功能权限用管理员登录系统,进行新建职责和1. 职责设置的分配。第 1 步:新建职责:进入“职责”功能页面,选择“业务类型”,点击“增加”,输入编码是:bxzz_01 ,名称是:报销职责-01第 2 步:选中报销职责,点击“新增功能节点”:第 3 步:选择“交通费报销”功能,移动到右边:第 4 步:完成后如下:设置关联职责(此处为方便,选择默认2.为“everyone”,也可练习新建),步骤如下:第 1 步:进入“业务类”功能页面,选择切换组织,例如:,在此组织下有个“everyone”责”:“every

11、one”,选择页签“已关联”,点击按钮“新建关联职第 2 步:选择“报销职责-01”:第 3 步:完成:九、效果呈现以用户例如“u1”登录系统,可看到财务系统的报销功能页面,然后就可以做业务了,例如 u1 制单,u2 审批等业务。十、业务扩展开发1.调整数据项内容打开表格或表单编辑器,选中代表表格或表单的图标。修改属性中的“是否可见”列可控制显示隐藏,修改“显示值”列可修改表头显示内容, 通过“上移”、“下移”按钮调整显示顺序,通过“增加”按钮可增加显示字段:u jtfbxd_win 页面中 main 片段:表格“grid_demo_bxzb”显示内容如下:表格“demo_bxitem_gri

12、d”显示内容如下:u jtfbxd_win_edit 页面中 main 片段: 表单“form_demo_bxzb”显示内容如下:表格“demo_bxitem_grid”显示内容如下:2.修改表格列宽度在表格列属性中修改宽度字段,学员可根据需要自行调整。3.修改表格列编辑类型和渲染类型可在表格列属性中直接修改,比如日期型的编辑类型为“ DateText”,渲染类型为 “DateRender”,学员可根据业务需求自行修改:4.修改数字型显示精度打开数据集编辑器,修改数据项的“精度”属性,学员可根据业务需求自行修改:5.增加必输项打开数据集编辑器,修改数据项的“是否可以为空”属性,也可增加“缺省值

13、”属性, 学员可根据业务需求自行修改:6.修改数据项是否可编辑打开表格或表单编辑器,修改数据项的“是否可编辑”属性,学员可根据业务需求自行修改:7.新建报销单时增加默认数据打开片段编辑窗口,在中双击“beforeShow”行,可打开 Control 类编辑器。打开 nc.bs.jtfbxd_win_edit.main.ctrl.EditController 类,修改 beforeShow 方法,绿色为增加的代码:/* 片段初始化,加载数据逻辑* param dialogEvent*/public void beforeShow( DialogEvent dialogEvent) String

14、oper = (String)AppLifeCycleContext.current().getApplicationContext().getAppAttribute (AppConsts.OPE_SIGN);if(oper = null) oper =LfwRuntimeEnvironment.getWebContext().getOriginalParameter(AppConsts.OPE_SIGN);LfwWidget edit = AppLifeCycleContext.current().getWindowContext().getCurrentViewContex t().ge

15、tView();Dataset ds = edit.getViewModels().getDataset(getMasterDsId(); ds.clear();if (oper = null) return;if (oper.equals(AppConsts.OPE_EDIT) String primary_key = (String)AppLifeCycleContext.current().getApplicationContext().getAppAttribute (AppConsts.OPE_EDIT_PK);if(primary_key = null) primary_key =

16、LfwRuntimeEnvironment.getWebContext().getOriginalParameter("pk_jkbx");if (primary_key != null) try BXHeaderVO vo =CRUDHelper.getCRUDService().retrieveByPk(BXHeaderVO.class, primary_key);new SuperVO2DatasetSerializer().serialize(new BXHeaderVO vo , ds);ds.setRowSelectIndex(0); ds.setEnabled

17、(true);catch (LfwBusinessException e) CpLogger.error(e);throw new LfwRuntimeException("加载编辑数据出现问题",e.getMessage();else if (oper.equals(AppConsts.OPE_ADD) Row emptyRow = ds.getEmptyRow(); ds.addRow(emptyRow);/* * 增加默认值 */ try / 获取登录session LfwSessionBean session = LfwRuntimeEnvironment.getL

18、fwSessionBean(); / 获取用户PK String pkUser = session.getPk_user(); /接口 ICpUserQry qry = NCLocator.getInstance().lookup(ICpUserQry.class); / 获取用户部门PK CpOrgVO dept = qry.getDeptByUserPk(pkUser); String pkDept = dept.getPk_org(); / 设置报销人部门参照 emptyRow.setValue(ToIndex("deptid"), pkDept); /

19、 获取PK String pkPsn = qry.getUserByPk(pkUser).getPk_base_doc(); / 设置报销人参照 emptyRow.setValue(ToIndex("jkbxr"), pkPsn);/ 获取报销人PK8.子表金额自动累加到主表合计金额双击数据集“demo_bxitem”打开数据集编辑器,在“”页签中点击“增加”,从弹出框中选择“onAfterDataChange”,点击“确定”按钮。IPsndocPubService psnService =NCLocator.getInstance().lookup(IPsn

20、docPubService.class); PsndocVO pm = psnService.queryPsndocByPks(new StringpkPsn, new StringPsndocVO.PK_ORG, PsndocVO.PK_GROUP); String pkOrg = pm0.getPk_org(); / 设置报销人参照 emptyRow.setValue(ToIndex("dwbm"), pkOrg); / 设置单据日期 UFDate date = new UFDate(); String dateStr = date.toString();

21、 / 设置报销人参照 emptyRow.setValue(ToIndex("djrq"), dateStr); / 设置单据编号 String djbh = "JTF" + new Random().nextInt(); emptyRow.setValue(ToIndex("djbh"), djbh); catch (BusinessException e) e.printStackTrace(); ds.setRowSelectIndex(ds.getRowIndex(emptyRow); ds.setEnabled(true);输入名称(即为方法名称):新增后的,双击可打开 Conllor 类添加代码。添加代码前先配置提交规则:代码如下:/* 报销单业务行数据集数据改变后* param gridCellEvent9.增加表格列下拉选项 “报销单业务行”表格的“费用类型”需要增加下拉选项。新建下拉数据集:*/public void afterItemCellChange( DatasetCellEvent datasetCellEvent)/ 获取子数据集Dataset detailDs = datasetCellEvent.getSource();/ 列号int

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论