From d0c81c7e07ff5386b3d81a786e1a47ab08543c7e Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期五, 07 四月 2017 15:12:51 +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