From 80d4bbd17d0dca09f6c27686d4060ecd0a17f0c6 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期四, 06 四月 2017 14:42:36 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java               |   77 +++++-------
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/AttendanceFragment.java                |   27 +++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceRightListView.java |   41 ++++++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java                         |    2 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java                     |   61 ++++++++++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceLeftListView.java  |   42 +++++++
 VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left_person_row.xml                    |   55 +++++++++
 VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_right.xml                              |    2 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/vo/CheckInFragment.java                |    8 +
 VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left_date_row.xml                      |   14 ++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/vo/AttendanceFragment.java             |    4 
 VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left.xml                               |    2 
 12 files changed, 285 insertions(+), 50 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/AttendanceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/AttendanceFragment.java
index 792db0b..50c86ef 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/AttendanceFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/AttendanceFragment.java
@@ -8,8 +8,7 @@
 
 public class AttendanceFragment {
 
-    public static class AttendanceAdapter extends EasyRecyclerViewAdapter {
-        private TextView mTvNumber,mTvTime,mTvAddress,mTvState;
+    public static class AttendanceRightAdapter extends EasyRecyclerViewAdapter {
         @Override
         public int[] getItemLayouts() {
             return new int[]{R.layout.fragment_attendance_right_row};
@@ -17,8 +16,6 @@
 
         @Override
         public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) {
-            mTvNumber = viewHolder.findViewById(R.id.item_attendance_num);
-            mTvNumber.setText(position+1+"");
         }
 
         @Override
@@ -27,4 +24,26 @@
         }
     }
 
+    public static class AttendanceLeftAdapter extends EasyRecyclerViewAdapter {
+
+        @Override
+        public int[] getItemLayouts() {
+            return new int[]{R.layout.fragment_attendance_left_date_row, R.layout.fragment_attendance_left_person_row};
+        }
+
+        @Override
+        public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) {
+
+        }
+
+        @Override
+        public int getRecycleViewItemType(int position) {
+            if (position % 3 == 0) {
+                return 1;
+            }
+            return 0;
+        }
+
+    }
+
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java
index 8ae89b8..e37f0b2 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java
@@ -60,7 +60,7 @@
         myFragmentPagerAdapter.addFragment(CheckInFragment.getInstance(), tabNamesList.get(2),tabIcons[2]);
         myFragmentPagerAdapter.addFragment(PhoneCallFragment.getInstance(), tabNamesList.get(3),tabIcons[3]);
         myFragmentPagerAdapter.addFragment(VisitFragment.getInstance(), tabNamesList.get(4),tabIcons[4]);
-        myFragmentPagerAdapter.addFragment(AttendanceFragment.newInstance(), tabNamesList.get(5),tabIcons[5]);
+        myFragmentPagerAdapter.addFragment(AttendanceFragment.getInstance(), tabNamesList.get(5),tabIcons[5]);
         myFragmentPagerAdapter.addFragment(DeviceFragment.newInstance(), tabNamesList.get(6),tabIcons[6]);
         mViewPager.setAdapter(myFragmentPagerAdapter);
         mViewPager.setOffscreenPageLimit(6);//viewpager缂撳瓨涓暟
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java
index 760ed19..2dab6c3 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java
@@ -6,71 +6,54 @@
 import android.widget.Toast;
 
 import com.bsk.zhangbo.demoforbsk.R;
-import cn.com.basic.face.adapter.AttendanceFragment.AttendanceAdapter;
+import cn.com.basic.face.adapter.AttendanceFragment.AttendanceRightAdapter;
 import cn.com.basic.face.adapter.VisitFragment.VisitLeftAdapter;
 import cn.com.basic.face.base.LeftRightBaseFragment;
 import cn.com.basic.face.base.MainActivity;
+import cn.com.basic.face.service.AttendanceMng;
+import cn.com.basic.face.widget.attendance.AttendanceLeftListView;
+import cn.com.basic.face.widget.attendance.AttendanceRightListView;
 
 import com.camnter.easyrecyclerview.holder.EasyRecyclerViewHolder;
 import com.camnter.easyrecyclerview.widget.EasyRecyclerView;
 import com.lidroid.xutils.ViewUtils;
