global class NewAndEditInquiryFormController extends NewAndEditBaseController
|
{
|
// public String contactsInfo {set;get;}//key sfid;value awsid
|
// public String leadsInfo {set;get;}//key sfid;value awsid
|
public String PIPL_Input_Account_Error_Msg{set;get;}
|
public String contactId{set;get;}//For Lookup field
|
public String leadId{set;get;}//For Lead Lookup
|
public String staticResourceContact {get; set;}
|
public String staticResourceLead {get; set;}
|
public String urlCheckContactAWSid {get; set;}
|
public String contactAWSDataId{set;get;}
|
public String contactName{set;get;}
|
public NewAndEditInquiryFormController(ApexPages.StandardController controller) {
|
List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Inquiry_form__c').getDescribe().fields.getMap().keyset());
|
// Add fields to controller. This is to avoid the SOQL error in visualforce page
|
if (!Test.isRunningTest()) {
|
controller.addFields(fieldList);
|
}
|
// contact lookup
|
LookUpOverrideFields.add('Contact_Name__c');
|
LookUpOverrideFields.add('Lead_link__c');
|
Init(controller.getRecord());
|
//添加项
|
PIPL_Input_Account_Error_Msg = label.PIPL_Input_Account_Error_Msg;
|
SObject obj = controller.getRecord();
|
if(obj.Id == null){
|
//初始化加载值
|
obj.put('OwnerId',UserInfo.getUserId());
|
//SWAG-CBUB2W you 20220427 start
|
obj.put('Name','*');
|
//SWAG-CBUB2W you 20220427 end
|
}else {
|
//联系人的Id
|
Inquiry_form__c ifc = [select Contact_Name__c from Inquiry_form__c where id=:obj.Id];
|
if(ifc != null){
|
List<Contact> c = [select AWS_Data_Id__c,Name from Contact where id=:ifc.Contact_Name__c];
|
if(c.size()>0){
|
if (c[0].AWS_Data_Id__c != null && c[0].AWS_Data_Id__c != '') {
|
contactAWSDataId = c[0].AWS_Data_Id__c;
|
}else {
|
contactName = c[0].Name;
|
}
|
}
|
}else {
|
contactAWSDataId = '无';
|
contactName = '无';
|
}
|
}
|
//contact信息(搜索查询query url用)
|
staticResourceContact = JSON.serialize(PIHelper.getPIIntegrationInfo('Contact'));
|
//Lead信息(搜索查询query url用)
|
staticResourceLead = JSON.serialize(PIHelper.getPIIntegrationInfo('Lead'));
|
|
checkUrl('CF00N1000000962n8_lkid','Contact');
|
}
|
|
@RemoteAction
|
global static Response saveInquiryForm(String leadJson,String transId,Boolean isNew) {
|
return save(new Inquiry_form__c(),leadJson,transId,isNew);
|
}
|
|
@RemoteAction
|
global static String queryAccount(String accountTypes,String accountId) {
|
System.debug('accountType='+accountTypes);
|
System.debug('accountId='+accountId);
|
List<Object> types = (List<Object>)JSON.deserializeUntyped(accountTypes);
|
System.debug('types='+types);
|
String soql = 'select Id,Name,';
|
for (Object t : types) {
|
soql += (String)t+',';
|
}
|
soql = soql.substring(0,soql.length()-1);
|
soql += ' from Account where id=\''+accountId+'\'';
|
System.debug('soql='+soql);
|
Sobject account = Database.query(soql);
|
|
Map<String, Map<String, String>> m = new Map<String, Map<String, String>>();
|
|
System.debug('account='+account);
|
for (Object ty : types) {
|
String t = (String)ty;
|
if (account.get(t) != null){
|
Sobject acc = Database.query('select Id,Name from Account where id=\''+account.get(t)+'\'');
|
Map<String, String> n = new Map<String, String>();
|
n.put('Id', (String)acc.get('Id'));
|
n.put('Name', (String)acc.get('Name'));
|
m.put(t, n);
|
}
|
}
|
// if (account.get('Hospital__c') != null){
|
// m.put('Hospital__c', (String)account.get('Hospital__c'));
|
// m.put('Hospital__r.Name', (String)account.get('Hospital__r.Name'));
|
// }
|
// if (account.get('Department_Class__c') != null){
|
// m.put('Department_Class__c', (String)account.get('Department_Class__c'));
|
// m.put('Department_Class__r.Name', (String)account.get('Department_Class__r.Name'));
|
// }
|
System.debug('m='+m);
|
return JSON.serialize(m);
|
|
// return (String)account.get('Hospital__c');
|
}
|
|
private void checkUrl(String urlStr, String sobjType){
|
Map<String, String> urlFieldMap = new Map<String, String>();
|
urlFieldMap = ApexPages.currentPage().getParameters();
|
if (urlFieldMap.containsKey(urlStr)) {
|
String sobjId = urlFieldMap.get(urlStr);
|
String soql = 'select id,AWS_Data_Id__c from ' + sobjType;
|
soql += ' where id=\'' + sobjId + '\'';
|
Sobject sobj = Database.query(soql);
|
|
Map<String, String> m = new Map<String, String>();
|
|
sobjId = sobjId.substring(0,sobjId.length()-3);
|
m.put((String)sobjId, (String)sobj.get('AWS_Data_Id__c'));
|
|
LookUpOverrideFieldsMapJson = JSON.serialize(m);
|
}
|
}
|
}
|