1global with sharing class TPM_RTRFunds_AMS{
2global static List<TPM_RTRReportingWrapper_AMS.OutputRecord>
3doPost(Date inputDateBegin , Date inputDateEnd,
4TPM_RTRReportingWrapper_AMS.InputPayload payload) {
5List<TPM_RTRReportingWrapper_AMS.OutputRecord> output =
6new List<TPM_RTRReportingWrapper_AMS.OutputRecord> ();
7String pdim ;
8String kdim ;
9String tdim ;
10Double v ;
11AggregateResult[] groupedResults = [SELECT cgcloud__Anchor_Product__c,
12sum (cgcloud__Deposits_Approved__c ) sumValue
13from cgcloud__Fund__c
14WHERE cgcloud__Anchor_Product__c IN :payload.productsfids
15AND cgcloud__Anchor_Account__c IN :payload.accountsfids
16AND ((cgcloud__Valid_From__c <= :inputDateEnd
17AND cgcloud__Valid_From__c >= :inputDateBegin)
18OR (cgcloud__Valid_Thru__c <= :inputDateEnd
19AND cgcloud__Valid_Thru__c >= :inputDateBegin))
20group by cgcloud__Anchor_Product__c
21];
22for(Integer i=0; i < groupedResults.size(); i++) {
23v =(Double) groupedResults[i].get('sumValue');
24pdim =(String) groupedResults[i].get('cgcloud__Anchor_Product__c');
25kdim = 'myFndAmount';
26tdim = 'Total';
27output.add(new TPM_RTRReportingWrapper_AMS.OutputRecord(pdim ,kdim, tdim, v));
28}
29return output;
30}
31}