From d7febe29933aadadea3b38f86541a17678aa7df0 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期五, 31 三月 2017 17:42:23 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SupervisoryMng.java |   70 ++++++++++++++++++++++++++++++++--
 1 files changed, 65 insertions(+), 5 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 adb4dfb..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
@@ -3,15 +3,16 @@
 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.discern.query.item.SupervisoryQueryItem;
 import cn.com.basic.face.fragment.SupervisoryFragment;
 import cn.com.basic.face.util.AppApi;
-import cn.com.basic.face.widget.SupervisoryBottomListView;
+import cn.com.basic.face.util.Constant;
 
 /**
  * Created by xiuxi on 2017/3/31.
@@ -28,12 +29,25 @@
     public void findSupervisoryBottomList(final boolean isVisit) {
 
         RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.SupervisoryQuery);
-        params.addBodyParameter(VisitorQueryCondition.FieldNames.notCompanyId, BaseApplication.getInstance().getPlace().getCompanyId());
+//        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) {
-                    SupervisoryFragment.getInstance().get_fragment_supervisory_bottom_visit_list_view().show(list, true);
+                    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);
                 }
@@ -41,4 +55,50 @@
         });
 
     }
+
+    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