From 2ffee7e4b21e81ce420b1a2f57075ca00306606a Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 19 七月 2017 16:03:22 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java   |    2 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java         |    8 +-
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java     |   34 ++++++-----
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java       |    2 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/ResultBean.java |    6 +
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java        |  112 ++++++++++++++++++++-----------------
 6 files changed, 91 insertions(+), 73 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/ResultBean.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/ResultBean.java
index b30963c..1f2a40d 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/ResultBean.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/ResultBean.java
@@ -47,7 +47,7 @@
 		return null;
 	}
 
-	public <T> List<T> getListBeanOfType(Class<T> requiredType) {
+	public <T> List<T> getList(Class<T> requiredType) {
 		if (data != null) {
 			if (data instanceof JSONArray) {
 				JSONArray jsonArray = (JSONArray) data;
@@ -83,4 +83,8 @@
 	public int getPageNum() {
 		return pageNum;
 	}
+
+	public boolean hasMorePages() {
+		return getPageNum() < getTotalPages();
+	}
 }
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 66e6551..e6fcbff 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
@@ -32,7 +32,7 @@
             return;
         }
         if(BaseApplication.getInstance().networkNotAvailable()) {
-            ResultBean resultBean = AttendanceDao.getInstance().reloadLeftList(searchText, pageNum, append);
+            reloadLeftListAfterReturn(append, AttendanceDao.getInstance().reloadLeftList(searchText, pageNum, append));
         } else {
             RequestParams params = new RequestParams(AppApi.BASE_URL + AppApi.Query.ATTENDANCE_QUERY);
             params.addBodyParameter(AttendanceQueryCondition.FieldNames.username, searchText);
@@ -41,18 +41,25 @@
             params.addBodyParameter(CommonVariables.Page.PAGE_SIZE, CommonVariables.Page.DEFAULT_PAGE_SIZE);
             x.http().post(params, new BaseCommonCallBack() {
                 public void success() {
-                    List<AttendanceQueryItem> list = getList(AttendanceQueryItem.class);
-                    List itemList = new ArrayList();
-                    int i = 0;
-                    String previewDate = "";
-                    if (append) {
+                    reloadLeftListAfterReturn(append, resultBean);
+                }
+            });
+        }
+    }
+
+    public void reloadLeftListAfterReturn(boolean append, ResultBean resultBean) {
+        List<AttendanceQueryItem> list = resultBean.getList(AttendanceQueryItem.class);
+        List itemList = new ArrayList();
+        int i = 0;
+        String previewDate = "";
+        if (append) {
 //                        List prevList = AttendanceFragment.getInstance().get_fragment_attendance_left_list_view().getPrevList();
 //                        if (prevList != null && prevList.size() > 1) {
 //                            previewDate = DateUtil.yyyy_MM_dd_to_yyyy骞碝M鏈坉d鏃�(
 //                                    ((AttendanceQueryItem) prevList.get(prevList.size() - 2)).getTime());
 //                        }
-                    }
-                    for (AttendanceQueryItem item : list) {
+        }
+        for (AttendanceQueryItem item : list) {
 //                        try {
 //                            String yyyyMMdd = DateUtil.yyyy_MM_dd_to_yyyy骞碝M鏈坉d鏃�(item.getTime());
 //                            if (!previewDate.equals(yyyyMMdd)) {
@@ -61,14 +68,11 @@
 //                            }
 //                        } catch (Exception e) {
 //                        }
-                        itemList.add(item);
-                        i++;
-                    }
-                    addPageFooter(hasMorePages(), getPageNum(), itemList);
-                    AttendanceFragment.getInstance().get_fragment_attendance_left_list_view().show(itemList, append);
-                }
-            });
+            itemList.add(item);
+            i++;
         }
