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;含义:指定审批节点的节点号,
内容:开始以
说明:如审批节点和制单节点一样只填制单节点即可; 业务组注册脚本需要调整;
审批流定义的改动:查询满足权限的角色为两个功能节点的权限。 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 //携带数据