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(a)gmail.com
To: rules-users(a)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(a)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(a)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/