From 2734a21a6a355d42fa40fe80624940f8e663a5cc Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 12 四月 2017 14:11:14 +0800
Subject: [PATCH] bug fix
---
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/PhoneCallMng.java | 88 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 88 insertions(+), 0 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 69a1c6b..6f67618 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,4 +1,92 @@
package cn.com.basic.face.service;
+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.discern.common.BaseCommonCallBack;
+import cn.com.basic.face.discern.query.condition.PhoneCallQueryCondition;
+import cn.com.basic.face.discern.query.item.PhoneCallQueryItem;
+import cn.com.basic.face.fragment.PhoneCallFragment;
+import cn.com.basic.face.util.AppApi;
+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.BASE_URL +AppApi.Query.PHONE_CALL_QUERY);
+ params.addBodyParameter(PhoneCallQueryCondition.FieldNames.username, 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);
+ try {
+ if (isSortByDept) {
+ if (item.getCallerDept() != null && item.getCallerDept().length() > 0) {
+ name = CharacterParser.getInstance().getSelling(item.getCallerDept()).substring(0, 1);
+ }
+ } else {
+ if (item.getCaller() != null && item.getCaller().length() > 0) {
+ name = CharacterParser.getInstance().getSelling(item.getCaller()).substring(0, 1);
+ }
+ }
+ } catch (Exception e) {
+
+ }
+ 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.getCallerDept()==null?"":t1.getCallerDept();
+ String dept2Name = t2.getCallerDept()==null?"":t2.getCallerDept();
+ if(!dept1Name.equals(dept2Name)) {
+ String dept1Name_a = dept1Name.trim();
+ String dept1Name_b = dept2Name.trim();
+ if (dept1Name_a.length() > 0 && dept1Name_b.length() > 0) {
+ dept1Name_a = CharacterParser.getInstance().getSelling(dept1Name).toLowerCase();
+ dept1Name_b = CharacterParser.getInstance().getSelling(dept2Name).toLowerCase();
+ }
+ return dept1Name_a.compareTo(dept1Name_b);
+ }
+ }
+ String name1 = t1.getCaller()==null?"":t1.getCaller();
+ String name2 = t2.getCaller()==null?"":t2.getCaller();
+ 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_a.compareTo(dept1Name_b);
+ }
+ });
+ }
+
+
}
--
Gitblit v1.8.0