mirror of
https://github.com/freeedcom/ai-codereviewer.git
synced 2025-02-20 16:20:27 +00:00
Create acvSpecializedViewSummaryRenewController.cls
This commit is contained in:
parent
c159abc40e
commit
d993f84a30
1 changed files with 892 additions and 0 deletions
892
acvSpecializedViewSummaryRenewController.cls
Normal file
892
acvSpecializedViewSummaryRenewController.cls
Normal file
|
@ -0,0 +1,892 @@
|
|||
/*
|
||||
Author : Lei Zhou
|
||||
Release : 06/18/21 Release
|
||||
Created : 06/18/21
|
||||
Functionality : Controller for specialistLinesRenewals lightning component
|
||||
|
||||
|
||||
Modification History:
|
||||
*------------------------------------------------------------------------------------
|
||||
Itrack# Date Author Change
|
||||
*------------------------------------------------------------------------------------
|
||||
|
||||
*------------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
|
||||
public without sharing class acvSpecializedViewSummaryRenewController {
|
||||
|
||||
@AuraEnabled
|
||||
public static summaryWrap getSummaryViewList(Id OpptyId) {
|
||||
//added by akoteshw
|
||||
//OpptyId = '0062T00001IyzuKQAR' ;
|
||||
List<summaryViewDetails> summaryViewDetlsLst = new List<summaryViewDetails>();
|
||||
//Software Summary view
|
||||
List<softwareSummaryViewDetails> swsummaryViewDetlsLst = new List<softwareSummaryViewDetails>();
|
||||
Boolean isError = False;
|
||||
List<OpportunityLinesSV__c> opptyLinesSVList = new List<OpportunityLinesSV__c>();
|
||||
List<OpportunityLineItem> opptyLinesList = new List<OpportunityLineItem>();
|
||||
Map<Id,OpportunityLineItem> opptyLinesIdLine = new Map<Id,OpportunityLineItem>();
|
||||
Map<Id,OpportunityLinesSV__c> opptyLinesSVMap = new Map<Id,OpportunityLinesSV__c>();
|
||||
Map<String,OpportunityLineItem> opptyLinesMap = new Map<String,OpportunityLineItem>();
|
||||
String keyStr;
|
||||
List<OpportunityLinesSV__c> opp=new List<OpportunityLinesSV__c>();
|
||||
|
||||
try {
|
||||
// Getting the list of OpportunityLinesSV, OpportunityLineItems from Opp where Id is in OpptyId
|
||||
//PMG Changes
|
||||
opp = [SELECT Id,Technology_Service__c,Technology_Service__r.Name,Business_Entity__c,
|
||||
Sub_Business_Entity__c,Expected_000_Value__c,recordtypeId,
|
||||
Opportunity_Stage__c,Incubation_Specialist__c,Incubation_Specialist__r.Name,Expected_Book_Date__c,
|
||||
Architecture_Specialist__c,Architecture_Specialist__r.Name,Opportunity__r.StageName,
|
||||
Service_Category__c,Service_Program__c,Service_Level_Tech__c,Service_Level_Description__c,Product_Code__c,
|
||||
Software_Specialist__c,Software_Specialist__r.Name,Opportunity_Line_Item_Reference__c,Specialist_Forecast_Status__c,
|
||||
Virtual_Sales_Specialist__c,Virtual_Sales_Specialist__r.Name,AM_Opportunity_Line_Value_000s__c,Opportunity_Line_Value__c,
|
||||
Opportunity__r.CurrencyIsoCode,Opportunity__r.Forecast_Status__c,Opportunity__r.CloseDate,xAM_ACV_MultiYear_Amount__c,SV_ACV_MultiYear_Amount__c,
|
||||
SV_ACV_Annual_Amount_Value__c,xAM_ACV_Annual_Amount_Value__c,SV_Term_in_Months__c,Term_in_Months__c,
|
||||
PID_Map__c, PID_Map_Ref__c
|
||||
FROM OpportunityLinesSV__c where DOO__c='Yes' AND Opportunity__c =:OpptyId
|
||||
];
|
||||
|
||||
If(!opp.isEmpty()){
|
||||
IF((opp[0].Opportunity__r.StageName).containsIgnoreCase('1')) {
|
||||
isError = True;
|
||||
}
|
||||
}
|
||||
else{
|
||||
Opportunity oppty=[Select id,stageName from Opportunity where id=:OpptyId limit 1];
|
||||
if(oppty.stagename.containsIgnoreCase('1')){
|
||||
isError = True;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
opptyLinesSVList.addAll(opp);
|
||||
//opptyLinesList = opp.OpportunityLineItems;
|
||||
system.debug('-----------opptyLinesList------------'+opptyLinesList);
|
||||
/*if(!opptyLinesList.isEmpty()) {
|
||||
for(OpportunityLineItem oppLines : opptyLinesList) {
|
||||
opptyLinesIdLine.put(oppLines.Id,oppLines); // for the duplicate Tech/Services
|
||||
if(String.isNotBlank(oppLines.Product_Family__c)) {
|
||||
keyStr = oppLines.Product2Id + oppLines.Product_Family__c;
|
||||
}else {
|
||||
keyStr = oppLines.Product2Id;
|
||||
}
|
||||
opptyLinesMap.put(keyStr,oppLines);
|
||||
}
|
||||
}*/
|
||||
|
||||
system.debug('-----------opptyLinesMap------------'+opptyLinesMap);
|
||||
|
||||
//stage should be 3/4/5
|
||||
if(isError) {
|
||||
summaryViewDetails summaryViewDetls = new summaryViewDetails();
|
||||
summaryViewDetls.error = true;
|
||||
summaryViewDetls.techOrService = 'Summary view will be available after Stage 1';
|
||||
summaryViewDetlsLst.add(summaryViewDetls);
|
||||
|
||||
//Software Summary view
|
||||
softwareSummaryViewDetails swSummaryViewDetls = new softwareSummaryViewDetails();
|
||||
swSummaryViewDetls.error = true;
|
||||
swSummaryViewDetls.techOrService = 'Summary view will be available after Stage 1';
|
||||
swsummaryViewDetlsLst.add(swSummaryViewDetls);
|
||||
|
||||
}else if(opptyLinesSVList.isEmpty()) { //no Specialist lines available
|
||||
summaryViewDetails summaryViewDetls = new summaryViewDetails();
|
||||
summaryViewDetls.error = false;
|
||||
summaryViewDetls.techOrService = '';
|
||||
summaryViewDetls.forecastStage = '';
|
||||
summaryViewDetls.forecastStatus = '';
|
||||
summaryViewDetls.expectedValueDiscrepancy ='';
|
||||
summaryViewDetls.bookDateDiscrepancy='';
|
||||
summaryViewDetls.owner='';
|
||||
summaryViewDetlsLst.add(summaryViewDetls);
|
||||
//Software Summary view
|
||||
softwareSummaryViewDetails swSummaryViewDetls = new softwareSummaryViewDetails();
|
||||
swSummaryViewDetls.error = false;
|
||||
swSummaryViewDetls.techOrService = '';
|
||||
swSummaryViewDetls.forecastStage = '';
|
||||
swSummaryViewDetls.forecastStatus = '';
|
||||
swSummaryViewDetls.expectedValueDiscrepancy ='';
|
||||
swSummaryViewDetls.bookDateDiscrepancy='';
|
||||
swSummaryViewDetls.owner='';
|
||||
swsummaryViewDetlsLst.add(swSummaryViewDetls);
|
||||
|
||||
} else {
|
||||
//Oppty Specialist Lines available
|
||||
if(!opptyLinesSVList.isEmpty()) {
|
||||
|
||||
for(OpportunityLinesSV__c svDetls : opptyLinesSVList) {
|
||||
|
||||
String Owner = '';
|
||||
Boolean isArchSpecialistAssocted = String.isNotBlank(svDetls.Architecture_Specialist__r.Name);
|
||||
Boolean isIncubSpecialistAssocted = String.isNotBlank(svDetls.Incubation_Specialist__r.Name);
|
||||
Boolean isVirtuSpecialistAssocted = String.isNotBlank(svDetls.Virtual_sales_specialist__r.Name);
|
||||
Boolean isSoftwareSpecialistAssocted;// = String.isNotBlank(svDetls.Software_Specialist__c);
|
||||
|
||||
if(svDetls.RecordTypeId == ObjectRecordTypeIds__c.getInstance().Software_Specialist_Record_Type__c) {
|
||||
isSoftwareSpecialistAssocted = true;
|
||||
}else {
|
||||
isSoftwareSpecialistAssocted = false;
|
||||
}
|
||||
|
||||
Integer numberOfDays = 0;
|
||||
Decimal annualValue = 0;
|
||||
Decimal totalValue=0;
|
||||
Decimal multiyearValue=0;
|
||||
Decimal termValue=0;
|
||||
|
||||
if(String.isNotBlank(svDetls.PID_Map__c)) {
|
||||
keyStr = svDetls.Technology_Service__c + svDetls.PID_Map__c;
|
||||
}else {
|
||||
keyStr = svDetls.Technology_Service__c;
|
||||
}
|
||||
|
||||
summaryViewDetails summaryViewDetls = new summaryViewDetails();
|
||||
|
||||
//Software Summary view
|
||||
softwareSummaryViewDetails swSummaryViewDetls = new softwareSummaryViewDetails();
|
||||
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.error = false;
|
||||
}
|
||||
|
||||
if(!isSoftwareSpecialistAssocted) { //Archi/Incubation
|
||||
summaryViewDetls.error = false;
|
||||
}
|
||||
|
||||
|
||||
if((svDetls.Product_Code__c).equalsIgnoreCase('Technology') ) {
|
||||
|
||||
if(String.isBlank(svDetls.Business_Entity__c) && String.isBlank(svDetls.Sub_Business_Entity__c)) {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.techOrService = svDetls.Technology_Service__r.Name;
|
||||
}else {//Archi/Incubation
|
||||
summaryViewDetls.techOrService = svDetls.Technology_Service__r.Name;
|
||||
}
|
||||
|
||||
}else {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.techOrService = svDetls.Business_Entity__c;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.techOrService = svDetls.Business_Entity__c;
|
||||
}
|
||||
|
||||
//assign sub BE if not null
|
||||
if(String.isNotBlank(svDetls.Sub_Business_Entity__c)) {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.techOrService += '-' + svDetls.Sub_Business_Entity__c;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.techOrService += '-' + svDetls.Sub_Business_Entity__c;
|
||||
}
|
||||
}
|
||||
//assign PID map if not null
|
||||
//PMG changes
|
||||
if(String.isNotBlank(svDetls.PID_Map__c)) {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.techOrService += ':'+svDetls.PID_Map__c;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.techOrService += ':'+svDetls.PID_Map__c;
|
||||
}
|
||||
}
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.techOrService = (swSummaryViewDetls.techOrService).removeStart('-');
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.techOrService = (summaryViewDetls.techOrService).removeStart('-');
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if(String.isNotBlank(svDetls.Service_Category__c)) {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.techOrService = svDetls.Service_Category__c;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.techOrService = svDetls.Service_Category__c;
|
||||
}
|
||||
}
|
||||
if(String.isNotBlank(svDetls.Service_Program__c)) {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.techOrService += '-' +svDetls.Service_Program__c;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.techOrService += '-' +svDetls.Service_Program__c;
|
||||
}
|
||||
}
|
||||
if(String.isNotBlank(svDetls.Service_Level_Tech__c)) {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.techOrService += '-' +svDetls.Service_Level_Tech__c;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.techOrService += '-' +svDetls.Service_Level_Tech__c;
|
||||
}
|
||||
}
|
||||
if(String.isNotBlank(svDetls.Service_Level_Description__c)) {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.techOrService += '-' +svDetls.Service_Level_Description__c;
|
||||
} else { //Archi/Incubation
|
||||
summaryViewDetls.techOrService += '-' +svDetls.Service_Level_Description__c;
|
||||
}
|
||||
}
|
||||
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
if(String.isNotBlank(swSummaryViewDetls.techOrService)) {
|
||||
swSummaryViewDetls.techOrService = (swSummaryViewDetls.techOrService).removeStart('-');
|
||||
swSummaryViewDetls.techOrService = (swSummaryViewDetls.techOrService).removeEnd('-');
|
||||
}
|
||||
} else { //Archi/Incubation
|
||||
if(String.isNotBlank(summaryViewDetls.techOrService)) {
|
||||
summaryViewDetls.techOrService = (summaryViewDetls.techOrService).removeStart('-');
|
||||
summaryViewDetls.techOrService = (summaryViewDetls.techOrService).removeEnd('-');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(String.isBlank(svDetls.Opportunity_Stage__c)) {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.forecastStage = svDetls.opportunity__r.StageName;
|
||||
swSummaryViewDetls.isStageDiscrepancy = False;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.forecastStage = svDetls.opportunity__r.StageName;
|
||||
summaryViewDetls.isStageDiscrepancy = False;
|
||||
}
|
||||
}else {
|
||||
if((svDetls.opportunity__r.StageName).equalsIgnoreCase(svDetls.Opportunity_Stage__c)) {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.isStageDiscrepancy = False;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.isStageDiscrepancy = False;
|
||||
}
|
||||
}else {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.isStageDiscrepancy = True;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.isStageDiscrepancy = True;
|
||||
}
|
||||
}
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.forecastStage = svDetls.Opportunity_Stage__c;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.forecastStage = svDetls.Opportunity_Stage__c;
|
||||
}
|
||||
}
|
||||
//Forecast Status added by R.Hari Krishna(ratharik) : US398822: Relaxed Stage & Forecast Status - New Dependency
|
||||
if(String.isBlank(svDetls.Specialist_Forecast_Status__c)) {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.forecastStatus = svDetls.opportunity__r.Forecast_Status__c;
|
||||
swSummaryViewDetls.isforecastStusDiscrepancy = False;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.forecastStatus = svDetls.opportunity__r.Forecast_Status__c;
|
||||
summaryViewDetls.isforecastStusDiscrepancy = False;
|
||||
}
|
||||
}else {
|
||||
if((svDetls.opportunity__r.Forecast_Status__c).equalsIgnoreCase(svDetls.Specialist_Forecast_Status__c)) {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.isforecastStusDiscrepancy = False;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.isforecastStusDiscrepancy = False;
|
||||
}
|
||||
}else {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.isforecastStusDiscrepancy = True;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.isforecastStusDiscrepancy = True;
|
||||
}
|
||||
}
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.forecastStatus = svDetls.Specialist_Forecast_Status__c;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.forecastStatus = svDetls.Specialist_Forecast_Status__c;
|
||||
}
|
||||
}
|
||||
|
||||
//logical assignment of Owner
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.owner = svDetls.Software_Specialist__r.Name;
|
||||
}else { //Archi/Incubation
|
||||
if( isArchSpecialistAssocted && isIncubSpecialistAssocted && isVirtuSpecialistAssocted) {
|
||||
Owner = svDetls.Architecture_Specialist__r.Name + ' / '+ svDetls.Incubation_Specialist__r.Name+' / '+svDetls.Virtual_sales_specialist__r.Name;
|
||||
} else if(isArchSpecialistAssocted && isIncubSpecialistAssocted){
|
||||
Owner = svDetls.Architecture_Specialist__r.Name + ' / '+ svDetls.Incubation_Specialist__r.Name;
|
||||
}else if(isIncubSpecialistAssocted && isVirtuSpecialistAssocted){
|
||||
Owner = svDetls.Incubation_Specialist__r.Name+' / '+svDetls.Virtual_sales_specialist__r.Name;
|
||||
}else if(isArchSpecialistAssocted && isVirtuSpecialistAssocted){
|
||||
Owner = svDetls.Architecture_Specialist__r.Name + ' / '+svDetls.Virtual_sales_specialist__r.Name;
|
||||
}else if(isArchSpecialistAssocted) {
|
||||
Owner = svDetls.Architecture_Specialist__r.Name;
|
||||
} else if(isIncubSpecialistAssocted) {
|
||||
Owner = svDetls.Incubation_Specialist__r.Name;
|
||||
}
|
||||
else if(isVirtuSpecialistAssocted) {
|
||||
Owner = svDetls.Virtual_Sales_Specialist__r.Name;
|
||||
}
|
||||
summaryViewDetls.owner = Owner;
|
||||
}
|
||||
//Logic to check Book Date Discrepancy
|
||||
if(svDetls.opportunity__r.CloseDate < svDetls.Expected_Book_Date__c) {
|
||||
numberOfDays = (svDetls.opportunity__r.CloseDate).daysBetween(svDetls.Expected_Book_Date__c);
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.bookDateDiscrepancy = 'Pushed out '+ numberOfDays +' days '+ String.valueOf(svDetls.Expected_Book_Date__c);
|
||||
swSummaryViewDetls.isDateDiscrepancy = True;
|
||||
} else { //Archi/Incubation
|
||||
summaryViewDetls.bookDateDiscrepancy = 'Pushed out '+ numberOfDays +' days '+ String.valueOf(svDetls.Expected_Book_Date__c);
|
||||
summaryViewDetls.isDateDiscrepancy = True;
|
||||
}
|
||||
}else if(svDetls.opportunity__r.CloseDate > svDetls.Expected_Book_Date__c) {
|
||||
numberOfDays = (svDetls.Expected_Book_Date__c).daysBetween(svDetls.opportunity__r.CloseDate);
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.bookDateDiscrepancy = 'Pulled in '+ numberOfDays +' days '+ String.valueOf(svDetls.Expected_Book_Date__c);
|
||||
swSummaryViewDetls.isDateDiscrepancy = True;
|
||||
} else { //Archi/Incubation
|
||||
summaryViewDetls.bookDateDiscrepancy = 'Pulled in '+ numberOfDays +' days '+ String.valueOf(svDetls.Expected_Book_Date__c);
|
||||
summaryViewDetls.isDateDiscrepancy = True;
|
||||
}
|
||||
}else { // no Discrepancy
|
||||
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.bookDateDiscrepancy = String.valueOf(svDetls.opportunity__r.CloseDate);
|
||||
swSummaryViewDetls.isDateDiscrepancy = False;
|
||||
} else { //Archi/Incubation
|
||||
summaryViewDetls.bookDateDiscrepancy = String.valueOf(svDetls.opportunity__r.CloseDate);
|
||||
summaryViewDetls.isDateDiscrepancy = False;
|
||||
}
|
||||
}
|
||||
//Put all 0 values to null, will be easier to write logic
|
||||
if(svDetls.AM_Opportunity_Line_Value_000s__c==null){svDetls.AM_Opportunity_Line_Value_000s__c=0;}
|
||||
if(svDetls.Opportunity_Line_Value__c==null){svDetls.Opportunity_Line_Value__c=0;}
|
||||
if(svDetls.Term_in_Months__c==null){svDetls.Term_in_Months__c=0;}
|
||||
if(svDetls.SV_Term_in_Months__c==null){svDetls.SV_Term_in_Months__c=0;}
|
||||
|
||||
|
||||
// if(svDetls.AM_Opportunity_Line_Value_000s__c != 0 && svDetls.Opportunity_Line_Value__c !=0) {
|
||||
//Logic to check Expected Value Discrepancy.
|
||||
System.debug('>>> '+svDetls.AM_Opportunity_Line_Value_000s__c);
|
||||
System.debug('>>> '+svDetls.Opportunity_Line_Value__c);
|
||||
if(svDetls.AM_Opportunity_Line_Value_000s__c < svDetls.Opportunity_Line_Value__c) {
|
||||
totalValue = svDetls.Opportunity_Line_Value__c - svDetls.AM_Opportunity_Line_Value_000s__c;//Software Summary view
|
||||
System.debug('+'+totalValue);
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.expectedValueDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' +'+String.valueOf(totalValue.setScale(2));
|
||||
swSummaryViewDetls.isValueDiscrepancy = True;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.expectedValueDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' +'+String.valueOf(totalValue.setScale(2));
|
||||
summaryViewDetls.isValueDiscrepancy = True;
|
||||
}
|
||||
}else if(svDetls.AM_Opportunity_Line_Value_000s__c > svDetls.Opportunity_Line_Value__c) {
|
||||
totalValue = svDetls.AM_Opportunity_Line_Value_000s__c - svDetls.Opportunity_Line_Value__c;
|
||||
System.debug('-'+totalValue);
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.expectedValueDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' -'+String.valueOf(totalValue.setScale(2));
|
||||
swSummaryViewDetls.isValueDiscrepancy = True;
|
||||
} else { //Archi/Incubation
|
||||
summaryViewDetls.expectedValueDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' -'+String.valueOf(totalValue.setScale(2));//.round(System.RoundingMode.CEILING);
|
||||
summaryViewDetls.isValueDiscrepancy = True;
|
||||
}
|
||||
}else {
|
||||
System.debug('+'+totalValue);
|
||||
// No Discrepancy
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.expectedValueDiscrepancy = '';
|
||||
swSummaryViewDetls.isValueDiscrepancy = False;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.expectedValueDiscrepancy = '';
|
||||
summaryViewDetls.isValueDiscrepancy = False;
|
||||
}
|
||||
}
|
||||
// }
|
||||
//Specialist didn't add value default to Oppty Line Value if not null
|
||||
/* else if(svDetls.Opportunity_Line_Value__c == 0 && svDetls.AM_Opportunity_Line_Value_000s__c != 0) {
|
||||
//Software Summary view
|
||||
System.debug('+'+totalValue);
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.expectedValueDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' 0.00';//opp.CurrencyIsoCode+' '+String.valueOf((opptyLineValue).setScale(2));
|
||||
swSummaryViewDetls.isValueDiscrepancy = True;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.expectedValueDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' 0.00';//opp.CurrencyIsoCode+' '+String.valueOf((opptyLineValue).setScale(2));
|
||||
summaryViewDetls.isValueDiscrepancy = True;
|
||||
}
|
||||
}
|
||||
|
||||
//new Lines added by Specialist
|
||||
else if(svDetls.Opportunity_Line_Value__c != 0 && svDetls.AM_Opportunity_Line_Value_000s__c == 0) {
|
||||
//Software Summary view
|
||||
System.debug('+'+totalValue);
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.expectedValueDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' '+ String.valueOf(svDetls.Opportunity_Line_Value__c.setScale(2));
|
||||
swSummaryViewDetls.isValueDiscrepancy = True;
|
||||
} else { //Archi/Incubation
|
||||
summaryViewDetls.expectedValueDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' '+ String.valueOf(svDetls.Opportunity_Line_Value__c.setScale(2));
|
||||
summaryViewDetls.isValueDiscrepancy = True;
|
||||
}
|
||||
}
|
||||
else {
|
||||
System.debug('+'+totalValue);
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.expectedValueDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' 0.00';
|
||||
swSummaryViewDetls.isValueDiscrepancy = False;
|
||||
} else { //Archi/Incubation
|
||||
summaryViewDetls.expectedValueDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' 0.00';
|
||||
summaryViewDetls.isValueDiscrepancy = False;
|
||||
}
|
||||
}*/
|
||||
|
||||
//Add Multiyear values for DOO
|
||||
// if(svDetls.xAM_ACV_MultiYear_Amount__c != 0 && svDetls.SV_ACV_MultiYear_Amount__c !=0) {
|
||||
//Logic to check Expected Value Discrepancy.
|
||||
if(svDetls.xAM_ACV_MultiYear_Amount__c < svDetls.SV_ACV_MultiYear_Amount__c) {
|
||||
multiyearValue = svDetls.SV_ACV_MultiYear_Amount__c - svDetls.xAM_ACV_MultiYear_Amount__c;//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.multiYearDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' +'+String.valueOf(multiyearValue.setScale(2));
|
||||
swSummaryViewDetls.ismultiYearDiscrepancy = True;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.multiYearDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' +'+String.valueOf(multiyearValue.setScale(2));
|
||||
summaryViewDetls.ismultiYearDiscrepancy = True;
|
||||
}
|
||||
}else if(svDetls.xAM_ACV_MultiYear_Amount__c > svDetls.SV_ACV_MultiYear_Amount__c) {
|
||||
multiyearValue = svDetls.xAM_ACV_MultiYear_Amount__c - svDetls.SV_ACV_MultiYear_Amount__c;
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.multiYearDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' -'+String.valueOf(multiyearValue.setScale(2));
|
||||
swSummaryViewDetls.ismultiYearDiscrepancy = True;
|
||||
} else { //Archi/Incubation
|
||||
summaryViewDetls.multiYearDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' -'+String.valueOf(multiyearValue.setScale(2));//.round(System.RoundingMode.CEILING);
|
||||
summaryViewDetls.ismultiYearDiscrepancy = True;
|
||||
}
|
||||
}else { // No Discrepancy
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.multiYearDiscrepancy = '';
|
||||
swSummaryViewDetls.ismultiYearDiscrepancy = False;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.multiYearDiscrepancy = '';
|
||||
summaryViewDetls.ismultiYearDiscrepancy = False;
|
||||
}
|
||||
}
|
||||
/* }
|
||||
//Specialist didn't add value default to Oppty Line Value if not null
|
||||
else if(svDetls.SV_ACV_MultiYear_Amount__c == 0 && svDetls.xAM_ACV_MultiYear_Amount__c != 0) {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.multiYearDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' 0.00';//opp.CurrencyIsoCode+' '+String.valueOf((opptyLineValue).setScale(2));
|
||||
swSummaryViewDetls.ismultiYearDiscrepancy = True;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.multiYearDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' 0.00';//opp.CurrencyIsoCode+' '+String.valueOf((opptyLineValue).setScale(2));
|
||||
summaryViewDetls.ismultiYearDiscrepancy = True;
|
||||
}
|
||||
}
|
||||
|
||||
//new Lines added by Specialist
|
||||
else if(svDetls.SV_ACV_MultiYear_Amount__c != 0 && svDetls.xAM_ACV_MultiYear_Amount__c == 0) {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.multiYearDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' '+ String.valueOf(svDetls.SV_ACV_MultiYear_Amount__c.setScale(2));
|
||||
swSummaryViewDetls.ismultiYearDiscrepancy = True;
|
||||
} else { //Archi/Incubation
|
||||
summaryViewDetls.multiYearDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' '+ String.valueOf(svDetls.SV_ACV_MultiYear_Amount__c.setScale(2));
|
||||
summaryViewDetls.ismultiYearDiscrepancy = True;
|
||||
}
|
||||
}
|
||||
else {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.multiYearDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' 0.00';
|
||||
swSummaryViewDetls.ismultiYearDiscrepancy = False;
|
||||
} else { //Archi/Incubation
|
||||
summaryViewDetls.multiYearDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' 0.00';
|
||||
summaryViewDetls.ismultiYearDiscrepancy = False;
|
||||
}
|
||||
}*/
|
||||
//Annual Discrepancy calculation DOO
|
||||
//if(svDetls.xAM_ACV_Annual_Amount_Value__c != 0 && svDetls.SV_ACV_Annual_Amount_Value__c !=0) {
|
||||
//Logic to check Expected Value Discrepancy.
|
||||
if(svDetls.xAM_ACV_Annual_Amount_Value__c < svDetls.SV_ACV_Annual_Amount_Value__c) {
|
||||
annualValue = svDetls.SV_ACV_Annual_Amount_Value__c - svDetls.xAM_ACV_Annual_Amount_Value__c;//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.annualDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' +'+String.valueOf(annualValue.setScale(2));
|
||||
swSummaryViewDetls.isannualDiscrepancy = True;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.annualDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' +'+String.valueOf(annualValue.setScale(2));
|
||||
summaryViewDetls.isannualDiscrepancy = True;
|
||||
}
|
||||
}else if(svDetls.xAM_ACV_Annual_Amount_Value__c > svDetls.SV_ACV_Annual_Amount_Value__c) {
|
||||
annualValue = svDetls.xAM_ACV_Annual_Amount_Value__c - svDetls.SV_ACV_Annual_Amount_Value__c;
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.annualDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' -'+String.valueOf(annualValue.setScale(2));
|
||||
swSummaryViewDetls.isannualDiscrepancy = True;
|
||||
} else { //Archi/Incubation
|
||||
summaryViewDetls.annualDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' -'+String.valueOf(annualValue.setScale(2));//.round(System.RoundingMode.CEILING);
|
||||
summaryViewDetls.isannualDiscrepancy = True;
|
||||
}
|
||||
}else { // No Discrepancy
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.annualDiscrepancy = '';
|
||||
swSummaryViewDetls.isannualDiscrepancy = False;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.annualDiscrepancy = '';
|
||||
summaryViewDetls.isannualDiscrepancy = False;
|
||||
}
|
||||
}
|
||||
/* }
|
||||
//Specialist didn't add value default to Oppty Line Value if not null
|
||||
else if(svDetls.SV_ACV_Annual_Amount_Value__c == 0 && svDetls.xAM_ACV_Annual_Amount_Value__c != 0) {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.annualDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' 0.00';//opp.CurrencyIsoCode+' '+String.valueOf((opptyLineValue).setScale(2));
|
||||
swSummaryViewDetls.isannualDiscrepancy = True;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.annualDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' 0.00';//opp.CurrencyIsoCode+' '+String.valueOf((opptyLineValue).setScale(2));
|
||||
summaryViewDetls.isannualDiscrepancy = True;
|
||||
}
|
||||
}
|
||||
|
||||
//new Lines added by Specialist
|
||||
else if(svDetls.SV_ACV_Annual_Amount_Value__c != 0 && svDetls.xAM_ACV_Annual_Amount_Value__c == 0) {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.annualDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' '+ String.valueOf(svDetls.SV_ACV_Annual_Amount_Value__c.setScale(2));
|
||||
swSummaryViewDetls.isannualDiscrepancy = True;
|
||||
} else { //Archi/Incubation
|
||||
summaryViewDetls.annualDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' '+ String.valueOf(svDetls.SV_ACV_Annual_Amount_Value__c.setScale(2));
|
||||
summaryViewDetls.isannualDiscrepancy = True;
|
||||
}
|
||||
}
|
||||
else {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.annualDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' 0.00';
|
||||
swSummaryViewDetls.isannualDiscrepancy = False;
|
||||
} else { //Archi/Incubation
|
||||
summaryViewDetls.annualDiscrepancy = svDetls.opportunity__r.CurrencyIsoCode+' 0.00';
|
||||
summaryViewDetls.isannualDiscrepancy = False;
|
||||
}
|
||||
} */
|
||||
|
||||
|
||||
//Term Discrepancy DOO
|
||||
|
||||
//if(svDetls.Term_in_Months__c != 0 && svDetls.SV_Term_in_Months__c !=0) {
|
||||
//Logic to check Expected Value Discrepancy.
|
||||
if(svDetls.Term_in_Months__c < svDetls.SV_Term_in_Months__c) {
|
||||
termValue = svDetls.SV_Term_in_Months__c - svDetls.Term_in_Months__c;//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.termDiscrepancy =' +'+ String.valueOf(termValue);
|
||||
swSummaryViewDetls.istermDiscrepancy = True;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.termDiscrepancy = ' +'+String.valueOf(termValue);
|
||||
summaryViewDetls.istermDiscrepancy = True;
|
||||
}
|
||||
}else if(svDetls.Term_in_Months__c > svDetls.SV_Term_in_Months__c) {
|
||||
termValue = svDetls.SV_Term_in_Months__c - svDetls.Term_in_Months__c;
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.termDiscrepancy =String.valueOf(termValue);
|
||||
swSummaryViewDetls.istermDiscrepancy = True;
|
||||
} else { //Archi/Incubation
|
||||
summaryViewDetls.termDiscrepancy = String.valueOf(termValue);//.round(System.RoundingMode.CEILING);
|
||||
summaryViewDetls.istermDiscrepancy = True;
|
||||
}
|
||||
}else { // No Discrepancy
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.termDiscrepancy = '0';
|
||||
swSummaryViewDetls.istermDiscrepancy = False;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.termDiscrepancy = '0';
|
||||
summaryViewDetls.istermDiscrepancy = False;
|
||||
}
|
||||
}
|
||||
/* }
|
||||
//Specialist didn't add value default to Oppty Line Value if not null
|
||||
else if(svDetls.SV_Term_in_Months__c == 0 && svDetls.Term_in_Months__c != 0) {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.termDiscrepancy = String.valueOf(svDetls.SV_Term_in_Months__c);
|
||||
swSummaryViewDetls.istermDiscrepancy = True;
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetls.termDiscrepancy = String.valueOf(svDetls.SV_Term_in_Months__c);
|
||||
summaryViewDetls.istermDiscrepancy = True;
|
||||
}
|
||||
}
|
||||
|
||||
//new Lines added by Specialist
|
||||
else if(svDetls.SV_Term_in_Months__c != 0 && svDetls.Term_in_Months__c == 0) {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.termDiscrepancy = String.valueOf(svDetls.SV_Term_in_Months__c);
|
||||
swSummaryViewDetls.istermDiscrepancy = True;
|
||||
} else { //Archi/Incubation
|
||||
summaryViewDetls.termDiscrepancy = String.valueOf(svDetls.SV_Term_in_Months__c);
|
||||
summaryViewDetls.istermDiscrepancy = True;
|
||||
}
|
||||
}
|
||||
else {
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetls.termDiscrepancy = String.valueOf(0);
|
||||
swSummaryViewDetls.istermDiscrepancy = False;
|
||||
} else { //Archi/Incubation
|
||||
summaryViewDetls.termDiscrepancy = String.valueOf(0);
|
||||
summaryViewDetls.istermDiscrepancy = False;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
//Software Summary view
|
||||
if(isSoftwareSpecialistAssocted) {
|
||||
swSummaryViewDetlsLst.add(swSummaryViewDetls);
|
||||
}else { //Archi/Incubation
|
||||
summaryViewDetlsLst.add(summaryViewDetls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//if swSummaryViewDetlsLst blank
|
||||
if(summaryViewDetlsLst.isEmpty() && summaryViewDetlsLst.size() == 0) {
|
||||
summaryViewDetails summaryViewDetls = new summaryViewDetails();
|
||||
summaryViewDetls.error = false;
|
||||
summaryViewDetls.techOrService = '';
|
||||
summaryViewDetls.forecastStage = '';
|
||||
summaryViewDetls.forecastStatus = '';
|
||||
summaryViewDetls.expectedValueDiscrepancy ='';
|
||||
summaryViewDetls.bookDateDiscrepancy='';
|
||||
summaryViewDetls.owner='';
|
||||
//summaryViewDetls.ismultiYearDiscrepancy='';
|
||||
summaryViewDetls.multiYearDiscrepancy='';
|
||||
//summaryViewDetls.isannualDiscrepancy='';
|
||||
summaryViewDetls.annualDiscrepancy='';
|
||||
//summaryViewDetls.istermDiscrepancy='';
|
||||
summaryViewDetls.termDiscrepancy='';
|
||||
summaryViewDetlsLst.add(summaryViewDetls);
|
||||
|
||||
}
|
||||
|
||||
//if swSummaryViewDetlsLst blank
|
||||
if(swSummaryViewDetlsLst.isEmpty() && swSummaryViewDetlsLst.size() == 0) {
|
||||
softwareSummaryViewDetails swSummaryViewDetls = new softwareSummaryViewDetails();
|
||||
//EA Oppty or not
|
||||
|
||||
swSummaryViewDetls.error = false;
|
||||
swSummaryViewDetls.techOrService = '';
|
||||
swSummaryViewDetls.forecastStage = '';
|
||||
swSummaryViewDetls.forecastStatus = '';
|
||||
swSummaryViewDetls.expectedValueDiscrepancy ='';
|
||||
swSummaryViewDetls.bookDateDiscrepancy='';
|
||||
swSummaryViewDetls.owner='';
|
||||
//summaryViewDetls.ismultiYearDiscrepancy='';
|
||||
swSummaryViewDetls.multiYearDiscrepancy='';
|
||||
//summaryViewDetls.isannualDiscrepancy='';
|
||||
swSummaryViewDetls.annualDiscrepancy='';
|
||||
//summaryViewDetls.istermDiscrepancy='';
|
||||
swSummaryViewDetls.termDiscrepancy='';
|
||||
swSummaryViewDetlsLst.add(swSummaryViewDetls);
|
||||
}
|
||||
}catch(Exception e) {
|
||||
system.debug('----------Exception --------'+e.getLineNumber()+'@@'+e.getCause()+'@@@'+e.getMessage()+'@@@@'+e.getStackTraceString());
|
||||
}
|
||||
|
||||
system.debug('-----summaryViewDetlsLst---------'+summaryViewDetlsLst);
|
||||
system.debug('-----swSummaryViewDetlsLst---------'+swSummaryViewDetlsLst);
|
||||
|
||||
summaryWrap sumryWrap = new summaryWrap();
|
||||
sumryWrap.specialistDtls = summaryViewDetlsLst;
|
||||
sumryWrap.swSpecialistDtls = swSummaryViewDetlsLst;
|
||||
// Returning the Summary details
|
||||
return sumryWrap;
|
||||
}
|
||||
|
||||
/***************
|
||||
* @Author : R.Hari Krishna(ratharik)
|
||||
* @Description : Wrapper class to hold summarized View Details
|
||||
*****************************/
|
||||
public class summaryViewDetails {
|
||||
@AuraEnabled
|
||||
public String techOrService{get;set;}
|
||||
@AuraEnabled
|
||||
public String expectedValueDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public String bookDateDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public String forecastStage{get;set;}
|
||||
@AuraEnabled
|
||||
public String owner{get;set;}
|
||||
@AuraEnabled
|
||||
public Boolean isValueDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public Boolean isDateDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public Boolean isStageDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public Boolean error{get;set;}
|
||||
//Forecast Status added by R.Hari Krishna(ratharik) : US398822: Relaxed Stage & Forecast Status - New Dependency
|
||||
@AuraEnabled
|
||||
public String forecastStatus{get;set;}
|
||||
@AuraEnabled
|
||||
public Boolean isforecastStusDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public Boolean ismultiYearDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public String multiYearDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public Boolean isannualDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public String annualDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public Boolean istermDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public String termDiscrepancy{get;set;}
|
||||
}
|
||||
|
||||
|
||||
/***************
|
||||
* @Author : R.Hari Krishna(ratharik)
|
||||
* @Description : Wrapper class to hold Software summarized View Details
|
||||
*****************************/
|
||||
public class softwareSummaryViewDetails {
|
||||
@AuraEnabled
|
||||
public String techOrService{get;set;}
|
||||
@AuraEnabled
|
||||
public String expectedValueDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public String bookDateDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public String forecastStage{get;set;}
|
||||
@AuraEnabled
|
||||
public String owner{get;set;}
|
||||
@AuraEnabled
|
||||
public Boolean isValueDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public Boolean isDateDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public Boolean isStageDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public Boolean error{get;set;}
|
||||
@AuraEnabled
|
||||
public Boolean isEAOppty{get;set;}
|
||||
//Forecast Status added by R.Hari Krishna(ratharik) : US398822: Relaxed Stage & Forecast Status - New Dependency
|
||||
@AuraEnabled
|
||||
public String forecastStatus{get;set;}
|
||||
@AuraEnabled
|
||||
public Boolean isforecastStusDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public Boolean ismultiYearDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public String multiYearDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public Boolean isannualDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public String annualDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public Boolean istermDiscrepancy{get;set;}
|
||||
@AuraEnabled
|
||||
public String termDiscrepancy{get;set;}
|
||||
|
||||
}
|
||||
|
||||
/***************
|
||||
* @Author : R.Hari Krishna(ratharik)
|
||||
* @Description : Wrapper class to hold both Software & Specialist Summary details
|
||||
*****************************/
|
||||
public class summaryWrap {
|
||||
@AuraEnabled
|
||||
public List<summaryViewDetails> specialistDtls{get;set;}
|
||||
@AuraEnabled
|
||||
public List<softwareSummaryViewDetails> swSpecialistDtls{get;set;}
|
||||
}
|
||||
@AuraEnabled
|
||||
public static void deleteRecords(){
|
||||
List<OpportunityLinesSV__c> opptySV =[Select id,Software_Specialist__c,Incubation_Specialist__c,Architecture_Specialist__c from OpportunityLinesSV__c WHERE Software_Specialist__c=null and Incubation_Specialist__c= null and Architecture_Specialist__c =null limit 10];
|
||||
if(opptySV.size()>0){
|
||||
delete opptySV;
|
||||
}
|
||||
}
|
||||
|
||||
// Method for checking the EA opportunity
|
||||
@AuraEnabled
|
||||
public static string checkEAOppty(String recId){
|
||||
// added by akoteshw
|
||||
// recId = '0062T00001IyzuKQAR' ;
|
||||
Opportunity eaAccess = [ SELECT id, Enterprise_Agreement_Opportunity__c FROM Opportunity WHERE id =:recId limit 1];
|
||||
return eaAccess.Enterprise_Agreement_Opportunity__c;
|
||||
}
|
||||
|
||||
//SE Evol - SE Multi Edit with Specialist View fields US273620 start
|
||||
@AuraEnabled
|
||||
public static boolean checkSEUser(){
|
||||
boolean isSEUser=false;
|
||||
User usr=[Select id, Additional_User_Permissions__c,Profile.name from User where id=:UserInfo.getUserId()];
|
||||
ProfileID__c p = ProfileID__c.getOrgDefaults();
|
||||
if(String.valueOf(usr).contains('Additional_User_Permissions__c')){
|
||||
if((usr.Additional_User_Permissions__c.contains('Enable_ePSS')||usr.Additional_User_Permissions__c.contains('Enable_VSS'))&&
|
||||
(usr.ProfileId==p.Cisco_Sales_PSS_Pilot__c || usr.ProfileId==p.Cisco_ADMIN__c)){
|
||||
// added by akoteshw admin condition to be removed
|
||||
isSEUser=false;
|
||||
}
|
||||
else{
|
||||
isSEUser=true;
|
||||
}
|
||||
}
|
||||
else{
|
||||
isSEUser=true;
|
||||
}
|
||||
return isSEUser;
|
||||
}
|
||||
//SE Evol - SE Multi Edit with Specialist View fields US273620 end
|
||||
|
||||
@AuraEnabled
|
||||
public static VsUserwrapper ifVssUser(String recId){
|
||||
|
||||
VsUserwrapper VSS = new VsUserwrapper();
|
||||
|
||||
user u = [select id,name,profile.name from user where id=:userinfo.getuserid()];
|
||||
list<opportunity> oplist = [select id,name,Enterprise_Agreement_Opportunity__c from Opportunity where Id=:recId];
|
||||
list<OpportunityTeamMember> RAList = [ select id,OpportunityId,UserId,TeamMemberRole from OpportunityTeamMember where OpportunityId=:recId and UserId=:userInfo.getUserId()];
|
||||
if(u.profile.name == 'Cisco_Sales_PSS_Pilot'){
|
||||
if(RAList.size()>0){
|
||||
if(RAList[0].TeamMemberRole != 'Software Specialist' && RAList[0].TeamMemberRole != 'Architecture Specialist' && RAList[0].TeamMemberRole != 'Incubation Specialist' && RAList[0].TeamMemberRole != 'Virtual Sales Specialist'){
|
||||
VSS.validated = 'true';
|
||||
VSS.EaValue = 'Vss';
|
||||
}
|
||||
if(RAList[0].TeamMemberRole == 'Software Specialist' && oplist[0].Enterprise_Agreement_Opportunity__c == 'yes'){
|
||||
VSS.validated = 'true';
|
||||
VSS.EaValue = 'true';
|
||||
}
|
||||
if(RAList[0].TeamMemberRole == 'Software Specialist' && oplist[0].Enterprise_Agreement_Opportunity__c == 'no'){
|
||||
VSS.validated = 'true';
|
||||
VSS.EaValue = 'false';
|
||||
}
|
||||
}
|
||||
}
|
||||
// added by akoteshw
|
||||
VSS.validated = 'true';
|
||||
VSS.EaValue = 'true';
|
||||
return VSS;
|
||||
}
|
||||
public class VsUserwrapper{
|
||||
@auraEnabled public string validated{get;set;}
|
||||
@auraEnabled public string EaValue{get;set;}
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue