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<Id> uidList = new List<Id>();
|
List<user> userList = new List<user>();
|
|
userList = [select ContactId from User where Id =:now_userId];
|
if (userList.size() == 0) {
|
return null;
|
}
|
|
uidList.add(userList.get(0).ContactId);
|
String productSegment = '';
|
List<Contact> cprList = new List<Contact>();
|
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<TydelikeAccount__c> tyacList = new List<TydelikeAccount__c>();
|
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<TydelikeContact__c> 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<TydelikeContact__c> tyconList = new List<TydelikeContact__c>();
|
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<TydelikeAccount__c> tyacList = new List<TydelikeAccount__c>();
|
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;
|
}
|
}
|