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(); } 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; 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; } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/AttendanceDownSync.java
New file @@ -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(); } } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/BaseDownSync.java
New file @@ -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(); } } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/CompanyDownSync.java
New file @@ -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(); } } } 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; } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DepartmentDownSync.java
New file @@ -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(); } } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DeviceDownSync.java
New file @@ -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(); } } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DictionaryDownSync.java
New file @@ -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(); } } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/EmployeeDownSync.java
New file @@ -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(); } } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/PhoneCallDownSync.java
New file @@ -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(); } } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/PostDownSync.java
New file @@ -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(); } } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/RegisterDownSync.java
New file @@ -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(); } } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/VisitDetailDownSync.java
New file @@ -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(); } } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/VisitDownSync.java
New file @@ -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(); } } } 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() { 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; } } 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(); } } 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; } 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"; 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);