Sunteți pe pagina 1din 40

public with sharing class salestrackingnew{ public salestrackingnew(ApexPages.

StandardController controller) { RevenueFlag = false; getLoggedINUser(); } public Boolean RevenueFlag {set;get;} public Decimal sumTotaltot1 { get; set; } public Decimal sumMarchtot1 { get; set; } public Decimal sumFebruarytot1 { get; set; } public Decimal sumJanuarytot1 { get; set; } public Decimal sumDecembertot1 { get; set; } public Decimal sumNovembertot1 { get; set; } public Decimal sumOctobertot1 { get; set; } public Decimal sumSeptembertot1 { get; set; } public Decimal sumAugusttot1 { get; set; } public Decimal sumJulytot1 { get; set; } public Decimal sumJunetot1 { get; set; } public Decimal sumMaytot1 { get; set; } public Decimal sumApriltot1 { get; set; } public Decimal sumTotaltot{ get; set; } public Decimal sumMarchtot { get; set; } public Decimal sumFebruarytot { get; set; } public Decimal sumJanuarytot { get; set; } public Decimal sumDecembertot { get; set; } public Decimal sumNovembertot { get; set; } public Decimal sumOctobertot { get; set; } public Decimal sumSeptembertot { get; set; } public Decimal sumAugusttot { get; set; } public Decimal sumJultot { get; set; } public Decimal sumJunetot { get; set; } public Decimal sumApriltot {get; set;} public Decimal sumMaytot { get; set; }

//////////////////////////////////////////////// public Decimal sumTotal { get; set; } public Decimal sumMarch { get; set; } public Decimal sumFebruary { get; set; } public Decimal sumJanuary { get; set; } public Decimal sumDecember { get; set; } public Decimal sumNovember { get; set; } public Decimal sumOctober { get; set; } public Decimal sumSeptember { get; set; } public Decimal sumAugust { get; set; } public Decimal sumJuly { get; set; } public Decimal sumJune { get; set; } public Decimal sumMay { get; set; } public String Total { get; set; } public String pm1{ get; set; } public Decimal sumMarch1 { get; set; } public Decimal sumFebruary1 { get; set; } public Decimal sumJanuary1 { get; set; } public Decimal sumDecember1 { get; set; } public Decimal sumNovember1 { get; set; } public Decimal sumOctober1 { get; set; } public Decimal sumSeptember1 { get; set; } public Decimal sumAugust1 { get; set; } public Decimal sumJuly1 { get; set; } public Decimal sumJune1 { get; set; } public Decimal sumMay1 { get; set; } public Decimal sumApril1 {get; set;} public Decimal sumTotal1{get; set;} public List<Revenue__c> addRow {set;get;} public salestrackingnew(){ a();

RevenueFlag = false; addRow = new List<Revenue__c>(); // getLoggedINUser(); sumApril = 0; sumMay = 0; sumJune = 0; sumJuly = 0; sumAugust = 0; //System.debug('calling getAssignedAccounts() ************'); /*revLst = getAssignedAccounts(); if(revLst != null){ insert revLst; }*/ } public Decimal sumApril {get; set;} public List<SelectOption> getPmNamesList1() { List<SelectOption> options = new List<SelectOption>(); //options.add(new SelectOption('-Select Fiscal Year-', '-Not Specified-' )); options.add(new SelectOption('2013', '2013')); options.add(new SelectOption('2012', '2012')); options.add(new SelectOption('2011', '2011')); return options; } public List<SelectOption> getSalesreps() { List<SelectOption> options = new List<SelectOption>(); //options.add(new SelectOption('-Select Fiscal Year-', '-Not Specified-' )); options.add(new SelectOption('Anthony Lange', 'Anthony Lange')); options.add(new SelectOption('', '')); options.add(new SelectOption('', '')); return options; } public List<Revenue__c> quota { get; set; } public List<Commission__c> commission { get; set; } public String pm { get; set; } public PageReference save() { return null; } public PageReference addrow() { return null; } public String selop { get; set; } public String[] countries {set; get;}

public String test { get; set; } public List<SelectOption> options {set;get;} public String accname {set;get;} public List<Account> acctnamelist { get; set; } public List<Account> acctlist { get; set; } public Integer count = 0; public String revlist { get; set; } public List<Revenue__c> a { get; set; } public List<Account> assignedTo{ get; set; } public Revenue__c a1 { get; set; } public void a(){ countries = new String[]{'a','a','a','a','a','a'}; a = [SELECT Account_Name__c,Account__c,April__c,August__c,CreatedById,Create dDate,December__c,February__c,Id,IsDeleted,January__c,July__c,June__c,LastModifi edById,LastModifiedDate,March__c,May__c,Name,November__c,October__c,September__c ,Status__c,SystemModstamp,Total__c FROM Revenue__c]; //[select id, name from account where id=:Account__c]; System.debug('aaaaaaaaaaaaaaaaaaaaaaaaaaaa' + a); commission = [SELECT Account_Name__c,Account__c,April__c,August__c,CreatedB yId,CreatedDate,December__c,February__c,Id,IsDeleted,January__c,July__c,June__c, LastModifiedById,LastModifiedDate,March__c,May__c,Name,November__c,October__c,Se ptember__c,SystemModstamp,Total__c FROM Commission__c]; options = new List<SelectOption>(); sumApril = 0; sumMay = 0; sumJune = 0; sumJuly = 0; sumAugust = 0; sumSeptember = 0; sumOctober = 0; sumNovember = 0; sumDecember = 0; sumJanuary = 0; sumFebruary = 0; sumMarch = 0; sumTotal =0; for(Revenue__c rev : a) { sumApril = sumApril + rev.April__c; sumMay = sumMay + rev.May__c; sumJune = sumJune + rev.June__c; sumJuly = sumJuly + rev.July__c; sumAugust = sumAugust + rev.August__c; sumSeptember = sumSeptember + rev.September__c; sumOctober = sumOctober + rev.October__c; sumNovember = sumNovember + rev.November__c; sumDecember = sumDecember + rev.December__c; sumJanuary = sumJanuary + rev.January__c; sumFebruary = sumFebruary + rev.February__c; sumMarch = sumMarch + rev.March__c; sumTotal=sumTotal+rev.Total__c;

acctnamelist = [SELECT Id,Name FROM Account where Id = :rev.Account__c]; //countries[count] = acctnamelist.get(0).Name; //options.add(new SelectOption(countries[count],countries[count])); //count++; } sumApril1 = 0; sumMay1 = 0; sumJune1 = 0; sumJuly1 = 0; sumAugust1 = 0; sumSeptember1= 0; sumOctober1 = 0; sumNovember1 = 0; sumDecember1 = 0; sumJanuary1 = 0; sumFebruary1 = 0; sumMarch1 = 0; sumTotal1 = 0; for(Commission__c comm: commission ) { sumApril1 = sumApril1 + comm.April__c; sumMay1 = sumMay1 + comm.May__c; sumJune1 = sumJune1 + comm.June__c; sumJuly1 = sumJuly1 + comm.July__c; sumAugust1 = sumAugust1 + comm.August__c; sumSeptember1 = sumSeptember1 + comm.September__c; sumOctober1 = sumOctober1 + comm.October__c; sumNovember1 = sumNovember1 + comm.November__c; sumDecember1 = sumDecember1 + comm.December__c; sumJanuary1 = sumJanuary1 + comm.January__c; sumFebruary1 = sumFebruary1 + comm.February__c; sumMarch1= sumMarch1 + comm.March__c; sumTotal1= sumTotal1+comm.Total__c; } sumApriltot=sumApril+sumApril; sumMaytot=sumMay +sumMay; sumJunetot =sumJune+sumJune; sumJultot = sumJuly+ sumJuly; sumAugusttot = sumAugust+ sumAugust; sumSeptembertot =sumSeptember+sumSeptember; sumOctobertot =sumOctober+sumOctober; sumNovembertot =sumNovember+sumNovember; sumDecembertot =sumDecember+sumDecember; sumJanuarytot =sumJanuary+sumJanuary; sumFebruarytot=sumFebruary+sumFebruary; sumMarchtot =sumMarch+sumMarch; sumTotaltot=sumTotal+sumTotal; sumApriltot1=sumApril1+sumApril1; sumMaytot1=sumMay1 +sumMay1; sumJunetot1 =sumJune1+sumJune1; sumJulytot1 = sumJuly1+ sumJuly1;

sumAugusttot1 = sumAugust1+ sumAugust1; sumSeptembertot1 =sumSeptember1+sumSeptember1; sumOctobertot1 =sumOctober1+sumOctober1; sumNovembertot1 =sumNovember1+sumNovember1; sumDecembertot1 =sumDecember1+sumDecember1; sumJanuarytot1 =sumJanuary1+sumJanuary1; sumFebruarytot1=sumFebruary1+sumFebruary1; sumMarchtot1 =sumMarch1+sumMarch1; sumTotaltot1=sumTotal1+sumTotal1;

// for(Account acc : acctnamelist) // { // System.debug('ooooooooooooooooooooooooooooooo' + options); // } } public void getQuota() { quota=[SELECT Account__c,April__c,August__c,CreatedById,CreatedDate,December __c,February__c,Id,IsDeleted,January__c,July__c,June__c,LastModifiedById,LastMod ifiedDate,March__c,May__c,Name,November__c,October__c,September__c,Status__c,Sys temModstamp,Total__c FROM Revenue__c where FY__c =:pm ]; } public void addingRow() { addRow.add(new Revenue__c()); }

// Assigned Accounts public public public public public public public public public public public public public public public public public List<Account> acct {get; set;} Account acctObj = null; List<Opportunity> oppt {get; set;} List<User> usr {get; set;} List<QuotaAllocation__c> quotaAll {get; set;} QuotaAllocation__c quotaUpdate = null; Decimal achievedNewQuota = 0; Decimal achievedExistQuota = 0; QuotaAllocation__c quotaUpdate2 = null; QuotaAllocation__c updateAchievedNew = null; QuotaAllocation__c updateAchievedExist = null; QuotaAllocation__c achievedQuota = null; List<QuotaAllocation__c> achQuota {get; set;} List<Account> newAcctlst {get; set;} Account newAcctobj = null; List<Account> existAcctlst {get; set;} Account existAcctObj = null;

public List<Revenue__c> revLst {get; set;} public Revenue__c revObj = null; public List<Commission__c> cmsnLst {get; set;} public Commission__c cmsnObj = null; public List<Revenue__c> getAssignedAccounts() { achQuota = new List<QuotaAllocation__c>(); revObj = new Revenue__c(); revLst = [SELECT Account_Name__c,Account__c,April__c,August__c,CreatedByI d,CreatedDate,December__c,February__c,FY__c,Id,IsDeleted,January__c,July__c,June __c,LastModifiedById,LastModifiedDate,March__c,May__c,Name,November__c,October__ c,September__c,Status__c,SystemModstamp,Total__c,Type__c FROM Revenue__c]; cmsnLst = [SELECT Account_Name__c,Account__c,April__c,August__c,CreatedBy Id,CreatedDate,December__c,February__c,FY__c,Id,IsDeleted,January__c,July__c,Jun e__c,LastModifiedById,LastModifiedDate,March__c,May__c,Name,November__c,October_ _c,OwnerId,September__c,SystemModstamp,Total__c FROM Commission__c]; if(revLst.size() == 0) { revLst = new List<Revenue__c>(); } if(cmsnLst.size() == 0) { cmsnLst = new List<Commission__c>(); } System.debug(' in getAssignedAccounts() ***********'); acct = [select Assigned_To__c,Name,Id,acctCmsn__c from Account WHERE Ass igned_To__c != null]; System.debug('acct size *****************'+acct.size()); for(Account account: acct) { usr = [select id, name from user where id= :account.Assigned_To__c]; //System.debug('id===>'+usr[0].id +': name====>'+usr[0].name); if(account.id != null) { oppt = [select id,OwnerId, name,Amount,CloseDate,Type,StageName from Opportunity where AccountId= :account.id]; if(oppt.size() != 0) { //System.debug('Opp id===>'+oppt[0].id +': Opp name====>'+op pt[0].name+': Amount====>'+oppt[0].Amount +': CloseDate====>'+oppt[0].CloseDate +': Type====>'+oppt[0].Type); System.debug('id===>'+usr[0].id + 'name====>'+usr[0].name + ': Amount====>'+oppt[0].Amount); for(Opportunity opt: oppt) { revObj = new Revenue__c(); cmsnObj = new Commission__c(); System.debug('owner===>'+opt.OwnerId + ' : user ===>'+us r[0].id); if(opt.OwnerId == usr[0].id ) { System.debug('entered if block'); if(opt.Type == 'Prospect - New Logo') { System.debug('Prospect - New Logo *************' ); revObj.Type__c = 'New';

revObj.Account__c = account.id; revObj.Account_Name__c = account.Name; revObj.User__c = usr[0].id; revObj.cmsn__c = account.acctCmsn__c; System.debug('account.acctCmsn__c==******===>'+a ccount.acctCmsn__c+'<===********====>revObj.cmsn__c==*********==>'+revObj.cmsn__ c); revObj.FY__c = pm; revLst.add(revObj); cmsnObj.Type__c = 'New'; cmsnObj.Account__c = account.id; cmsnObj.Account_Name__c = account.Name; cmsnObj.User__c = usr[0].id; cmsnObj.FY__c = pm; cmsnLst.add(cmsnObj); } else{ System.debug('Existing *************'); revObj.Type__c = 'Existing'; revObj.Account__c = account.id; revObj.Account_Name__c = account.Name; revObj.User__c = usr[0].id; revObj.cmsn__c = account.acctCmsn__c; System.debug('account.acctCmsn__c==******===>'+a ccount.acctCmsn__c+'<===********====>revObj.cmsn__c==*********==>'+revObj.cmsn__ c); revObj.FY__c = pm; revLst.add(revObj); cmsnObj.Type__c = 'Existing'; cmsnObj.Account__c = account.id; cmsnObj.Account_Name__c = account.Name; cmsnObj.User__c = usr[0].id; cmsnObj.FY__c = pm; cmsnLst.add(cmsnObj); } } } } } } System.debug('revLstsize====>'+revLst.size()); System.debug('list data====>'+revLst); return revLst; } public void getAcct() { System.debug('calling getAssignedAccounts() *******2343434*****'); revLst = getAssignedAccounts(); if(revLst != null){

insert revLst; } if(cmsnLst != null){ insert cmsnLst; } } List<UserRole> usrRole {get; set;} List<User> usr1 = null; public List<SelectOption> getSalesRepsDB(){ List<SelectOption> options = new List<SelectOption>(); usrRole = [SELECT Id,Name FROM UserRole WHERE Name LIKE '%sales%' AND N ame != 'Corporate Sales']; options.add(new SelectOption('-Select Sales Rep-', '-Not Specified-')); for(UserRole u : usrRole){ usr1 = [ SELECT Id,IsActive,Name,UserRoleId FROM User WHERE IsActive = true and UserRoleId = :u.id]; if( usr1.size() > 0){ options.add(new SelectOption(usr1[0].id, usr1[0].Name)); } } return options; } public public public public public public List<UserRole> usrCorpRole {get; set;} List<User> usrCorp = null; List<User> usrLogLst {get; set;} boolean corpFlag {get; set;} boolean salesFlag {get; set;} String salesName {get; set;}

