public with sharing class IENewOpportunityController {
|
public boolean hasError { get; set; }
|
//public boolean isDealerPage { get; set; }
|
|
public Opportunity opp { get; set; }
|
|
public String accId { get; set; }
|
public String conId { get; set; }
|
private Account acc;
|
private Contact con;
|
|
public String baseUrl { get; set; }
|
public String rtUrl { get; set; }
|
|
//public String ProductSegment { get; set; }
|
|
//public Boolean isIEDealer{get; set; }
|
|
public IENewOpportunityController() {
|
baseUrl = URL.getSalesforceBaseUrl().toExternalForm();
|
String path = URL.getCurrentRequestUrl().getPath();
|
if (path.indexOf('/apex') > 0) {
|
baseUrl += path.substring(0,path.indexOf('/apex'));
|
} else if (path.indexOf('production/') > 0) {
|
baseUrl += '/production';
|
}
|
rtUrl = System.currentPageReference().getParameters().get('retURL');
|
if (rtUrl == null || rtUrl == 'null') {
|
rtUrl = '';
|
}
|
}
|
|
public PageReference init() {
|
hasError = false;
|
|
accId = System.currentPageReference().getParameters().get('accid');
|
conId = System.currentPageReference().getParameters().get('conId');
|
|
List<Account> accList = [select Id, Name, ProductSegment__c,compo_Acc__c,UserType__c from Account where Id = :accId];
|
if (accList.size() > 0) {
|
acc = accList[0];
|
}
|
|
List<Contact> conList = [select Id, Name from Contact where Id = :conId];
|
if (conList.size() > 0) {
|
con = conList[0];
|
}
|
|
//no.6 gwy 2021-06-03
|
opp = new Opportunity();
|
if(acc.ProductSegment__c == 'IE' && acc.compo_Acc__c == 'COMPO客户'){
|
opp.compo_opp__c = true;
|
}
|
opp.AccountId = acc.Id;
|
opp.Account = acc;
|
opp.ProductSegment__c = acc.ProductSegment__c;
|
opp.Type = 'Not Traget';
|
opp.SalesChannel__c = 'direct';
|
opp.NewInquiryDate__c = Date.today();
|
opp.StageName = 'Prospect Created';
|
opp.CloseDate = Date.valueOf('1900-01-01');
|
|
|
return null;
|
}
|
|
public PageReference saveBtn() {
|
List<Opportunity> checkList = [select id, Name from Opportunity where AccountId = :opp.AccountId and Name = :opp.Name];
|
if (checkList.size() > 0) {
|
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Info, '该客户下有名称一样的询价,是否继续创建该询价?'));
|
hasError = true;
|
} else {
|
if(opp.Have_Computer__c && opp.Association_Opportunity__c == null){
|
|
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Info, '请选择关联的询价'));
|
return null;
|
|
}else if(opp.Have_Computer__c == false && opp.Association_Opportunity__c != null){
|
ApexPages.addMessage(new ApexPages.message(ApexPages.severity.Info, '请在包含电脑的询价中选择主机询价。'));
|
return null;
|
}else if(opp.Have_Computer__c && opp.Association_Opportunity__c != null){
|
Opportunity opp1 = [select id,Have_Computer__c from Opportunity where id = :opp.Association_Opportunity__c];
|
if(opp1.Have_Computer__c){
|
ApexPages.addMessage(new ApexPages.message(ApexPages.severity.Info, '选择的询价是电脑询价,请确认询价信息后再保存。'));
|
return null;
|
}
|
}
|
return saveBtnYes();
|
}
|
return null;
|
}
|
|
public PageReference saveBtnYes() {
|
system.debug('=====saveBtnYes');
|
|
Savepoint sp = Database.setSavepoint();
|
try {
|
//0120T0000003Ser测试环境
|
opp.RecordTypeId = '0120K000000OptT';
|
opp.SalesChannel__c = 'direct';
|
insert opp;
|
if(opp.Have_Computer__c && opp.Association_Opportunity__c != null){
|
|
StaticParameter.OppChangeopp = true;
|
StaticParameter.OppCanChangeOpp = true;
|
Opportunity newopp = new Opportunity();
|
newopp.Id = opp.Association_Opportunity__c;
|
newopp.Association_Opportunity__c = opp.Id;
|
system.debug(opp.Association_Opportunity__c);
|
update newopp;
|
}
|
OpportunityContactRole ocr = new OpportunityContactRole();
|
ocr.OpportunityId = opp.Id;
|
ocr.ContactId = con.Id;
|
ocr.Role = 'End user';
|
ocr.IsPrimary = true;
|
insert ocr;
|
|
hasError = false;
|
|
String url = baseUrl + '\\' + opp.Id;
|
return new Pagereference(url);
|
} catch (Exception e) {
|
Database.rollback(sp);
|
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, e.getMessage()));
|
hasError = false;
|
}
|
|
return null;
|
}
|
|
public PageReference saveBtnNo() {
|
system.debug('=====saveBtnNo');
|
hasError = false;
|
|
return null;
|
}
|
|
|
|
|
|
|
|
public static void asd() {
|
Integer i = 1;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
}
|
}
|