EASBOS应用框架编程指南

上传人:新** 文档编号:560609841 上传时间:2024-02-06 格式:DOC 页数:19 大小:210.50KB
返回 下载 相关 举报
EASBOS应用框架编程指南_第1页
第1页 / 共19页
EASBOS应用框架编程指南_第2页
第2页 / 共19页
EASBOS应用框架编程指南_第3页
第3页 / 共19页
EASBOS应用框架编程指南_第4页
第4页 / 共19页
EASBOS应用框架编程指南_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《EASBOS应用框架编程指南》由会员分享,可在线阅读,更多相关《EASBOS应用框架编程指南(19页珍藏版)》请在金锄头文库上搜索。

1、EAS-BOS应用框架编程指南1. 业务对象层应用框架在业务对象层建立了一些典型业务对象,可用做设计人员建立自己的业务对象的超类。这些用做超类的业务对象,既定义了对象属性,也提供了业务方法。例如,层次数据的超类TreeBase在数据保存时会自动维护level、isLeaf和longNumber的正确性。1.1. 类体系类体系内容CoreBase所有业务对象的超类|- ObjectBase普通业务对象的超类|- DataBase基础资料类业务对象的超类|- TreeBase层次数据类业务对象的超类|- BillBase单据业务对象的超类,对应单据头部分|- BillEntryBase单据业务对象

2、的超类,对应单据体部分1.2. 所有业务对象超类CoreBase属性名称描述数据类型对应字段Id对象IDBOSUUIDFID方法名称描述addNew继承基类,添加时设置creator,createTime, lastUpdateUser, lastUpdateTime,等固定属性值。Update继承基类,更新时设置lastUpdateUser, lastUpdateTime, company等固定属性值。Submit设置业务数据生效,并保存save设为暂存状态,并保存cancel作废(逻辑删除),并保存cancelCancel取消作废状态,并保存checkStatusValid检查业务数据是否

3、是有效canUpdate检查业务数据能否更新,逻辑条件是否满足更新要求(补充)isReferenced检查业务数据是否被引用,删除操作会调用此函数(补充)1.3. 普通业务对象超类ObjectBase属性名称描述数据类型对应字段Creator创建者连接属性连接到用户FCreatorIDCreateTime创建时间TimestampFCreateTimeLastUpdateUser最后修改者连接属性连接到用户FLastUpdateUserIDLastUpdateTime最后修改时间TimestampFLastUpdateTime方法名称描述常见问题1.问:Creator、CreateTime、L

4、astUpdateUser、LastUpdateTime作用和意义? 答:所在普通业务对象的基本属性,由基类来维护,业务对象不能用作其他用途。 1.4. 基础资料超类DataBase属性名称描述数据类型Name名称(多语言)StringNumber编码Stringdescription描述(多语言)StringsimpleName简称String方法名称描述checkNameBlank名称是否为空checkNameDup名称是否重复checkNumberBlank编码是否为空checkNumberDup编码是否重复注:【名称与编码】检查方法都是需要根据业务要求进行调用的,应用框架本身不调用。常

5、见问题1.问:为何继承自DataBase的类没有自动进行名称及编码的检查? 答:没办法统一检查机制,可能由于检查的条件不一样,如科目表使用全局的检查,就可直接调用如上的方法来完成。2.问:编码规则如何起作用? 答:编码规则在DataBase类起作用。从DataBase继承的类如果定义了编码规则就会自动由基类来完成,子类不需要关心。1.5. 层次数据超类TreeBase属性名称描述数据类型对应字段IsLeaf是否叶节点BooleanFIsLeafLevel所在级次IntegerFLevelLongNumber节点完整编号StringFLongNumber因为超类中定义的关系无法实例化,所以Tre

6、eBase并未定义parent关联属性。要求在子类中自行建立这个表示指向父节点的关联属性,并且约定属性名一定是parent。方法名称描述updateLeafByLongNumber父节点编号更新时重设所有子节点编号checkParentDataExist检查该编号下的父节点是否存在checkParentValid校验父节点的状态应为有效,父节点是否被删除。checkParentBeUsed校验父节点是否被其他数据使用。如果被使用则不能新建子节点。子类需要通过重载_isReference来定义引用逻辑getRoot获取根节点getChildren返回儿子节点集合getAllChildren返回所

7、有后代节点集合deleteWithChildren删除自身及其所有后代节点常见问题1.问:isLeaf、level、longNumber由基类处理吗? 答:是的。父类自动维护,子类不需要进行干预。2.问:检查编码重复的注意事项。 答:原则:输入项必须完整,生成项可以没有,如level,isLeaf,longnumber等,传递给基类的值要求有id,number,name,description。1.6. 单据超类BillBase(单据头)属性名称描述数据类型对应字段Number单据编号StringFNumberhandleTime经办时间TimeStampFHandleTimeHandler经