public void getLoggedINUser(){ System.debug('in getLoggedINUser()********************'); getSalesRepsDB(); System.debug('usrRole**' + usrRole); String loggedUserId = UserInfo.getUserId(); String loggeduserRoleId = userinfo.getUserRoleId(); System.debug('loggedUserId ****'+loggedUserId); usrLogLst = [Select id,name from User where Id = :loggedUserId]; System.debug('Logged user name ****'+usrLogLst[0].Name); usrCorpRole = [SELECT Id,Name FROM UserRole WHERE Name = 'Admin' OR Nam e = 'Corporate Sales']; for(UserRole corp: usrCorpRole){ usrCorp = [ SELECT Id,IsActive,Name,UserRoleId FROM User WHERE IsAct ive = true and UserRoleId = :corp.id]; System.debug('usrCorp data ****'+usrCorp); System.debug('usrLogLst[0].id =====>' + usrLogLst[0].id + ' === usrC orp[0].id =====>'+ usrCorp[0].id); if(usrLogLst[0].id == usrCorp[0].id) { System.debug('equal ****************** usrCorp[0].id=====

=>'+usrCorp[0].id); corpFlag = true; salesFlag = false; // break; } } for(UserRole usrSales : usrRole) { System.debug('usrLogLst[0].id =====>' + usrLogLst[0].id + ' === usrS ales =====>'+ usrSales.id); if(usrLogLst[0].id == usrSales.id){ System.debug('usrCorp[0].id======>'+usrCorp[0].id); salesFlag = true; salesName = usrSales.Name; corpFlag = false; break; } } System.debug('salesFlag =====>'+salesFlag); System.debug('corpFlag =====>'+corpFlag);

public public public public public

List<Revenue__c> newRevenue {get; set;} List<Revenue__c> exisRevenue {get; set;} List<Commission__c> newCmsn {get; set;} List<Commission__c> exisCmsn {get; set;} List<User> usrLst {get; set;}

public void getAssignedAcconts(){ corpflag = false; System.debug('******** in getAssignedAcconts() ******************' + cor pflag); getLoggedINUser(); System.debug('corpflag**' + corpflag); if(corpflag == false) { pm1 = UserInfo.getUserId(); RevenueFlag = true; } System.debug('pm value===>'+pm); System.debug('pm1 value===>'+pm1); //usrLst = [select id,Name from User where Name =: pm1]; //if(usrLst != null){ //System.debug('usrLst is===>'+usrLst ); //Id usrId = usrLst[0].id; //System.debug('usrId value===>'+usrId +'*** name===>'+usrLst[0].Nam e); newRevenue = [SELECT Account_Name__c,Account__c,April__c,August__c,C

reatedById,CreatedDate,December__c,February__c,FY__c,Id,IsDeleted,January__c,Jul y__c,June__c,LastModifiedById,LastModifiedDate,March__c,May__c,Name,November__c, October__c,OwnerId,September__c,Status__c,SystemModstamp,Total__c,Type__c,User__ c,cmsn__c FROM Revenue__c where Type__c = 'New' and User__c= :pm1 and FY__c =:pm ]; exisRevenue = [SELECT Account_Name__c,Account__c,April__c,August__c, CreatedById,CreatedDate,December__c,February__c,FY__c,Id,IsDeleted,January__c,Ju ly__c,June__c,LastModifiedById,LastModifiedDate,March__c,May__c,Name,November__c ,October__c,OwnerId,September__c,Status__c,SystemModstamp,Total__c,Type__c,User_ _c,cmsn__c FROM Revenue__c where Type__c = 'Existing' and User__c= :pm1 and FY__ c =:pm]; if(newRevenue.size() <= 0 || exisRevenue.size() <= 0) { RevenueFlag = false; } else { RevenueFlag = true; } RevSubTotals(); newCmsn = [SELECT Account_Name__c,Account__c,April__c,August__c,Crea tedById,CreatedDate,December__c,February__c,FY__c,Id,IsDeleted,January__c,July__ c,June__c,LastModifiedById,LastModifiedDate,March__c,May__c,Name,November__c,Oct ober__c,OwnerId,September__c,SystemModstamp,Total__c FROM Commission__c where Ty pe__c = 'New' and User__c= :pm1 and FY__c =:pm]; exisCmsn = [SELECT Account_Name__c,Account__c,April__c,August__c,Cre atedById,CreatedDate,December__c,February__c,FY__c,Id,IsDeleted,January__c,July_ _c,June__c,LastModifiedById,LastModifiedDate,March__c,May__c,Name,November__c,Oc tober__c,OwnerId,September__c,SystemModstamp,Total__c FROM Commission__c where T ype__c = 'Existing' and User__c= :pm1 and FY__c =:pm]; CmsnSubTotals(); //} } public void saveAccountQuotas() { System.debug('saveAccountQuotas() ******************'); if(newRevenue.size() > 0) { System.debug('newRevenue.size() ******************' + newRevenue.size( )); System.debug('newRevenue data *****************' +newRevenue); for(Revenue__c newRev : newRevenue) { System.debug('newRev data *****************' +newRev); update newRev; } } if(exisRevenue.size() > 0) { System.debug('exisRevenue.size() ******************' + exisRevenue.siz e()); System.debug('exisRevenue data *****************' +exisRevenue); update exisRevenue;

} if(newRevenue.size() == 0){ System.debug(' created new newRevenue list **************'); newRevenue = new List<Revenue__c>(); } if(exisRevenue.size() == 0){ System.debug(' created new exisRevenue list **************'); exisRevenue = new List<Revenue__c>(); } if(newRevenue.size() > 0 && exisRevenue.size() > 0){ System.debug(' calling saveAcctCommission()====================> **** **********'); saveAcctCommission(newRevenue,exisRevenue); }

} public List<Commission__c> acctCmsnLst {get; set;} public List<Commission__c> newCmsnLst {get; set;} public List<Commission__c> existCmsnLst {get; set;} public List<Commission__c> newUpdateCmsnLst {get; set;} public List<Commission__c> existUpdateCmsnLst {get; set;} public Commission__c acctNewCmsnObj = null; public Commission__c acctExistCmsnObj = null; public void calculateAcctCommission(List<Revenue__c> newRevenue,List<Revenue_ _c> existRevenue) { newUpdateCmsnLst = new List<Commission__c>(); existUpdateCmsnLst = new List<Commission__c>(); acctNewCmsnObj = new Commission__c(); acctExistCmsnObj = new Commission__c(); System.debug('in calculateAcctCommission() ************'); if(newRevenue.size() > 0){ System.debug('in newRevenue************' + newRevenue); newCmsnLst = [SELECT Account_Name__c,Account__c,April__c,August__c,C reatedById,CreatedDate,December__c,February__c,FY__c,Id,IsDeleted,January__c,Jul y__c,June__c,LastModifiedById,LastModifiedDate,March__c,May__c,Name,November__c, October__c,OwnerId,September__c,SystemModstamp,Total__c FROM Commission__c where Type__c = 'New' and User__c= :pm1]; if(newCmsnLst.size() > 0) { System.debug('newCmsnLst***' + newCmsnLst); acctNewCmsnObj = newCmsnLst[0]; } for(Commission__c Cmsn : newCmsnLst) { acctNewCmsnObj = Cmsn; System.debug('acctNewCmsnObj**' + acctNewCmsnObj );

for(Revenue__c revCmsn :newRevenue) { System.debug('in newRevenue******revCmsn data******'+revCmsn ); System.debug(acctNewCmsnObj.Account_Name__c +' == '+revCmsn.Acco unt_Name__c); if(acctNewCmsnObj.Account_Name__c == revCmsn.Account_Name__c && revCmsn.cmsn__c != null) { acctNewCmsnObj.April__c = (revCmsn.April__c * revCmsn.cmsn__ c)/100; acctNewCmsnObj.May__c = (revCmsn.May__c * revCmsn.cmsn__c)/1 00; acctNewCmsnObj.June__c = (revCmsn.June__c * revCmsn.cmsn__c) /100; acctNewCmsnObj.July__c = (revCmsn.July__c * revCmsn.cmsn__c) /100; acctNewCmsnObj.August__c = (revCmsn.August__c * revCmsn.cmsn __c)/100; acctNewCmsnObj.September__c = (revCmsn.September__c * revCms n.cmsn__c)/100; acctNewCmsnObj.October__c = (revCmsn.October__c * revCmsn.cm sn__c)/100; acctNewCmsnObj.November__c = (revCmsn.November__c * revCmsn. cmsn__c)/100; acctNewCmsnObj.December__c = (revCmsn.December__c * revCmsn. cmsn__c)/100; acctNewCmsnObj.January__c = (revCmsn.January__c * revCmsn.cm sn__c)/100; acctNewCmsnObj.February__c = (revCmsn.February__c * revCmsn. cmsn__c)/100; acctNewCmsnObj.March__c = (revCmsn.March__c * revCmsn.cmsn__ c)/100; System.debug('in newRevenue******acctNewCmsnObjdata******'+a cctNewCmsnObj); newUpdateCmsnLst.add(acctNewCmsnObj); } } } } if(existRevenue.size() > 0){ existCmsnLst = [SELECT Account_Name__c,Account__c,April__c,August__c ,CreatedById,CreatedDate,December__c,February__c,FY__c,Id,IsDeleted,January__c,J uly__c,June__c,LastModifiedById,LastModifiedDate,March__c,May__c,Name,November__ c,October__c,OwnerId,September__c,SystemModstamp,Total__c FROM Commission__c whe re Type__c = 'Existing' and User__c= :pm1]; if(existCmsnLst.size() > 0) { System.debug('existCmsnLst***' + existCmsnLst ); acctExistCmsnObj = existCmsnLst[0]; } for(Revenue__c revExtCmsn :existRevenue) { System.debug('in existRevenue******revExtCmsn data******'+revExt Cmsn );

System.debug(acctExistCmsnObj.Account_Name__c +' == '+revExtCmsn .Account_Name__c); if(acctExistCmsnObj.Account_Name__c == revExtCmsn.Account_Name__ c) { acctExistCmsnObj.April__c = (revExtCmsn.April__c * revExtCms n.cmsn__c)/100; acctExistCmsnObj.May__c = (revExtCmsn.May__c * revExtCmsn.cm sn__c)/100; acctExistCmsnObj.June__c = (revExtCmsn.June__c * revExtCmsn. cmsn__c)/100; acctExistCmsnObj.July__c = (revExtCmsn.July__c * revExtCmsn. cmsn__c)/100; acctExistCmsnObj.August__c = (revExtCmsn.August__c * revExtC msn.cmsn__c)/100; acctExistCmsnObj.September__c = (revExtCmsn.September__c * r evExtCmsn.cmsn__c)/100; acctExistCmsnObj.October__c = (revExtCmsn.October__c * revEx tCmsn.cmsn__c)/100; acctExistCmsnObj.November__c = (revExtCmsn.November__c * rev ExtCmsn.cmsn__c)/100; acctExistCmsnObj.December__c = (revExtCmsn.December__c * rev ExtCmsn.cmsn__c)/100; acctExistCmsnObj.January__c = (revExtCmsn.January__c * revEx tCmsn.cmsn__c)/100; acctExistCmsnObj.February__c = (revExtCmsn.February__c * rev ExtCmsn.cmsn__c)/100; acctExistCmsnObj.March__c = (revExtCmsn.March__c * revExtCms n.cmsn__c)/100; System.debug('in existRevenue******acctExistCmsnObj******'+a cctExistCmsnObj); existUpdateCmsnLst.add(acctExistCmsnObj); } } } } public void saveAcctCommission(List<Revenue__c> newRevenue, List<Revenue__c> existRevenue) { calculateAcctCommission(newRevenue,exisRevenue); System.debug('in saveAcctCommission()************'); if(newUpdateCmsnLst.size() > 0){ System.debug('in newUpdateCmsnLst************' + newUpdateCmsnLst); update newUpdateCmsnLst; } if(existUpdateCmsnLst.size() > 0){ System.debug('in existUpdateCmsnLst************'+existUpdateCmsnLst); update existUpdateCmsnLst; } }

// sridhar code added on 10/10/2012 public List<Account> acctLst {get; set;} public void getSalesRepAccounts(){ acctLst = [SELECT Assigned_To__c,Id,Name FROM Account WHERE Assigned_To__c != null]; }

public List<Revenue__c> delRevenue {get; set;} public List<Commission__c > delCommission {get; set;} public void deleteRevenue() { delRevenue = [select id from Revenue__c]; delCommission = [select id from Commission__c]; for(Revenue__c delR : delRevenue) { delete delR; } for(Commission__c delCmsn : delCommission) { delete delCmsn; } } public List<QuotaAllocation__c> delQuota {get;set;} public void deleteQuota() { delQuota = [select id from QuotaAllocation__c]; for(QuotaAllocation__c delQ : delQuota) { delete delQ; } }

// Method for the SubTotals New public void RevSubTotals () { subTotalNew(newRevenue); subTotalExisting(exisRevenue); } public public public public public public public public public public public public Decimal Decimal Decimal Decimal Decimal Decimal Decimal Decimal Decimal Decimal Decimal Decimal sumAprilNew {set;get;} sumMayNew {set;get;} sumJuneNew {set;get;} sumJulyNew {set;get;} sumAugustNew {set;get;} sumSeptemberNew {set;get;} sumOctoberNew {set;get;} sumNovemberNew {set;get;} sumDecemberNew {set;get;} sumJanuaryNew {set;get;} sumFebruaryNew {set;get;} sumMarchNew {set;get;}

public void SubTotalNew (List<Revenue__c> newRev) { sumAprilNew = 0; sumMayNew = 0; sumJuneNew = 0; sumJulyNew = 0; sumAugustNew = 0; sumSeptemberNew = 0; sumOctoberNew = 0; sumNovemberNew = 0; sumDecemberNew = 0; sumJanuaryNew = 0; sumFebruaryNew = 0; sumMarchNew = 0; if(newRev.size() > 0) { System.debug('newRev**' + newRev); for(Revenue__c revenueElement :newRev) { if(revenueElement.April__c != null) { sumAprilNew = sumAprilNew + revenueElement.April__c; } if(revenueElement.May__c != null) { sumMayNew = sumMayNew + revenueElement.May__c; } if(revenueElement.June__c != null) { sumJuneNew = sumJuneNew + revenueElement.June__c; } if(revenueElement.July__c != null) { sumJulyNew = sumJulyNew + revenueElement.July__c; }

if(revenueElement.August__c != null) { sumAugustNew = sumAugustNew + revenueElement.August__c; } if(revenueElement.September__c != null) { sumSeptemberNew = sumSeptemberNew + revenueElement.September__c; } if(revenueElement.October__c != null) { sumOctoberNew = sumOctoberNew + revenueElement.October__c; } if(revenueElement.November__c != null) { sumNovemberNew = sumNovemberNew + revenueElement.November__c; } if(revenueElement.December__c != null) { sumDecemberNew = sumDecemberNew + revenueElement.December__c; } if(revenueElement.January__c != null) { sumJanuaryNew = sumJanuaryNew + revenueElement.January__c; } if(revenueElement.February__c != null) { sumFebruaryNew = sumFebruaryNew + revenueElement.February__c; } if(revenueElement.March__c != null) { sumMarchNew = sumMarchNew + revenueElement.March__c; } } } } public Decimal sumAprilExisting {set;get;} public Decimal sumMayExisting {set;get;} public Decimal sumJuneExisting {set;get;} public Decimal sumJulyExisting {set;get;} public Decimal sumAugustExisting {set;get;} public Decimal sumSeptemberExisting {set;get;} public Decimal sumOctoberExisting {set;get;} public Decimal sumNovemberExisting {set;get;} public Decimal sumDecemberExisting {set;get;} public Decimal sumJanuaryExisting {set;get;} public Decimal sumFebruaryExisting {set;get;} public Decimal sumMarchExisting {set;get;} public void SubTotalExisting (List<Revenue__c> ExisRev) { sumAprilExisting = 0; sumMayExisting = 0; sumJuneExisting = 0; sumJulyExisting = 0; sumAugustExisting = 0; sumSeptemberExisting = 0; sumOctoberExisting = 0; sumNovemberExisting = 0; sumDecemberExisting = 0; sumJanuaryExisting = 0;

sumFebruaryExisting = 0; sumMarchExisting = 0; if(ExisRev.size() > 0) { System.debug('ExisRev**' + ExisRev); for(Revenue__c revenueElement :ExisRev) { if(revenueElement.April__c != null) { sumAprilExisting = sumAprilExisting + revenueElement.April__c; } if(revenueElement.May__c != null) { sumMayExisting = sumMayExisting + revenueElement.May__c; } if(revenueElement.June__c != null) { sumJuneExisting = sumJuneExisting + revenueElement.June__c; } if(revenueElement.July__c != null) { sumJulyExisting = sumJulyExisting + revenueElement.July__c; } if(revenueElement.August__c != null) { sumAugustExisting = sumAugustExisting + revenueElement.August__c; } if(revenueElement.September__c != null) { sumSeptemberExisting = sumSeptemberExisting + revenueElement.September__c; } if(revenueElement.October__c != null) { sumOctoberExisting = sumOctoberExisting + revenueElement.October__c; } if(revenueElement.November__c != null) { sumNovemberExisting = sumNovemberExisting + revenueElement.November__c; } if(revenueElement.December__c != null) { sumDecemberExisting = sumDecemberExisting + revenueElement.December__c; } if(revenueElement.January__c != null) { sumJanuaryExisting = sumJanuaryExisting + revenueElement.January__c; } if(revenueElement.February__c != null) { sumFebruaryExisting = sumFebruaryExisting + revenueElement.February__c; } if(revenueElement.March__c != null) { sumMarchExisting = sumMarchExisting + revenueElement.March__c; } } } } public void CmsnSubTotals()

{ subTotalCommissionNew(newCmsn); subTotalCommissionExisting(exisCmsn); } public Decimal sumAprilCommissionNew {set;get;} public Decimal sumMayCommissionNew {set;get;} public Decimal sumJuneCommissionNew {set;get;} public Decimal sumJulyCommissionNew {set;get;} public Decimal sumAugustCommissionNew {set;get;} public Decimal sumSeptemberCommissionNew {set;get;} public Decimal sumOctoberCommissionNew {set;get;} public Decimal sumNovemberCommissionNew {set;get;} public Decimal sumDecemberCommissionNew {set;get;} public Decimal sumJanuaryCommissionNew {set;get;} public Decimal sumFebruaryCommissionNew {set;get;} public Decimal sumMarchCommissionNew {set;get;} public void SubTotalCommissionNew (List<Commission__c> NewComsn) { sumAprilCommissionNew = 0; sumMayCommissionNew = 0; sumJuneCommissionNew = 0; sumJulyCommissionNew = 0; sumAugustCommissionNew = 0; sumSeptemberCommissionNew = 0; sumOctoberCommissionNew = 0; sumNovemberCommissionNew = 0; sumDecemberCommissionNew = 0; sumJanuaryCommissionNew = 0; sumFebruaryCommissionNew = 0; sumMarchCommissionNew = 0; if(NewComsn.size() > 0) { System.debug('ExisComsn**' + NewComsn); for(Commission__c CommissionElement :NewComsn) { if(CommissionElement.April__c != null) { sumAprilCommissionNew = sumAprilCommissionNew + CommissionElement.April__ c; } if(CommissionElement.May__c != null) { sumMayCommissionNew = sumMayCommissionNew + CommissionElement.May__c; } if(CommissionElement.June__c != null) { sumJuneCommissionNew = sumJuneCommissionNew + CommissionElement.June__c; } if(CommissionElement.July__c != null) { sumJulyCommissionNew = sumJulyCommissionNew + CommissionElement.July__c; } if(CommissionElement.August__c != null) { sumAugustCommissionNew = sumAugustCommissionNew + CommissionElement.August_ _c;

} if(CommissionElement.September__c != null) { sumSeptemberCommissionNew = sumSeptemberCommissionNew + CommissionElement.S eptember__c; } if(CommissionElement.October__c != null) { sumOctoberCommissionNew = sumOctoberCommissionNew + CommissionElement.Octob er__c; } if(CommissionElement.November__c != null) { sumNovemberCommissionNew = sumNovemberCommissionNew + CommissionElement.Nov ember__c; } if(CommissionElement.December__c != null) { sumDecemberCommissionNew = sumDecemberCommissionNew + CommissionElement.Dec ember__c; } if(CommissionElement.January__c != null) { sumJanuaryCommissionNew = sumJanuaryCommissionNew + CommissionElement.Janua ry__c; } if(CommissionElement.February__c != null) { sumFebruaryCommissionNew = sumFebruaryCommissionNew + CommissionElement.Feb ruary__c; } if(CommissionElement.March__c != null) { sumMarchCommissionNew = sumMarchCommissionNew + CommissionElement.March__c; } } } } public Decimal sumAprilCommissionExisting {set;get;} public Decimal sumMayCommissionExisting {set;get;} public Decimal sumJuneCommissionExisting {set;get;} public Decimal sumJulyCommissionExisting {set;get;} public Decimal sumAugustCommissionExisting {set;get;} public Decimal sumSeptemberCommissionExisting {set;get;} public Decimal sumOctoberCommissionExisting {set;get;} public Decimal sumNovemberCommissionExisting {set;get;} public Decimal sumDecemberCommissionExisting {set;get;} public Decimal sumJanuaryCommissionExisting {set;get;} public Decimal sumFebruaryCommissionExisting {set;get;} public Decimal sumMarchCommissionExisting {set;get;} public void SubTotalCommissionExisting (List<Commission__c> ExisComsn) { sumAprilCommissionExisting = 0; sumMayCommissionExisting = 0; sumJuneCommissionExisting = 0; sumJulyCommissionExisting = 0; sumAugustCommissionExisting = 0;

sumSeptemberCommissionExisting = 0; sumOctoberCommissionExisting = 0; sumNovemberCommissionExisting = 0; sumDecemberCommissionExisting = 0; sumJanuaryCommissionExisting = 0; sumFebruaryCommissionExisting = 0; sumMarchCommissionExisting = 0; if(ExisComsn.size() > 0) { System.debug('ExisComsn**' + ExisComsn); for(Commission__c CommissionElement :ExisComsn) { if(CommissionElement.April__c != null) { sumAprilCommissionExisting = sumAprilCommissionExisting + CommissionEleme nt.April__c; } if(CommissionElement.May__c != null) { sumMayCommissionExisting = sumMayCommissionExisting + CommissionElement.May __c; } if(CommissionElement.June__c != null) { sumJuneCommissionExisting = sumJuneCommissionExisting + CommissionElement.J une__c; } if(CommissionElement.July__c != null) { sumJulyCommissionExisting = sumJulyCommissionExisting + CommissionElement.J uly__c; } if(CommissionElement.August__c != null) { sumAugustCommissionExisting = sumAugustCommissionExisting + CommissionEleme nt.August__c; } if(CommissionElement.September__c != null) { sumSeptemberCommissionExisting = sumSeptemberCommissionExisting + Commissio nElement.September__c; } if(CommissionElement.October__c != null) { sumOctoberCommissionExisting = sumOctoberCommissionExisting + CommissionEle ment.October__c; } if(CommissionElement.November__c != null) { sumNovemberCommissionExisting = sumNovemberCommissionExisting + CommissionE lement.November__c; } if(CommissionElement.December__c != null) { sumDecemberCommissionExisting = sumDecemberCommissionExisting + CommissionE lement.December__c; } if(CommissionElement.January__c != null) {

sumJanuaryCommissionExisting = sumJanuaryCommissionExisting + CommissionEle ment.January__c; } if(CommissionElement.February__c != null) { sumFebruaryCommissionExisting = sumFebruaryCommissionExisting + CommissionE lement.February__c; } if(CommissionElement.March__c != null) { sumMarchCommissionExisting = sumMarchCommissionExisting + CommissionElement .March__c; } } } }

// code of Siri Sowjanya

// Achieved and pipeline logo details public Boolean result{get;set;} public public public public public public List<Revenue__c> revenue {get; set;} List<Revenue__c> revenue1 {get; set;} List<QuotaAllocation__c> qc {get; set;} Integer quarter{set; get;} Integer month{set; get;} List<Revenue__c> revLst1 {get; set;}

public List<Revenue__c> revLst2 {get; set;} public Revenue__c rev1 =null; public List<Commission__c> cmsnLst1 {get; set;} public Commission__c com=null; public String year{get; set;} public List<Account> accLst1 {get; set;}

//public QuotaAllocation__c quotaUpdate2 = null; public void getAchievedPipelineDetails() { //List<QuotaAllocation__c>

achQuota = new List<QuotaAllocation__c>(); System.debug(' in getAchievedPipelineDetails() ***********'); acct = [select Assigned_To__c,Name,Id,acctCmsn__c from Account WHERE Assigned_To__c != null]; System.debug('account size:::::::'+acct.size()); for(Account account: acct) {

//usr = [select id, name from user where id= :account.As signed_To__c]; // System.debug('UserId===>'+usr[0].id +': name====>'+usr [0].name); System.debug('AccountId'+account.id); if(account.id != null) { oppt = [select id,OwnerId, name,Amount,CloseDate,Typ e,StageName from Opportunity where AccountId = :account.id]; System.debug('**Oppt'+oppt); System.debug('oppt.size():::::::'+oppt.size()); if(oppt.size() != 0) { // System.debug('Opportunity id===>'+oppt[0].id + ': Opp name====>'+oppt[0].name+': Amount====>'+oppt[0].Amount +': CloseDate====> '+oppt[0].CloseDate +': Type====>'+oppt[0].Type); //System.debug('id===>'+usr[0].id + 'name====>'+ usr[0].name + ': Amount====>'+oppt[0].Amount); for(Opportunity opt: oppt) { //System.debug('ownerId===>'+opt.OwnerId + ' : userId ===>'+usr[0].id); if(opt.OwnerId == account.Assigned_To__c) { System.debug('cccccc'); revenueCheck(opt,account); achievedQuota = calculateAchievedLo gos(opt,account); achQuota.add(achievedQuota);

} }

} } System.debug('achQuota===>'+achQuota); //return achQuota; } insert achQuota;

} public List<Revenue__c> revLst3 {get; set;}

