java drools5_Java Drools5.1 规则流基础【示例】

一、问题描述

假设雇员 Employ 有:

学历信息 eduInfo , 简历信息 resume ,

考核信息 annualExam 和奖惩信息  awardPunish ;

要确定其:

基本工资 basicSalary ,职务工资 dutySalary ,

分红金额 bonus 和 总工资 totalSalary .

规则如下:

【 1 】学历决定基本工资( basicSalary ):

====> 本科 1500 研究生 2500

【 2 】简历决定职务工资 (dutySalary) :

====> 技术 2000 管理 4500

【 3 】年度考核决定分红 (bonus) :

====> 分红总金额 1000

==> 考核结果:

==> 优秀 100% ( 1000 );良好 90% ( 900 );

合格 60% ( 600 ); 不合格 0% ( 0 );

【 4 】奖惩决定计算最终工资与【 123 】项工资之和的比例:

====> 奖励: * 110% ( +10% )

====> 惩罚: * 90% ( -10% )

====> 无: * 100% ( 0% )

【 5 】计算总工资: (【 1 】 + 【 2 】 + 【 3 】) * 【 4 】

二、问题分析

1. 基本流程:

P 【计算基本工资,计算职务工资,计算分红, 计算奖惩比例】

====> 计算总工资 ( 根据奖惩情况 )

其中, P[i,...,k] 表示任务 i,...,k 并发执行, ====> 表示顺序执行。

即有: P[1,2,3, 4] ===> 5

三、概要设计

【 1 】类 Employ 的设计:

【 2 】规则文件的编写和组织:

==> 学历规则文件: EduInfoRule.drl

==> 简历规则文件: ResumeRule.drl

==> 分红规则文件: BonusRule.drl

==> 奖惩规则文件: AwardPunish.drl

==> 计算总工资规则: TotalRule.drl

【 3 】规则文件的组合(规则流):

==> EduInfo.drl 含规则组 basic_salary

==> ResumeRule.drl 含规则组 duty_salary

==> BonusRule.drl 含规则组 bonus_salary

==> AwardPunish.drl 含规则组 award_punish

==> TotalRule.drl 含规则组 sum_salary

组合方式:

[start] --->  P[ basic_sal ary , duty_salary, bonus_salary, award_punish ]

---> sum_salary ---> [end]

其中: P 表示并发, ---> 表示顺序 【规则流图在后面的实现中给出】

【 4 】编写测试文件: EmployTest.java

四、详细设计

【 1 】使用 Eclipse IDE 作为开发环境,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值