xuxiuxi
2017-04-19 a9c8b39ffcb8f8a5f922cb0fce18861b3463d438
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DictionaryMng.java
@@ -2,13 +2,16 @@
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.discern.query.condition.DictionaryQueryCondition;
import cn.com.basic.face.discern.query.item.PhoneCallQueryItem;
import cn.com.basic.face.util.AppApi;
import org.xutils.http.RequestParams;
import org.xutils.x;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -16,6 +19,7 @@
import cn.com.basic.face.discern.common.BaseCommonCallBack;
import cn.com.basic.face.discern.common.CommonVariables;
import cn.com.basic.face.discern.entity.Dictionary;
import cn.com.basic.face.util.CharacterParser;
public class DictionaryMng {
@@ -40,17 +44,22 @@
    }
    public void loadCountries() {
        RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.DICTIONARY_TYPE_LIST);
        params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.COUNTRY);
        RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.DICTIONARY_QUERY);
        params.addParameter(DictionaryQueryCondition.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>>();
                sortCountries(items);
                for (Dictionary item : items) {
                    idMap.put(item.getName(), item.getId()+"");
                    String firstLetter = item.getRemark();
                    idMap.put(item.getName(), item.getDictId()+"");
                    String firstLetter = item.getName();
                    if (item.getName().length() > 0) {
                        firstLetter = CharacterParser.getInstance().getSelling(item.getName()).substring(0, 1).toUpperCase();
                    }
                    List list = countriesGroupByFirstLetter.get(firstLetter);
                    if (list == null) {
                        list = new ArrayList();
@@ -63,12 +72,28 @@
                CountryDialog.setCountries(uniqueFirstLetterList, countriesGroupByFirstLetter);
            }
        });
    }
    private void sortCountries(List<Dictionary> countries) {
        Collections.sort(countries, new Comparator<Dictionary>() {
            @Override
            public int compare(Dictionary t1, Dictionary t2) {
                String name1 = t1.getName()==null?"":t1.getName();
                String name2 = t2.getName()==null?"":t2.getName();
                String dept1Name_a = name1.trim();
                String dept1Name_b = name2.trim();
                if (dept1Name_a.length() > 0 && dept1Name_b.length() > 0) {
                    dept1Name_a = CharacterParser.getInstance().getSelling(name1).toLowerCase();
                    dept1Name_b = CharacterParser.getInstance().getSelling(name2).toLowerCase();
                }
                return dept1Name_b.compareTo(dept1Name_a);
            }
        });
    }
    public void loadIdTypeList() {
        RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.DICTIONARY_TYPE_LIST);
        params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.ID_TYPE);
        RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.DICTIONARY_QUERY);
        params.addParameter(DictionaryQueryCondition.FieldNames.type, CommonVariables.DictionaryType.ID_TYPE);
        x.http().get(params, new BaseCommonCallBack() {
            public void success() {
                SelectDialog.setIdTypeList(getDictionaryNameList(getList(Dictionary.class)));
@@ -77,8 +102,8 @@
    }
    private void loadGenderList() {
        RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.DICTIONARY_TYPE_LIST);
        params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.GENDER);
        RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.DICTIONARY_QUERY);
        params.addParameter(DictionaryQueryCondition.FieldNames.type, CommonVariables.DictionaryType.GENDER);
        x.http().get(params, new BaseCommonCallBack() {
            public void success() {
                SelectDialog.setGenderList(getDictionaryNameList(getList(Dictionary.class)));
@@ -86,9 +111,9 @@
        });
    }
    private void loadVisitReasonList() {
        RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.DICTIONARY_TYPE_LIST);
        params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.VISIT_REASON);
    public void loadVisitReasonList() {
        RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.DICTIONARY_QUERY);
        params.addParameter(DictionaryQueryCondition.FieldNames.type, CommonVariables.DictionaryType.VISIT_REASON);
        x.http().get(params, new BaseCommonCallBack() {
            public void success() {
                SelectDialog.setVisitReasonList(getDictionaryNameList(getList(Dictionary.class)));
@@ -99,22 +124,18 @@
    public List<String> getDictionaryNameList(List<Dictionary> dictionaryList) {
        List nameList = new ArrayList();
        for (Dictionary dictionary : dictionaryList) {
            idMap.put(dictionary.getName(), dictionary.getId()+"");
            idMap.put(dictionary.getName(), dictionary.getDictId()+"");
            nameList.add(dictionary.getName());
        }
        return nameList;
    }
    private void loadVisitorTypeList() {
        RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.VISITOR_TYPE_LIST);
        RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.DICTIONARY_QUERY);
        params.addParameter(DictionaryQueryCondition.FieldNames.type, CommonVariables.DictionaryType.VISIT_TYPE);
        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);
                SelectDialog.setVisitorTypeList(getDictionaryNameList(getList(Dictionary.class)));
            }
        });
    }