public void revenueCheck(Opportunity opt,Account account){ year=String.valueOf((opt.CloseDate).year()); revLst1 = [SELECT Account_Name__c,Account__c,April__c,August_ _c,CreatedById,CreatedDate,cmsn__c,December__c,February__c,FY__c,Id,IsDeleted, January__c,July__c,June__c,LastModifiedById,LastM odifiedDate,March__c,May__c,Name,November__c,October__c,September__c, Status__c,SystemModstamp,Total__c,Type__c FROM Re venue__c where User__c= :account.Assigned_To__c and FY__c= :year and Account__c =:account.id ]; /*cmsnLst1 = [SELECT Account_Name__c,Account__c,April__c,August __c,CreatedById,CreatedDate,December__c,February__c,FY__c,Id,IsDeleted, January__c,July__c,June__c,LastModifiedById,LastM odifiedDate,March__c,May__c,Name,November__c,October__c,OwnerId, September__c,SystemModstamp,Total__c FROM Commiss ion__c where User__c= :account.Assigned_To__c and FY__c= :year and Account__c =:account.id ];*/

if(revLst1.size() == 0) { revLst1 = new List<Revenue__c>(); rev1 = new Revenue__c(); com = new Commission__c(); }

System.debug('revenue**'+revenue);

if(revLst1.size() != 0){ deleteQuota(); qc=[select Ach_Exist_Logo_Apr_value__c,Ach_E xist_Logo_Aug_value__c,Ach_Exist_Logo_Dec_value__c,Ach_Exist_Logo_Feb_value__c, Ach_Exist_Logo_Jan_value__c,Ach_Exist_Logo_J ul_value__c,Ach_Exist_Logo_Jun_value__c,Ach_Exist_Logo_Mar_value__c, Ach_Exist_Logo_May_value__c,Ach_Exist_Logo_N ov_value__c,Ach_exist_logo_number__c,Ach_Exist_Logo_Oct_value__c, Ach_Exist_Logo_Q1_value__c,Ach_Exist_Logo_Q2 _value__c,Ach_Exist_Logo_Q3_value__c,Ach_Exist_Logo_Q4_value__c, Ach_Exist_Logo_Sep_value__c,Ach_Exist_Logo_V alue__c,Ach_New_Logo_Apr_value__c,Ach_New_Logo_Aug_value__c,Ach_New_Logo_Dec_val ue__c, Ach_New_Logo_Feb_value__c,Ach_New_Logo_Jan_v alue__c,Ach_New_Logo_Jul_value__c,Ach_New_Logo_Jun_value__c,Ach_New_Logo_Mar_val ue__c,

Ach_New_Logo_May_value__c,Ach_New_Logo_Nov_v alue__c,Ach_New_Logo_number__c,Ach_New_Logo_Oct_value__c,Ach_New_Logo_Q1_value__ c, Ach_New_Logo_Q2_value__c,Ach_New_Logo_Q3_val ue__c,Ach_New_Logo_Q4_value__c,Ach_New_Logo_Sep_value__c,Ach_New_Logo_Value__c, Assigned_Exist_Logo_number__c,Assigned_Exist _value__c,Assigned_New_Logo_number__c,Assigned_New_Value__c,Closed_Date__c,Close d__c, CreatedById,CreatedDate,CurrencyIsoCode,FY__ c,Id,IsDeleted,LastActivityDate,LastModifiedById,LastModifiedDate,Name, Pipeline_Existing_Logo_Q1_value__c,Pipeline_ Existing_Logo_Q2__c,Pipeline_Existing_Logo_Q3__c,Pipeline_Existing_Logo_Q4__c, Pipeline_Existing_Logo__c,Pipeline_Exist_Log o_Apr__c,Pipeline_Exist_Logo_Aug__c,Pipeline_Exist_Logo_Dec__c,Pipeline_Exist_Lo go_Feb__c, Pipeline_Exist_Logo_Jan__c,Pipeline_Exist_Lo go_Jul__c,Pipeline_Exist_Logo_Jun__c,Pipeline_Exist_Logo_Mar__c, Pipeline_Exist_Logo_May__c,Pipeline_Exist_Lo go_Nov__c,Pipeline_Exist_Logo_Oct__c,Pipeline_Exist_Logo_Sep__c, Pipeline_New_Logo_Apr__c,Pipeline_New_Logo_A ug__c,Pipeline_New_Logo_Dec__c,Pipeline_New_Logo_Feb__c, Pipeline_New_Logo_Jan__c,Pipeline_New_Logo_J ul__c,Pipeline_New_Logo_Jun__c,Pipeline_New_Logo_Mar__c, Pipeline_New_Logo_May__c,Pipeline_New_Logo_N ov__c,Pipeline_New_Logo_Oct__c,Pipeline_New_Logo_Q1__c, Pipeline_New_Logo_Q2__c,Pipeline_New_Logo_Q3 __c,Pipeline_New_Logo_Q4__c,Pipeline_New_Logo_Sep__c, Pipeline_New_Logo__c,Quota__c,Revenue__c,Rol e__c,SalesRep__c,SystemModstamp,Total_Assigned_Quota__c,User__c from QuotaAllocation__c where Revenue__c= :r evLst1[0].id]; if(qc.size()>0) { quotaUpdate2= qc[0]; } else { quotaUpdate2=new QuotaAllocation__c(); quotaUpdate2.Revenue__c=revLst1[0].id; } System.debug('quotaUpdate2 in if ?'+quotaUpdate 2); } else{ revLst3 = [select Account__c,User__c,FY__c from Revenue__c where User__c= :account.Assigned_To__c and FY__c=:year and Account_ _c =:account.id ]; if(revLst3 ==null || revLst3.size()==0){ if(opt.Type == 'Prospect - New Logo') { System.debug('Prospect - New Logo *************' ); rev1.Type__c = 'New'; rev1.Account__c = account.id; rev1.Account_Name__c = account.Name;

rev1.cmsn__c = account.acctCmsn__c; rev1.User__c = account.Assigned_To__c; rev1.FY__c = String.valueOf((opt.CloseDate).year ()); System.debug('rev1==>'+rev1); insert rev1; com.Type__c = 'New'; com.Account__c = account.id; com.Account_Name__c = account.Name; com.User__c = account.Assigned_To__c; com.FY__c =String.valueOf((opt.CloseDate).year() ); insert com;

} else{ System.debug('Existing *************'); rev1.Type__c = 'Existing'; rev1.Account__c = account.id; rev1.Account_Name__c = account.Name; rev1.cmsn__c = account.acctCmsn__c; rev1.User__c = account.Assigned_To__c; rev1.FY__c = String.valueOf((opt.CloseDate).year ()); System.debug('rev1= Existing =>'+rev1); insert rev1;

com.Type__c = 'Existing'; com.Account__c = account.id; com.Account_Name__c = account.Name; com.User__c = account.Assigned_To__c; com.FY__c = String.valueOf((opt.CloseDate).year( )); insert com; } } revenue1=[select id,User__c,FY__c,Account__c from Revenue__c where User__c= :account.Assigned_To__c and FY__c=:year and Acco unt__c =:account.id]; System.debug('revenue**'+revenue1); quotaUpdate2=new QuotaAllocation__c(); quotaUpdate2.Revenue__c=revenue1[0].id; } System.debug('quotaUpdate2 in else ?'+quotaUpdate2);

} public QuotaAllocation__c calculateAchievedLogos(Opportunity opt,Account acc ount) { System.debug('in CalculateAchievedLogos()'); //System.debug('id===>'+usr[0].id +': name====>'+usr[0].name); System.debug('opt.Type '+opt.Type); System.debug('opt.StageName '+opt.StageName); System.debug('quotaUpdate2 is null ?'+quotaUpdate2); if(opt.Type == 'Prospect - New Logo' ){ if(opt.StageName == '7 - Contract Award' ){ System.debug('inside new logo Contract Award'); month =(opt.CloseDate).month(); System.debug('month value'+month); if(month==1 &&opt.Amount!=null) { if(quotaUpdate2.Ach_New_Logo_Jan_value__c==null || q uotaUpdate2.Ach_New_Logo_Jan_value__c==0.0) { quotaUpdate2.Ach_New_Logo_Jan_value__c= opt.Amo unt/2; }else { quotaUpdate2.Ach_New_Logo_Jan_value__c+=opt.Am ount/2; } } else if(month==2 &&opt.Amount!=null) { if(quotaUpdate2.Ach_New_Logo_Feb_value__c==null || quotaUpdate2.Ach_New_Logo_Feb_value__c==0.0) { quotaUpdate2.Ach_New_Logo_Feb_value__c= opt.Amo unt/2; }else { quotaUpdate2.Ach_New_Logo_Feb_value__c+=opt.Am ount/2; } } else if(month==3 &&opt.Amount!=null) { if(quotaUpdate2.Ach_New_Logo_Mar_value__c==null || q

uotaUpdate2.Ach_New_Logo_Mar_value__c==0.0) { quotaUpdate2.Ach_New_Logo_Mar_value__c= opt.Amo unt/2; }else { quotaUpdate2.Ach_New_Logo_Mar_value__c+=opt.Am ount/2; } } else if(month==4 &&opt.Amount!=null) { if(quotaUpdate2.Ach_New_Logo_Apr_value__c==null || quotaUpdate2.Ach_New_Logo_Apr_value__c==0.0) { quotaUpdate2.Ach_New_Logo_Apr_value__c= opt.Amo unt/2; }else { quotaUpdate2.Ach_New_Logo_Apr_value__c+=opt.Am ount/2; } } else if(month==5 &&opt.Amount!=null) { if(quotaUpdate2.Ach_New_Logo_May_value__c==null || q uotaUpdate2.Ach_New_Logo_May_value__c==0.0) { quotaUpdate2.Ach_New_Logo_May_value__c= opt.Amo unt/2; }else { quotaUpdate2.Ach_New_Logo_May_value__c+=opt.Am ount/2; } } else if(month==6 &&opt.Amount!=null) { if(quotaUpdate2.Ach_New_Logo_Jun_value__c==null || quotaUpdate2.Ach_New_Logo_Jun_value__c==0.0) { quotaUpdate2.Ach_New_Logo_Jun_value__c= opt.Amo unt/2; }else { quotaUpdate2.Ach_New_Logo_Jun_value__c+=opt.Am ount/2; } } else if(month==7 &&opt.Amount!=null) { if(quotaUpdate2.Ach_New_Logo_Jul_value__c==null || q

uotaUpdate2.Ach_New_Logo_Jul_value__c==0.0) { quotaUpdate2.Ach_New_Logo_Jul_value__c= opt.Amo unt/2; }else { quotaUpdate2.Ach_New_Logo_Jul_value__c+=opt.Am ount/2; } } else if(month==8 &&opt.Amount!=null) { if(quotaUpdate2.Ach_New_Logo_Aug_value__c==null || q uotaUpdate2.Ach_New_Logo_Aug_value__c==0.0) { quotaUpdate2.Ach_New_Logo_Aug_value__c= opt.Amo unt/2; }else { quotaUpdate2.Ach_New_Logo_Aug_value__c+=opt.Am ount/2; } } else if(month==9 &&opt.Amount!=null) { if(quotaUpdate2.Ach_New_Logo_Sep_value__c==null || quotaUpdate2.Ach_New_Logo_Sep_value__c==0.0) { quotaUpdate2.Ach_New_Logo_Sep_value__c= opt.Amo unt/2; }else { quotaUpdate2.Ach_New_Logo_Sep_value__c+=opt.Am ount/2; } } else if(month==10 &&opt.Amount!=null) { if(quotaUpdate2.Ach_New_Logo_Oct_value__c==null || q uotaUpdate2.Ach_New_Logo_Oct_value__c==0.0) { quotaUpdate2.Ach_New_Logo_Oct_value__c= opt.Amo unt/2; }else { quotaUpdate2.Ach_New_Logo_Oct_value__c+=opt.Am ount/2; } } else if(month==11 &&opt.Amount!=null) { if(quotaUpdate2.Ach_New_Logo_Nov_value__c==null || q

uotaUpdate2.Ach_New_Logo_Nov_value__c==0.0) { quotaUpdate2.Ach_New_Logo_Nov_value__c= opt.Amo unt/2; }else { quotaUpdate2.Ach_New_Logo_Nov_value__c+=opt.Am ount/2; } } else if(month==12 &&opt.Amount!=null) { if(quotaUpdate2.Ach_New_Logo_Dec_value__c==null || q uotaUpdate2.Ach_New_Logo_Dec_value__c==0.0) { quotaUpdate2.Ach_New_Logo_Dec_value__c= opt.Amo unt/2; }else { quotaUpdate2.Ach_New_Logo_Dec_value__c+=opt.Am ount/2; } } } if(opt.StageName != '7 - Contract Award' || opt.StageName != 'Lost') { System.debug('inside pipeline New Logo'); month =(opt.CloseDate).month(); System.debug('month value'+month); if(month==1 &&opt.Amount!=null) { if(quotaUpdate2.Pipeline_New_Logo_Jan__c==null || qu otaUpdate2.Pipeline_New_Logo_Jan__c==0.0) { quotaUpdate2.Pipeline_New_Logo_Jan__c= opt.Amou nt/3; }else { quotaUpdate2.Pipeline_New_Logo_Jan__c+=opt.Amo unt/3; } } else if(month==2 &&opt.Amount!=null) { if(quotaUpdate2.Pipeline_New_Logo_Feb__c==null || qu otaUpdate2.Pipeline_New_Logo_Feb__c==0.0) {

quotaUpdate2.Pipeline_New_Logo_Feb__c= opt.Amou nt/3; }else { quotaUpdate2.Pipeline_New_Logo_Feb__c+=opt.Amo unt/3; } } else if(month==3 &&opt.Amount!=null) { if(quotaUpdate2.Pipeline_New_Logo_Mar__c==null || q uotaUpdate2.Pipeline_New_Logo_Mar__c==0.0) { quotaUpdate2.Pipeline_New_Logo_Mar__c= opt.Amou nt/3; }else { quotaUpdate2.Pipeline_New_Logo_Mar__c+=opt.Amou nt/3; } } else if(month==4 &&opt.Amount!=null) { if(quotaUpdate2.Pipeline_New_Logo_Apr__c==null || q uotaUpdate2.Pipeline_New_Logo_Apr__c==0.0) { quotaUpdate2.Pipeline_New_Logo_Apr__c= opt.Amou nt/3; }else { quotaUpdate2.Pipeline_New_Logo_Apr__c+=opt.Amo unt/3; } } else if(month==5 &&opt.Amount!=null) { if(quotaUpdate2.Pipeline_New_Logo_May__c==null || q uotaUpdate2.Pipeline_New_Logo_May__c==0.0) { quotaUpdate2.Pipeline_New_Logo_May__c= opt.Amou nt/3; }else { quotaUpdate2.Pipeline_New_Logo_May__c+=opt.Amo unt/3; } } else if(month==6 &&opt.Amount!=null) { if(quotaUpdate2.Pipeline_New_Logo_Jun__c==null || q uotaUpdate2.Pipeline_New_Logo_Jun__c==0.0)

{ quotaUpdate2.Pipeline_New_Logo_Jun__c= opt.Amou nt/3; }else { quotaUpdate2.Pipeline_New_Logo_Jun__c+=opt.Amo unt/3; } } else if(month==7 &&opt.Amount!=null) { if(quotaUpdate2.Pipeline_New_Logo_Jul__c==null || q uotaUpdate2.Pipeline_New_Logo_Jul__c==0.0) { quotaUpdate2.Pipeline_New_Logo_Jul__c= opt.Amou nt/3; }else { quotaUpdate2.Pipeline_New_Logo_Jul__c+=opt.Amo unt/3; } } else if(month==8 &&opt.Amount!=null) { if(quotaUpdate2.Pipeline_New_Logo_Aug__c==null || q uotaUpdate2.Pipeline_New_Logo_Aug__c==0.0) { quotaUpdate2.Pipeline_New_Logo_Aug__c= opt.Amou nt/3; }else { quotaUpdate2.Pipeline_New_Logo_Aug__c+=opt.Amou nt/3; } } else if(month==9 &&opt.Amount!=null) { if(quotaUpdate2.Pipeline_New_Logo_Sep__c==null || q uotaUpdate2.Pipeline_New_Logo_Sep__c==0.0) { quotaUpdate2.Pipeline_New_Logo_Sep__c= opt.Amou nt/3; }else { quotaUpdate2.Pipeline_New_Logo_Sep__c+=opt.Amo unt/3; } } else if(month==10 &&opt.Amount!=null) { if(quotaUpdate2.Pipeline_New_Logo_Oct__c==null || q uotaUpdate2.Pipeline_New_Logo_Oct__c==0.0)

{ quotaUpdate2.Pipeline_New_Logo_Oct__c= opt.Amou nt/3; }else { quotaUpdate2.Pipeline_New_Logo_Oct__c+=opt.Amo unt/3; } } else if(month==11 &&opt.Amount!=null) { if(quotaUpdate2.Pipeline_New_Logo_Nov__c==null || q uotaUpdate2.Pipeline_New_Logo_Nov__c==0.0) { quotaUpdate2.Pipeline_New_Logo_Nov__c= opt.Amou nt/3; }else { quotaUpdate2.Pipeline_New_Logo_Nov__c+=opt.Amo unt/3; } } else if(month==12 &&opt.Amount!=null) { if(quotaUpdate2.Pipeline_New_Logo_Dec__c==null || q uotaUpdate2.Pipeline_New_Logo_Dec__c==0.0) { quotaUpdate2.Pipeline_New_Logo_Dec__c= opt.Amou nt/3; }else { quotaUpdate2.Pipeline_New_Logo_Dec__c+=opt.Amou nt/3; } } } } //end of opytype if else if(opt.Type == 'Customer - First Year' || opt.Type == 'Customer ansion' || opt.Type == 'Customer - New Line of Business') { if(opt.StageName == '7 - Contract Award'){ System.debug('inside Achieved Existing'); month =(opt.CloseDate).month(); System.debug('month value'+month); if(month==1 &&opt.Amount!=null) { Exp

