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