From 07dba93c7a3993bea7c3d4e28b3e121893586718 Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期五, 31 三月 2017 17:53:12 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SupervisoryMng.java | 86 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 85 insertions(+), 1 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SupervisoryMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SupervisoryMng.java index d6d7a54..32fce45 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SupervisoryMng.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SupervisoryMng.java @@ -1,5 +1,19 @@ 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.item.SupervisoryQueryItem; +import cn.com.basic.face.fragment.SupervisoryFragment; +import cn.com.basic.face.util.AppApi; +import cn.com.basic.face.util.Constant; + /** * Created by xiuxi on 2017/3/31. */ @@ -12,9 +26,79 @@ return instance; } - public void findSupervisoryBottomList() { + public void findSupervisoryBottomList(final boolean isVisit) { + RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.SupervisoryQuery); +// params.addBodyParameter(VisitorQueryCondition.FieldNames.notCompanyId, BaseApplication.getInstance().getPlace().getCompanyId()); + x.http().post(params, new BaseCommonCallBack() { + public void success() { + List<SupervisoryQueryItem> list = getList(SupervisoryQueryItem.class); + if (isVisit) { + int i = 0; + for (SupervisoryQueryItem item : list) { + if (i % 5 == 0) { + item.setType(Constant.Supervisory.VISIT_REGISTER_ITEM_TYPE); + } else { + item.setType(Constant.Supervisory.VISIT_CHECK_IN_ITEM_TYPE); + } + i++; + } + List<SupervisoryQueryItem> doubleList = new ArrayList<SupervisoryQueryItem>(); + fillBlank(list, doubleList); + + SupervisoryFragment.getInstance().get_fragment_supervisory_bottom_visit_list_view().show(doubleList, true); + } else { + SupervisoryFragment.getInstance().get_fragment_supervisory_bottom_attendance_list_view().show(list, true); + } + } + }); } + + private void fillBlank(List<SupervisoryQueryItem> list, List<SupervisoryQueryItem> doubleList) { + List<SupervisoryQueryItem> registerList = new ArrayList<SupervisoryQueryItem>(); + List<SupervisoryQueryItem> checkInList = new ArrayList<SupervisoryQueryItem>(); + + for (SupervisoryQueryItem item : list) { + if (item.getType() == Constant.Supervisory.VISIT_REGISTER_ITEM_TYPE) { + registerList.add(item); + } + if (item.getType() == Constant.Supervisory.VISIT_CHECK_IN_ITEM_TYPE) { + checkInList.add(item); + } + } + + List<SupervisoryQueryItem> blenderList = new ArrayList<SupervisoryQueryItem>(); + + int i = 0, m = 0, n = 0; + for (i = 0; i < registerList.size() + checkInList.size(); i++) { + SupervisoryQueryItem item; + if (i % 2 == 0 && m < registerList.size()) { + item = registerList.get(m); + m++; + } else { + item = checkInList.get(n); + n++; + } + blenderList.add(item); + } + + for (SupervisoryQueryItem item : blenderList) { + if (doubleList.size() % 2 == 0 && item.getType() != Constant.Supervisory.VISIT_REGISTER_ITEM_TYPE) { + doubleList.add(getBlankItem()); + } + if (doubleList.size() % 2 != 0 && item.getType() != Constant.Supervisory.VISIT_CHECK_IN_ITEM_TYPE) { + doubleList.add(getBlankItem()); + } + doubleList.add(item); + } + } + + private SupervisoryQueryItem getBlankItem() { + SupervisoryQueryItem blankItem = new SupervisoryQueryItem(); + blankItem.setType(Constant.Supervisory.VISIT_BLANK_ITEM_TYPE); + return blankItem; + } + } -- Gitblit v1.8.0