[rules-users] Comparing multiple accumulations

Richard Sherman rsherman315 at hotmail.com
Tue Jul 14 09:05:08 EDT 2009


Thanks Wolfgang,

Here's the extra information as requested.
Firstly the When creating the email I was removing all references to rent and missed one hence RentTransaction should read Transaction. I've also noticed that the sum($value) in the third accumulation should read sum(-$value).

Below is a typical set of Transactions that should cause a message to occur.

Account :
  accountBalanceInPence : 70000
  transactions :
    - transactionDate : 2009/07/10
      amountInPence : 50000
      transactionCode : charge

    - transactionDate : 2009/07/12

      amountInPence : 45000

      transactionCode : Type 1



Below is a similar set of Transactions that shouldn't cause a message to occur.



Account :

  accountBalanceInPence : 70000

  transactions :

    - transactionDate : 2009/07/10

      amountInPence : 50000

      transactionCode : charge

    - transactionDate : 2009/07/12

      amountInPence : 45000

      transactionCode : Type 1

    - transactionDate : 2009/07/13

      amountInPence : 5000

      transactionCode : Type 2

Thanks
Richard


>From: wolfgang.laun at gmail.com
>To: rules-users at lists.jboss.org
>Date: Tue, 14 Jul 2009 12:43:40 +0200
>Subject: Re: [rules-users] Comparing multiple accumulations
>
>You'll have to provide one full set of $acc.transaction values
>(indicating class and relevant field values) where you think the rule
>should fire, but doesnt, for people to be able to check what's going
>on.
>
>Also, it is necessary to know how the types of Account.transactions
>(List<???>), Transaction and RentTransaction are related.
>
>-W
>
>On 7/14/09, Richard Sherman <rsherman315 at hotmail.com> wrote:
>> First I'm new to drools and secondly where I'm working we're using version
>> 4.0.7.
>>
>> I have a list of accounts and each account contains a list of transactions.
>> I wish to accumulate charge transactions and compare them to an accumulation
>> of payment transactions for a given time period (such as the last month).
>> And it gets slightly more awkward in that if a payment transaction is of a
>> certain type it needs to be converted from a 4 weekly figure to a monthly
>> figure ( using / 4 / 7 * 365 / 12). I've tried to use structures as follows
>> but they are causing the then part of the rule never to fire.
>>
>> rule "Account in arrears"
>>     salience 10
>>     no-loop
>>     when
>>         $acc : Account( // balance between £500 and £1000
>>             accountBalanceInPence >=  50000 &&
>>             accountBalanceInPence <= 100000
>>         )
>>
>>         $s  : MessageInfo( accountNumber == $acc.accountNumber )
>>
>>         Number($charges : intValue) from
>>                     accumulate(
>>                         (Transaction(
>>                                transactionDate > oneMonthAgo &&
>>                                amountInPence > 0 &&
>>                                $value : amountInPence)
>>                        from $acc.transactions),
>>                         sum($value)
>>                     )
>>
>>         Number($adjustment : intValue) from
>>             accumulate(
>>                 (Transaction(
>>                            transactionDate > oneMonthAgo &&
>>                            amountInPence < 0 &&
>>                            transactionCode == "Type 1" &&
>>                            $value : amountInPence)
>>                        from $acc.transactions),
>>                    sum(($value / 4 / 7 * 365 / 12) - $value)
>>                )
>>
>>
>>         Number( intValue > ($charges + $adjustment)) from
>>                 accumulate(
>>                     (RentTransaction
>>                             (transactionDate > oneMonthAgo
>>                             $value : amountInPence)
>>                         from $acc.transactions),
>>                     sum($value)
>>                 )
>>
>>     then
>>         $s.setMessage( "Account in arrears" );
>>         update($s); // flag update
>> end
>>
>> Thanks
>> Richard
>>
>> ________________________________
>> Beyond Hotmail - see what else you can do with Windows Live. Find out more.
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
_________________________________________________________________
Share your photos with Windows Live Photos – Free.
http://clk.atdmt.com/UKM/go/134665338/direct/01/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20090714/01481b81/attachment.html 


More information about the rules-users mailing list