public class SearchAgencyContactController { public String searchKeyWord{set;get;} public String staticResource {get; set;} public String contactAWSIds {set;get;} public String contactsInfo {set;get;} public String PIPL_Search_Contact_Label{set;get;} public String aId{set;get;} public static Boolean checkNullString(String inputString){ if(String.isEmpty(inputString)||String.isBlank(inputString)){ return true; } return false; } public SearchAgencyContactController() { String acId = ApexPages.currentPage().getParameters().get('acId'); searchKeyWord = ApexPages.currentPage().getParameters().get('searchContactKeyWord'); aId = acId; PIPL_Search_Contact_Label = Label.PIPL_Search_Contact_Label; //1. Query Agency_Contact__c by acId List acList = new List(); system.debug('Account Id from Front-end:'+acId); if(checkNullString(acId)&&checkNullString(searchKeyWord)){ acList = new List(); }else{ if(checkNullString(acId)){ acList = new List(); }else { //2022-5-12 yjk 将科室匹配改为医院匹配查询联系人 statt Agency_Hospital_Link__c ahl = [select id from Agency_Hospital_Link__c where id = :acId]; acList = new List([select Id,AWS_Data_Id__c,Agency_Hospital__c, Agency_Hospital__r.Name from Agency_Contact__c where Agency_Hospital__c =: ahl.Id and AWS_Data_Id__c!='']); //2022-5-12 yjk 将科室匹配改为医院匹配查询联系人 end } } //2. Prepare the Agency_Contact__c Info Map awsIdToContactMap = new Map(); List acAWSIds = new List(); for(Agency_Contact__c ac:acList){ acAWSIds.add(ac.AWS_Data_Id__c); awsIdToContactMap.put(ac.AWS_Data_Id__c,ac); } contactsInfo = JSON.serialize(awsIdToContactMap); contactAWSIds = JSON.serialize(acAWSIds); staticResource = JSON.serialize(PIHelper.getPIIntegrationInfo('Agency_Contact__c')); } @RemoteAction public static Response searchAgencyContacts(String awsAgencyContactIds,String searchAgencyContactName,String accountId) { system.debug('awsAgencyContactIds = ' + awsAgencyContactIds); Response resp = new Response(); resp.status = 'fail'; Map awsIdToContactMapTemp = new Map(); if(!checkNullString(awsAgencyContactIds)){ List awsDataIds = (List) JSON.deserialize(awsAgencyContactIds, List.class); List conListTemp = new List(); if(!checkNullString(accountId)){ //2022-5-12 yjk 将科室匹配改为医院匹配查询联系人 statt Agency_Hospital_Link__c act = [select id from Agency_Hospital_Link__c where id = :accountId]; conListTemp = new List([select Id,AWS_Data_Id__c, Agency_Hospital__r.Name,Department_Class__r.Name from Agency_Contact__c where Agency_Hospital__c =: act.Id and AWS_Data_Id__c in:awsDataIds]); //2022-5-12 yjk 将科室匹配改为医院匹配查询联系人 end }else { conListTemp = new List([select Id,AWS_Data_Id__c,Agency_Hospital__r.Name,Department_Class__r.Name from Agency_Contact__c where AWS_Data_Id__c in:awsDataIds]); } for(Agency_Contact__c con:conListTemp){ awsIdToContactMapTemp.put(con.AWS_Data_Id__c,con); } } System.debug('awsIdToContactMapTemp = ' + awsIdToContactMapTemp); //Map noPIContactMapTemp = new Map(); //List partnerContactList = AWSServiceTool.getNoPIAgencyContact(searchAgencyContactName,accountId); //System.debug('partnerContactList = ' + partnerContactList); // if(partnerContactList.size()>0){ // for(Agency_Contact__c con:partnerContactList){ // noPIContactMapTemp.put(con.Id,con); // } // } if(awsIdToContactMapTemp.keySet().size()>0){ resp.status = 'success'; resp.message = JSON.serialize(awsIdToContactMapTemp);// PI contact info //resp.noPIContactList = JSON.serialize(noPIContactMapTemp);//NoPI contact info } return resp; } public class Response{ public String message{set;get;} public String status{set;get;} public String noPIContactList{set;get;} } }