李彤
2023-05-29 41a627eaaf29658a401ac43e4da838a5b622f44e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
public without sharing class searchContractController {
    public List<Account> at {get;set;}
    private String accountid = null;
    public String searchName {get;set;}               // 検索文字列
    private String ctype;
    Date todayDate = Date.today();
 
    private Boolean OSHFLG;//lt 20230517 安徽两票制 add
 
    public searchContractController() {
        ctype = ApexPages.currentPage().getParameters().get('Ctype');
        todayDate = Date.today();
 
    }
    public void init(){
        //lt 20230517 安徽两票制 add ,OSHFLG__c
        User useracc = [SELECT accountid,OSHFLG__c FROM user WHERE id = :UserInfo.getUserId() ];
        OSHFLG = Useracc.OSHFLG__c; //lt 20230517 安徽两票制 add
 
        accountid = Useracc.accountid;
        at = [SELECT id,Name,State_Master__c,State_Master__r.Name,Sales_Section__c,
                    Contract_Decide_Start_Date__c,Contract_Decide_End_Date__c
                    // ,OSH_Dealer__c //20230323 lt DB202303088261 两票制 add
                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
                ];
                // System.debug('lt123---1---'+at);
 
    }
    public PageReference serContact(){
        at = Database.query(this.makeSoql(searchName,todayDate));
        // System.debug('lt123---2---'+at);
        return null;
    }
 
    private String makeSoql(String CateName,Date timetest){
        
        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';  //20230323 lt DB202303088261 两票制 add ,OSH_Dealer__c
        soql += ' where ParentId = \'' + this.accountid + '\'' ;
        soql += ' AND OSH_Dealer__c = ' + this.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('%', '\\%')) + '%\'';
        }
        // System.debug('lt123---3---'+soql);
        return soql;
        
    }
}