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/PhoneCallMng.java | 112 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 99 insertions(+), 13 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 ba7e38c..e1f7d60 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,35 +1,88 @@ package cn.com.basic.face.service; +import android.widget.Toast; + import org.xutils.http.RequestParams; import org.xutils.x; +import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; +import java.util.Date; import java.util.List; import cn.com.basic.face.base.BaseApplication; +import cn.com.basic.face.base.MainActivity; import cn.com.basic.face.discern.common.BaseCommonCallBack; -import cn.com.basic.face.discern.query.condition.VisitorQueryCondition; +import cn.com.basic.face.discern.common.CommonVariables; +import cn.com.basic.face.discern.entity.PhoneCall; +import cn.com.basic.face.discern.query.condition.PhoneCallQueryCondition; +import cn.com.basic.face.discern.query.item.CheckInQueryItem; +import cn.com.basic.face.discern.query.item.PhoneCallQueryItem; 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 { +public class PhoneCallMng extends BaseMng { 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); + public void findPhoneCallLeftList(final boolean isSortByDept, String searchText, final int pageNum, final boolean append) { + if (!BaseApplication.deviceAvailable) { + return; + } + RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.PHONE_CALL_QUERY); + params.addBodyParameter(PhoneCallQueryCondition.FieldNames.username, searchText); + params.addBodyParameter(CommonVariables.Page.PAGE_SIZE, CommonVariables.Page.DEFAULT_PAGE_SIZE); + params.addBodyParameter(CommonVariables.Page.PAGE_NUM, pageNum+""); x.http().post(params, new BaseCommonCallBack() { public void success() { + List<PhoneCallQueryItem> list = getList(PhoneCallQueryItem.class); + + if (append) { + List prevList = PhoneCallFragment.getInstance().get_fragment_phone_call_left_list_view().getPrevList(); + if (prevList != null && prevList.size() > 0) { + for (int i = 0; i < prevList.size(); i++) { + Object item = prevList.get(i); + if (item instanceof PhoneCallQueryItem) { + list.add((PhoneCallQueryItem)item); + } + } + } + } sort(list, isSortByDept); - PhoneCallFragment.getInstance().get_fragment_phone_call_left_list_view().show(list); + List itemList = new ArrayList(); + String name = ""; + String prev = ""; + for (int i = 0; i < list.size(); i++) { + PhoneCallQueryItem item = list.get(i); + try { + if (isSortByDept) { + if (item.getCalleeDept() != null && item.getCalleeDept().length() > 0) { + name = CharacterParser.getInstance().getSelling(item.getCalleeDept()).substring(0, 1); + } + } else { + if (item.getCallee() != null && item.getCallee().length() > 0) { + name = CharacterParser.getInstance().getSelling(item.getCallee()).substring(0, 1); + } + } + } catch (Exception e) { + + } + if (!name.equals(prev)) { + itemList.add(name); + } + itemList.add(item); + prev = name; + } + addPageFooter(hasMorePages(), getPageNum(), itemList); + PhoneCallFragment.getInstance().get_fragment_phone_call_left_list_view().show(isSortByDept, itemList, append); } }); } @@ -39,18 +92,51 @@ @Override public int compare(PhoneCallQueryItem t1, PhoneCallQueryItem t2) { if (sortedByDept) { - String dept1Name = t1.getDeptName()==null?"":t1.getDeptName(); - String dept2Name = t2.getDeptName()==null?"":t2.getDeptName(); + String dept1Name = t1.getCalleeDept()==null?"":t1.getCalleeDept(); + String dept2Name = t2.getCalleeDept()==null?"":t2.getCalleeDept(); if(!dept1Name.equals(dept2Name)) { - return dept1Name.compareTo(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.getName()==null?"":t1.getName(); - String name2 = t2.getName()==null?"":t2.getName(); - return name1.compareTo(name2); + String name1 = t1.getCallee()==null?"":t1.getCallee(); + String name2 = t2.getCallee()==null?"":t2.getCallee(); + 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); } }); } + public void addPhoneCall(CheckInQueryItem visitor, CheckInQueryItem interviewee) { + if (visitor == null) { + Toast.makeText(MainActivity.getInstance(), "璇峰厛閫夋嫨琚浜�", Toast.LENGTH_SHORT).show(); + return; + } + if (interviewee == null) { + Toast.makeText(MainActivity.getInstance(), "璇峰厛閫夋嫨琚浜�", Toast.LENGTH_SHORT).show(); + return; + } + Toast.makeText(MainActivity.getInstance(), "宸叉坊鍔犲埌鍛煎彨璁板綍", Toast.LENGTH_SHORT).show(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.PHONE_CALL_ADD); + params.addBodyParameter(PhoneCall.FieldNames.date, sdf.format(new Date())); + params.addBodyParameter(PhoneCall.FieldNames.calleeId, interviewee.getRegisterId()); + params.addBodyParameter(PhoneCall.FieldNames.deviceId, BaseApplication.getInstance().getDevice().getDeviceId()); + params.addBodyParameter(PhoneCall.FieldNames.callerId, visitor.getRegisterId()); + x.http().post(params, new BaseCommonCallBack() { + public void success() { + } + }); + } } -- Gitblit v1.8.0