请整理下如下内容 开发设计文档 变更历史 日期 作者 版本 备注 复核人 2024-07-19 San.zhang V0

动态 未结 0 51
邮箱用户_r5u2k
邮箱用户_r5u2k LV1 4月13日 16:50 发表
摘要:
请整理下如下内容 开发设计文档 变更历史 日期 作者 版本 备注 复核人 2024-07-19 San.zhang V0.1 初稿 相关文档 发布日期 文档名称 版本 文档签收单 文档名 xxx 签收人 签名 角色 签收日期 目录 介绍 简介 原始需求 开发任务 过程概述 功能实现 功能描述 重要逻辑 代码实现 流程图 界面图 用例图 数据库 E-R图 表设计 新增表说明 数据字典 附加说明 介绍 简介 本需求旨在对年金发放批处理逻辑进行调整,增加即期年金犹豫期后开始领取的判断逻辑。 原始需求 年金发放批处理需增加即期年金犹豫期后开始领取的判断逻辑: 保单险种有即期年金责任。 系统日 >= 保单首个年金给付日。 根据产品设定,设置保单的首个年金给付日: 若设定为“即期年金保单生效日发放”,则首个年金给付日 = 保单生效当日。 若设定为“即期年金犹豫期后发放”,则首个年金给付日 = 犹豫期结束日。 当发放方式为“2-即期年金犹豫期后开始领取”时,派发年金需已过犹豫期。 业务上即期年金无需生调,系统现状符合此要求。 开发任务 实现年金发放批处理逻辑调整,确保满足上述需求。 过程概述 通过调整年金发放批处理逻辑,新增即期年金犹豫期后开始领取的判断逻辑,并确保系统现状符合业务要求。 功能实现 功能描述 新增即期年金犹豫期后开始领取的判断逻辑,具体包括: 判断保单险种是否有即期年金责任。 根据产品设定,计算保单的首个年金给付日。 确保派发年金时已过犹豫期。 重要逻辑 首个年金给付日计算逻辑: 若设定为“即期年金保单生效日发放”,则首个年金给付日 = 保单生效当日。 若设定为“即期年金犹豫期后发放”,则首个年金给付日 = 犹豫期结束日。 年金发放条件: 系统日 >= 首个年金给付日。 发放方式为“2-即期年金犹豫期后开始领取”时,需已过犹豫期。 代码实现 以下为核心代码逻辑的实现: public class AnnuityPaymentProcessor { public void processAnnuityPayment(Policy policy, LocalDate systemDate) { // 判断保单是否有即期年金责任 if (!policy.hasImmediateAnnuityResponsibility()) { return; } // 获取首个年金给付日 LocalDate firstAnnuityPaymentDate = calculateFirstAnnuityPaymentDate(policy); // 判断是否满足发放条件 if (systemDate.isBefore(firstAnnuityPaymentDate)) { return; } // 发放年金 distributeAnnuity(policy); } private LocalDate calculateFirstAnnuityPaymentDate(Policy policy) { if (policy.getProductSetting().isImmediateAnnuityOnEffectiveDate()) { return policy.getEffectiveDate(); } else if (policy.getProductSetting().isImmediateAnnuityAfterHesitationPeriod()) { return policy.getHesitationEndDate(); } throw new IllegalArgumentException("Invalid product setting for immediate annuity."); } private void distributeAnnuity(Policy policy) { // 年金发放逻辑 System.out.println("Distributing annuity for policy: " + policy.getPolicyNumber()); } } 流程图 (此处插入年金发放批处理的流程图) 界面图 (此处插入相关界面截图) 用例图 (此处插入用例图)
### 开发设计文档 #### 变更历史 | 日期 | 作者 | 版本 | 备注 | 复核人 | |------------|--------|------|--------------|--------| | 2024-07-19 | San.zhang | V0.1 | 初稿 | | #### 相关文档 - **发布日期**: [具体日期待填] - **文档名称**: [具体名称待填] - **版本**: [具体版本待填] #### 文档签收单 - **文档名**: xxx - **签收人**: [待签收] - **签名**: [待签名] - **角色**: [待填] - **签收日期**: [待填] #### 目录 1. **介绍** - 简介 2. **原始需求** 3. **开发任务** 4. **过程概述** 5. **功能实现** - 功能描述 - 重要逻辑 - 代码实现 6. **流程图** 7. **界面图** 8. **用例图** 9. **数据库** - E-R图 - 表设计 - 新增表说明 10. **数据字典** 11. **附加说明** --- ### 内容详情 #### 介绍 ##### 简介 本需求旨在对年金发放批处理逻辑进行调整,增加即期年金犹豫期后开始领取的判断逻辑。 #### 原始需求 年金发放批处理需增加即期年金犹豫期后开始领取的判断逻辑: - 保单险种有即期年金责任。 - 系统日 >= 保单首个年金给付日。 - 根据产品设定,设置保单的首个年金给付日: - 若设定为“即期年金保单生效日发放”,则首个年金给付日 = 保单生效当日。 - 若设定为“即期年金犹豫期后发放”,则首个年金给付日 = 犹豫期结束日。 - 当发放方式为“2-即期年金犹豫期后开始领取”时,派发年金需已过犹豫期。 - 业务上即期年金无需生调,系统现状符合此要求。 #### 开发任务 实现年金发放批处理逻辑调整,确保满足上述需求。 #### 过程概述 通过调整年金发放批处理逻辑,新增即期年金犹豫期后开始领取的判断逻辑,并确保系统现状符合业务要求。 #### 功能实现 ##### 功能描述 新增即期年金犹豫期后开始领取的判断逻辑,具体包括: - 判断保单险种是否有即期年金责任。 - 根据产品设定,计算保单的首个年金给付日。 - 确保派发年金时已过犹豫期。 ##### 重要逻辑 - **首个年金给付日计算逻辑**: - 若设定为“即期年金保单生效日发放”,则首个年金给付日 = 保单生效当日。 - 若设定为“即期年金犹豫期后发放”,则首个年金给付日 = 犹豫期结束日。 - **年金发放条件**: - 系统日 >= 首个年金给付日。 - 发放方式为“2-即期年金犹豫期后开始领取”时,需已过犹豫期。 ##### 代码实现 ```java public class AnnuityPaymentProcessor { public void processAnnuityPayment(Policy policy, LocalDate systemDate) { // 判断保单是否有即期年金责任 if (!policy.hasImmediateAnnuityResponsibility()) { return; } // 获取首个年金给付日 LocalDate firstAnnuityPaymentDate = calculateFirstAnnuityPaymentDate(policy); // 判断是否满足发放条件 if (systemDate.isBefore(firstAnnuityPaymentDate)) { return; } // 发放年金 distributeAnnuity(policy); } private LocalDate calculateFirstAnnuityPaymentDate(Policy policy) { if (policy.getProductSetting().isImmediateAnnuityOnEffectiveDate()) { return policy.getEffectiveDate(); } else if (policy.getProductSetting().isImmediateAnnuityAfterHesitationPeriod()) { return policy.getHesitationEndDate(); } throw new IllegalArgumentException("Invalid product setting for immediate annuity."); } private void distributeAnnuity(Policy policy) { // 年金发放逻辑 System.out.println("Distributing annuity for policy: " + policy.getPolicyNumber()); } } ``` #### 流程图 (此处插入年金发放批处理的流程图) #### 界面图 (此处插入相关界面截图) #### 用例图 (此处插入用例图) #### 数据库 ##### E-R图 (此处插入E-R图) ##### 表设计 | 表名 | 字段名 | 类型 | 描述 | |---------|-----------------|--------|----------------| | Policy | policy_id | INT | 保单ID | | | start_date | DATE | 保单生效日期 | | | end_date | DATE | 保单结束日期 | ##### 新增表说明 无新增表。 #### 数据字典 (此处插入数据字典) #### 附加说明 无。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复