buli
2022-04-26 5835379ec30b1667c4e522db9d294c9b7bb8633a
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
public with sharing class SearchMemberPageController {
    //页面输入检索条件
    public String searchByName{get;set;}
    public String searchByAccount{get;set;}
    public string searchByAWSDataIds{get;set;}// 20220221 PI改造 by Bright
    public String memberType{get;set;}
    public List<LineMember> lineList{get;set;} 
    public Integer lineNum{get;set;}
    public String memberId{get;set;}
    public String memberName{get;set;}
    public String memberEmail{get;set;}
    public String aws_data_id{get;set;}// 20220221 PI改造 by Bright
    
    public Boolean isError{get;set;}
    public String staticResource{get; private set; }// 20220221 PI改造 by Bright
 
    public SearchMemberPageController() {
        lineNum = Integer.valueOf(System.currentPageReference().getParameters().get('lineNum'));
        staticResource = JSON.serialize(PIHelper.getPIIntegrationInfo('Contact'));// 20220221 PI改造 by Bright
    }
    public void init(){
        lineList = new List<LineMember>();
        memberType = 'Contact';
    }
    //前台点击查询
    public void SearchMember(){
        lineList.clear();
        System.debug('memberType:'+memberType);
        String soql = '';
        if(memberType == 'Contact'){
 
            soql = 'select Id,Name,Email,Account.Name,AWS_Data_Id__c from Contact where Id!=null ';
 
            // 20220221 PI改造 by Bright
            // if(String.isNotBlank(searchByName)){
            //     soql += 'and Name like \'%'+searchByName.trim()+'%\' ';
            // }
            if(String.isNotBlank(searchByAccount)){
                soql += 'and Account.Name like \'%'+searchByAccount.trim()+'%\' ';
            }
 
            // 20220221 PI改造 by Bright
            if (!String.isBlank(searchByAWSDataIds)) {
                soql += 'and AWS_Data_Id__c in ' + SoqlHelper.ToInCondition(searchByAWSDataIds.split(','));
            }
 
            soql += ' limit 200';
            System.debug('sql='+soql);
            List<Contact> conList = Database.query(soql);
            if(conList!=null&&conList.size()!=0){
                for(Contact con : conList){
                    LineMember line = new LineMember();
                    line.check = false;
                    line.Id = con.Id;
                    line.name = con.Name;
                    line.email = con.Email;
                    line.account = con.Account.Name;
                    line.aws_data_id = con.AWS_Data_Id__c;
                    lineList.add(line);
                }
            }
        }else if(memberType == 'User'){
            
            soql = 'select Id,UserFullName__c,Email,AccountId,Account.Name from User where Id!=null ';
            if(String.isNotBlank(searchByName)){
                soql += 'and UserFullName__c like \'%'+searchByName.replaceAll(' ', '')+'%\'';
            }
            soql += 'limit 200';
            System.debug(soql);
            List<User> userList = Database.query(soql);
            if (userList!=null && userList.size()!=0) {
                for (User user:userList) {
                    LineMember line = new LineMember();
                    line.check = false;
                    line.Id = user.Id;
                    line.name = user.UserFullName__c;
                    line.email = user.Email;
                    line.account = user.Account.Name;
                    lineList.add(line);
                }
            }
        }
    }
    //前台点击保存,
    public void save(){
        isError = false;
        String errorMessage = '';
        if(lineList!=null && lineList.size()!=0){
            Integer i = 0;
            for(LineMember line : lineList){
                if(line.check){
                    memberId = line.Id;
                    memberName = line.name;
                    memberEmail = line.email;
                    aws_data_id = line.aws_data_id;
                    System.debug(line.email);
                    i++;
                }
                if(i>1){    
                    isError = true;
                    errorMessage = '选择人数大于1!';
                }
            }
            if(i == 0){
                isError = true;
                errorMessage = '请选择一条数据!';
            }
            if(isError){
                ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, errorMessage));
            }
        }
 
    }
 
    /*public List<SelectOption> getItems() {
        List<SelectOption> options = new List<SelectOption>();
        options.add(new SelectOption('Contact','Contact'));
        options.add(new SelectOption('User','User'));
        return options;
    }*/
 
    public class LineMember{
        public Boolean check{get;set;}
        public String Id{get;set;}
        public String name{get;set;}
        public String email{get;set;}
        public String account{get;set;}
        public String aws_data_id{get;set;}
        
    }
}