VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java
@@ -206,24 +206,7 @@ public void sendOfflineCheckInToServer(Integer mysqlVisitorId, long sqliteVisitorId) { RequestParams params = new RequestParams(); List<OfflineVisitItem> offlineVisitItems = CheckInDao.getInstance().readOfflineVisitItemFromLocal(sqliteVisitorId); for (OfflineVisitItem item : offlineVisitItems) { params.setUri(AppApi.BASE_URL +AppApi.VISIT_ADD); params.addBodyParameter(Visit.FieldNames.deviceCompanyId, BaseApplication.getInstance().getAndroidDevice().getCompanyId()); x.http().post(params, new BaseCommonCallBack() { @Override public void success() { SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class)); Toast.makeText(BaseApplication.getInstance(),"添加成功", Toast.LENGTH_SHORT).show(); CheckInFragment.getInstance().resetForm(); // if (visitReasonId == null || "".equals(visitReasonId)) { // DictionaryMng.getInstance().loadVisitReasonList(); // } } }); } } public boolean hasOfflineCheckInData() { VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java
@@ -181,7 +181,7 @@ return resultBean; } public List<OfflineVisitItem> readOfflineVisitItemFromLocal(long registerId) { public List<OfflineVisitItem> readOfflineVisitItemFromLocal() { String sql = "SELECT\n" + " a.visit_id,\n" + " a.visit_reason_id,\n" + @@ -204,7 +204,8 @@ "WHERE\n" + " 1 = 1\n" + "AND a.is_synchron = 'N'\n" + "AND visitor_id = '"+registerId+"'"; " limit 1"; // "AND visitor_id = '"+registerId+"'"; List<OfflineVisitItem> items = new ArrayList<>(); Cursor c = MainActivity.getInstance().db.rawQuery(sql, new String[]{}); while (c.moveToNext()) { @@ -258,4 +259,22 @@ } public void updateVisitorId(String sqliteVisitorId, String mysqlVisitorId) { if (sqliteVisitorId == null || "".equals(sqliteVisitorId.trim()) || mysqlVisitorId == null || "".equals(mysqlVisitorId.trim()) ) { return; } MainActivity.getInstance().db.execSQL("update visit set visitor_id='"+mysqlVisitorId+"' where 1=1 and visitor_id='"+sqliteVisitorId+"'"); } public void updateVisiteeId(String sqliteVisiteeId, String mysqlVisiteeId) { if (sqliteVisiteeId == null || "".equals(sqliteVisiteeId.trim()) || mysqlVisiteeId == null || "".equals(mysqlVisiteeId.trim()) ) { return; } MainActivity.getInstance().db.execSQL("update visit set visitee_id='"+mysqlVisiteeId+"' where 1=1 and visitee_id='"+sqliteVisiteeId+"'"); } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/AttenderRegisterUpSync.java
@@ -7,11 +7,15 @@ import java.io.File; import java.io.FileWriter; import java.util.List; import cn.com.basic.face.base.BaseApplication; import cn.com.basic.face.discern.common.BaseCommonCallBack; import cn.com.basic.face.discern.common.SqliteSqlBean; import cn.com.basic.face.discern.query.item.OfflineAttenderRegisterItem; import cn.com.basic.face.discern.query.item.OfflineVisitorRegisterItem; import cn.com.basic.face.fragment.AttenderRegisterFragment; import cn.com.basic.face.service.sqlite.CheckInDao; import cn.com.basic.face.service.sqlite.RegisterDao; import cn.com.basic.face.util.AppApi; import cn.com.basic.face.util.SqliteSqlUtil; @@ -25,6 +29,7 @@ public void doSync() { try { final OfflineAttenderRegisterItem item = RegisterDao.getInstance().readOfflineAttenderRegister(); RequestParams params = new RequestParams(); File path = BaseApplication.getInstance().getFilesDir(); File rawSurveillancePhotoFile = new File(path, "rawSurveillancePhoto_attender"); @@ -61,7 +66,13 @@ x.http().post(params, new BaseCommonCallBack() { @Override public void success() { SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class)); List<SqliteSqlBean> list = getExtraList(SqliteSqlBean.class); SqliteSqlUtil.insert(list); for (SqliteSqlBean sqliteSqlBean : list) { if ("register".equals(sqliteSqlBean.getTableName())) { CheckInDao.getInstance().updateVisiteeId(item.getRegisterId(), sqliteSqlBean.getPrimaryKeyValue()); } } sync(); } }); VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/CheckInUpSync.java
@@ -1,6 +1,23 @@ package cn.com.basic.face.service.sync.up; import android.widget.Toast; import org.xutils.http.RequestParams; import org.xutils.x; import java.io.File; import java.io.FileWriter; import java.util.List; import cn.com.basic.face.base.BaseApplication; import cn.com.basic.face.discern.common.BaseCommonCallBack; import cn.com.basic.face.discern.common.SqliteSqlBean; import cn.com.basic.face.discern.entity.Visit; import cn.com.basic.face.discern.query.item.OfflineVisitItem; import cn.com.basic.face.fragment.CheckInFragment; import cn.com.basic.face.service.sqlite.CheckInDao; import cn.com.basic.face.util.AppApi; import cn.com.basic.face.util.SqliteSqlUtil; public class CheckInUpSync extends BaseSync { @@ -12,7 +29,72 @@ @Override public void doSync() { try { RequestParams params = new RequestParams(); List<OfflineVisitItem> offlineVisitItems = CheckInDao.getInstance().readOfflineVisitItemFromLocal(); for (OfflineVisitItem item : offlineVisitItems) { params.setUri(AppApi.BASE_URL +AppApi.VISIT_ADD); params.addBodyParameter(Visit.FieldNames.deviceCompanyId, BaseApplication.getInstance().getAndroidDevice().getCompanyId()); x.http().post(params, new BaseCommonCallBack() { @Override public void success() { SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class)); Toast.makeText(BaseApplication.getInstance(),"添加成功", Toast.LENGTH_SHORT).show(); CheckInFragment.getInstance().resetForm(); // if (visitReasonId == null || "".equals(visitReasonId)) { // DictionaryMng.getInstance().loadVisitReasonList(); // } } }); } /* RequestParams params = new RequestParams(); File path = BaseApplication.getInstance().getFilesDir(); File rawSurveillancePhotoFile = new File(path, "rawSurveillancePhoto_attender"); if (!rawSurveillancePhotoFile.exists()) { rawSurveillancePhotoFile.createNewFile(); } File f0 = new File(path, "f0"); if (!f0.exists()) { f0.createNewFile(); } File surveillancePhotoFile = new File(path, "surveillancePhoto_attender"); if (!surveillancePhotoFile.exists()) { surveillancePhotoFile.createNewFile(); } File uploadCustomPhotoFile = new File(path, "uploadCustomPhoto_attender"); if (!uploadCustomPhotoFile.exists()) { uploadCustomPhotoFile.createNewFile(); } File idCardPhotoFile = new File(path, "idCardPhoto_attender"); if (!idCardPhotoFile.exists()) { idCardPhotoFile.createNewFile(); } FileWriter fw0 = new FileWriter(f0); fw0.write("test1"); fw0.close(); params.setUri(AppApi.BASE_URL +AppApi.ATTENDER_REGISTER_ADD); params.addBodyParameter("f0", f0); params.addBodyParameter("rawSurveillancePhoto", rawSurveillancePhotoFile); params.addBodyParameter("surveillancePhoto", surveillancePhotoFile); params.addBodyParameter("uploadCustomPhoto", uploadCustomPhotoFile); params.addBodyParameter("idCardPhoto", idCardPhotoFile); params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId()); x.http().post(params, new BaseCommonCallBack() { @Override public void success() { SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class)); sync(); } });*/ }catch(Exception e) { e.printStackTrace(); } } @Override VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/VisitorRegisterUpSync.java
@@ -5,12 +5,14 @@ import java.io.File; import java.io.FileWriter; import java.util.List; import cn.com.basic.face.base.BaseApplication; import cn.com.basic.face.discern.common.BaseCommonCallBack; import cn.com.basic.face.discern.common.SqliteSqlBean; import cn.com.basic.face.discern.entity.Register; import cn.com.basic.face.discern.query.item.OfflineVisitorRegisterItem; import cn.com.basic.face.service.sqlite.CheckInDao; import cn.com.basic.face.service.sqlite.RegisterDao; import cn.com.basic.face.util.AppApi; import cn.com.basic.face.util.SqliteSqlUtil; @@ -60,7 +62,13 @@ x.http().post(params, new BaseCommonCallBack() { @Override public void success() { SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class)); List<SqliteSqlBean> list = getExtraList(SqliteSqlBean.class); SqliteSqlUtil.insert(list); for (SqliteSqlBean sqliteSqlBean : list) { if ("register".equals(sqliteSqlBean.getTableName())) { CheckInDao.getInstance().updateVisitorId(item.getRegisterId(), sqliteSqlBean.getPrimaryKeyValue()); } } RegisterDao.getInstance().removeOfflineVisitorRegister(item); sync(); }