From 109ffe9a777658936a38d0c146579a67c60a0d17 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期四, 11 五月 2017 17:48:48 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DictionaryMng.java |  220 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 171 insertions(+), 49 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 1f4c180..a68f244 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,6 +1,13 @@
 package cn.com.basic.face.service;
 
-import cn.com.basic.face.fragment.RegisterFragment;
+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.dialog.SelectDialog;
+import cn.com.basic.face.discern.query.condition.DictionaryQueryCondition;
+import cn.com.basic.face.discern.query.item.PhoneCallQueryItem;
 import cn.com.basic.face.fragment.CheckInFragment;
 import cn.com.basic.face.util.AppApi;
 
@@ -8,14 +15,19 @@
 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();
 
@@ -23,33 +35,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();
@@ -57,60 +82,157 @@
                         uniqueFirstLetterList.add(0, firstLetter);
                     }
                     list.add(item.getName());
-                    countryWordData[i] = item.getName();
                     i++;
                 }
-                RegisterFragment.getInstance().setCountryData(uniqueFirstLetterList, countriesGroupByFirstLetter);
+                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);
+    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() {
+        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()+"");
-                    mCredentialsList.add(item.getName());
-                }
-                RegisterFragment.getInstance().setCredentialsList(mCredentialsList);
+                SelectDialog.setIdTypeList(getDictionaryNameList(getList(Dictionary.class)));
             }
         });
     }
 
-    private void loadSexList() {
-        RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.DICTIONARY_TYPE_LIST);
-        params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.SEX);
+    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() {
-                List<Dictionary> items = getList(Dictionary.class);
-                for (Dictionary item : items) {
-                    idMap.put(item.getName(), item.getId()+"");
-                    mSexList.add(item.getName());
-                }
-                RegisterFragment.getInstance().setSexList(mSexList);
+                SelectDialog.setGenderList(getDictionaryNameList(getList(Dictionary.class)));
             }
         });
-
     }
 
-    private void loadVisitPurposeList() {
-        RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.DICTIONARY_TYPE_LIST);
-        params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.VISIT_PURPOSE);
+    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() {
-                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.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.VISIT_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