2013-02-20 10 views
0

我的要求是,我需要數來自同一客戶的訂單請求,而不在規則硬編碼的客戶ID。 的原因是在情況下,如果我有1000個客戶,然後我需要編寫相同的1000條規則。 爲了避免這種情況,我需要通用的方式來處理所有的客戶對象。寫作DRL

例如有來自customerA和customerB.My規則四個階resquest對象應該能夠找出從蹦牀網上單客戶要求的數量,也是我需要存儲這些對象。

基本上我需要SQL的組通過滴料等同放着清單方法。

請提供指針

回答

0

你有沒有嘗試過這樣的事情?:

rule 'Count Order Requests' 
when 
    $c: Customer() 
    $n: Number() from accumulate( 
     $o: OrderRequest(customer == $c), 
     count($o) 
    ) 
then 
    //use $n 
end 

此規則將觸發甚至對客戶沒有任何OrderRequest。如果這不是你在找什麼,那麼你必須對$ n個的intValue添加約束條件:

$n: Number(intValue > 0) from accumulate (....) 

希望它能幫助,

+0

我需要客戶具體的訂單。 – user1668653 2013-02-20 10:28:01

+0

而不是你需要的訂單號碼?然後,你可以更改與collectSet($ O)計數($ O),並更改號碼()來設置()。在您的規則的RHS中,您將擁有屬於客戶的所有訂單的集合。然後,您可以將其保存在Map 中,或者做任何您需要的操作。 – 2013-02-20 11:01:13