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; } }