public with sharing class NewLoanerApplicationController {
|
//客户ID
|
public String accountID {get; private set;}
|
//联系人id
|
public String contactID {get; private set;}
|
|
public loaner_application__c la{get; private set;}
|
|
// Update 20220318 By Yang Kaiyu Start
|
public loaner_user__c lu {get; private set;}
|
|
public Contact con {get; private set;}
|
// Update 20220318 By Yang Kaiyu End
|
|
public String typeName {get; private set;}
|
|
public String userType {get; private set;}
|
|
public String baseUrl { get; set; }
|
public String rtUrl { get; set; }
|
|
// Update 20220318 By Yang Kaiyu Start
|
public String staticResource {get; set;}
|
public String staticResourceContact {get; set;}
|
public String staticResourceLoanerUser {get; set;}
|
|
public String laid {get; set;}
|
// Update 20220318 By Yang Kaiyu End
|
|
public NewLoanerApplicationController() {
|
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() {
|
userType = UserInfo.getUserType();
|
accountID = System.currentPageReference().getParameters().get('accid');
|
contactID = System.currentPageReference().getParameters().get('conId');
|
// Update 20220318 By Yang Kaiyu End
|
staticResource = JSON.serialize(PIHelper.getPIIntegrationInfo('loaner_application__c'));
|
staticResourceContact = JSON.serialize(PIHelper.getPIIntegrationInfo('Contact'));
|
staticResourceLoanerUser = JSON.serialize(PIHelper.getPIIntegrationInfo('loaner_user__c'));
|
// Update 20220318 By Yang Kaiyu End
|
|
Account acc = [select id,ProductSegment__c from Account where id = :accountID];
|
typeName = acc.ProductSegment__c;
|
Id recordTypeId =Schema.SObjectType.loaner_application__c.getRecordTypeInfosByName()
|
.get(typeName).getRecordTypeId();
|
|
la = new loaner_application__c();
|
// Update 20220318 By Yang Kaiyu End
|
lu = new loaner_user__c();
|
con = new Contact();
|
// Update 20220318 By Yang Kaiyu End
|
la.RecordTypeId= recordTypeId;
|
if(typeName == 'BS' && userType != 'Standard'){
|
la.RecordTypeId = System.label.bs_D_ID;
|
}
|
System.debug(la.RecordTypeId);
|
//ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error,accountID));
|
// Update 20220318 By Yang Kaiyu End
|
con = [select id,AWS_Data_Id__c,Phone,Phone_Encrypted__c,Name,LastName_Encrypted__c,Address1__c from Contact where id = :contactID];
|
// Update 20220318 By Yang Kaiyu End
|
return null;
|
}
|
|
public PageReference saveBtn() {
|
if(la.Request_shipping_Date__c < Date.today()){
|
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '到货日不得早于今天'));
|
return null;
|
}
|
if(la.Request_shipping_Date__c >= la.Request_return_Date__c){
|
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '归还日不得早于到货日'));
|
return null;
|
}
|
Account acc = [select id,Name from Account where id = :accountID];
|
la.Loaner_Account__c = acc.Name;
|
la.ApplyPerson__c = UserInfo.getUserId();
|
Savepoint sp = Database.setSavepoint();
|
try {
|
insert la;
|
|
// loaner_user__c lu = new loaner_user__c(); // Update 20220412 By Chen Yanan
|
lu.loaner_application__c = la.id;
|
lu.Customer__c = accountID;
|
// Update 20220318 By Yang Kaiyu Start
|
// System.debug('lu------------'+lu);
|
// if(contactID != null){
|
// lu.Contact__c = contactID;
|
// Contact contact = [select id,AWS_Data_Id__c,Phone,Phone_Encrypted__c,Name,LastName_Encrypted__c,Address1__c from Contact where id = :contactID];
|
// lu.ContactNumber__c = contact.Phone;
|
|
// }
|
// Update 20220318 By Yang Kaiyu End
|
|
insert lu;
|
// Update 20220318 By Yang Kaiyu Start
|
laid = la.id;
|
// String url = baseUrl + '\\' + la.Id;
|
// return new Pagereference(url);
|
return null;
|
// Update 20220318 By Yang Kaiyu End
|
} catch (Exception e) {
|
Database.rollback(sp);
|
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, e.getMessage()));
|
}
|
|
return null;
|
}
|
|
public PageReference cancelBtn() {
|
// 返回样机借出申请画面
|
String url = baseUrl;
|
if(contactID == null){
|
url += '\\' + accountID;
|
}else{
|
url += '\\' + contactID;
|
}
|
|
return new Pagereference(url);
|
return null;
|
}
|
}
|