加载流口水指导决策表到Java列表/地图
嗨,我想知道是否有一种方法可以将指导决策表的所有内容加载到Java Collection(列表/MAP)?我通过使每个规则(行)调用Java方法来实现这一目标,在该方法中我将其添加到一个hashmap中,但是在性能方面确实很糟糕,我想知道是否有更好的方法可以这样做。提前致谢!
[![输入图像描述在此处]
package MyPkg;
import com.abc.por.model.Bborder;
import com.abc.por.utils.BborderUtil;
import com.abc.por.utils.MyUtil;
import com.abc.por.model.constants.FE;
//from row number: 1
//PRE_Regression
rule "Row 1 HPDT"
@RuleName(OnlyOnePharmacy)
no-loop true
lock-on-active true
ruleflow-group "HighPayer"
dialect "mvel"
when
borderUtil : BborderUtil( )
Bborder( src : src == "SPECIAL" )
border : Bborder( requestDateTime >= "24-Dec-2020" , requestDateTime < "03-May-2022" )
then
MyUtil myUtil = new MyUtil();
myUtil.setPlanCode( "RGC" );
myUtil.setPlanType( "RGC" );
myUtil.setFeIndicator( "NO" );
myUtil.setPharmacies( "RED" );
insert( myUtil );
modify( borderUtil ) {
setRuleFired( true )
}
borderUtil.populateDrugDataToMap( null, myUtil, border );
retract( myUtil);
end
//from row number: 2
//PRE_Regression
rule "Row 2 HPDT"
@RuleName(SinglePharmacy)
no-loop true
lock-on-active true
ruleflow-group "HighPayer"
dialect "mvel"
when
borderUtil : BborderUtil( )
Bborder( src : src == "SPECIAL" )
border : Bborder( requestDateTime >= "24-Dec-2020" )
then
MyUtil myUtil = new MyUtil();
myUtil.setPlanCode( "RGA" );
myUtil.setPlanType( "RGA" );
myUtil.setFeIndicator( "NO" );
myUtil.setPharmacies( "MPT,RED" );
insert( myUtil );
modify( borderUtil ) {
setRuleFired( true )
}
borderUtil.populateDrugDataToMap( null, myUtil, border );
retract( myUtil);
end
//from row number: 3
//PRE_Regression
rule "Row 3 HPDT"
@RuleName(FE=BE)
no-loop true
lock-on-active true
ruleflow-group "HighPayer"
dialect "mvel"
when
borderUtil : BborderUtil( )
Bborder( src : src == "SPECIAL" )
border : Bborder( requestDateTime >= "24-Dec-2020" )
then
MyUtil myUtil = new MyUtil();
myUtil.setPlanCode( "RGB" );
myUtil.setPlanType( "RGB" );
myUtil.setFeIndicator( "YES" );
myUtil.setPharmacies( "MPT,RED" );
insert( myUtil );
modify( borderUtil ) {
setRuleFired( true )
}
borderUtil.populateDrugDataToMap( null, myUtil, border );
retract( myUtil);
end
Hi I was wondering if there is a way to load all the content of the guided decision table to java collection (list/map)? I achieved this by making each rule(row) calling a java method where I add this to a hashmap but performance-wise is really bad I was wondering if there is a better way to do so. Thanks in advance!
[![enter image description here]
package MyPkg;
import com.abc.por.model.Bborder;
import com.abc.por.utils.BborderUtil;
import com.abc.por.utils.MyUtil;
import com.abc.por.model.constants.FE;
//from row number: 1
//PRE_Regression
rule "Row 1 HPDT"
@RuleName(OnlyOnePharmacy)
no-loop true
lock-on-active true
ruleflow-group "HighPayer"
dialect "mvel"
when
borderUtil : BborderUtil( )
Bborder( src : src == "SPECIAL" )
border : Bborder( requestDateTime >= "24-Dec-2020" , requestDateTime < "03-May-2022" )
then
MyUtil myUtil = new MyUtil();
myUtil.setPlanCode( "RGC" );
myUtil.setPlanType( "RGC" );
myUtil.setFeIndicator( "NO" );
myUtil.setPharmacies( "RED" );
insert( myUtil );
modify( borderUtil ) {
setRuleFired( true )
}
borderUtil.populateDrugDataToMap( null, myUtil, border );
retract( myUtil);
end
//from row number: 2
//PRE_Regression
rule "Row 2 HPDT"
@RuleName(SinglePharmacy)
no-loop true
lock-on-active true
ruleflow-group "HighPayer"
dialect "mvel"
when
borderUtil : BborderUtil( )
Bborder( src : src == "SPECIAL" )
border : Bborder( requestDateTime >= "24-Dec-2020" )
then
MyUtil myUtil = new MyUtil();
myUtil.setPlanCode( "RGA" );
myUtil.setPlanType( "RGA" );
myUtil.setFeIndicator( "NO" );
myUtil.setPharmacies( "MPT,RED" );
insert( myUtil );
modify( borderUtil ) {
setRuleFired( true )
}
borderUtil.populateDrugDataToMap( null, myUtil, border );
retract( myUtil);
end
//from row number: 3
//PRE_Regression
rule "Row 3 HPDT"
@RuleName(FE=BE)
no-loop true
lock-on-active true
ruleflow-group "HighPayer"
dialect "mvel"
when
borderUtil : BborderUtil( )
Bborder( src : src == "SPECIAL" )
border : Bborder( requestDateTime >= "24-Dec-2020" )
then
MyUtil myUtil = new MyUtil();
myUtil.setPlanCode( "RGB" );
myUtil.setPlanType( "RGB" );
myUtil.setFeIndicator( "YES" );
myUtil.setPharmacies( "MPT,RED" );
insert( myUtil );
modify( borderUtil ) {
setRuleFired( true )
}
borderUtil.populateDrugDataToMap( null, myUtil, border );
retract( myUtil);
end
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论