public without sharing class LexSearchHospitalController { @AuraEnabled public static Results init(){ Results results = new Results(); try { User useracc = [SELECT accountid,UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId() ]; String accountId = Useracc.accountid; String soql = 'SELECT id,Name,State_Master__c,State_Master__r.Name,Address__c FROM Account'; soql += ' where id in (SELECT Hospital__c FROM hospitalprice__c WHERE account__c = :accountId) ' ; soql += ' order by Name desc limit 100'; results.attList = Database.query(soql); results.result = 'Success'; } catch (Exception e) { results.result = 'Fail'; results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); } return results; } @AuraEnabled public static Results searchHospital(String searchName, String accountId){ Results results = new Results(); try { results.attList = Database.query(makeSoql(searchName, accountId)); results.result = 'Success'; } catch (Exception e) { results.result = 'Fail'; results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); } return results; } private static String makeSoql(String searchName,String accountId){ String soql = 'SELECT id,Name,State_Master__c,State_Master__r.Name,Address__c FROM Account'; soql += ' where id in (SELECT Hospital__c FROM hospitalprice__c WHERE account__c = :accountId) ' ; if(String.isNotBlank(searchName)){ soql += ' AND Name like \'%' + searchName+ '%\''; } soql += ' order by Name desc limit 100'; return soql; } public class Results { @AuraEnabled public String result; @AuraEnabled public String errorMsg; @AuraEnabled public List attList; } }