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

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SyncUpAndDownThread.java |   80 ++++++++++++++++++++++++++++++++++------
 1 files changed, 68 insertions(+), 12 deletions(-)

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 1132b2f..e6cfbde 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,24 @@
 package cn.com.basic.face.util;
 
+import java.util.Date;
+
+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;
 
@@ -10,30 +26,70 @@
 
     public boolean isThisTimeSyncComplete = false;
 
-    BaseSync baseSync;
+    BaseSync firstSync;
 
-    public BaseSync buildUpChain() {
+    public BaseSync buildSyncChain() {
 
-        VisitorRegisterUpSync visitorRegisterSync = VisitorRegisterUpSync.getInstance();
-        AttenderRegisterUpSync attenderRegisterSync = AttenderRegisterUpSync.getInstance();
-        visitorRegisterSync.setNext(attenderRegisterSync);
-        CheckInUpSync checkInUpSync = CheckInUpSync.getInstance();
-        attenderRegisterSync.setNext(checkInUpSync);
+        //up
+        firstSync = DictionaryUpSync.getInstance();
+        DeviceUpSync deviceUpSync = DeviceUpSync.getInstance();
+        CompanyUpSync companyUpSync = CompanyUpSync.getInstance();
+        VisitorRegisterUpSync visitorRegisterUpSync = VisitorRegisterUpSync.getInstance();
+        AttenderRegisterUpSync attenderRegisterUpSync = AttenderRegisterUpSync.getInstance();
         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 visitorRegisterSync;
+        // 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;
     }
 
 
+    Date lastTime = new Date();
+
     @Override
     public void run() {
-        BaseSync baseSync = buildUpChain();
+        firstSync = buildSyncChain();
+        firstSync.setAllSyncComplete(false);
+        firstSync.sync();
         while (true) {
             try {
-                baseSync.setComplete(false);
-                if (baseSync.lastUpSyncComplete()) {
-                    Thread.sleep(5 * 60 * 1000);
+                Date now = new Date();
+                double minutes = (now.getTime() - lastTime.getTime())*1.0 / 1000 / 60;
+                if (minutes >= 5) {
+                    firstSync.setAllSyncComplete(false);
+                    firstSync.sync();
+                    lastTime = now;
                 } else {
                     Thread.sleep(10*1000);
                     return;

--
Gitblit v1.8.0