public without sharing class lexSearchAgencyHospitalController { //经销商用户产品分类(ET、ENG) public static String agencyProType {get;set;} public static String searchName {get;set;} private static String accountid = null; @AuraEnabled public static List at {get;set;} @AuraEnabled public static ResponseBodyLWC init(String ctype){ ResponseBodyLWC res = new ResponseBodyLWC(); Map data = new Map(); res.entity = data; User useracc = [SELECT accountid,UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId() ]; accountid = Useracc.accountid; agencyProType = Useracc.UserPro_Type__c; if(String.isBlank(Useracc.UserPro_Type__c)){ agencyProType = 'ET'; } String soql = 'SELECT id,Name,State_Master__c,State_Master__r.Name FROM Account'; soql += ' where id in (SELECT Hospital__c FROM Agency_Hospital_Link__c WHERE Agency__c = \'' + accountid + '\' AND Hosptial_Type__c like \'%' + String.escapeSingleQuotes(ctype.replaceAll('%', '\\%')) + '%\')' ; soql += ' order by Name desc limit 100'; at = Database.query(soql); data.put('at',at); res.status = 'Success'; res.code = 200; System.debug('res = ' + res); return res; } @AuraEnabled public static ResponseBodyLWC serContact(String searchName,String ctype){ ResponseBodyLWC res = new ResponseBodyLWC(); Map data = new Map(); res.entity = data; User useracc = [SELECT accountid,UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId() ]; accountid = Useracc.accountid; at = Database.query(makeSoql(searchName,accountid,ctype)); data.put('at',at); res.status = 'Success'; res.code = 200; System.debug('res = ' + res); return res; } private static String makeSoql(String searchName,String accountid,String ctype){ String soql = 'SELECT id,Name,State_Master__c,State_Master__r.Name FROM Account'; soql += ' where id in (SELECT Hospital__c FROM Agency_Hospital_Link__c WHERE Agency__c = \'' + accountid + '\' AND Hosptial_Type__c like \'%' + String.escapeSingleQuotes(ctype.replaceAll('%', '\\%')) + '%\')' ; if(String.isNotBlank(searchName)){ soql += ' AND Name like \'%' + String.escapeSingleQuotes(searchName.replaceAll('%', '\\%')) + '%\''; } soql += ' order by Name desc limit 100'; //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, 'soql' + soql)); return soql; } }