From 1cbe3da23535a1111510a6fce6fe24fd2983bfd1 Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期三, 03 五月 2017 14:53:41 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DictionaryMng.java | 83 +++++++++++++++++++++++++++++++---------- 1 files changed, 63 insertions(+), 20 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DictionaryMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DictionaryMng.java index 1b3da89..06b5789 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DictionaryMng.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DictionaryMng.java @@ -1,14 +1,18 @@ package cn.com.basic.face.service; +import cn.com.basic.face.base.BaseApplication; 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 +20,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 { @@ -32,6 +37,9 @@ } public void loadAllDictionaryData() { + if (!BaseApplication.deviceAvailable) { + return; + } loadCountries(); loadIdTypeList(); loadGenderList(); @@ -40,17 +48,25 @@ } public void loadCountries() { - RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.DICTIONARY_TYPE_LIST); - params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.COUNTRY); + if (!BaseApplication.deviceAvailable) { + return; + } + 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 +79,34 @@ CountryDialog.setCountries(uniqueFirstLetterList, countriesGroupByFirstLetter); } }); + } + private void sortCountries(List<Dictionary> countries) { + if (!BaseApplication.deviceAvailable) { + return; + } + 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); + if (!BaseApplication.deviceAvailable) { + return; + } + 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 +115,11 @@ } private void loadGenderList() { - RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.DICTIONARY_TYPE_LIST); - params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.GENDER); + if (!BaseApplication.deviceAvailable) { + return; + } + 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 +127,12 @@ }); } - 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() { + if (!BaseApplication.deviceAvailable) { + return; + } + 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 +143,21 @@ 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); + if (!BaseApplication.deviceAvailable) { + return; + } + 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))); } }); } -- Gitblit v1.8.0