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

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SupervisoryMng.java |   69 +++++++++++++++++++++++++++++++---
 1 files changed, 63 insertions(+), 6 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 470afd8..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,11 +3,12 @@
 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;
@@ -32,11 +33,21 @@
         x.http().post(params, new BaseCommonCallBack() {
             public void success() {
                 List<SupervisoryQueryItem> list = getList(SupervisoryQueryItem.class);
-                for (SupervisoryQueryItem item : list) {
-                    item.setType(Constant.Supervisory.VISIT_CHECK_IN_ITEM_TYPE);
-                }
                 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);
                 }
@@ -44,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