From 8cdaa6689f3ff3c38afe2fd4f947df9814f69209 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期二, 25 七月 2017 13:25:24 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseApplication.java                   |   24 +-
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/CompanyDownSync.java      |   33 +++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/BaseDownSync.java         |   23 ++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DataDownSyn.java          |   15 +
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java         |    2 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java              |    2 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/AttenderRegisterUpSync.java |    7 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/CheckInUpSync.java          |   16 +
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/RegisterDownSync.java     |   33 +++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/VisitDownSync.java        |   33 +++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/AttendanceDownSync.java   |   33 +++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/EmployeeDownSync.java     |   33 +++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SyncUpAndDownThread.java               |   58 +++++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java                            |    4 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/PostDownSync.java         |   33 +++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/PhoneCallDownSync.java    |   33 +++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DeviceDownSync.java       |   33 +++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/DictionaryUpSync.java       |    4 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/VisitDetailDownSync.java  |   33 +++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DepartmentDownSync.java   |   33 +++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DictionaryDownSync.java   |   33 +++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/BaseSync.java               |   11 +
 22 files changed, 485 insertions(+), 44 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseApplication.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseApplication.java
index dd920df..3f3286a 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseApplication.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseApplication.java
@@ -87,7 +87,7 @@
     }
 
     public boolean networkAvailable() {
-        boolean connected = false;
+        boolean connected = true;
 //        ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
 //        if(connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED ||
 //                connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) {
@@ -100,19 +100,19 @@
     }
 
     public void sendOfflineDataToServer() {
-        RegisterMng.getInstance().sendOfflineVisitorRegisterToServer();
-        if (RegisterMng.getInstance().hasOfflineVisitorRegisterData()) {
-            return;
-        }
-        RegisterMng.getInstance().sendOfflineAttenderRegisterToServer();
-        if (RegisterMng.getInstance().hasOfflineAttenderRegisterData()) {
-            return;
-        }
-//        CheckInMng.getInstance().sendOfflineCheckInToServer();
-//        if (CheckInMng.getInstance().hasOfflineCheckInData()) {
+//        RegisterMng.getInstance().sendOfflineVisitorRegisterToServer();
+//        if (RegisterMng.getInstance().hasOfflineVisitorRegisterData()) {
 //            return;
 //        }
-        SurveillanceMng.getInstance().sendOfflineUnknownToServer();
+//        RegisterMng.getInstance().sendOfflineAttenderRegisterToServer();
+//        if (RegisterMng.getInstance().hasOfflineAttenderRegisterData()) {
+//            return;
+//        }
+////        CheckInMng.getInstance().sendOfflineCheckInToServer();
+////        if (CheckInMng.getInstance().hasOfflineCheckInData()) {
+////            return;
+////        }
+//        SurveillanceMng.getInstance().sendOfflineUnknownToServer();
     }
 
 
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java
index 7c9e650..44f690c 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java
@@ -113,7 +113,7 @@
 
     public static boolean FACE_SERVER = false;
     public static boolean ID_CARD = false;
-    public static boolean EMULATOR = true;
+    public static boolean EMULATOR = false;
 
     public static boolean androidOffline() {
         return true;
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java
index 71f66ab..1a34519 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java
@@ -114,7 +114,7 @@
     }
 
     public boolean hasOfflineCheckInData() {
-        Cursor c = MainActivity.getInstance().db.rawQuery("select count(*) from visit", new String[]{});
+        Cursor c = MainActivity.getInstance().db.rawQuery("select count(*) from visit where 1=1 and is_synchron='N'", new String[]{});
         c.moveToFirst();
         return c.getInt(0) > 0 ? true : false;
     }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/AttendanceDownSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/AttendanceDownSync.java