8、手人连接属性连接到用户FhandlerIDDescription备注(多语言)StringFdescriptionhasEffected是否曾经生效BooleanFhasEffectedAuditor审核人连接属性连接到用户FcheckIDsourceBillId原始单据IDStringFsourceBillIDsourceFunction来源功能StringFsourceFunction方法名称描述checkOut结清(关闭)业务数据passAudit审核通过UnpassAudit设置为未审核状态Freeze冻结业务数据Unfreeze解冻业务数据checkStatusFreeze检查业务数

9、据是否被冻结checkNumberDup检查单据编号是否重复checkNumberBlank检查单据编号是否为空checkHandleTimeBlank检查经办时间是否为空checkHandlerBlank检查经办人是否为空checkLineExist检查是否至少有一条分录可选的方法:1. protected SystemEnum getOwnedSys():定义单据所属的系统。通常情况下一种单据所属的系统是确定的,可以在单据对象的扩展属性予以定义。超类负责处理这种情况。对于一种类型的单据被实例化到不同系统的情况,可以增加实体属性,并重载这个方法。常见问题1.问:单据生成凭证的处理? 答:校验

10、是否已经生成过凭证,如果已经生成过则抛异常。2.问:单据关联关系处理。 答:处理所有的分录关联。分为暂存与提交两类。1.7. 单据超类BillEntryBase(单据体)属性名称描述数据类型对应字段Sequence单据分录序列号(定义为序列属性即使用seq)IntegerFSequence常见问题1.8. 通用设计方法1.8.1. 业务数据状态管理业务数据状态属于数据的附加描述属性,表达业务数据经过的处理过程,例如:是否已生效、是否已审核,并据此进行相应的逻辑控制。业务数据状态根据业务数据的不同类型会有不同组合,例如:基础资料中可能只有是否生效状态,而单据中会有是否已审核及是否已关闭等状态。在

11、应用架构中会抽象业务数据中存在的状态种类,并在超类体系里固化对某些通用状态的处理逻辑。状态配置表下表列出了所有已知的数据状态属性,这些属性将作为基础的状态属性供定义具体的业务对象时选择使用。状态名状态描述状态枚举类型属性名字段名说明生效状态0:暂存EffectedStatusEnumEffectedStatusFEffectedStatus暂存的业务数据不需要进行数据合法性检查,不参与统计报表和结账结算处理1:生效作废状态0:普通DeletedStatusEnumDeletedStatusFDeletedStatus作废的业务数据不参与统计报表和结账结算处理待添加的隐藏文字内容31:作废审核状

12、态0:未审核CheckedStatusEnumCheckedStatusFCheckedStatus1:已审核冻结状态0:未冻结BlockedStatusEnumBlockedStatusFBlockedStatus冻结的业务对象禁止参与新的业务活动,但已经存在的业务活动不受影响。有的业务对象的冻结状态可能会进一步细分,如“客户”的冻结可能会包含:Posting block、Order block、Delivery block、Invoicing block1:已冻结下达状态0:未下达ReleasedStatusEnumReleasedStatusFReleasedStatus订单类的单据一般

13、会有下达状态1:已下达预算审批状态0:未审批BudgetAuditedStatusEnumBudgetAuditedStatusFBudgetAuditedStatus1:审批未通过2:审批已通过交付状态0:未交付DeliveredStatusEnumDeliveredStatusFDeliveredStatus1:部分交付2:全部交付FI记账状态0:未记账FIPostedStatusEnumFIPostedStatusFFIPostedStatus1:已记账MA记账状态0:未记账MAPostdStatusEnumMAPostdStatusFMAPostdStatus1:已记账关闭(结清)状态0:未关闭ClosedStatusEnumClosedStatusFClosedStatus1:已关闭说明:1、 属性对应的数据类型都是相应的枚举类型,类型为Int。字段的数据类型也使用Int。2、 在com.kingdee.eas.framework包中定义了枚举类型供使用。使用方法所有基础的状态属性被定义于配置表中,已集成于BOS Studio中。如果业务对象要使用某个状态属性,可方便地选取即可。单据状态单据状态往往是由多个基础状态属性组合后对外的统一表现形式。以订单处理为例,可能表现为六种状态:在内部处理中,实际上选择了三个基础的状态属性来实现控制逻辑:作

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

当前位置:首页 > 办公文档 > 工作计划

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