+        addPageFooter(resultBean.hasMorePages(), resultBean.getPageNum(), itemList);
+        AttendanceFragment.getInstance().get_fragment_attendance_left_list_view().show(itemList, append);
     }
 
     public void reloadAttendanceDetail(AttendanceQueryItem item) {
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java
index e753b04..8daedb3 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java
@@ -4,8 +4,10 @@
 
 import cn.com.basic.face.base.BaseApplication;
 import cn.com.basic.face.discern.common.CommonVariables;
+import cn.com.basic.face.discern.common.ResultBean;
 import cn.com.basic.face.discern.query.condition.CheckInQueryCondition;
 import cn.com.basic.face.fragment.CheckInFragment;
+import cn.com.basic.face.service.sqlite.CheckInDao;
 import cn.com.basic.face.util.AppApi;
 
 import org.xutils.http.RequestParams;
@@ -50,63 +52,71 @@
         if (!BaseApplication.deviceAvailable) {
             return;
         }
-        RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.CHECK_IN_QUERY);
-        String deviceCompanyId = BaseApplication.getInstance().getAndroidDevice().getCompanyId();
-        if (isVisitorList) {
-            params.addBodyParameter(CheckInQueryCondition.FieldNames.visitorCompanyId, deviceCompanyId);
+        if (BaseApplication.getInstance().networkAvailable()) {
+            RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.CHECK_IN_QUERY);
+            String deviceCompanyId = BaseApplication.getInstance().getAndroidDevice().getCompanyId();
+            if (isVisitorList) {
+                params.addBodyParameter(CheckInQueryCondition.FieldNames.visitorCompanyId, deviceCompanyId);
+            } else {
+                params.addBodyParameter(CheckInQueryCondition.FieldNames.employeeCompanyId, deviceCompanyId);
+            }
+            params.addBodyParameter(CheckInQueryCondition.FieldNames.username, searchText);
+            params.addBodyParameter(CommonVariables.Page.PAGE_NUM, pageNum+"");
+            params.addBodyParameter(CommonVariables.Page.PAGE_SIZE, CommonVariables.Page.DEFAULT_PAGE_SIZE);
+            x.http().post(params, new BaseCommonCallBack() {
+                public void success() {
+                    findCheckInLeftListAfterReturn(resultBean, isVisitorList, isSortByDept, append);
+                }
+            });
         } else {
-            params.addBodyParameter(CheckInQueryCondition.FieldNames.employeeCompanyId, deviceCompanyId);
+            findCheckInLeftListAfterReturn(CheckInDao.getInstance().findCheckInLeftList(isVisitorList, searchText, pageNum), isVisitorList, isSortByDept, append);
         }