new file mode 100644
index 0000000..323278a
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/AttendanceDownSync.java
@@ -0,0 +1,33 @@
+package cn.com.basic.face.service.sync.down;
+
+import org.xutils.http.RequestParams;
+import org.xutils.x;
+
+import cn.com.basic.face.discern.common.BaseCommonCallBack;
+import cn.com.basic.face.discern.common.SqliteSqlBean;
+import cn.com.basic.face.service.sync.up.AttenderRegisterUpSync;
+import cn.com.basic.face.service.sync.up.BaseSync;
+import cn.com.basic.face.util.SqliteSqlUtil;
+
+public class AttendanceDownSync extends BaseDownSync {
+    private static AttendanceDownSync instance = new AttendanceDownSync();
+    public static AttendanceDownSync getInstance() {
+        return instance;
+    }
+
+    @Override
+    public void doSync() {
+        try {
+            RequestParams params = DataDownSyn.getParams("attendance");
+            x.http().post(params, new BaseCommonCallBack() {
+                public void success() {
+                    SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
+                    syncNext();
+                }
+            });
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/BaseDownSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/BaseDownSync.java
new file mode 100644
index 0000000..5340a16
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/BaseDownSync.java
@@ -0,0 +1,23 @@
+package cn.com.basic.face.service.sync.down;
+
+import cn.com.basic.face.service.sync.up.BaseSync;
+
+public abstract class BaseDownSync extends BaseSync {
+    public void sync() {
+        setSyncComplete(false);
+        doSync();
+    }
+
+    @Override
+    public boolean hasMore() {
+        return false;
+    }
+
+    public void syncNext() {
+        setSyncComplete(true);
+        if (getNext() != null) {
+            getNext().sync();
+        }
+    }
+
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/CompanyDownSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/CompanyDownSync.java
new file mode 100644
index 0000000..cb480ba
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/CompanyDownSync.java
@@ -0,0 +1,33 @@
+package cn.com.basic.face.service.sync.down;
+
+import org.xutils.http.RequestParams;
+import org.xutils.x;
+
+import cn.com.basic.face.discern.common.BaseCommonCallBack;
+import cn.com.basic.face.discern.common.SqliteSqlBean;
+import cn.com.basic.face.service.sync.up.AttenderRegisterUpSync;
+import cn.com.basic.face.util.SqliteSqlUtil;
+
+public class CompanyDownSync extends BaseDownSync {
+
+    private static CompanyDownSync instance = new CompanyDownSync();
+    public static CompanyDownSync getInstance() {
+        return instance;
+    }
+
+    @Override
+    public void doSync() {
+        try {
+            RequestParams params = DataDownSyn.getParams("company");
+            x.http().post(params, new BaseCommonCallBack() {
+                public void success() {
+                    SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
+                    syncNext();
+                }
+            });
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DataDownSyn.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DataDownSyn.java
index 6c0925f..e8457b0 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DataDownSyn.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DataDownSyn.java
@@ -39,10 +39,7 @@
      */
     public void serviceToClient(final String tableName) {
         try {
-            RequestParams params = new RequestParams(AppApi.BASE_URL + AppApi.DOWN_SYNCHRON);
-            params.addBodyParameter("tableName", tableName);
-            params.addBodyParameter("synDate", SynchronRecordDao.getInstance().getSynRecord(tableName)==null?"":SynchronRecordDao.getInstance().getSynRecord(tableName).getSynchronTime());
-            params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
+            RequestParams params = getParams(tableName);
             x.http().post(params, new BaseCommonCallBack() {
                 public void success() {
                     SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
@@ -51,6 +48,14 @@
         } catch (Exception e) {
             e.printStackTrace();
         }
-
     }
+
+    public static RequestParams getParams(String tableName) {
+        RequestParams params = new RequestParams(AppApi.BASE_URL + AppApi.DOWN_SYNCHRON);
+        params.addBodyParameter("tableName", tableName);
+        params.addBodyParameter("synDate", SynchronRecordDao.getInstance().getSynRecord(tableName)==null?"":SynchronRecordDao.getInstance().getSynRecord(tableName).getSynchronTime());
+        params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
+        return params;
+    }
+
 }
\ No newline at end of file
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DepartmentDownSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DepartmentDownSync.java
new file mode 100644
index 0000000..357a3bb
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DepartmentDownSync.java
@@ -0,0 +1,33 @@
+package cn.com.basic.face.service.sync.down;
+
+import org.xutils.http.RequestParams;
+import org.xutils.x;
+
+import cn.com.basic.face.discern.common.BaseCommonCallBack;
+import cn.com.basic.face.discern.common.SqliteSqlBean;
+import cn.com.basic.face.service.sync.up.AttenderRegisterUpSync;
+import cn.com.basic.face.util.SqliteSqlUtil;
+
+public class DepartmentDownSync extends BaseDownSync {
+
+    private static DepartmentDownSync instance = new DepartmentDownSync();
+    public static DepartmentDownSync getInstance() {
+        return instance;
+    }
+
+    @Override
+    public void doSync() {
+        try {
+            RequestParams params = DataDownSyn.getParams("department");
+            x.http().post(params, new BaseCommonCallBack() {
+                public void success() {
+                    SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
+                    syncNext();
+                }
+            });
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DeviceDownSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DeviceDownSync.java
new file mode 100644
index 0000000..4c46c09
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DeviceDownSync.java
@@ -0,0 +1,33 @@
+package cn.com.basic.face.service.sync.down;
+
+import org.xutils.http.RequestParams;
+import org.xutils.x;
+
+import cn.com.basic.face.discern.common.BaseCommonCallBack;
+import cn.com.basic.face.discern.common.SqliteSqlBean;
+import cn.com.basic.face.service.sync.up.AttenderRegisterUpSync;
+import cn.com.basic.face.util.SqliteSqlUtil;
+
+public class DeviceDownSync extends BaseDownSync {
+
+    private static DeviceDownSync instance = new DeviceDownSync();
+    public static DeviceDownSync getInstance() {
+        return instance;
+    }
+
+    @Override
+    public void doSync() {
+        try {
+            RequestParams params = DataDownSyn.getParams("device");
+            x.http().post(params, new BaseCommonCallBack() {
+                public void success() {
+                    SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
+                    syncNext();
+                }
+            });
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DictionaryDownSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DictionaryDownSync.java
new file mode 100644
index 0000000..4e4b870
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DictionaryDownSync.java
@@ -0,0 +1,33 @@
+package cn.com.basic.face.service.sync.down;
+
+import org.xutils.http.RequestParams;
+import org.xutils.x;
+
+import cn.com.basic.face.discern.common.BaseCommonCallBack;
+import cn.com.basic.face.discern.common.SqliteSqlBean;
+import cn.com.basic.face.service.sync.up.AttenderRegisterUpSync;
+import cn.com.basic.face.util.SqliteSqlUtil;
+
+public class DictionaryDownSync extends BaseDownSync {
+
+    private static DictionaryDownSync instance = new DictionaryDownSync();
+    public static DictionaryDownSync getInstance() {
+        return instance;
+    }
+
+    @Override
+    public void doSync() {
+        try {
+            RequestParams params = DataDownSyn.getParams("dictionary");
+            x.http().post(params, new BaseCommonCallBack() {
+                public void success() {
+                    SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
+                    syncNext();
+                }
+            });
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/EmployeeDownSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/EmployeeDownSync.java
new file mode 100644
index 0000000..816eec7
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/EmployeeDownSync.java
@@ -0,0 +1,33 @@
+package cn.com.basic.face.service.sync.down;
+
+import org.xutils.http.RequestParams;
+import org.xutils.x;
+
+import cn.com.basic.face.discern.common.BaseCommonCallBack;
+import cn.com.basic.face.discern.common.SqliteSqlBean;
+import cn.com.basic.face.service.sync.up.AttenderRegisterUpSync;
+import cn.com.basic.face.util.SqliteSqlUtil;
+
+public class EmployeeDownSync extends BaseDownSync {
+
+    private static EmployeeDownSync instance = new EmployeeDownSync();
+    public static EmployeeDownSync getInstance() {
+        return instance;
+    }
+
+    @Override
+    public void doSync() {
+        try {
+            RequestParams params = DataDownSyn.getParams("employee");
+            x.http().post(params, new BaseCommonCallBack() {
+                public void success() {
+                    SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
+                    syncNext();
+                }
+            });
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/PhoneCallDownSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/PhoneCallDownSync.java
new file mode 100644
index 0000000..fbceb28
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/PhoneCallDownSync.java
@@ -0,0 +1,33 @@
+package cn.com.basic.face.service.sync.down;
+
+import org.xutils.http.RequestParams;
+import org.xutils.x;
+
+import cn.com.basic.face.discern.common.BaseCommonCallBack;
+import cn.com.basic.face.discern.common.SqliteSqlBean;
+import cn.com.basic.face.service.sync.up.AttenderRegisterUpSync;
+import cn.com.basic.face.util.SqliteSqlUtil;
+
+public class PhoneCallDownSync extends BaseDownSync {
+
+    private static PhoneCallDownSync instance = new PhoneCallDownSync();
+    public static PhoneCallDownSync getInstance() {
+        return instance;
+    }
+
+    @Override
+    public void doSync() {
+        try {
+            RequestParams params = DataDownSyn.getParams("phone_call");
+            x.http().post(params, new BaseCommonCallBack() {
+                public void success() {
+                    SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
+                    syncNext();
+                }
+            });
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/PostDownSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/PostDownSync.java
new file mode 100644
index 0000000..a0add28
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/PostDownSync.java
@@ -0,0 +1,33 @@
+package cn.com.basic.face.service.sync.down;
+
+import org.xutils.http.RequestParams;
+import org.xutils.x;
+
+import cn.com.basic.face.discern.common.BaseCommonCallBack;
+import cn.com.basic.face.discern.common.SqliteSqlBean;
+import cn.com.basic.face.service.sync.up.AttenderRegisterUpSync;
+import cn.com.basic.face.util.SqliteSqlUtil;
+
+public class PostDownSync extends BaseDownSync {
+
+    private static PostDownSync instance = new PostDownSync();
+    public static PostDownSync getInstance() {
+        return instance;
+    }
+
+    @Override
+    public void doSync() {
+        try {
+            RequestParams params = DataDownSyn.getParams("post");
+            x.http().post(params, new BaseCommonCallBack() {
+                public void success() {
+                    SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
+                    syncNext();
+                }
+            });
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/RegisterDownSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/RegisterDownSync.java
new file mode 100644
index 0000000..364c11f
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/RegisterDownSync.java
@@ -0,0 +1,33 @@
+package cn.com.basic.face.service.sync.down;
+
+import org.xutils.http.RequestParams;
+import org.xutils.x;
+
+import cn.com.basic.face.discern.common.BaseCommonCallBack;
+import cn.com.basic.face.discern.common.SqliteSqlBean;
+import cn.com.basic.face.service.sync.up.AttenderRegisterUpSync;
+import cn.com.basic.face.util.SqliteSqlUtil;
+
+public class RegisterDownSync extends BaseDownSync {
+
+    private static RegisterDownSync instance = new RegisterDownSync();
+    public static RegisterDownSync getInstance() {
+        return instance;
+    }
+
+    @Override
+    public void doSync() {
+        try {
+            RequestParams params = DataDownSyn.getParams("register");
+            x.http().post(params, new BaseCommonCallBack() {
+                public void success() {
+                    SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
+                    syncNext();
+                }
+            });
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/VisitDetailDownSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/VisitDetailDownSync.java
new file mode 100644
index 0000000..5c24bef
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/VisitDetailDownSync.java
@@ -0,0 +1,33 @@
+package cn.com.basic.face.service.sync.down;
+
+import org.xutils.http.RequestParams;
+import org.xutils.x;
+
+import cn.com.basic.face.discern.common.BaseCommonCallBack;
+import cn.com.basic.face.discern.common.SqliteSqlBean;
+import cn.com.basic.face.service.sync.up.AttenderRegisterUpSync;
+import cn.com.basic.face.util.SqliteSqlUtil;
+
+public class VisitDetailDownSync extends BaseDownSync {
+
+    private static VisitDetailDownSync instance = new VisitDetailDownSync();
+    public static VisitDetailDownSync getInstance() {
+        return instance;
+    }
+
+    @Override
+    public void doSync() {
+        try {
+            RequestParams params = DataDownSyn.getParams("visit_detail");
+            x.http().post(params, new BaseCommonCallBack() {
+                public void success() {
+                    SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
+                    syncNext();
+                }
+            });
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/VisitDownSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/VisitDownSync.java
new file mode 100644
index 0000000..cc940e8
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/VisitDownSync.java
@@ -0,0 +1,33 @@
+package cn.com.basic.face.service.sync.down;
+
+import org.xutils.http.RequestParams;
+import org.xutils.x;
+
+import cn.com.basic.face.discern.common.BaseCommonCallBack;
+import cn.com.basic.face.discern.common.SqliteSqlBean;
+import cn.com.basic.face.service.sync.up.AttenderRegisterUpSync;
+import cn.com.basic.face.util.SqliteSqlUtil;
+
+public class VisitDownSync extends BaseDownSync {
+
+    private static VisitDownSync instance = new VisitDownSync();
+    public static VisitDownSync getInstance() {
+        return instance;
+    }
+
+    @Override
+    public void doSync() {
+        try {
+            RequestParams params = DataDownSyn.getParams("visit");
+            x.http().post(params, new BaseCommonCallBack() {
+                public void success() {
+                    SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
+                    syncNext();
+                }
+            });
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/AttenderRegisterUpSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/AttenderRegisterUpSync.java
index 4ab62a2..03db381 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/AttenderRegisterUpSync.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/AttenderRegisterUpSync.java
@@ -17,17 +17,10 @@
 import cn.com.basic.face.util.SqliteSqlUtil;
 
 public class AttenderRegisterUpSync extends BaseSync {
-    private BaseSync next;
-    public boolean upToMysqlComplete = false;
 
     private static AttenderRegisterUpSync instance = new AttenderRegisterUpSync();
-
     public static AttenderRegisterUpSync getInstance() {
         return instance;
-    }
-
-    public void setNext(BaseSync next) {
-        this.next = next;
     }
 
     public void doSync() {
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/BaseSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/BaseSync.java
index 6f29a72..cf7a6a1 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/BaseSync.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/BaseSync.java
@@ -29,10 +29,14 @@
 
     public abstract boolean hasMore();
 
-    public void setComplete(boolean syncComplete) {
+    public void setSyncComplete(boolean syncComplete) {
+        this.syncComplete = syncComplete;
+    }
+
+    public void setAllSyncComplete(boolean syncComplete) {
         this.syncComplete = syncComplete;
         if (next != null) {
-            next.setComplete(syncComplete);
+            next.setSyncComplete(syncComplete);
         }
     }
 
@@ -44,4 +48,7 @@
         return last.getSyncComplete();
     }
 
+    public BaseSync getNext() {
+        return next;
+    }
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/CheckInUpSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/CheckInUpSync.java
index 0faf4ea..8c99dac 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/CheckInUpSync.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/CheckInUpSync.java
@@ -1,6 +1,14 @@
 package cn.com.basic.face.service.sync.up;
 
+import cn.com.basic.face.service.sqlite.CheckInDao;
+
 public class CheckInUpSync extends BaseSync {
+
+    public static CheckInUpSync instance = new CheckInUpSync();
+
+    public static CheckInUpSync getInstance() {
+        return instance;
+    }
 
     @Override
     public void doSync() {
@@ -9,13 +17,7 @@
 
     @Override
     public boolean hasMore() {
-        return false;
-    }
-
-    public static CheckInUpSync instance = new CheckInUpSync();
-
-    public static CheckInUpSync getInstance() {
-        return instance;
+        return CheckInDao.getInstance().hasOfflineCheckInData();
     }
 
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/DictionaryUpSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/DictionaryUpSync.java
index 67b902d..9961ca0 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/DictionaryUpSync.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/DictionaryUpSync.java
@@ -23,8 +23,8 @@
 
 public class DictionaryUpSync extends BaseSync {
 
-    public static  DeviceUpSync instance=new DeviceUpSync();
-    public static DeviceUpSync getInstance(){
+    public static  DictionaryUpSync instance=new DictionaryUpSync();
+    public static DictionaryUpSync getInstance(){
         return instance;
     }
 
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java
index 6aaea0b..8926d78 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java
@@ -9,10 +9,10 @@
 //	public final static String BASE_URL = "http://192.168.1.51:8333/face/";
 	//public final static String BASE_URL = "http://192.168.1.101:8080/face/";
 //	public final static String BASE_URL = "http://192.168.1.36:8080/face/";
-//	public final static String BASE_URL = "http://192.168.1.51:8333/face/";
+	public final static String BASE_URL = "http://192.168.1.51:8333/face/";
 //	public final static String BASE_URL = "http://192.168.1.81:8080/face/";
 
-	public final static  String BASE_URL="http://192.168.1.160:8080/ssm/";
+//	public final static  String BASE_URL="http://192.168.1.160:8080/ssm/";
 
 	//鍚戜笅鍚屾
 	public static  final  String DOWN_SYNCHRON="DataSynchro/service2client.do";
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SyncUpAndDownThread.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SyncUpAndDownThread.java
index c067bd8..b9f1da4 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SyncUpAndDownThread.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SyncUpAndDownThread.java
@@ -1,8 +1,22 @@
 package cn.com.basic.face.util;
 
+import cn.com.basic.face.service.sync.down.AttendanceDownSync;
+import cn.com.basic.face.service.sync.down.CompanyDownSync;
+import cn.com.basic.face.service.sync.down.DepartmentDownSync;
+import cn.com.basic.face.service.sync.down.DeviceDownSync;
+import cn.com.basic.face.service.sync.down.DictionaryDownSync;
+import cn.com.basic.face.service.sync.down.EmployeeDownSync;
+import cn.com.basic.face.service.sync.down.PhoneCallDownSync;
+import cn.com.basic.face.service.sync.down.PostDownSync;
+import cn.com.basic.face.service.sync.down.RegisterDownSync;
+import cn.com.basic.face.service.sync.down.VisitDetailDownSync;
+import cn.com.basic.face.service.sync.down.VisitDownSync;
 import cn.com.basic.face.service.sync.up.AttenderRegisterUpSync;
 import cn.com.basic.face.service.sync.up.BaseSync;
 import cn.com.basic.face.service.sync.up.CheckInUpSync;
+import cn.com.basic.face.service.sync.up.CompanyUpSync;
+import cn.com.basic.face.service.sync.up.DeviceUpSync;
+import cn.com.basic.face.service.sync.up.DictionaryUpSync;
 import cn.com.basic.face.service.sync.up.OfflineSurveillanceUpSync;
 import cn.com.basic.face.service.sync.up.VisitorRegisterUpSync;
 
@@ -14,15 +28,48 @@
 
     public BaseSync buildSyncChain() {
 
+        //up
+        firstSync = DictionaryUpSync.getInstance();
+        DeviceUpSync deviceUpSync = DeviceUpSync.getInstance();
+        CompanyUpSync companyUpSync = CompanyUpSync.getInstance();
         VisitorRegisterUpSync visitorRegisterUpSync = VisitorRegisterUpSync.getInstance();
         AttenderRegisterUpSync attenderRegisterUpSync = AttenderRegisterUpSync.getInstance();
-        visitorRegisterUpSync.setNext(attenderRegisterUpSync);
-        CheckInUpSync checkInUpSync = CheckInUpSync.getInstance();
-        attenderRegisterUpSync.setNext(checkInUpSync);
         OfflineSurveillanceUpSync offlineSurveillanceUpSync = OfflineSurveillanceUpSync.getInstance();
+        CheckInUpSync checkInUpSync = CheckInUpSync.getInstance();
+
+        firstSync.setNext(companyUpSync);
+        companyUpSync.setNext(deviceUpSync);
+        deviceUpSync.setNext(visitorRegisterUpSync);
+        visitorRegisterUpSync.setNext(attenderRegisterUpSync);
+        attenderRegisterUpSync.setNext(checkInUpSync);
         checkInUpSync.setNext(offlineSurveillanceUpSync);
 
-        return visitorRegisterUpSync;
+        // down
+        AttendanceDownSync attendanceDownSync = AttendanceDownSync.getInstance();
+        CompanyDownSync companyDownSync = CompanyDownSync.getInstance();
+        DepartmentDownSync departmentDownSync = DepartmentDownSync.getInstance();
+        DeviceDownSync deviceDownSync = DeviceDownSync.getInstance();
+        DictionaryDownSync dictionaryDownSync = DictionaryDownSync.getInstance();
+        EmployeeDownSync employeeDownSync = EmployeeDownSync.getInstance();
+        PhoneCallDownSync phoneCallDownSync = PhoneCallDownSync.getInstance();
+        PostDownSync postDownSync = PostDownSync.getInstance();
+        RegisterDownSync registerDownSync = RegisterDownSync.getInstance();
+        VisitDetailDownSync visitDetailDownSync = VisitDetailDownSync.getInstance();
+        VisitDownSync visitDownSync = VisitDownSync.getInstance();
+
+        offlineSurveillanceUpSync.setNext(attendanceDownSync);
+        attendanceDownSync.setNext(companyDownSync);
+        companyDownSync.setNext(departmentDownSync);
+        departmentDownSync.setNext(deviceDownSync);
+        deviceDownSync.setNext(dictionaryDownSync);
+        dictionaryDownSync.setNext(employeeDownSync);
+        employeeDownSync.setNext(phoneCallDownSync);
+        phoneCallDownSync.setNext(postDownSync);
+        postDownSync.setNext(registerDownSync);
+        registerDownSync.setNext(visitDetailDownSync);
+        visitDetailDownSync.setNext(visitDownSync);
+
+        return firstSync;
     }
 
 
@@ -31,8 +78,9 @@
         firstSync = buildSyncChain();
         while (true) {
             try {
-                firstSync.setComplete(false);
+                firstSync.setAllSyncComplete(false);
                 if (firstSync.lastUpSyncComplete()) {
+                    firstSync.sync();
                     Thread.sleep(5 * 60 * 1000);
                 } else {
                     Thread.sleep(10*1000);

--
Gitblit v1.8.0