From c40962af6868287bb5d8569a7b9fc32188d19c2b Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 14 六月 2017 15:55:35 +0800
Subject: [PATCH] milestone 1
---
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DictionaryMng.java | 231 +++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 175 insertions(+), 56 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 9b363f1..5d173b3 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,22 +1,31 @@
package cn.com.basic.face.service;
+import android.widget.Toast;
+
+import cn.com.basic.face.base.BaseApplication;
+import cn.com.basic.face.base.MainActivity;
import cn.com.basic.face.dialog.CountryDialog;
-import cn.com.basic.face.fragment.RegisterFragment;
-import cn.com.basic.face.fragment.CheckInFragment;
+import cn.com.basic.face.dialog.SelectDialog;
+import cn.com.basic.face.discern.query.condition.DictionaryQueryCondition;
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;
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;
+import cn.com.basic.face.util.Constant;
-public class DictionaryMng extends BaseMng {
+public class DictionaryMng {
public static DictionaryMng instance = new DictionaryMng();
@@ -24,33 +33,46 @@
return instance;
}
- public static List<String> nationList = new ArrayList<String>();
- public static List<String> mCredentialsList = new ArrayList<String>();
- public static List<String> mSexList = 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> visitPurposeList = new ArrayList<String>();
+ public Map<String, String> idMap = new HashMap<String, String>();
+
+ public String getId(String name) {
+ return idMap.get(name);
+ }
public void loadAllDictionaryData() {
+ if (!BaseApplication.deviceAvailable) {
+ return;
+ }
loadCountries();
- loadCredentialsList();
- loadSexList();
- loadVisitPurposeList();
+ loadIdTypeList();
+ loadGenderList();
+ loadVisitReasonList();
+ loadVisitorTypeList();
+ loadResolutionList();
+ loadProtocolList();
+ loadCameraBrandList();
}
public void loadCountries() {
- RequestParams params = new RequestParams(AppApi.BASEURL+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);
- countryWordData = new String[items.size()];
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()+"");
- nationList.add(item.getName());
- 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();
@@ -58,60 +80,157 @@
uniqueFirstLetterList.add(0, firstLetter);
}
list.add(item.getName());
- countryWordData[i] = item.getName();
i++;
}
CountryDialog.setCountries(uniqueFirstLetterList, countriesGroupByFirstLetter);
}
});
-
}
- public void loadCredentialsList() {
- RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.DICTIONARY_TYPE_LIST);
- params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.CREDENTIALS);
- x.http().get(params, new BaseCommonCallBack() {
- public void success() {
- List<Dictionary> items = getList(Dictionary.class);
- for (Dictionary item : items) {
- idMap.put(item.getName(), item.getId()+"");
- mCredentialsList.add(item.getName());
+ 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();
}
- RegisterFragment.getInstance().setCredentialsList(mCredentialsList);
+ return dept1Name_b.compareTo(dept1Name_a);
}
});
}
- private void loadSexList() {
- RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.DICTIONARY_TYPE_LIST);
- params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.SEX);
+ public void loadIdTypeList() {
+ 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() {
- List<Dictionary> items = getList(Dictionary.class);
- for (Dictionary item : items) {
- idMap.put(item.getName(), item.getId()+"");
- mSexList.add(item.getName());
- }
- RegisterFragment.getInstance().setSexList(mSexList);
- }
- });
-
- }
-
- private void loadVisitPurposeList() {
- RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.DICTIONARY_TYPE_LIST);
- params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.VISIT_PURPOSE);
- x.http().get(params, new BaseCommonCallBack() {
- public void success() {
- List<Dictionary> items = getList(Dictionary.class);
- for (Dictionary item : items) {
- idMap.put(CommonVariables.DictionaryType.VISIT_PURPOSE+item.getName(), item.getId()+"");
- visitPurposeList.add(item.getName());
- }
- CheckInFragment.getInstance().setVisitPurposeList(visitPurposeList);
+ SelectDialog.setIdTypeList(getDictionaryNameList(getList(Dictionary.class)));
}
});
}
+ private void loadGenderList() {
+ 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)));
+ }
+ });
+ }
+
+ 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)));
+ }
+ });
+ }
+
+ public void loadResolutionList() {
+ if (!BaseApplication.deviceAvailable) {
+ return;
+ }
+ RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.DICTIONARY_QUERY);
+ params.addParameter(DictionaryQueryCondition.FieldNames.type, CommonVariables.DictionaryType.RESOLUTION);
+ x.http().get(params, new BaseCommonCallBack() {
+ public void success() {
+ SelectDialog.setResolutionList(getDictionaryNameList(getList(Dictionary.class)));
+ }
+ });
+ }
+
+ public void loadProtocolList() {
+ if (!BaseApplication.deviceAvailable) {
+ return;
+ }
+ RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.DICTIONARY_QUERY);
+ params.addParameter(DictionaryQueryCondition.FieldNames.type, CommonVariables.DictionaryType.PROTOCOL);
+ x.http().get(params, new BaseCommonCallBack() {
+ public void success() {
+ SelectDialog.setProtocolList(getDictionaryNameList(getList(Dictionary.class)));
+ }
+ });
+ }
+
+ public void loadCameraBrandList() {
+ if (!BaseApplication.deviceAvailable) {
+ return;
+ }
+ RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.DICTIONARY_QUERY);
+ params.addParameter(DictionaryQueryCondition.FieldNames.type, CommonVariables.DictionaryType.CAMERA_BRAND);
+ x.http().get(params, new BaseCommonCallBack() {
+ public void success() {
+ SelectDialog.setCameraBrandList(getDictionaryNameList(getList(Dictionary.class)));
+ }
+ });
+ }
+
+ public List<String> getDictionaryNameList(List<Dictionary> dictionaryList) {
+ List nameList = new ArrayList();
+ for (Dictionary dictionary : dictionaryList) {
+ idMap.put(dictionary.getName(), dictionary.getDictId()+"");
+ nameList.add(dictionary.getName());
+ }
+ return nameList;
+ }
+
+ private void loadVisitorTypeList() {
+ if (!BaseApplication.deviceAvailable) {
+ return;
+ }
+ RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.DICTIONARY_QUERY);
+ params.addParameter(DictionaryQueryCondition.FieldNames.type, CommonVariables.DictionaryType.VISITOR_TYPE);
+ x.http().get(params, new BaseCommonCallBack() {
+ public void success() {
+ SelectDialog.setVisitorTypeList(getDictionaryNameList(getList(Dictionary.class)));
+ }
+ });
+ }
+
+ public void addDictionary(final int type, String type1, String name) {
+ RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.DICTIONARY_ADD);
+ params.addBodyParameter(Dictionary.FieldNames.type, type1);
+ params.addBodyParameter(Dictionary.FieldNames.name, name);
+ params.addBodyParameter(Dictionary.FieldNames.orderBy, "10");
+ x.http().post(params, new BaseCommonCallBack() {
+ public void success() {
+ List<Dictionary> items = getList(Dictionary.class);
+ switch (type) {
+ case Constant.DialogSelectType.VISIT_REASON:
+ break;
+ case Constant.DialogSelectType.RESOLUTION:
+ SelectDialog.setResolutionList(getDictionaryNameList(getList(Dictionary.class)));
+ break;
+ case Constant.DialogSelectType.PROTOCOL:
+ SelectDialog.setProtocolList(getDictionaryNameList(getList(Dictionary.class)));
+ break;
+ case Constant.DialogSelectType.CAMERA_BRAND:
+ SelectDialog.setCameraBrandList(getDictionaryNameList(getList(Dictionary.class)));
+ break;
+ }
+ Toast.makeText(MainActivity.getInstance(), "娣诲姞鎴愬姛", Toast.LENGTH_SHORT).show();
+ }
+ });
+ }
}
--
Gitblit v1.8.0