public without sharing class LexSearchContractController { private static Boolean OSHFLG; //lt 20230517 安徽两票制 add @AuraEnabled public static Results init(String ctype) { Results results = new Results(); try { //lt 20230517 安徽两票制 add ,OSHFLG__c User useracc = [SELECT accountid, OSHFLG__c FROM user WHERE id = :UserInfo.getUserId()]; OSHFLG = Useracc.OSHFLG__c; //lt 20230517 安徽两票制 add; String accountId = Useracc.accountid; List attList = [ SELECT id, Name, State_Master__c, State_Master__r.Name, Sales_Section__c, Contract_Decide_Start_Date__c, Contract_Decide_End_Date__c FROM Account WHERE ParentId = :accountId AND Contact_Type__c LIKE :ctype AND Contract_Decide_Start_Date__c <= :Date.Today() AND Contract_Decide_End_Date__c >= :Date.Today() AND Secondary_contract__c = FALSE AND OSH_Dealer__c = :OSHFLG //lt 20230517 安徽两票制 add ]; results.attList = attList; results.result = 'Success'; } catch (Exception e) { results.result = 'Fail'; results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); } return results; } @AuraEnabled public static Results searchContract(String searchName, String accountId, String ctype, Boolean OSHFLGStr) { Results results = new Results(); OSHFLG = OSHFLGStr; try { results.attList = Database.query(makeSoql(searchName, Date.today(), accountId, ctype)); results.result = 'Success'; } catch (Exception e) { results.result = 'Fail'; results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); } return results; } private static String makeSoql(String CateName, Date timetest, String accountId, String ctype) { String soql = 'SELECT id,Name,State_Master__c,State_Master__r.Name,Sales_Section__c,'; soql += ' Contract_Decide_Start_Date__c,Contract_Decide_End_Date__c,OSH_Dealer__c FROM Account'; soql += ' where ParentId = \'' + accountId + '\''; soql += ' AND OSH_Dealer__c = ' + OSHFLG + ''; //lt 20230517 安徽两票制 add soql += ' AND Secondary_contract__c = false'; soql += ' AND Contact_Type__c like \'%' + String.escapeSingleQuotes(ctype.replaceAll('%', '\\%')) + '%\''; soql += ' AND Contract_Decide_Start_Date__c <=' + String.valueOf(timetest).substring(0, 10); soql += ' AND Contract_Decide_End_Date__c >= ' + String.valueOf(timetest).substring(0, 10); if (!String.isBlank(CateName)) { soql += ' AND Name like \'%' + String.escapeSingleQuotes(CateName.replaceAll('%', '\\%')) + '%\''; } return soql; } public class Results { @AuraEnabled public String result; @AuraEnabled public String errorMsg; @AuraEnabled public List attList; } }