EAS-BOS应用框架编程指南
EAS-BOS应用框架编程指南
1. 业务对象层 应用框架在业务对象层建立了一些典型业务对象,可用做设计人员建立自己的业务对象的超类。这些用做超类的业务对象,既定义了对象属性,也提供了业务方法。例如,层次数据的超类TreeBase在数据保存时会自动维护level、isLeaf和longNumber的正确性。 1.1. 类体系
类体系 CoreBase |- ObjectBase |- DataBase |- TreeBase |- BillBase |- BillEntryBase 1.2. 所有业务对象超类CoreBase 属性
名称 Id 描述 对象ID 数据类型 BOSUUID 对应字段 FID 所有业务对象的超类 普通业务对象的超类 基础资料类业务对象的超类 层次数据类业务对象的超类 单据业务对象的超类,对应单据头部分 单据业务对象的超类,对应单据体部分 内容 方法
名称 addNew Update Submit save cancel cancelCancel checkStatusValid canUpdate isReferenced 描述 继承基类,添加时设置creator,createTime, lastUpdateUser, lastUpdateTime,等固定属性值。 继承基类,更新时设置lastUpdateUser, lastUpdateTime, company等固定属性值。 设置业务数据生效,并保存 设为暂存状态,并保存 作废(逻辑删除),并保存 取消作废状态,并保存 检查业务数据是否是有效 检查业务数据能否更新,逻辑条件是否满足更新要求(补充) 检查业务数据是否被引用,删除操作会调用此函数(补充) 1.3. 普通业务对象超类ObjectBase 属性
名称 Creator CreateTime LastUpdateUser LastUpdateTime 创建者 创建时间 最后修改者 最后修改时间 描述 数据类型 连接属性——连接到用户 Timestamp 连接属性——连接到用户 Timestamp 对应字段 FCreatorID FCreateTime FLastUpdateUserID FLastUpdateTime 方法
名称 描述 常见问题
1.问:Creator、CreateTime、LastUpdateUser、LastUpdateTime作用和意义? 答:所在普通业务对象的基本属性,由基类来维护,业务对象不能用作其他用途。
1.4. 基础资料超类DataBase 属性
名称 Name Number description simpleName 描述 名称(多语言) 编码 描述(多语言) 简称 数据类型 String String String String 方法
名称 checkNameBlank checkNameDup 名称是否为空 名称是否重复 描述 checkNumberBlank checkNumberDup
编码是否为空 编码是否重复 注:【名称与编码】检查方法都是需要根据业务要求进行调用的,应用框架本身不调用。 常见问题
1.问:为何继承自DataBase的类没有自动进行名称及编码的检查?
答:没办法统一检查机制,可能由于检查的条件不一样,如科目表使用全局的检查,就可直接调用如上的方法来完成。
2.问:编码规则如何起作用?
答:编码规则在DataBase类起作用。从DataBase继承的类如果定义了编码规则就会自动由基类来完成,子类不需要关心。
1.5. 层次数据超类TreeBase 属性
名称 IsLeaf Level LongNumber 描述 是否叶节点 所在级次 节点完整编号 数据类型 Boolean Integer String FIsLeaf FLevel FLongNumber 对应字段 因为超类中定义的关系无法实例化,所以TreeBase并未定义parent关联属性。要求在子类中自行建立这个表示指向父节点的关联属性,并且约定属性名一定是parent。 方法
名称 updateLeafByLongNumber checkParentDataExist checkParentValid checkParentBeUsed getRoot getChildren getAllChildren 描述 父节点编号更新时重设所有子节点编号 检查该编号下的父节点是否存在 校验父节点的状态应为有效,父节点是否被删除。 校验父节点是否被其他数据使用。如果被使用则不能新建子节点。子类需要通过重载_isReference来定义引用逻辑 获取根节点 返回儿子节点集合 返回所有后代节点集合 deleteWithChildren 删除自身及其所有后代节点 常见问题
1.问:isLeaf、level、longNumber由基类处理吗? 答:是的。父类自动维护,子类不需要进行干预。 2.问:检查编码重复的注意事项。
答:原则:输入项必须完整,生成项可以没有,如level,isLeaf,longnumber等,传递给基类的值要求有id,number,name,description。
1.6. 单据超类BillBase(单据头) 属性
名称 Number handleTime Handler Description hasEffected Auditor sourceBillId 描述 单据编号 经办时间 经手人 备注(多语言) 是否曾经生效 审核人 原始单据ID String TimeStamp 连接属性——连接到用户 String Boolean 连接属性——连接到用户 String String 数据类型 对应字段 FNumber FHandleTime FhandlerID Fdescription FhasEffected FcheckID FsourceBillID FsourceFunction sourceFunction 来源功能 方法
名称 checkOut passAudit UnpassAudit Freeze Unfreeze checkStatusFreeze checkNumberDup 描述 结清(关闭)业务数据 审核通过 设置为未审核状态 冻结业务数据 解冻业务数据 检查业务数据是否被冻结 检查单据编号是否重复 checkNumberBlank checkHandleTimeBlank checkHandlerBlank 检查单据编号是否为空 检查经办时间是否为空 检查经办人是否为空 检查是否至少有一条分录 checkLineExist
可选的方法:
1. protected SystemEnum getOwnedSys():定义单据所属的系统。通常情况下一种单据所属的系统是
确定的,可以在单据对象的扩展属性予以定义。超类负责处理这种情况。对于一种类型的单据被实例化到不同系统的情况,可以增加实体属性,并重载这个方法。 常见问题
1.问:单据生成凭证的处理?
答:校验是否已经生成过凭证,如果已经生成过则抛异常。 2.问:单据关联关系处理。
答:处理所有的分录关联。分为暂存与提交两类。
1.7. 单据超类BillEntryBase(单据体) 属性
名称 描述 数据类型 对应字段 FSequence Sequence 单据分录序列号(定义为序列属性即使用{seq}) Integer 常见问题
1.8. 通用设计方法 1.8.1. 业务数据状态管理
业务数据状态属于数据的附加描述属性,表达业务数据经过的处理过程,例如:是否已生效、是否已审核,并据此进行相应的逻辑控制。业务数据状态根据业务数据的不同类型会有不同组合,例如:基础资料中可能只有是否生效状态,而单据中会有是否已审核及是否已关闭等状态。
在应用架构中会抽象业务数据中存在的状态种类,并在超类体系里固化对某些通用状态的处理逻辑。
…… 此处隐藏:1655字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [资格考试]机械振动与噪声学部分答案
- [资格考试]空调工程课后思考题部分整合版
- [资格考试]电信登高模拟试题
- [资格考试]2018年上海市徐汇区中考物理二模试卷(
- [资格考试]坐标转换及方里网的相关问题(椭球体、
- [资格考试]语文教研组活动记录表
- [资格考试]广东省2006年高应变考试试题
- [资格考试]LTE学习总结—后台操作-数据配置步骤很
- [资格考试]北京市医疗美容主诊医师和外籍整形外科
- [资格考试]中学生广播稿400字3篇
- [资格考试]CL800双模站点CDMA主分集RSSI差异过大
- [资格考试]泵与泵站考试复习题
- [资格考试]4个万能和弦搞定尤克里里即兴弹唱(入
- [资格考试]咽喉与经络的关系
- [资格考试]《云南省国家通用语言文字条例》学习心
- [资格考试]标准化第三范式
- [资格考试]GB-50016-2014-建筑设计防火规范2018修
- [资格考试]五年级上册品社复习资料(第二单元)
- [资格考试]2.对XX公司领导班子和班子成员意见建议
- [资格考试]关于市区违法建设情况的调研报告
- 二0一五年下半年经营管理目标考核方案
- 2014年春八年级英语下第三次月考
- 北师大版语文二年级上册第十五单元《松
- 2016国网江苏省电力公司招聘高校毕业生
- 多渠道促家长督导家长共育和谐 - 图文
- 2018 - 2019学年高中数学第2章圆锥曲线
- 竞争比合作更重要( - 辩论准备稿)课
- “案例积淀式”校本研训的实践与探索
- 新闻必须客观vs新闻不必客观一辩稿
- 福师大作业 比较视野下的外国文学
- 新编大学英语第二册1-7单元课文翻译及
- 年产13万吨天然气蛋白项目可行性研究报
- 河南省洛阳市2018届高三第二次统一考试
- 地下车库建筑设计探讨
- 南京大学应用学科教授研究方向汇编
- 2018年八年级物理全册 第6章 第4节 来
- 毕业论文-浅析余华小说的悲悯性 - 以《
- 2019年整理乡镇城乡环境综合治理工作总
- 广西民族大学留学生招生简章越南语版本
- 故宫旧称紫禁城简介




