liuyn
2024-03-11 a87f1c3df03078814ee97ad0c8ac200a232419e9
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
public without sharing class searchAimsAccount {
 
 
    public String SearchName {get;set;}
    private String accountid = null;
    private String accName = null;
    private String protype = null;
    public List<Account> at {get;set;}
 
    public searchAimsAccount() {
        accountId = ApexPages.currentPage().getParameters().get('accId');
        accName = ApexPages.currentPage().getParameters().get('accName');
        // DB202309406949 gzw start
        protype = ApexPages.currentPage().getParameters().get('protype');
    }
 
    public void init(){
        String soql = makeSoql('',accountId);
        at = Database.query(soql);
    }
 
    public PageReference serContact(){
        at = Database.query(this.makeSoql(SearchName,accountid));
        return null;
    }
 
    private String makeSoql(String searchName,String accountid){
 
        String soql = 'SELECT id,Name,State_Master__c,State_Master__r.Name,Address__c FROM Account';
        if (accountId != null && accountId != '') {
            soql += ' where id in (SELECT Hospital__c FROM Agency_Hospital_Link__c WHERE Agency__c = :accountid  ' ;
            
        }else{
            soql += ' where id in (SELECT Hospital__c FROM Agency_Hospital_Link__c WHERE Agency__r.Name = :accName ' ;
        }
        if (protype == 'ENG' ) {
            soql += 'and AgencyHos_ENG__c = true ) ';
        }else{
           soql += 'and AgencyHos_ET__c = true ) '; 
        }
 
        if(String.isNotBlank(searchName)){
            soql += ' AND Name like \'%' + SearchName+ '%\'';
        }
        soql += ' order by Name desc limit 200 ';
        return soql;
 
    }
 
  /*public List<Agency_Hospital_Link__c> ahlList;
    public List<searchAgencyHospitalLink> AgencyHospitalLinkList  { get; set; }
    public List<Account> AccountList {get;set;}
    public String accountId{get;set;}
    public searchAimsAccount() {
        accountId = ApexPages.currentPage().getParameters().get('accId');
 
        AgencyHospitalLinkList = new List<searchAgencyHospitalLink>();
        system.debug('accountId' + accountId);
    }
 
    public void init(){
        system.debug(accountId + 'accountId');
        ahlList = [select Hospital__c, Hospital__r.name,Agency__c from Agency_Hospital_Link__c where Agency__c = :accountId and AgencyHos_ENG__c = true limit 200 ];
        for(Agency_Hospital_Link__c ahl_c : ahlList){
            searchAgencyHospitalLink ahl = new searchAgencyHospitalLink(ahl_c);
            AgencyHospitalLinkList.add(ahl);
        }
 
    }
    class searchAgencyHospitalLink{
        public Agency_Hospital_Link__c ahlc { get; set;}
        public searchAgencyHospitalLink(Agency_Hospital_Link__c ahl_c){
            ahlc = ahl_c;
        }
    }*/
}