专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

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】使用EclipseIDE作为开发环境,drools5.1作为规则引擎

【2】为简单起见,Employ类的属性作了简化处理,

eduInfo, resume , annualExam, awardPunish均为String,

basic{duty,bonus,total}_salary , percent作为double类型。

文章永久链接:https://tech.souyunku.com/20877

未经允许不得转载:搜云库技术团队 » Java Drools5.1 规则流基础【示例】(上)

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们