本篇讲解总评点结果业务规则实现过程,主要用到扩展自定义方法、决策集、含决策节点的决策流等。
根据需求梳理总评点结果规则可知,计算总评点结果时首先计算血压评点结果,然后判断是否需要继续计算高胆固醇血症评点结果,当血压评点结果存在核保结论时,则可以直接确定血压评点得出的核保结论即总评点结果,否则需要继续计算高胆固醇血症评点结果,并再结合总评点结果规则计算得出总评点结果。
血压评点结果是否存在核保结论可以通过评点结果值是否为数字确定,urule中未提供判断字符串是否未数字函数,我们需要通过URule提供扩展功能自定义一个方法来进行实现。然后分情况分别定义2个计算总评点结果规则,一个用于血压存在核保结论时,另一个用于血压不存在核保结论时,最后再定义一个决策流进行编排,具体方法步骤如下。
4.3.1)自定义判断字符串是否为数字的方法
扩展自定义方法比较简单,先定义一个普通Spring Bean,然后添加方法后再配置URule注解,最后重启系统,这样在配置规则时点击“选择方法”,就可以看到扩展的“字符串数字”,并可以使用其“判断是否为数字”方法,如下图
4.3.2)计算总评点结果规则(血压存在核保结论)(决策集)
定义一个新的决策集用于当血压存在核保结论时计算总评点结果,操作方法步骤如下。
1.在项目列表节点点击决策集,然后点击“添加向导式决策集”,在弹出对话框输入决策集文件名“totalResultBloodpressure”,然后点击“保存”按钮
2.导入变量库
3.点击页面上方“添加规则”,然后点击如果下方“并且”,再点击“添加条件”,然后点击“选择方法”,再点击“请选择方法”,然后点击“字符串与数字”,点击选中“判断字符串是否为数字”,然后点击目标字符串后面“选择值类型”,点击“选择变量”,然后点击选择“客户”,再点击选择“客户的血压寿险评点结果”,继续点击“请选择比较操作符”,点击选择“等于”,然后点击“选择值类型”,点击选择“输入值”,然后输入false,配置结果如图
4.点击那么后面“添加动作”,然后点击“请选择动作类型”,点击选中“变量赋值”,然后点击“请选择值类型”,点击选中变量客户下字段“总评点结果”,然后点击右方“请选择值类型”,然后点击“选择变量”并选中变量“客户”下字段“血压寿险评点结果”,最后点击页面上方“保存”按钮,这样就完成该规则配置,配置结果如下图
4.3.3)计算总评点结果规则(决策集)
先添加一个新的决策集文件,然后定义当血压寿险评点不存在核保结论时计算总评点结果的规则,操作如下。
1.点击项目列表决策集节点,然后点击选择“添加向导式决策集”,输入文件名“totalResult”,然后点击“保存”按钮。
2.导入变量库
3.点击上方“添加规则”按钮添加一个规则模板,然后点击并且,再点击“添加条件”,然后点击“选择变量”,再点击“请选择变量”,选择变量为“客户的血压寿险评点结果”,然后点击“客户的血压寿险评点结果”后面的空格,然后点击选择“+”,再点击“+”后面空格,然后点击“值”,再点击“选择值类型”,点击“选择变量”,然后选择变量为“客户的高胆固醇血症评点结果”,再点击“请选择比较操作符”,点击选择“小于”,然后点击“小于”后面“选择值类型”,然后点击选择“输入值”,再点击“请输入值”,输入值为350,关键操作截图如下
4.点击那么后面“添加动作”,然后点击“请选择动作类型”,点击“变量赋值”,然后点击“请选择变量类型”,点击“选择变量”,再点击选择变量为“客户的总评点结果”,然后点击“请选择值类型”,点击选择“选择变量”,然后点击选择变量为“客户的血压寿险评点结果”,再点击紧挨该变量后面的空白处,然后点击选择“+”,再点击紧挨“+”后面空白处,点击选择“值”,然后点击“请选择值类型”,然后点击“选择变量”,选择变量为“客户的高胆固醇血症评点结果”,配置结果如图
5.点击否则后面“添加动作”,然后点击“请选择动作类型”,点击选择“变量赋值”,点击“请选择值类型”,然后点击“选择变量“,选择变量为“客户的总评点结果”,然后点击“请选择值类型“,再点击”选择值类型“,点击选择”输入值“,然后输入值为”拒保“
6.最后点击页面上方“保存“按钮,至此完成该规则编辑
4.3.4)计算总评点结果规则(决策流)
编排总评点结果规则决策流。
1.首先点击项目列表树添加一个决策流文件“totalResultFlow“,然后点击页面右侧属性面板,输入决策流ID为totalResultFlow并按回车确认。(推荐ID采用英文字母命名)。然后点击属性面板中“添加”按钮,引入将用到的规则需要应用到的变量库和常量库文件
2.点击页面上方开始图标,然后点击空白处添加一个开始节点;再点击规则图标,然后点击空白处添加一个规则节点,然后点击新添加的规则节点图标,并在右侧属性面板输入节点名称为“计算血压评点”然后按回车确认,再点击目标规则文件输入框旁边“查找”图标,并选择定义好的计算血压寿险评点规则文件“bloodpressure.ct.xml”,再点击页面上方连线图标,然后先点击已添加的开始节点,再点击“计算血压评点”节点,进行连线
3.点击页面上方“决策”图标,然后点击空白处添加一个决策节点,然后点击“连线”图标,再分别点击“计算血压评点”规则节点和新添加决策节点实现连线,然后点击新添加的“决策”节点,在属性面板输入节点名称为“判断是否存在核保结论”并按回车,再点击决策类型下拉框并点击选择“条件”,如图
4.继续点击页面上方“规则”节点,然后点击空白处2次,添加2个规则节点,分别命名为“高胆固醇血症评定流程”和“确定血压核保结论及总评点结果”,并分别绑定目标规则文件“cholesterolResultFlow.rl.xml”、“totalResultBloodpressure.rs.xml”,然后点击“连线”图标,然后再点击“评点是否存在核保结论”节点和“高胆固醇血症评定流程”实现从决策节点到其连线,再点击“评点是否存在核保结论”节点和“确定血压核保结论及总评点结果”实现从决策节点到其连线,如图
5.修改连线名称,在连线一侧按着鼠标左键不放,然后滑动至连线另一侧实现连线选择,然后在右侧连线属性面板,输入新的连线名称并按回车则实现对连线名称的修改,照此方法分别修改“判断是否存在核保结论”节点下方两条连线为“继续计算高胆固醇血症评点”、“确定血压核保结论”。
6.配置决策节点条件,先点击页面上方“鼠标指针”图标进行切换,切换后点击“判断是否存在核保结论”图标切换到该节点属性面板,然后点击第一个条件输入框右侧配置图标,在配置条件对话框,先点击下拉框修改“条件类型”为“向导式配置”,然后点击“并且”,再点击“添加条件”,然后点击“请选择类型”,然后点击“选择方法”,再点击“请选择方法”,然后点击“字符串与数字”,点击选择“判断是否为数字”,然后点击“选择值类型”,再点击“选择变量”,选择变量为“客户的血压寿险评点结果”,然后点击“请选择比较操作符”,点击选择为“等于”,然后选择值类型为“输入值”并输入true,然后点击下方“保存”按钮。
7.配置第二个决策条件,在配置对话框点击下拉框选择条件类型为“向导式配置”,然后点击“并且”,再点击“添加条件”,然后点击“选择方法”,然后点击选择“字符与数字”下方的方法“判断字符是否为数字”,点击选择“选择值类型”,然后点击“选择变量”选择变量为“客户的血压寿险评点结果”,再点击“请选择比较操作符”,选择操作符为“等于”,然后点击“选择值类型”,选择值类型为“输入值”并输入值为false
8.再点击页面上方规则图标,在空白处点击添加一个新规则节点,然后命名为“计算总评点结果”并绑定计算总评点结果规则“totalResult.rs.xml”,然后添加从节点“高胆固醇血症评定流程”到该规则节点连线
9.最后点击页面上方“保存”按钮,至此完成该决策流配置。