if(quotaUpdate2.Ach_Exist_Logo_Jan_value__c==null || quotaUpdate2.Ach_Exist_Logo_Jan_value__c==0.0) { quotaUpdate2.Ach_Exist_Logo_Jan_value__c= opt.A mount/2; }else { quotaUpdate2.Ach_Exist_Logo_Jan_value__c+=opt. Amount/2; } } else if(month==2 &&opt.Amount!=null) { if(quotaUpdate2.Ach_Exist_Logo_Feb_value__c==null || quotaUpdate2.Ach_Exist_Logo_Feb_value__c==0.0) { quotaUpdate2.Ach_Exist_Logo_Feb_value__c= opt.A mount/2; }else { quotaUpdate2.Ach_Exist_Logo_Feb_value__c+=opt. Amount/2; } } else if(month==3 &&opt.Amount!=null) { if(quotaUpdate2.Ach_Exist_Logo_Mar_value__c==null || quotaUpdate2.Ach_Exist_Logo_Mar_value__c==0.0) { quotaUpdate2.Ach_Exist_Logo_Mar_value__c= opt.A mount/2; }else { quotaUpdate2.Ach_Exist_Logo_Mar_value__c+=opt. Amount/2; } } else if(month==4 &&opt.Amount!=null) { if(quotaUpdate2.Ach_Exist_Logo_Apr_value__c==null || quotaUpdate2.Ach_Exist_Logo_Apr_value__c==0.0) { quotaUpdate2.Ach_Exist_Logo_Apr_value__c= opt.A mount/2; }else { quotaUpdate2.Ach_Exist_Logo_Apr_value__c+=opt. Amount/2; } } else if(month==5 &&opt.Amount!=null) {

if(quotaUpdate2.Ach_Exist_Logo_May_value__c==null || quotaUpdate2.Ach_Exist_Logo_May_value__c==0.0) { quotaUpdate2.Ach_Exist_Logo_May_value__c= opt.A mount/2; }else { quotaUpdate2.Ach_Exist_Logo_May_value__c+=opt. Amount/2; } } else if(month==6 &&opt.Amount!=null) { if(quotaUpdate2.Ach_Exist_Logo_Jun_value__c==null || quotaUpdate2.Ach_Exist_Logo_Jun_value__c==0.0) { quotaUpdate2.Ach_Exist_Logo_Jun_value__c= opt.A mount/2; }else { quotaUpdate2.Ach_Exist_Logo_Jun_value__c+=opt. Amount/2; } } else if(month==7 &&opt.Amount!=null) { if(quotaUpdate2.Ach_Exist_Logo_Jul_value__c==null || quotaUpdate2.Ach_Exist_Logo_Jul_value__c==0.0) { quotaUpdate2.Ach_Exist_Logo_Jul_value__c= opt.A mount/2; }else { quotaUpdate2.Ach_Exist_Logo_Jul_value__c+=opt. Amount/2; } } else if(month==8 &&opt.Amount!=null) { if(quotaUpdate2.Ach_Exist_Logo_Aug_value__c==null || quotaUpdate2.Ach_Exist_Logo_Aug_value__c==0.0) { quotaUpdate2.Ach_Exist_Logo_Aug_value__c= opt.A mount/2; }else { quotaUpdate2.Ach_Exist_Logo_Aug_value__c+=opt. Amount/2; } } else if(month==9 &&opt.Amount!=null) {

if(quotaUpdate2.Ach_Exist_Logo_Sep_value__c==null || quotaUpdate2.Ach_Exist_Logo_Sep_value__c==0.0) { quotaUpdate2.Ach_Exist_Logo_Sep_value__c= opt.A mount/2; }else { quotaUpdate2.Ach_Exist_Logo_Sep_value__c+=opt.A mount/2; } } else if(month==10 &&opt.Amount!=null) { if(quotaUpdate2.Ach_Exist_Logo_Oct_value__c==null || quotaUpdate2.Ach_Exist_Logo_Oct_value__c==0.0) { quotaUpdate2.Ach_Exist_Logo_Oct_value__c= opt.A mount/2; }else { quotaUpdate2.Ach_Exist_Logo_Oct_value__c+=opt. Amount/2; } } else if(month==11 &&opt.Amount!=null) { if(quotaUpdate2.Ach_Exist_Logo_Nov_value__c==null || quotaUpdate2.Ach_Exist_Logo_Nov_value__c==0.0) { quotaUpdate2.Ach_Exist_Logo_Nov_value__c= opt.A mount/2; }else { quotaUpdate2.Ach_Exist_Logo_Nov_value__c+=opt. Amount/2; } } else if(month==12 &&opt.Amount!=null) { if(quotaUpdate2.Ach_Exist_Logo_Dec_value__c==null || quotaUpdate2.Ach_Exist_Logo_Dec_value__c==0.0) { quotaUpdate2.Ach_Exist_Logo_Dec_value__c= opt.A mount/2; }else { quotaUpdate2.Ach_Exist_Logo_Dec_value__c+=opt. Amount/2; } }

} else if (opt.StageName != '7 - Contract Award' || opt.StageName != ' Lost') { System.debug('inside Pipeline Existing'); month =(opt.CloseDate).month(); System.debug('month value'+month); if(month==1 && opt.Amount!=null) { if(quotaUpdate2.Pipeline_Exist_Logo_Jan__c==null || quotaUpdate2.Pipeline_Exist_Logo_Jan__c==0.0) { quotaUpdate2.Pipeline_Exist_Logo_Jan__c= opt.Am ount/3; }else { quotaUpdate2.Pipeline_Exist_Logo_Jan__c+=opt.A mount/3; } } else if(month==2 && opt.Amount!=null) { if(quotaUpdate2.Pipeline_Exist_Logo_Feb__c==null || quotaUpdate2.Pipeline_Exist_Logo_Feb__c==0.0) { quotaUpdate2.Pipeline_Exist_Logo_Feb__c= opt.Am ount/3; }else { quotaUpdate2.Pipeline_Exist_Logo_Feb__c+=opt.A mount/3; } } else if(month==3 && opt.Amount!=null) { if(quotaUpdate2.Pipeline_Exist_Logo_Mar__c==null || quotaUpdate2.Pipeline_Exist_Logo_Mar__c==0.0) { quotaUpdate2.Pipeline_Exist_Logo_Mar__c= opt.Am ount/3; }else { quotaUpdate2.Pipeline_Exist_Logo_Mar__c+=opt.Am ount/3; } } else if(month==4 && opt.Amount!=null) { if(quotaUpdate2.Pipeline_Exist_Logo_Apr__c==null || quotaUpdate2.Pipeline_Exist_Logo_Apr__c==0.0)

{ quotaUpdate2.Pipeline_Exist_Logo_Apr__c= opt.Am ount/3; }else { quotaUpdate2.Pipeline_Exist_Logo_Apr__c+=opt.A mount/3; } } else if(month==5 && opt.Amount!=null) { if(quotaUpdate2.Pipeline_Exist_Logo_May__c==null || quotaUpdate2.Pipeline_Exist_Logo_May__c==0.0) { quotaUpdate2.Pipeline_Exist_Logo_May__c= opt.Am ount/3; }else { quotaUpdate2.Pipeline_Exist_Logo_May__c+=opt.A mount/3; } } else if(month==6 && opt.Amount!=null) { if(quotaUpdate2.Pipeline_Exist_Logo_Jun__c==null || quotaUpdate2.Pipeline_Exist_Logo_Jun__c==0.0) { quotaUpdate2.Pipeline_Exist_Logo_Jun__c= opt.Am ount/3; }else { quotaUpdate2.Pipeline_Exist_Logo_Jun__c+=opt.A mount/3; } } else if(month==7 && opt.Amount!=null) { if(quotaUpdate2.Pipeline_Exist_Logo_Jul__c==null || quotaUpdate2.Pipeline_Exist_Logo_Jul__c==0.0) { quotaUpdate2.Pipeline_Exist_Logo_Jul__c= opt.Am ount/3; }else { quotaUpdate2.Pipeline_Exist_Logo_Jul__c+=opt.A mount/3; } } else if(month==8 && opt.Amount!=null) { if(quotaUpdate2.Pipeline_Exist_Logo_Aug__c==null || quotaUpdate2.Pipeline_Exist_Logo_Aug__c==0.0)

{ quotaUpdate2.Pipeline_Exist_Logo_Aug__c= opt.Am ount/3; }else { quotaUpdate2.Pipeline_Exist_Logo_Aug__c+=opt.A mount/3; } } else if(month==9 && opt.Amount!=null) { if(quotaUpdate2.Pipeline_Exist_Logo_Sep__c==null || quotaUpdate2.Pipeline_Exist_Logo_Sep__c==0.0) { quotaUpdate2.Pipeline_Exist_Logo_Sep__c= opt.Am ount/3; }else { quotaUpdate2.Pipeline_Exist_Logo_Sep__c+=opt.A mount/3; } } else if(month==10 && opt.Amount!=null) { if(quotaUpdate2.Pipeline_Exist_Logo_Oct__c==null || quotaUpdate2.Pipeline_Exist_Logo_Oct__c==0.0) { quotaUpdate2.Pipeline_Exist_Logo_Oct__c= opt.Am ount/3; }else { quotaUpdate2.Pipeline_Exist_Logo_Oct__c+=opt.A mount/3; } } else if(month==11 && opt.Amount!=null) { if(quotaUpdate2.Pipeline_Exist_Logo_Nov__c==null || quotaUpdate2.Pipeline_Exist_Logo_Nov__c==0.0) { quotaUpdate2.Pipeline_Exist_Logo_Nov__c= opt.Am ount/3; }else { quotaUpdate2.Pipeline_Exist_Logo_Nov__c+=opt.A mount/3; } } else if(month==12 && opt.Amount!=null) { /* if(quotaUpdate2.Pipeline_Exist_Logo_Dec__c ==null | | quotaUpdate2.Pipeline_Exist_Logo_Dec__c ==0.0)

{ quotaUpdate2.Pipeline_Exist_Logo_Dec__c = opt.A mount/3; }else { quotaUpdate2.Pipeline_Exist_Logo_Dec__c +=opt. Amount/3; }*/ if(quotaUpdate2.Pipeline_Exist_Logo_Dec__c!=null ) { quotaUpdate2.Pipeline_Exist_Logo_Dec__c +=(opt .Amount/3); }else { quotaUpdate2.Pipeline_Exist_Logo_Dec__c = (opt.Am ount/3); } system.debug('*********list ********'+quotaUpdate2); } } }

System.debug('final results'+quotaUpdate2); return quotaUpdate2; } }

S-ar putea să vă placă și