-        params.addBodyParameter(CheckInQueryCondition.FieldNames.username, searchText);
-        params.addBodyParameter(CommonVariables.Page.PAGE_NUM, pageNum+"");
-        params.addBodyParameter(CommonVariables.Page.PAGE_SIZE, CommonVariables.Page.DEFAULT_PAGE_SIZE);
-        x.http().post(params, new BaseCommonCallBack() {
-            public void success() {
-                List<CheckInQueryItem> list = getList(CheckInQueryItem.class);
+    }
 
-                List prevList = null;
-                if (append) {
-                    if (isVisitorList) {
-                        prevList = CheckInFragment.getInstance().get_fragment_check_in_left_visitor().getPrevList();
-                    } else {
-                        prevList = CheckInFragment.getInstance().get_fragment_check_in_left_interviewee().getPrevList();
-                    }
-                    for (int i = 0; i < prevList.size(); i++) {
-                        Object item = prevList.get(i);
-                        if (item instanceof CheckInQueryItem) {
-                            list.add(0, (CheckInQueryItem) item);
-                        }
-                    }
-                }
+    public void findCheckInLeftListAfterReturn(ResultBean resultBean, boolean isVisitorList, boolean isSortByDept, boolean append) {
+        List<CheckInQueryItem> list = resultBean.getList(CheckInQueryItem.class);
 
-                sort(list, isSortByDept);
-                List itemList = new ArrayList();
-                String name = "";
-                String prev = "";
-                for (int i = 0; i < list.size(); i++) {
-                    CheckInQueryItem item = list.get(i);
-                    if (isSortByDept) {
-                        if (item.getDeptName() != null && item.getDeptName().length() > 0) {
-                            name = CharacterParser.getInstance().getSelling(item.getDeptName()).substring(0, 1);
-                        }
-                    } else {
-                        if (item.getUsername() != null && item.getUsername().length() > 0)
-                        name = CharacterParser.getInstance().getSelling(item.getUsername()).substring(0, 1);
-                    }
-                    if (!name.equals(prev)) {
-                        itemList.add(name);
-                    }
-                    itemList.add(item);
-                    prev = name;
-                }
-                addPageFooter(hasMorePages(), getPageNum(), itemList);
-                if (isVisitorList) {
-                    CheckInFragment.getInstance().get_fragment_check_in_left_visitor().show(itemList);
-                } else {
-                    CheckInFragment.getInstance().get_fragment_check_in_left_interviewee().show(itemList, isSortByDept, append);
+        List prevList = null;
+        if (append) {
+            if (isVisitorList) {
+                prevList = CheckInFragment.getInstance().get_fragment_check_in_left_visitor().getPrevList();
+            } else {
+                prevList = CheckInFragment.getInstance().get_fragment_check_in_left_interviewee().getPrevList();
+            }
+            for (int i = 0; i < prevList.size(); i++) {
+                Object item = prevList.get(i);
+                if (item instanceof CheckInQueryItem) {
+                    list.add(0, (CheckInQueryItem) item);
                 }
             }
-        });
+        }
+
+        sort(list, isSortByDept);
+        List itemList = new ArrayList();
+        String name = "";
+        String prev = "";
+        for (int i = 0; i < list.size(); i++) {
+            CheckInQueryItem item = list.get(i);
+            if (isSortByDept) {
+                if (item.getDeptName() != null && item.getDeptName().length() > 0) {
+                    name = CharacterParser.getInstance().getSelling(item.getDeptName()).substring(0, 1);
+                }
+            } else {
+                if (item.getUsername() != null && item.getUsername().length() > 0)
+                    name = CharacterParser.getInstance().getSelling(item.getUsername()).substring(0, 1);
+            }
+            if (!name.equals(prev)) {
+                itemList.add(name);
+            }
+            itemList.add(item);
+            prev = name;
+        }
+        addPageFooter(resultBean.hasMorePages(), resultBean.getPageNum(), itemList);
+        if (isVisitorList) {
+            CheckInFragment.getInstance().get_fragment_check_in_left_visitor().show(itemList);
+        } else {
+            CheckInFragment.getInstance().get_fragment_check_in_left_interviewee().show(itemList, isSortByDept, append);
+        }
     }
 
     private void sort(List<CheckInQueryItem> list, final boolean sortedByDept) {
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java
index 36288a0..2e8b6e7 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java
@@ -69,7 +69,7 @@
             params.addBodyParameter(Device.FieldNames.type, CommonVariables.DeviceType.ANDROID_DEVICE);
             x.http().post(params, new BaseCommonCallBack() {
                 public void success() {
-                    List<Device> devices = resultBean.getListBeanOfType(Device.class);
+                    List<Device> devices = resultBean.getList(Device.class);
                     if (devices.size() > 0) {
                         final Device device = devices.get(0);
                         BaseApplication.getInstance().setAndroidDevice(device);
@@ -83,7 +83,7 @@
                                 params.addBodyParameter(Device.FieldNames.type, CommonVariables.DeviceType.CAMERA1);
                                 x.http().post(params, new BaseCommonCallBack() {
                                             public void success() {
-                                                List<Device> devices = resultBean.getListBeanOfType(Device.class);
+                                                List<Device> devices = resultBean.getList(Device.class);
                                                 if (devices.size() > 0) {
                                                     final Device camera1 = devices.get(0);
                                                     BaseApplication.getInstance().setCamera1(camera1);
@@ -98,7 +98,7 @@
                                 params.addBodyParameter(Device.FieldNames.type, CommonVariables.DeviceType.CAMERA2);
                                 x.http().post(params, new BaseCommonCallBack() {
                                     public void success() {
-                                        List<Device> devices = resultBean.getListBeanOfType(Device.class);
+                                        List<Device> devices = resultBean.getList(Device.class);
                                         if (devices.size() > 0) {
                                             final Device camera2 = devices.get(0);
                                             BaseApplication.getInstance().setCamera2(camera2);
@@ -137,7 +137,7 @@
 //        params.addBodyParameter(Device.FieldNames.type, CommonVariables.DeviceType.ANDROID_DEVICE);
 //        x.http().post(params, new BaseCommonCallBack() {
 //            public void success() {
-//                List<Device> places = resultBean.getListBeanOfType(Device.class);
+//                List<Device> places = resultBean.getList(Device.class);
 //                if (places.size() > 0) {
 //                    BaseApplication.getInstance().setAndroidDevice(places.get(0));
 //                } else {
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java
index 2fcd314..de57fb1 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java
@@ -115,7 +115,7 @@
                             ) {
                         return;
                     }
-                    List<Double> percents = resultBean.getListBeanOfType(Double.class);
+                    List<Double> percents = resultBean.getList(Double.class);
                     if (percents != null && percents.size() > 0) {
                         double percent = percents.get(0);
                         if (percent >= 70) {
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
index 19a4315..cc4343e 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
@@ -89,7 +89,7 @@
                 @Override
                 public void success() {
                     try {
-                        SurveillanceQueryItemUtil.getInstance().addItems(resultBean.getListBeanOfType(SurveillanceQueryItem.class), bitmapList, cameraInOrOut);
+                        SurveillanceQueryItemUtil.getInstance().addItems(resultBean.getList(SurveillanceQueryItem.class), bitmapList, cameraInOrOut);
                     } catch(Exception e) {
                         e.printStackTrace();
                     }

--
Gitblit v1.8.0