+import com.lidroid.xutils.view.annotation.ViewInject;
 import com.lidroid.xutils.view.annotation.event.OnClick;
 
 import java.util.ArrayList;
 import java.util.List;
 
-public class AttendanceFragment extends LeftRightBaseFragment implements EasyRecyclerViewHolder.OnItemClickListener{
-    private View mViewLeft,mViewRight;
-    private EasyRecyclerView mRightRecyclerView,mLeftRecyclerView;
-    private AttendanceAdapter mRightAdapter;
-    private VisitLeftAdapter mLeftAdapter;
-    public static AttendanceFragment newInstance(){
-        return new AttendanceFragment();
+public class AttendanceFragment extends LeftRightBaseFragment {
+
+    private static AttendanceFragment instance = new AttendanceFragment();
+    public static AttendanceFragment getInstance(){
+        return instance;
     }
 
-    public View addLeftLayout() {
-        mViewLeft = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_attendance_left, null);
-        mLeftRecyclerView = (EasyRecyclerView) mViewLeft.findViewById(R.id.fragment_attendance_left_list_view);
-        LinearLayoutManager manager = new LinearLayoutManager(getActivity(),LinearLayoutManager.VERTICAL,false);
-        mLeftRecyclerView.setLayoutManager(manager);
-        mLeftAdapter = new VisitLeftAdapter();
-        ViewUtils.inject(this, mViewLeft);
-        return mViewLeft;
-    }
+    @ViewInject(R.id.fragment_attendance_left_list_view)
+    private AttendanceLeftListView fragment_attendance_left_list_view;
+    @ViewInject(R.id.fragment_attendance_right_list_view)
+    private AttendanceRightListView fragment_attendance_right_list_view;
 
-
-    public View addRightLayout() {
-        mViewRight = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_attendance_right, null);
-        mRightRecyclerView = (EasyRecyclerView) mViewRight.findViewById(R.id.fragment_attendance_right_list_view);
-        mRightAdapter = new AttendanceAdapter();
-        ViewUtils.inject(this, mViewRight);
-        return mViewRight;
+    public int[] getLeftRightLayoutIds() {
+        return new int[]{R.layout.fragment_attendance_left, R.layout.fragment_attendance_right};
     }
 
     @Override
-    protected void initListeners() {
-        mLeftAdapter.setOnItemClickListener(this);
-    }
-
-    @Override
-    protected void initData() {
-        List list = new ArrayList();
-        for (int i = 0;i<20;i++){
-            list.add("");
+    public void setMenuVisibility(boolean menuVisible) {
+        super.setMenuVisibility(menuVisible);
+        if (menuVisible && fragment_attendance_left_list_view != null && fragment_attendance_right_list_view != null) {
+            reloadLeftList();
+            reloadRightList();
         }
-        mRightAdapter.setList(list);
-        mRightRecyclerView.setAdapter(mRightAdapter);
-        mLeftAdapter.setList(list);
-        mLeftRecyclerView.setAdapter(mLeftAdapter);
     }
 
-    @Override
-    public void onItemClick(View convertView, int position) {
-        if (position ==0 ||position ==3 ||position ==8){
+    private void reloadRightList() {
+        AttendanceMng.getInstance().reloadRightList();
+    }
 
-        }else {
-            Toast.makeText(getActivity(),position+"",Toast.LENGTH_SHORT).show();
-        }
+    private void reloadLeftList() {
+        AttendanceMng.getInstance().reloadLeftList("");
     }
 
     @OnClick(R.id.fragment_attendance_left_back)
@@ -78,4 +61,12 @@
         MainActivity.selectPage(0);
     }
 
+    public AttendanceLeftListView get_fragment_attendance_left_list_view() {
+        return fragment_attendance_left_list_view;
+    }
+
+    public AttendanceRightListView get_fragment_attendance_right_list_view() {
+        return fragment_attendance_right_list_view;
+    }
+
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java
index a120cd5..82489ab 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java
@@ -1,4 +1,65 @@
 package cn.com.basic.face.service;
 
+import org.xutils.http.RequestParams;
+import org.xutils.x;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import cn.com.basic.face.discern.common.BaseCommonCallBack;
+import cn.com.basic.face.discern.query.condition.VisitorQueryCondition;
+import cn.com.basic.face.fragment.AttendanceFragment;
+import cn.com.basic.face.service.vo.VisitFragment;
+import cn.com.basic.face.util.AppApi;
+
 public class AttendanceMng {
+
+    private static AttendanceMng instance = new AttendanceMng();
+    public static AttendanceMng getInstance() {
+        return instance;
+    }
+
+
+    public void reloadRightList() {
+        RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.CheckInQuery);
+        x.http().post(params, new BaseCommonCallBack() {
+            public void success() {
+                List<VisitFragment.VisitQueryItem> list = getList(VisitFragment.VisitQueryItem.class);
+                String date = "";
+                List itemList = new ArrayList();
+                int i = 0;
+                for (VisitFragment.VisitQueryItem item : list) {
+                    if (i % 3 == 0) {
+                        itemList.add("2016-10-10");
+                    }
+                    itemList.add(item);
+                    i++;
+                }
+                AttendanceFragment.getInstance().get_fragment_attendance_right_list_view().show(itemList);
+            }
+        });
+    }
+
+    public void reloadLeftList(String searchText) {
+        RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.CheckInQuery);
+        params.addBodyParameter(VisitorQueryCondition.FieldNames.name, searchText);
+        x.http().post(params, new BaseCommonCallBack() {
+            public void success() {
+                List<VisitFragment.VisitQueryItem> list = getList(VisitFragment.VisitQueryItem.class);
+                String date = "";
+                List itemList = new ArrayList();
+                int i = 0;
+                for (VisitFragment.VisitQueryItem item : list) {
+                    if (i % 3 == 0) {
+                        itemList.add("2016-10-10");
+                    }
+                    itemList.add(item);
+                    i++;
+                }
+                AttendanceFragment.getInstance().get_fragment_attendance_left_list_view().show(itemList);
+            }
+        });
+
+    }
+
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/vo/AttendanceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/vo/AttendanceFragment.java
new file mode 100644
index 0000000..b243062
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/vo/AttendanceFragment.java
@@ -0,0 +1,4 @@
+package cn.com.basic.face.service.vo;
+
+public class AttendanceFragment {
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/vo/CheckInFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/vo/CheckInFragment.java
index 3491243..a41bad6 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/vo/CheckInFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/vo/CheckInFragment.java
@@ -1,7 +1,15 @@
 package cn.com.basic.face.service.vo;
 
+import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
+
 public class CheckInFragment {
 
+    public static class AttendanceQueryItem extends SurveillanceQueryItem {
 
+    }
+
+    public static class AttendanceRightQueryItem extends SurveillanceQueryItem {
+
+    }
 
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceLeftListView.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceLeftListView.java
new file mode 100644
index 0000000..4c57b35
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceLeftListView.java
@@ -0,0 +1,42 @@
+package cn.com.basic.face.widget.attendance;
+
+import android.content.Context;
+import android.util.AttributeSet;
+
+import com.camnter.easyrecyclerview.widget.EasyRecyclerView;
+
+import java.util.List;
+
+import cn.com.basic.face.adapter.AttendanceFragment;
+import cn.com.basic.face.adapter.VisitFragment;
+
+public class AttendanceLeftListView extends EasyRecyclerView {
+
+    private AttendanceFragment.AttendanceLeftAdapter adapter;
+
+    private void initView() {
+        adapter = new AttendanceFragment.AttendanceLeftAdapter();
+        setAdapter(adapter);
+    }
+
+    public AttendanceLeftListView(Context context) {
+        super(context);
+        initView();
+    }
+
+    public AttendanceLeftListView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        initView();
+    }
+
+    public AttendanceLeftListView(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+        initView();
+    }
+
+    public void show(List list) {
+        adapter.setList(list);
+        setAdapter(adapter);
+    }
+
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceRightListView.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceRightListView.java
new file mode 100644
index 0000000..df2a8a8
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceRightListView.java
@@ -0,0 +1,41 @@
+package cn.com.basic.face.widget.attendance;
+
+import android.content.Context;
+import android.util.AttributeSet;
+
+import com.camnter.easyrecyclerview.widget.EasyRecyclerView;
+
+import java.util.List;
+
+import cn.com.basic.face.adapter.AttendanceFragment;
+
+public class AttendanceRightListView extends EasyRecyclerView {
+
+    private AttendanceFragment.AttendanceRightAdapter adapter;
+
+    private void initView() {
+        adapter = new AttendanceFragment.AttendanceRightAdapter();
+        setAdapter(adapter);
+    }
+
+    public AttendanceRightListView(Context context) {
+        super(context);
+        initView();
+    }
+
+    public AttendanceRightListView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        initView();
+    }
+
+    public AttendanceRightListView(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+        initView();
+    }
+
+    public void show(List list) {
+        adapter.setList(list);
+        setAdapter(adapter);
+    }
+
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left.xml
index cb14cd8..a35a6cb 100644
--- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left.xml
+++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left.xml
@@ -29,7 +29,7 @@
             android:hint="Search"
             android:textColorHint="@color/colorSearch"
             android:background="@drawable/visitor_register_search_et"/>
-        <com.camnter.easyrecyclerview.widget.EasyRecyclerView
+        <cn.com.basic.face.widget.attendance.AttendanceLeftListView
             android:id="@+id/fragment_attendance_left_list_view"
             android:layout_width="match_parent"
             android:layout_height="match_parent"/>
diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left_date_row.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left_date_row.xml
new file mode 100644
index 0000000..b3e71cb
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left_date_row.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical" android:layout_width="match_parent"
+    android:layout_height="match_parent">
+    <TextView
+        android:id="@+id/fragment_visit_left_date_row_date"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:textSize="@dimen/text_size_big"
+        android:textColor="@color/colorText_5"
+        android:background="@color/colorBackground"
+        android:padding="22dp"
+        android:text=""/>
+</LinearLayout>
\ No newline at end of file
diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left_person_row.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left_person_row.xml
new file mode 100644
index 0000000..0941f9c
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left_person_row.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical" android:layout_width="match_parent"
+    android:background="@android:color/white"
+    android:duplicateParentState="true"
+    android:layout_height="wrap_content"
+    xmlns:fresco="http://schemas.android.com/apk/res-auto"
+    >
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:paddingTop="15dp"
+        android:paddingBottom="15dp"
+        android:layout_marginLeft="24dp">
+        <RadioButton
+            android:id="@+id/fragment_visit_left_person_row_check_box"
+            android:layout_centerVertical="true"
+            android:clickable="true"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content" />
+        <TextView
+            android:id="@+id/fragment_visit_left_person_row_name"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_centerVertical="true"
+            android:layout_toRightOf="@id/fragment_visit_left_person_row_check_box"
+            android:layout_marginLeft="12dp"
+            android:textColor="@color/colorText_5"
+            android:text=""
+            android:textSize="@dimen/text_size_normal"/>
+        <com.facebook.drawee.view.SimpleDraweeView
+            android:id="@+id/fragment_visit_left_person_row_photo"
+            android:layout_width="36dp"
+            android:layout_height="36dp"
+            fresco:roundAsCircle = "true"
+            android:layout_centerVertical="true"
+            android:layout_alignParentRight="true"/>
+        <TextView
+            android:id="@+id/fragment_visit_left_person_row_status"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_centerVertical="true"
+            android:layout_toLeftOf="@id/fragment_visit_left_person_row_photo"
+            android:layout_marginRight="@dimen/view_size_10"
+            android:textColor="@color/colorText_5"
+            android:text=""
+            android:textSize="@dimen/text_size_normal"/>
+    </RelativeLayout>
+    <View
+        android:id="@+id/fragment_visit_left_line"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/view_size_1"
+        android:layout_marginLeft="24dp"
+        android:background="@color/colorText_b"/>
+</LinearLayout>
\ No newline at end of file
diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_right.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_right.xml
index 2767b6e..3c5a289 100644
--- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_right.xml
+++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_right.xml
@@ -169,7 +169,7 @@
             android:layout_below="@id/attendance_bottom_title_ll"
             android:layout_alignStart="@id/attendance_bottom_title_ll"
             android:layout_alignEnd="@id/attendance_bottom_title_ll"/>
-        <com.camnter.easyrecyclerview.widget.EasyRecyclerView
+        <cn.com.basic.face.widget.attendance.AttendanceRightListView
             android:id="@+id/fragment_attendance_right_list_view"
             android:layout_width="match_parent"
             android:layout_height="match_parent"

--
Gitblit v1.8.0