xuxiuxi
2017-04-01 477c75353c515a45ab31617e10b88c0d92bfa82a
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
package cn.com.basic.face.service;
 
import cn.com.basic.face.dialog.CountryDialog;
import cn.com.basic.face.dialog.SelectDialog;
import cn.com.basic.face.discern.query.item.VistorTypeQueryItem;
import cn.com.basic.face.util.AppApi;
 
import org.xutils.http.RequestParams;
import org.xutils.x;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import cn.com.basic.face.discern.common.BaseCommonCallBack;
import cn.com.basic.face.discern.common.CommonVariables;
import cn.com.basic.face.discern.entity.Dictionary;
 
public class DictionaryMng {
 
    public static DictionaryMng instance = new DictionaryMng();
 
    public static DictionaryMng getInstance() {
        return instance;
    }
 
    public Map<String, String> idMap = new HashMap<String, String>();
 
    public String getId(String name) {
        return idMap.get(name);
    }
 
    public static List<String> nationList = new ArrayList<String>();
    public static List<String> mCredentialsList = new ArrayList<String>();
    public static List<String> genderList = new ArrayList<String>();
    public static List<String> uniqueFirstLetterList = new ArrayList<String>();
    public static HashMap<String,List<String>> countriesGroupByFirstLetter = new HashMap<String,List<String>>();
    public static String[] countryWordData = new String[]{};
    public static List<String> visitReasonList = new ArrayList<String>();
 
    public void loadAllDictionaryData() {
        loadCountries();
        loadIdTypeList();
        loadGenderList();
        loadVisitReasonList();
        loadVisitorTypeList();
    }
 
    public void loadCountries() {
        RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.DICTIONARY_TYPE_LIST);
        params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.COUNTRY);
        x.http().get(params, new BaseCommonCallBack() {
            public void success() {
                List<Dictionary> items = getList(Dictionary.class);
                countryWordData = new String[items.size()];
                int i=0;
                for (Dictionary item : items) {
                    idMap.put(item.getName(), item.getId()+"");
                    nationList.add(item.getName());
                    String firstLetter = item.getRemark();
                    List list = countriesGroupByFirstLetter.get(firstLetter);
                    if (list == null) {
                        list = new ArrayList();
                        countriesGroupByFirstLetter.put(firstLetter, list);
                        uniqueFirstLetterList.add(0, firstLetter);
                    }
                    list.add(item.getName());
                    countryWordData[i] = item.getName();
                    i++;
                }
                CountryDialog.setCountries(uniqueFirstLetterList, countriesGroupByFirstLetter);
            }
        });
 
    }
 
    public void loadIdTypeList() {
        RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.DICTIONARY_TYPE_LIST);
        params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.ID_TYPE);
        x.http().get(params, new BaseCommonCallBack() {
            public void success() {
                SelectDialog.setIdTypeList(getDictionaryNameList(getList(Dictionary.class)));
            }
        });
    }
 
    private void loadGenderList() {
        RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.DICTIONARY_TYPE_LIST);
        params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.GENDER);
        x.http().get(params, new BaseCommonCallBack() {
            public void success() {
                SelectDialog.setGenderList(getDictionaryNameList(getList(Dictionary.class)));
            }
        });
    }
 
    private void loadVisitReasonList() {
        RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.DICTIONARY_TYPE_LIST);
        params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.VISIT_REASON);
        x.http().get(params, new BaseCommonCallBack() {
            public void success() {
                SelectDialog.setVisitReasonList(getDictionaryNameList(getList(Dictionary.class)));
            }
        });
    }
 
    public List<String> getDictionaryNameList(List<Dictionary> dictionaryList) {
        List nameList = new ArrayList();
        for (Dictionary dictionary : dictionaryList) {
            idMap.put(dictionary.getName(), dictionary.getId()+"");
            nameList.add(dictionary.getName());
        }
        return nameList;
    }
 
    private void loadVisitorTypeList() {
        RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.VISITOR_TYPE_LIST);
        x.http().get(params, new BaseCommonCallBack() {
            public void success() {
                List<String> mVisitorTypeList = new ArrayList<String>();
                for (VistorTypeQueryItem item : getList(VistorTypeQueryItem.class)) {
                    mVisitorTypeList.add(item.getLabel());
                    idMap.put(item.getLabel(), item.getId()+"");
                }
                SelectDialog.setVisitorTypeList(mVisitorTypeList);
            }
        });
    }
 
}