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/fragment/PhoneCallFragment.java               |    2 -
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SupervisoryMng.java                   |   69 +++++++++++++++++++++++++++++++---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SupervisoryFragment.java             |    2 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/SupervisoryBottomListView.java         |    2 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SupervisoryBottomListViewAdapter.java |   15 ++++---
 VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory_bottom_visit_blank_cell.xml          |    7 +++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java                            |    2 +
 VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory.xml                                  |   19 +--------
 8 files changed, 86 insertions(+), 32 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SupervisoryBottomListViewAdapter.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SupervisoryBottomListViewAdapter.java
index b0267cf..11717ec 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SupervisoryBottomListViewAdapter.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SupervisoryBottomListViewAdapter.java
@@ -27,7 +27,7 @@
 
     @Override
     public int[] getItemLayouts() {
-        return new int[]{R.layout.fragment_supervisory_bottom_register_cell,R.layout.fragment_supervisory_bottom_visitor_cell};
+        return new int[]{R.layout.fragment_supervisory_bottom_register_cell,R.layout.fragment_supervisory_bottom_visitor_cell, R.layout.fragment_supervisory_bottom_visit_blank_cell};
     }
 
     @Override
@@ -44,12 +44,15 @@
 
     @Override
     public int getRecycleViewItemType(int position) {
-        int itemType = ((SupervisoryQueryItem)getList().get(position)).getType();
-        if (itemType == Constant.Supervisory.VISIT_REGISTER_ITEM_TYPE) {
-            return Constant.Supervisory.REGISTER_CELL_VIEW_INDEX;
-        } else {
-            return Constant.Supervisory.CHECK_IN_CELL_VIEW_INDEX;
+        switch (((SupervisoryQueryItem)getList().get(position)).getType()) {
+            case Constant.Supervisory.VISIT_REGISTER_ITEM_TYPE:
+                return Constant.Supervisory.REGISTER_CELL_VIEW_INDEX;
+            case Constant.Supervisory.VISIT_CHECK_IN_ITEM_TYPE:
+                return Constant.Supervisory.CHECK_IN_CELL_VIEW_INDEX;
+            case Constant.Supervisory.VISIT_BLANK_ITEM_TYPE:
+                return Constant.Supervisory.VISIT_BLANK_CELL_VIEW_INDEX;
         }
+        return Constant.Supervisory.VISIT_BLANK_CELL_VIEW_INDEX;
     }
 
     /**
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java
index fddf50e..aef6b4f 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java
@@ -95,13 +95,11 @@
             public void onCheckedChanged(RadioGroup radioGroup, int i) {
                 switch (radioGroup.getCheckedRadioButtonId()){
                     case R.id.fragment_check_in_left_sort_by_name_radio_button:
-//                        mAdapter.setVisitorToTextColor(CheckInLeftListViewAdapter.TYPE_NAME);
                         mAdapter.set_fragment_check_in_left_sort_radio_group_type(CheckInLeftListViewAdapter.TYPE_NAME);
                         mAdapter.setList(mList);
                         mRecyclerView.setAdapter(mAdapter);
                         break;
                     case R.id.fragment_check_in_left_sort_by_dept_radio_button:
-//                        mAdapter.setVisitorToTextColor(CheckInLeftListViewAdapter.TYPE_DEPARTMENT);
                         mAdapter.set_fragment_check_in_left_sort_radio_group_type(CheckInLeftListViewAdapter.TYPE_DEPARTMENT);
                         mAdapter.setList(mList);
                         mRecyclerView.setAdapter(mAdapter);
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SupervisoryFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SupervisoryFragment.java
index fc71781..759164a 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SupervisoryFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SupervisoryFragment.java
@@ -34,7 +34,7 @@
     private View fragment_supervisory_bottom_visitor_background;
     @ViewInject(R.id.fragment_supervisory_bottom_attendance_background)
     private View fragment_supervisory_bottom_attendance_background;
-    @ViewInject(R.id.fragment_supervisory_bottom_visit_register_list_view)
+    @ViewInject(R.id.fragment_supervisory_bottom_visit_list_view)
     private SupervisoryBottomListView fragment_supervisory_bottom_visit_list_view;
     @ViewInject(R.id.fragment_supervisory_bottom_attendance_list_view)
     private SupervisoryBottomListView fragment_supervisory_bottom_attendance_list_view;
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;
+    }
+
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java
index df63b01..6480bf5 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java
@@ -16,9 +16,11 @@
     public static class Supervisory {
         public static final int VISIT_REGISTER_ITEM_TYPE = 1;
         public static final int VISIT_CHECK_IN_ITEM_TYPE = 2;
+        public static final int VISIT_BLANK_ITEM_TYPE = 3;
 
         public static final int REGISTER_CELL_VIEW_INDEX = 0;
         public static final int CHECK_IN_CELL_VIEW_INDEX = 1;
+        public static final int VISIT_BLANK_CELL_VIEW_INDEX = 2;
     }
 
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/SupervisoryBottomListView.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/SupervisoryBottomListView.java
index 8f53f9e..1080e2f 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/SupervisoryBottomListView.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/SupervisoryBottomListView.java
@@ -42,7 +42,7 @@
 
     public void initLayout() {
         addItemDecoration(new SpaceItemDecoration());
-        GridLayoutManager gridLayoutManager = new GridLayoutManager(MainActivity.getInstance(), 1);
+        GridLayoutManager gridLayoutManager = new GridLayoutManager(MainActivity.getInstance(), 2);
         gridLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
         setLayoutManager(gridLayoutManager);
     }
diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory.xml
index c755dbc..bbd6374 100644
--- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory.xml
+++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory.xml
@@ -171,24 +171,11 @@
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:background="@android:color/white">
-            <LinearLayout
+            <cn.com.basic.face.widget.SupervisoryBottomListView
+                android:id="@+id/fragment_supervisory_bottom_visit_list_view"
                 android:layout_width="wrap_content"
                 android:layout_height="match_parent"
-                android:orientation="vertical">
-                <cn.com.basic.face.widget.SupervisoryBottomListView
-                    android:id="@+id/fragment_supervisory_bottom_visit_register_list_view"
-                    android:layout_width="wrap_content"
-                    android:layout_height="0dp"
-                    android:layout_weight="1"
-                    android:orientation="vertical"/>
-                <cn.com.basic.face.widget.SupervisoryBottomListView
-                    android:id="@+id/fragment_supervisory_bottom_visit_check_in_list_view"
-                    android:layout_width="wrap_content"
-                    android:layout_height="0dp"
-                    android:layout_weight="1"
-                    android:orientation="vertical"/>
-            </LinearLayout>
-
+                android:orientation="vertical"/>
 
             <cn.com.basic.face.widget.SupervisoryBottomListView
                 android:id="@+id/fragment_supervisory_bottom_attendance_list_view"
diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory_bottom_visit_blank_cell.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory_bottom_visit_blank_cell.xml
new file mode 100644
index 0000000..f2335f1
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory_bottom_visit_blank_cell.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/fragment_home_bottom_register_cell_relative_layout"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content">
+
+</RelativeLayout>
\ No newline at end of file

--
Gitblit v1.8.0