function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
nikkeynikkey 

How to know from which quarter we are getting the data in visualforce page

Can any one help me out ?Do we have an option to know from which quarter we are getting the data in visualforce page.I have a visual force page in PDF format .In the table it displays the value for all the quarters.Now i would like to get the column data calculated for the quarters and display its value.

The table i get with wrong value is
ProductName         Year       Q1       Q2   Q3    Q4       Total
 BXRC-25e4000-F-04  2014       500     200   300   400       1400 

 BXRC-25e4000-F-23  2014       200                 2000        400

Subtotal ------------          9000     2000   400   800       1800
 
public with sharing class QuoteContentController {

      public Map<String,Decimal> PartMap{get;set;}

       public Map<string,Decimal> Quarter1{get;set;}

       public Map<string,Decimal> Quarter2{get;set;}

       public Map<string,Decimal> Quarter3{get;set;}

       public Map<string,Decimal> Quarter4{get;set;}

       public Map<string,Decimal> Amount1{get;set;}

       public Map<string,Decimal> Amount2{get;set;}

       public Map<string,Decimal> Amount3{get;set;}

       public Map<string,Decimal> Amount4{get;set;}

       public Competitor__c com{get;set;}

       public gmod__Opportunity_Forecast__c opflist{get;set;}

       public Id qId {get;set;}

       Public string all{get;set;}

//Declare a wrapper class  

       public class Wrapperclass{

 //custom wrapper datatype  

       Public string Name{get;set;}  
       Public string AccountType{get;set;}  
       Public date todaysDate{get;set;}  
       Public date Expected_Order_Date{get;set;}
       Public string Probability{get;set;}  
       Public string Internal_Comment{get;set;}  
       Public string External_Comment{get;set;}  

       Public string Segment{get;set;}  
       Public string Application{get;set;}  
       Public string Persona{get;set;}  
       Public string Geogrpahy{get;set;}  

       Public string PartNumbers{get;set;}  
       Public Decimal  Price{get;set;}  
       Public Decimal End_Customer_Price{get;set;}  
       Public Decimal Quantity {get;set;}  
       Public Decimal Total{get;set;}  

       Public string RFQ_justification{get;set;}  
       Public string Main_Customer_of_Account{get;set;}  
       Public string Bridgelux_competition_at_account{get;set;}
       Public string Geographic_regions_serviced{get;set;}  
       Public string Annual_lighting_revenue{get;set;}  
       Public string Annual_LED_revenue_or_percent{get;set;}  
       Public string Annual_purchases_of_LED_light_sources{get;set;}
       Public string Percent_of_LED_purchases_that_are_COB{get;set;}  
       Public string Other_information{get;set;}  

       Public string Product_Series{get;set;}  
       Public string Volume{get;set;} 
       Public string Date_Price_is_Valid{get;set;} 

       Public string gmod_Opportunity{get;set;}
       Public string gmod_Product{get;set;}
       Public Decimal gmod_Quantity{get;set;}
       Public Decimal gmod_Price{get;set;}
       Public Decimal gmod_Quarter{get;set;}
       Public Decimal gmod_Month{get;set;}
       Public Decimal gmod_Amount{get;set;}
       Public Decimal Actual_Price{get;set;}
       Public Decimal  gmod_Year{get;set;}
       Public Date gmod_date{get;set;}
       Public string gmod_Month_Text{get;set;}
       Public Date  Forecast_Date{get;set;}




       Public wrapperClass(){} 

  }

       Public QuoteContentController(){}

       Public QuoteContentController(ApexPages.StandardController controller) {

       qId=Apexpages.currentPage().getparameters().get('Id');


    }


       Public Integer subtotalofquantity{get;set;}

       Public Integer subtotalofamount{get;set;}

       Public Integer quarter1subtotal{get;set;} 


       Public List<wrapperClass> disp_list {get;set;}{

       subtotalofquantity=0;

       subtotalofamount=0;

       quarter1subtotal=0;

      // Integer tempsubtotalofquantity=0;

     //  Integer tempsubtotalofamount=0;


     //define constructor to instantiate the wrapper data type 

       disp_list=new list<wrapperclass>();

     //Query all the list 

     list<Quote> q =[select id ,Name ,QuoteNumber,Effective_Date__c ,Comments__c ,Quote.Opportunity.id, 
                    Quote.Opportunity.Probability ,Quote.Opportunity.AccSegment__c ,Quote.Opportunity.AccApplication__c,Quote.Opportunity.Persona__c,Quote.Opportunity.Region__c
                    from Quote where id=:apexpages.currentpage().getparameters().get('id')];



     Opportunity opp =[select id , Name, (select id, Quantity, product2id from OpportunityLineItems), probability, AccSegment__c from Opportunity where opportunity.Id =:q[0].opportunity.id];

    list<gmod__Opportunity_Forecast__c>  opflist = [Select id ,Name ,gmod__opportunity__r.id,gmod__Quantity__c,gmod__Price__c , gmod__Month__c,    gmod__date__c,  gmod__Quarter__c ,gmod__Amount__c ,Actual_Price__c ,gmod__Year__c ,gmod__Month_Text__c ,Forecast_Date__c,gmod__Product__r.Name ,gmod__opportunity__r.name from gmod__Opportunity_Forecast__c WHERE gmod__Product__c!=null and gmod__opportunity__r.id =:opp.id Order BY gmod__Year__c, gmod__Month__c asc]; 


 //Iterate through each list to extract the values and add it to the custom wrapper data type  


        PartMap = new Map<String,Decimal>();

      //  PartMapQuantity = new Map<String,Decimal>();

        Quarter1 = new Map<String,Decimal>();

        Quarter2 = new Map<String,Decimal>();

        Quarter3 = new Map<String,Decimal>();

        Quarter4 = new Map<String,Decimal>();

        Amount1 = new Map<String,Decimal>();

        Amount2= new Map<String,Decimal>();

        Amount3 = new Map<String,Decimal>();

        Amount4 = new Map<String,Decimal>();

        for(gmod__Opportunity_Forecast__c oppforecast : opflist)
        {

             if(oppforecast .gmod__Month_Text__c=='Jan' || oppforecast .gmod__Month_Text__c=='Feb'|| oppforecast.gmod__Month_Text__c=='Mar'  )

                   {
                       if(Quarter1.containskey(oppforecast.gmod__Product__r.Name ))
                             {
                                  Quarter1.put(oppforecast.gmod__Product__r.Name,Quarter1.get(oppforecast.gmod__Product__r.Name) + oppforecast.gmod__Quantity__c);             
                                  Amount1.put(oppforecast.gmod__Product__r.Name,Amount1.get(oppforecast.gmod__Product__r.Name) + oppforecast.gmod__Amount__c);
                                  //PartMap.put(oppforecast.gmod__Product__c,PartMap.get(oppforecast.gmod__Product__c) + oppforecast.gmod__Quantity__c);
                                 // PartMap.put(oppforecast.gmod__Product__c,PartMap.get(oppforecast.gmod__Product__c) + oppforecast.gmod__Amount__c);  
                              }
                        else
                              {

                                 Quarter1.put(oppforecast.gmod__Product__r.Name, oppforecast.gmod__Quantity__c);
                                 Amount1.put(oppforecast.gmod__Product__r.Name,oppforecast.gmod__Amount__c);
                                // PartMap.put(oppforecast.gmod__Product__c, oppforecast.gmod__Quantity__c);
                                // PartMap.put(oppforecast.gmod__Product__c,oppforecast.gmod__Amount__c);

                                 wrapperclass w = new wrapperclass();

                                 w.gmod_Opportunity = oppforecast.gmod__Opportunity__r.Name;

                                 w.gmod_Product = oppforecast.gmod__Product__r.Name;

                                 w.gmod_Quantity =oppforecast.gmod__Quantity__c;

                                 w.gmod_Price=oppforecast.gmod__Price__c;

                                 w.Name =oppforecast.Name;

                                 w.gmod_Quarter=oppforecast.gmod__Quarter__c;

                                 w.gmod_Month=oppforecast.gmod__Month__c;

                                 w.gmod_Amount=oppforecast.gmod__Amount__c;

                                 w.Actual_Price=oppforecast.Actual_Price__c;

                                 w.gmod_Year=oppforecast.gmod__Year__c;

                                 w.gmod_date=oppforecast.gmod__date__c;

                                 w.gmod_Month_Text=oppforecast.gmod__Month_Text__c;

                                 w.Forecast_Date=oppforecast.Forecast_Date__c;

                                 disp_list.add(w);
                            } 
                         }

                 if(oppforecast.gmod__Month_Text__c=='Apr' ||oppforecast.gmod__Month_Text__c=='May'|| oppforecast.gmod__Month_Text__c=='June')

                          {

                               if(Quarter2.containskey(oppforecast.gmod__Product__r.Name))
                                       {
                                           Quarter2.put(oppforecast.gmod__Product__r.Name,Quarter2.get(oppforecast.gmod__Product__r.Name) + oppforecast.gmod__Quantity__c);             
                                           Amount2.put(oppforecast.gmod__Product__r.Name,Amount2.get(oppforecast.gmod__Product__r.Name) + oppforecast.gmod__Amount__c);
                                        }
                              else
                                         {

                                            Quarter2.put(oppforecast.gmod__Product__r.Name, oppforecast.gmod__Quantity__c);
                                            Amount2.put(oppforecast.gmod__Product__r.Name,oppforecast.gmod__Amount__c);

                                          /* wrapperclass w = new wrapperclass();

                                            w.gmod_Opportunity = oppforecast.gmod__Opportunity__r.Name;

                                            w.gmod_Product = oppforecast.gmod__Product__r.Name;

                                            w.gmod_Quantity =oppforecast.gmod__Quantity__c;

                                            w.gmod_Price=oppforecast.gmod__Price__c;

                                            w.Name =oppforecast.Name;

                                            w.gmod_Quarter=oppforecast.gmod__Quarter__c;

                                            w.gmod_Month=oppforecast.gmod__Month__c;

                                            w.gmod_Amount=oppforecast.gmod__Amount__c;

                                            w.Actual_Price=oppforecast.Actual_Price__c;

                                            w.gmod_Year=oppforecast.gmod__Year__c;

                                            w.gmod_date=oppforecast.gmod__date__c;

                                            w.gmod_Month_Text=oppforecast.gmod__Month_Text__c;

                                            w.Forecast_Date=oppforecast.Forecast_Date__c;

                                            disp_list.add(w);*/

                                        }
                           }
                 if(oppforecast.gmod__Month_Text__c=='Jul' || oppforecast.gmod__Month_Text__c=='Aug'|| oppforecast.gmod__Month_Text__c=='Sept')

                        {

                              if(Quarter3.containskey(oppforecast.gmod__Product__r.Name))
                                      {
                                          Quarter3.put(oppforecast.gmod__Product__r.Name,Quarter3.get(oppforecast.gmod__Product__r.Name) + oppforecast.gmod__Quantity__c);             
                                          Amount3.put(oppforecast.gmod__Product__r.Name,Amount3.get(oppforecast.gmod__Product__r.Name) + oppforecast.gmod__Amount__c);
                                       }
                             else
                                       {

                                          Quarter3.put(oppforecast.gmod__Product__r.Name, oppforecast.gmod__Quantity__c);
                                          Amount3.put(oppforecast.gmod__Product__r.Name,oppforecast.gmod__Amount__c);

                                         /* wrapperclass w = new wrapperclass();

                                          w.gmod_Opportunity = oppforecast.gmod__Opportunity__r.Name;

                                          w.gmod_Product = oppforecast.gmod__Product__r.Name;

                                          w.gmod_Quantity =oppforecast.gmod__Quantity__c;

                                          w.gmod_Price=oppforecast.gmod__Price__c;

                                          w.Name =oppforecast.Name;

                                          w.gmod_Quarter=oppforecast.gmod__Quarter__c;

                                          w.gmod_Month=oppforecast.gmod__Month__c;

                                          w.gmod_Amount=oppforecast.gmod__Amount__c;

                                          w.Actual_Price=oppforecast.Actual_Price__c;

                                          w.gmod_Year=oppforecast.gmod__Year__c;

                                          w.gmod_date=oppforecast.gmod__date__c;

                                          w.gmod_Month_Text=oppforecast.gmod__Month_Text__c;

                                          w.Forecast_Date=oppforecast.Forecast_Date__c;

                                          disp_list.add(w);*/

                                    }
                            }
              if(oppforecast.gmod__Month_Text__c=='Oct' || oppforecast.gmod__Month_Text__c=='Nov'|| oppforecast.gmod__Month_Text__c=='Dec')
                      {
                          if(Quarter4.containskey(oppforecast.gmod__Product__r.Name))
                             {
                                      Quarter4.put(oppforecast.gmod__Product__r.Name,Quarter4.get(oppforecast.gmod__Product__r.Name) + oppforecast.gmod__Quantity__c);             
                                      Amount4.put(oppforecast.gmod__Product__r.Name,Amount4.get(oppforecast.gmod__Product__r.Name) + oppforecast.gmod__Amount__c);
                             }
                     else
                             {

                                      Quarter4.put(oppforecast.gmod__Product__r.Name, oppforecast.gmod__Quantity__c);
                                      Amount4.put(oppforecast.gmod__Product__r.Name,oppforecast.gmod__Amount__c);

                                     /* wrapperclass w = new wrapperclass();

                                      w.gmod_Opportunity = oppforecast.gmod__Opportunity__r.Name;

                                      w.gmod_Product = oppforecast.gmod__Product__r.Name;

                                      w.gmod_Quantity =oppforecast.gmod__Quantity__c;

                                      w.gmod_Price=oppforecast.gmod__Price__c;

                                      w.Name =oppforecast.Name;

                                      w.gmod_Quarter=oppforecast.gmod__Quarter__c;

                                      w.gmod_Month=oppforecast.gmod__Month__c;

                                      w.gmod_Amount=oppforecast.gmod__Amount__c;

                                      w.Actual_Price=oppforecast.Actual_Price__c;

                                      w.gmod_Year=oppforecast.gmod__Year__c;

                                      w.gmod_date=oppforecast.gmod__date__c;

                                      w.gmod_Month_Text=oppforecast.gmod__Month_Text__c;

                                      w.Forecast_Date=oppforecast.Forecast_Date__c;

                                     disp_list.add(w);*/
                            }

                   }


        for (Quote qt :q){
             System.debug('Quote Size ++ '+q.size());
             System.debug('opp forcast ++ ' +opflist.size());



            for(integer i=0;i<opflist.size();i++){

            subtotalofquantity+= integer.valueOf(opflist[i].gmod__Quantity__c);

           // subtotalofquantity = tempsubtotalofquantity;

            subtotalofamount+= integer.valueOf(opflist[i]. gmod__Amount__c);

            //subtotalofamount =tempsubtotalofamount;

            Integer quarter1subtotalTemp = Integer.valueOf(opflist[i].gmod__Quantity__c);

            quarter1subtotal+=quarter1subtotalTemp;

            System.debug('qty@@@@@@@@@@@@@ ++ ' + subtotalofquantity);

            System.debug('amt############# ++ ' +subtotalofamount);

            System.debug('Qty%%%%%%%%%%% ++ ' +quarter1subtotal);


  //Instantiating the wrapper SObject 

                                        wrapperclass w = new wrapperclass();


                    //Assigning the wrapper variables from the SObject Fields in the database. 

                 w.gmod_Opportunity = opflist[i].gmod__Opportunity__r.Name;

                 w.gmod_Product = opflist[i].gmod__Product__r.Name;

                 w.gmod_Quantity =opflist[i].gmod__Quantity__c;

                 w.gmod_Price=opflist[i].gmod__Price__c;

                 w.Name =opflist[i].Name;

                 w.gmod_Quarter=opflist[i].gmod__Quarter__c;

                 w.gmod_Month=opflist[i].gmod__Month__c;

                 w.gmod_Amount=opflist[i]. gmod__Amount__c;

                 w.Actual_Price=opflist[i].Actual_Price__c;

                 w.gmod_Year=opflist[i].gmod__Year__c;

                 w.gmod_date=opflist[i].gmod__date__c;

                 w.gmod_Month_Text=opflist[i].gmod__Month_Text__c;

                 w.Forecast_Date=opflist[i].Forecast_Date__c; 


                              //Adding everthing to the List  


                            // w.name =qt.name;

                           //   disp_list.add(w);

                              // return disp_list;  
}

}
              }       
              }
         } //End of Class

Any help very much appreciated