From 8badb57ea2c82557850ad5b39281c3e8714eb119 Mon Sep 17 00:00:00 2001
From: liuyan <liuyan@prec-tech.com>
Date: 星期四, 24 十一月 2022 10:08:31 +0800
Subject: [PATCH] 科室信息漏传SPO问题
---
force-app/main/default/classes/NewAndEditInquiryFormController.cls | 66 ++++++++++++++++++++++++++++++++
1 files changed, 65 insertions(+), 1 deletions(-)
diff --git a/force-app/main/default/classes/NewAndEditInquiryFormController.cls b/force-app/main/default/classes/NewAndEditInquiryFormController.cls
index 1246cf2..64380cf 100644
--- a/force-app/main/default/classes/NewAndEditInquiryFormController.cls
+++ b/force-app/main/default/classes/NewAndEditInquiryFormController.cls
@@ -8,10 +8,14 @@
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
- controller.addFields(fieldList);
+ if (!Test.isRunningTest()) {
+ controller.addFields(fieldList);
+ }
// contact lookup
LookUpOverrideFields.add('Contact_Name__c');
LookUpOverrideFields.add('Lead_link__c');
@@ -22,6 +26,22 @@
if(obj.Id == null){
//鍒濆鍖栧姞杞藉��
obj.put('OwnerId',UserInfo.getUserId());
+ }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淇℃伅锛堟悳绱㈡煡璇uery url鐢級
staticResourceContact = JSON.serialize(PIHelper.getPIIntegrationInfo('Contact'));
@@ -36,6 +56,48 @@
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();
@@ -46,6 +108,8 @@
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);
--
Gitblit v1.9.1