NCV5 界面关联操作---

NC界面关联操作 V1.0

一、名词解释:

界面管理操作:在一个功能界面,通过传递参数调用另一个界面的功能; 二、通用界面关联操作分类

a) 关联新增:直接新增或根据参数设置数据进入新增状态;(工作流) b) 关联维护:根据参数加载数据进入修改状态;(工作流) c) 关联审核:根据参数加载数据进入新增状态;(审批流) d) 关联查询:根据参数加载数据进入浏览状态;(查询使用) e) 关联编辑:实现多界面交换编辑;(此状态比较复杂,暂不考虑) 三、实现方案

a) 分别对新增、维护、审核、查询制定统一接口方法名和参数结构; i. ILinkAdd.doAddAction(ILinkAddata) ii. ILinkMaintain.doMaintainAction(ILinkMaintainData) iii. ILinkApprove.doApproveAction(ILinkApproveData) iv. ILinkQuery.doQueryAction(ILinkQueryData) b) 使用方式举例:(新增,其他类同) i. 调用方:

//创建参数

ILinkAddData adddata = new LinkAddData implements ILinkAddData (){ ……. }

//打开非模态节点界面

SFClientUtil.closeLinkedAddFrame(节点号);

ii. 被调用方:实现ILinkADD、ILinkMaintain、IlinkApprove、IlinkQuery接口

public class XXPanel extends toftpanel implements ILinkADD,ILinkEdit { public void doADDAction(ILinkAddData adddata){ … } public void doEditAction(ILinkMaintainData editdata){ … } … }

四、系统管理提供方法

a) 类名:nc.ui.uap.sf.SFClientUtil b) 新增: i. 打开非模态界面

? 方法名:openLinkedADDFrame ? 参数:

? String nodecode //节点号 ? ILinkAddData adddata //关联参数

? 返回值:无

? 说明:如果已有打开界面,则将此界面显示到最前面; ii. 打开模态界面

? 方法名:openLinkedADDDialog ? 参数:

? String nodecode //节点号 ? Component parent //父窗体对象 ? ILinkAddData adddata //关联参数 ? 返回值:无

? 说明:如果有已打开非模态界面,需要先关闭界面;

c) 修改: i. 打开非模态界面

? 方法名:openLinkedMaintainFrame ? 参数:

? String nodecode //节点号

? ILinkMaintainData maintaindata //关联参数 ? 返回值:无

? 说明:如果已有打开界面,则将此界面显示到最前面; ii. 打开模态界面

? 方法名:openLinkedMaintainDialog ? 参数:

? String nodecode //节点号 ? Component parent //父窗体对象

? ILinkMaintainData maintaindata //关联参数 ? 返回值:无

? 说明:如果有已打开非模态界面,需要先关闭界面;

d) 查询: i. 打开模态界面

? 方法名:openLinkedQueryDialog ? 参数:

? String nodecode //节点号 ? Component parent //父窗体对象 ? ILinkQueryData querydata //关联参数 ? 返回值:无

? 说明:如果有已打开非模态界面,也可以在打开模态界面;

e) 审批: i. 打开模态界面

? 方法名:openLinkedApproveDialog ? 参数:

? String nodecode //节点号 ? Component parent //父窗体对象 ? ILinkApproveData approvedata //关联参数 ? 返回值:无

? 说明:如果有已打开非模态界面,也可以在打开模态界面;

五、新增

a) 接口定义: i. 包名:nc.ui.pub.linkoperate ii. 接口类名:ILinkAdd iii. 方法名:doAddAction (ILinkAddata) iv. 参数方法:

? getSourceBillID() //来源 ? getSourceBillType() //来源单据类型 ? getSourcePKOrg() //来源组织 ? getUserObject //携带数据

六、维护

a) 接口定义: i. 包名:nc.ui.pub.linkoperate ii. 接口类名:ILinkMaintain iii. 方法名:doMaintainAction (ILinkMaintainData) iv. 参数方法:

? getBillID() ? getUserObject //携带数据

七、审批

a) 接口定义: i. 包名:nc.ui.pub.linkoperate ii. 接口类名:ILinkApprove iii. 方法名:doApproveAction(ILinkApproveData) iv. 参数方法:

? getBillID() //单据ID ? getBillType() //单据类型 ? getPKOrg() //单据组织 ? getUserObject //携带数据

b) 数据库变动说明: i. 表名:billtype ii. 字段:nodecode;含义:指定制单节点的节点号 iii. 字段:classname;含义:指定审批节点的节点号,

内容:开始以开始,或为null。Y―支持审批流;N―不支持审批流;null为在审批流定义处。 例:100602

说明:如审批节点和制单节点一样只填制单节点即可; 业务组注册脚本需要调整;

审批流定义的改动:查询满足权限的角色为两个功能节点的权限。 c) 代码变动说明: i. 原实现审批构造子方式废弃; ii. 原实现接口方式废弃(IinitBillUI); iii. 实现接口ILinkApprove,将原构造子活接口方法中的实现移入ILinkApprove

的实现方法中;

d) 推荐实现:

public class XXPanel extends toftpanel implements ILinkApprove { public void doApproveAction(ILinkApproveData data){ //加载审批相关按钮; //推荐1:审批、弃审、审批情况、文件管理 //推荐2:修改、保存、取消、审批、弃审、审批情况、文件管理 setButtons(…); //加载模板 loadtemplate(…); //加载业务数据 getBusiData(data. getBillID()); //业务处理 … } }

八、查询

a) 接口定义: i. 包名:nc.ui.pub.linkoperate ii. 接口类名:ILinkQuery iii. 方法名:doQueryAction(ILinkQueryData) iv. 参数方法:

? getBillID() //单据ID ? getBillType() //单据类型 ? getPKOrg() //单据组织 ? getUserObject //携带数据

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4