xuxiuxi
2017-04-10 5dcf426a54dd27ed1f8d984c27a072081e5940d0
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
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 void loadAllDictionaryData() {
        loadCountries();
        loadIdTypeList();
        loadGenderList();
        loadVisitReasonList();
        loadVisitorTypeList();
    }
 
    public void loadCountries() {
        RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.DICTIONARY_QUERY);
        params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.COUNTRY);
        x.http().get(params, new BaseCommonCallBack() {
            public void success() {
                List<Dictionary> items = getList(Dictionary.class);
                int i=0;
                List<String> uniqueFirstLetterList = new ArrayList<String>();
                HashMap<String,List<String>> countriesGroupByFirstLetter = new HashMap<String,List<String>>();
                for (Dictionary item : items) {
                    idMap.put(item.getName(), item.getId()+"");
                    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());
                    i++;
                }
                CountryDialog.setCountries(uniqueFirstLetterList, countriesGroupByFirstLetter);
            }
        });
 
    }
 
    public void loadIdTypeList() {
        RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.DICTIONARY_QUERY);
        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.BASE_URL +AppApi.Query.DICTIONARY_QUERY);
        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.BASE_URL +AppApi.Query.DICTIONARY_QUERY);
        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.BASE_URL +AppApi.Query.DICTIONARY_QUERY);
        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);
            }
        });
    }
 
}