public with sharing class TydelikeAccController { public Account acc {get;set;} public Contact con {get;set;} public TydelikeAccount__c tyac {get;set;} public TydelikeContact__c tyco {get;set;} public String tycoId { get; set; } public String tyacId { get; set; } public String baseUrl { get; set; } public String rtUrl { get; set; } public TydelikeAccController() { 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() { tyacId = System.currentPageReference().getParameters().get('tyacId'); tycoId = System.currentPageReference().getParameters().get('tycoId'); System.debug('tyacId='+tyacId); System.debug('tycoId+'+tycoId); //当前登陆人ID。传了产品分类就用传的,没传就用取到的。 /*String now_userId = UserInfo.getUserId(); now_userId.substring(0,15); List uidList = new List(); List userList = new List(); userList = [select ContactId from User where Id =:now_userId]; if (userList.size() == 0) { return null; } uidList.add(userList.get(0).ContactId); String productSegment = ''; List cprList = new List(); cprList = [select ProductSegment__c from Contact where Id =:uidList]; if (cprList.size() == 0) { return null; } productSegment = cprList.get(0).ProductSegment__c; System.debug('productSegment='+productSegment);*/ //显示客户 List tyacList = new List(); tyacList = [select id,Name,AssetBS3D__c,AssetBS2D__c,OCNServiceStaff__c,AssetBS1D__c,AssetBS5D__c,ManagementCode_Ext__c, Sub_UseD__c,AssetBS4D__c,EnglishNameD__c,DepartmentNameD__c,FacilityNameD__c,IndustryCD__c,MarketVerticalsD__c,CancelReasonD__c, ExportRegulatedCustomer__c,Province__c,Whether_OEM__c,OfSkrap__c,GlobalAccountName__c,DivisionName_D__c,UseD__c,UserType__c, WebsiteD__c,KeyAccount__c,TyCity__c,TyAddress__c,TyPostCode__c,ProductSegment__c,FaxD__c,Remark__c,DealerSelectOwner__c, PhoneD__c,NationalEnterpriseUser__c from TydelikeAccount__c where id =: tyacId]; if (tyacList.size() > 0) { tyac = tyacList[0]; } System.debug('tyac='+tyac); //初始化客户赋值 acc = new Account(); acc.Name = tyac.Name; acc.AssetBS3D__c = tyac.AssetBS3D__c; acc.AssetBS2D__c = tyac.AssetBS2D__c; acc.OCNServiceStaff__c = tyac.OCNServiceStaff__c; acc.AssetBS1D__c = tyac.AssetBS1D__c; acc.AssetBS5D__c = tyac.AssetBS5D__c; acc.ManagementCode_Ext__c = tyac.ManagementCode_Ext__c; acc.Sub_UseD__c = tyac.Sub_UseD__c; acc.EnglishNameD__c = tyac.EnglishNameD__c; acc.DepartmentNameD__c = tyac.DepartmentNameD__c; acc.FacilityNameD__c = tyac.FacilityNameD__c; acc.MarketVerticalsD__c = tyac.MarketVerticalsD__c; acc.CancelReasonD__c = tyac.CancelReasonD__c; acc.ExportRegulatedCustomer__c = tyac.ExportRegulatedCustomer__c; acc.Province__c = tyac.Province__c; acc.Whether_OEM__c = tyac.Whether_OEM__c; acc.GlobalAccountName__c = tyac.GlobalAccountName__c; acc.DivisionName_D__c = tyac.DivisionName_D__c; acc.UseD__c = tyac.UseD__c; acc.UserType__c = tyac.UserType__c; acc.WebsiteD__c = tyac.WebsiteD__c; acc.CityD__c = tyac.TyCity__c; acc.Address1D__c = tyac.TyAddress__c; acc.PostCodeD__c = tyac.TyPostCode__c; acc.ProductSegment__c = tyac.ProductSegment__c; /*acc.ProductSegment__c = tyac.ProductSegment__c == null?productSegment:tyac.ProductSegment__c;*/ acc.FaxD__c = tyac.FaxD__c; acc.Remark__c = tyac.Remark__c; acc.DealerSelectOwner__c = tyac.DealerSelectOwner__c; acc.PhoneD__c = tyac.PhoneD__c; acc.NationalEnterpriseUser__c = tyac.NationalEnterpriseUser__c; acc.AssetBS4D__c = tyac.AssetBS4D__c; if (String.isNotBlank(tycoId)) { List tycoList = [select Id,Name,TyAddress__c,TyFaxD__c,TyPhoneD__c,TyPostcode__c,EnglishAddress__c,ContactEnglishName__c from TydelikeContact__c where Id =: tycoId]; if (tycoList.size() > 0) { tyco = tycoList[0]; } //初始化联系人赋值 con = new Contact(); con.LastName = tyco.Name; con.Address1D__c = tyco.TyAddress__c; con.FaxD__c = tyco.TyFaxD__c; con.MobilePhoneD__c = tyco.TyPhoneD__c; con.PostcodeD__c = tyco.TyPostcode__c; con.EnglishAddress__c = tyco.EnglishAddress__c; con.ContactEnglishName__c = tyco.ContactEnglishName__c; } return null; } public PageReference save() { //创建,肯定有客户。若无联系人,显示客户创建页面。 //通过url传进来的联系人id,tycoId。通过url传进来的客户id,tyacId tycoId = System.currentPageReference().getParameters().get('tycoId'); tyacId = System.currentPageReference().getParameters().get('tyacId'); List tyconList = new List(); if (String.isNotBlank(tycoId)) { TydelikeContact__c tycontact = new TydelikeContact__c(); tycontact.Id = tycoId; tycontact.OfSkrap__c = true; tycontact.Ofomtecon__c = true; tyconList.add(tycontact); System.debug('tyconList='+tyconList); } //OfSkrap__c,Ofomtecon__c,Ofomteacc__c,帮助调查。 List tyacList = new List(); TydelikeAccount__c tyaccount = new TydelikeAccount__c(); tyaccount.Id = tyacId; tyaccount.Ofomteacc__c = true; tyacList.add(tyaccount); System.debug('tyacList='+tyacList); Savepoint sp = Database.setSavepoint(); try { if (String.isNotBlank(tycoId)) { update tyconList; } update tyacList; insert acc; if (String.isNotBlank(tycoId)) { con.AccountId = acc.Id; if (acc.ProductSegment__c == 'BS') { con.ProductSegmentBS__c = true; }else if(acc.ProductSegment__c == 'IE'){ con.ProductSegmentIE__c = true; }else if(acc.ProductSegment__c == 'NDT'){ con.ProductSegmentNDT__c = true; }else if(acc.ProductSegment__c == 'ANI'){ con.ProductSegmentANI__c = true; }else if(acc.ProductSegment__c == 'RVI'){ con.ProductSegmentRVI__c = true; } insert con; } String url = baseUrl + '/apex/TydelikeAC'; return new Pagereference(url); } catch (Exception e) { Database.rollback(sp); ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, e.getMessage())); } return null; } }