金蝶EAS Portlet二次开发教程:BOS与BigDecimal应用

需积分: 21 10 下载量 20 浏览量 更新于2024-09-14 收藏 118KB PDF 举报
"本文档主要介绍了在金蝶EAS系统中进行二次开发Portlet的相关知识,特别是使用BOS(Business Object Service)平台进行开发的指南。文档内容涉及到BigDecimal类型的使用、对象UUID的创建以及单据新增操作的示例代码。" 在金蝶EAS的二次开发过程中,BOS平台扮演了核心角色,它提供了业务对象服务,允许开发者构建和扩展企业应用。以下是一些关键知识点: 1. BigDecimal类型的使用:BigDecimal是Java中用于精确浮点数运算的类,避免了浮点数计算时可能出现的精度问题。在示例中,通过`new BigDecimal(String.valueOf(0.00))`创建了一个表示0.00的BigDecimal对象。这种做法可以确保金额等需要精确计算的数值不因浮点数的存储特性而产生误差。 2. ObjectUuidPK的创建:`ObjectUuidPK pk = new ObjectUuidPK(paymentInfo.getId())`,这展示了如何创建一个基于支付信息ID的ObjectUuidPK对象。在金蝶EAS中,UUID(Universally Unique Identifier)用于唯一标识系统中的对象,ObjectUuidPK是特定类型对象的UUID封装,便于关联和操作。 3. 单据新增代码:在示例中展示了如何创建和填充一个新的支付单据实例`PaymentBillInfo payInfo`,包括设置单据号、设置创建者、设置汇率、设置创建日期等。此外,还涉及到用户信息对象`UserInfo userInfo`的创建,如设置用户ID、用户名和编号。在单据项`PaymentBillItemInfo`的处理中,也用到了BigDecimal类型的赋值,体现了在实际业务逻辑中对精度要求高的数值处理。 4. 时间戳的使用:通过`new Timestamp(System.currentTimeMillis())`创建了当前时间的时间戳,这是Java中记录精确时间的一种方式,通常用于记录操作的发生时间。 5. 业务状态的设置:`payInfo.setBizState(BillBizState.create)`表示设置单据的状态为创建,表明单据当前处于新建阶段。 6. 保存标志:`payInfo.setSave(true)`设置保存标志为true,指示该单据对象需要被保存到数据库中。 金蝶EAS的BOS开发涉及大量的对象实例化、属性设置和业务逻辑操作,这些知识点对于理解和实践金蝶EAS的二次开发至关重要。开发者需要熟悉金蝶的API和业务模型,以便有效地进行Portlet或其他组件的开发工作。在实际开发中,还需要关注数据验证、事务管理、权限控制等多个方面,以确保系统的稳定性和安全性。