From 6304e6c25e3d24797497a88f99ce79ce6fd8f27e Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期四, 06 四月 2017 15:44:31 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/PhoneCallMng.java |   76 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 73 insertions(+), 3 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/PhoneCallMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/PhoneCallMng.java
index 96aa280..dc40388 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/PhoneCallMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/PhoneCallMng.java
@@ -1,8 +1,78 @@
 package cn.com.basic.face.service;
 
-/**
- * Created by xiuxi on 2017/4/5.
- */
+import org.xutils.http.RequestParams;
+import org.xutils.x;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+import cn.com.basic.face.base.BaseApplication;
+import cn.com.basic.face.discern.common.BaseCommonCallBack;
+import cn.com.basic.face.discern.query.condition.VisitorQueryCondition;
+import cn.com.basic.face.fragment.CheckInFragment;
+import cn.com.basic.face.fragment.PhoneCallFragment;
+import cn.com.basic.face.util.AppApi;
+import cn.com.basic.face.service.vo.PhoneCallFragment.PhoneCallQueryItem;
+import cn.com.basic.face.util.CharacterParser;
 
 public class PhoneCallMng {
+
+    private static PhoneCallMng instance = new PhoneCallMng();
+    public static PhoneCallMng getInstance() {
+        return instance;
+    }
+
+    public void findPhoneCallLeftList(final boolean isSortByDept, String searchText) {
+        RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.CheckInQuery);
+        params.addBodyParameter(VisitorQueryCondition.FieldNames.name, searchText);
+        x.http().post(params, new BaseCommonCallBack() {
+            public void success() {
+                List<PhoneCallQueryItem> list = getList(PhoneCallQueryItem.class);
+                sort(list, isSortByDept);
+                List allItems = new ArrayList();
+                String name = "";
+                String prev = "";
+                for (int i = 0; i < list.size(); i++) {
+                    PhoneCallQueryItem item = list.get(i);
+                    if (isSortByDept) {
+                        name = CharacterParser.getInstance().getSelling(item.getDeptName()).substring(0, 1);
+                    } else {
+                        name = CharacterParser.getInstance().getSelling(item.getName()).substring(0, 1);
+                    }
+                    if (!name.equals(prev)) {
+                        allItems.add(name);
+                    }
+                    allItems.add(item);
+                    prev = name;
+                }
+                PhoneCallFragment.getInstance().get_fragment_phone_call_left_list_view().show(isSortByDept, allItems);
+            }
+        });
+    }
+
+    private void sort(List<PhoneCallQueryItem> list, final boolean sortedByDept) {
+        Collections.sort(list, new Comparator<PhoneCallQueryItem>() {
+            @Override
+            public int compare(PhoneCallQueryItem t1, PhoneCallQueryItem t2) {
+                if (sortedByDept) {
+                    String dept1Name = t1.getDeptName()==null?"":t1.getDeptName();
+                    String dept2Name = t2.getDeptName()==null?"":t2.getDeptName();
+                    if(!dept1Name.equals(dept2Name)) {
+                        String dept1Name_a = CharacterParser.getInstance().getSelling(dept1Name).toLowerCase();
+                        String dept1Name_b = CharacterParser.getInstance().getSelling(dept2Name).toLowerCase();
+                        return dept1Name_a.compareTo(dept1Name_b);
+                    }
+                }
+                String name1 = t1.getName()==null?"":t1.getName();
+                String name2 = t2.getName()==null?"":t2.getName();
+                String dept1Name_a = CharacterParser.getInstance().getSelling(name1).toLowerCase();
+                String dept1Name_b = CharacterParser.getInstance().getSelling(name2).toLowerCase();
+                return dept1Name_a.compareTo(dept1Name_b);
+            }
+        });
+    }
+
+
 }

--
Gitblit v1.8.0