/** * @description : * @author : ChangeMeIn@UserSettingsUnder.SFDoc * @group : * @last modified on : 04-08-2022 * @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc **/ 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 accList = [select Id, Name, ProductSegment__c,compo_Acc__c,UserType__c from Account where Id = :accId]; if (accList.size() > 0) { acc = accList[0]; } List 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.Name = acc.Name;//dennis updated for test 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 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 { //0120K000000OptT正式环境 //0120T0000003Ser测试环境 opp.RecordTypeId = '0120T0000003Ser'; 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++; } }