NPE viewing migrated GK customers due null currency id
------------------------------------------------------

                 Key: MIFOS-3717
                 URL: http://mifosforge.jira.com/browse/MIFOS-3717
             Project: mifos
          Issue Type: Bug
          Components: Clients
    Affects Versions: Release 1.6.0
         Environment: 1.6 release with GK data set
            Reporter: jbrewster
            Priority: Major
         Attachments: GroupNPE.txt

While testing resolved issue MIFOS-3706, encountered another NPE trying to view 
a group within a migrated Kendra.  

Repro steps:

Pre-test: upgrade Mifos instance with GK data to latest 1.6.x branch build - 
a1a7b471f24e4977a9a439224ce377e2fc04716a

1. Log onto test instance with GK data (ask jeff for details)
2. search for Kendra 0036-000082070
3. click on Group "03:04:76:0102" from Kendra details page
4. Get error "More than one row returned" in getCustomerAccountSummaryDto. See 
attached trace "GroupNPE.txt".

expected result:  View Group details

actual result:  exception (see attachment)


Investigation with KeithW identified null currency for the group account being 
searched.  So query:


select a.global_account_num as globalAccountNum,
cs.misc_fees_currency_id as currency,
((cs.misc_fees - cs.misc_fees_paid) +
(cs.misc_penalty - cs.misc_penalty_paid)) as totalChargeDue,
sum(cfs.amount - cfs.amount_paid) as totalFeesDue
from account a
join customer_schedule cs on cs.account_id = a.account_id
left join customer_fee_schedule cfs on cfs.id = cs.id
where a.customer_id = '82316'
and (cs.action_date <= date('2010-09-14') or cs.action_date = (select
min(cs2.action_date)
from customer_schedule cs2
where cs2.account_id = cs.account_id
and cs2.action_date >= date('2010-09-14')))
group by globalAccountNum, currency;

Returned:

globalAccountNum, currency, totalChargeDue, totalFeesDue
'000100000252275', , , 
'000100000252275', 2, 0.0000, 

First row above has an unexpected null currency.  This occurs in many records 
for GK (older snapshot)

 SELECT count(*) FROM customer_schedule c where c.misc_fees_currency_id is 
null;  ==> 6347330
 SELECT count(*) FROM customer_schedule c where c.misc_fees_paid_currency_id is 
null  ====  12010423
 SELECT count(*) FROM customer_schedule c where c.misc_penalty_currency_id is 
null;  ==== 12010427 
 SELECT distinct c.amount_currency_id FROM customer_fee_schedule c; === 0
 SELECT distinct c.amount_paid_currency_id FROM customer_fee_schedule c; === 0


Per Keith, all currency_id fields for these fields should have the same value  
- e.g. '2'



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://mifosforge.jira.com/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Mifos-issues mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mifos-issues

Reply via email to