git-svn-id: http://192.168.1.226/svn/proxy@857 454eff88-639b-444f-9e54-f578c98de674
| | |
| | | } |
| | | |
| | | public boolean networkAvailable() { |
| | | boolean connected = true; |
| | | boolean connected = false; |
| | | // 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) { |
| | |
| | | import java.text.SimpleDateFormat;
|
| | | import java.util.Date;
|
| | | import java.util.List;
|
| | | import java.util.UUID;
|
| | |
|
| | | import cn.com.basic.face.discern.common.CommonVariables;
|
| | | import cn.com.basic.face.discern.entity.Visit;
|
| | |
| | | params.addBodyParameter(VisitDetail.FieldNames.createTime, sdf.format(new Date()));
|
| | | params.addBodyParameter(VisitDetail.FieldNames.deviceId, BaseApplication.getInstance().getAndroidDevice().getDeviceId());
|
| | | } else {
|
| | | offlineVisitItem.setVisitId(UUID.randomUUID().toString());
|
| | | offlineVisitItem.setVisitReasonId(visitReasonId);
|
| | | offlineVisitItem.setVisitReason(fragment_check_in_right_visitor_reason.getText().toString());
|
| | | offlineVisitItem.setRemark(fragment_check_in_right_remark.getText().toString());
|
| | |
| | | offlineVisitItem.setWarning(visitor.getWarning());
|
| | | offlineVisitItem.setCreateTime(sdf.format(new Date()));
|
| | | offlineVisitItem.setDeviceId(BaseApplication.getInstance().getAndroidDevice().getDeviceId());
|
| | | offlineVisitItem.setDeviceCompanyId(BaseApplication.getInstance().getAndroidDevice().getCompanyId());
|
| | | offlineVisitItem.setIsSynchron("N");
|
| | | }
|
| | | CheckInMng.getInstance().add(params, visitReasonId, offlineVisitItem);
|
| | |
| | | }
|
| | | });
|
| | | } else {
|
| | | CheckInDao.getInstance().addOfflineVisit(offlineVisitItem);
|
| | | if (visitReasonId == null || "".equals(visitReasonId)) {
|
| | | DictionaryMng.getInstance().loadVisitReasonList();
|
| | | }
|
| | | final long result = CheckInDao.getInstance().addOfflineVisit(offlineVisitItem);
|
| | |
|
| | | MainActivity.getInstance().runOnUiThread(new Runnable() {
|
| | | @Override
|
| | | public void run() {
|
| | | if (result > 0) {
|
| | | Toast.makeText(BaseApplication.getInstance(), "添加成功", Toast.LENGTH_SHORT).show();
|
| | | if (visitReasonId == null || "".equals(visitReasonId)) {
|
| | | DictionaryMng.getInstance().loadVisitReasonList();
|
| | | }
|
| | | CheckInFragment.getInstance().resetForm();
|
| | | } else {
|
| | | Toast.makeText(BaseApplication.getInstance(), "添加失败", Toast.LENGTH_SHORT).show();
|
| | | }
|
| | | }
|
| | | });
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | return sharedPreferences.getString(key, "");
|
| | | }
|
| | |
|
| | | public String getCamera1Address() {
|
| | | public String getCamera2Address() {
|
| | | String username = "admin";
|
| | | String password = "admin12345";
|
| | | String ip = "192.168.1.70";
|
| | |
| | | // return "rtsp://admin:a1234567@192.168.1.132:554/h264/ch1/main/av_stream";
|
| | | }
|
| | |
|
| | | public String getCamera2Address() {
|
| | | public String getCamera1Address() {
|
| | | String username = "admin";
|
| | | String password = "a1234567";
|
| | | String ip = "192.168.1.68";
|
| | |
| | | package cn.com.basic.face.service.sqlite;
|
| | |
|
| | | import android.content.ContentValues;
|
| | | import android.database.Cursor;
|
| | | import android.database.CursorJoiner;
|
| | | import android.database.sqlite.SQLiteDatabase;
|
| | |
| | |
|
| | | /**
|
| | | * 离线存储访客登记信息
|
| | | * @param entity
|
| | | * @param item
|
| | | */
|
| | | public void addOfflineVisit(OfflineVisitItem entity) {
|
| | | String sql =
|
| | | "INSERT INTO visit (\n" +
|
| | | " visit_id,\n" +
|
| | | " visit_reason_id,\n" +
|
| | | " remark,\n" +
|
| | | " enter_time,\n" +
|
| | | " exit_time,\n" +
|
| | | " visitor_type_id,\n" +
|
| | | " visitor_id,\n" +
|
| | | " visitor_company_id,\n" +
|
| | | " visitee_id,\n" +
|
| | | " visitee_company_id,\n" +
|
| | | " current_state_id,\n" +
|
| | | " warning,\n" +
|
| | | " update_time,\n" +
|
| | | " is_synchron,\n" +
|
| | | " device_company_id\n" +
|
| | | ")\n" +
|
| | | "VALUES\n" +
|
| | | " (\n" +
|
| | | " '"+entity.getVisitId()+"', "+
|
| | | " '"+entity.getVisitReasonId()+"', "+
|
| | | " '"+entity.getRemark()+"', "+
|
| | | " '"+entity.getEnterTime()+"', "+
|
| | | " '"+entity.getExitTime()+"', "+
|
| | | " '"+entity.getVisitorTypeId()+"', "+
|
| | | " '"+entity.getVisitorId()+"', "+
|
| | | " '"+entity.getVisitorCompanyId()+"', "+
|
| | | " '"+entity.getVisiteeId()+"', "+
|
| | | " '"+entity.getVisiteeCompanyId()+"', "+
|
| | | " '"+entity.getCurrentStateId()+"', "+
|
| | | " '"+entity.getWarning()+"', "+
|
| | | " '"+entity.getUpdateTime()+"', "+
|
| | | " 'N', "+
|
| | | " '"+entity.getDeviceCompanyId()+"' "+
|
| | | " )";
|
| | | MainActivity.getInstance().db.execSQL(sql);
|
| | | public long addOfflineVisit(OfflineVisitItem item) {
|
| | | ContentValues contentValues = new ContentValues();
|
| | | contentValues.put("visit_id",item.getVisitId());
|
| | | contentValues.put("visit_reason_id",item.getVisitReasonId());
|
| | | contentValues.put("remark",item.getRemark());
|
| | | contentValues.put("enter_time",item.getEnterTime());
|
| | | contentValues.put("exit_time",item.getExitTime());
|
| | | contentValues.put("visitor_type_id",item.getVisitorTypeId());
|
| | | contentValues.put("visitor_id",item.getVisitorId());
|
| | | contentValues.put("visitor_company_id",item.getVisitorCompanyId());
|
| | | contentValues.put("visitee_id",item.getVisiteeId());
|
| | | contentValues.put("visitee_company_id",item.getVisiteeCompanyId());
|
| | | contentValues.put("current_state_id",item.getCurrentStateId());
|
| | | contentValues.put("warning",item.getWarning());
|
| | | contentValues.put("update_time",item.getUpdateTime());
|
| | | contentValues.put("is_synchron",item.getIsSynchron());
|
| | | contentValues.put("device_company_id",item.getDeviceCompanyId());
|
| | | contentValues.put("create_time",item.getCreateTime());
|
| | |
|
| | | long registerId = MainActivity.getInstance().db.insert("visit", "", contentValues);
|
| | | return registerId;
|
| | | }
|
| | |
|
| | |
|
New file |
| | |
| | | package cn.com.basic.face.service.sync.up;
|
| | |
|
| | | 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() {
|
| | |
|
| | | }
|
| | |
|
| | | public boolean hasMore() {
|
| | | return false;
|
| | | }
|
| | |
|
| | | }
|
New file |
| | |
| | | package cn.com.basic.face.service.sync.up;
|
| | |
|
| | | public abstract class BaseSync {
|
| | |
|
| | | private BaseSync next;
|
| | | public boolean syncComplete = false;
|
| | |
|
| | | public boolean getSyncComplete() {
|
| | | return syncComplete;
|
| | | }
|
| | |
|
| | | public void setNext(BaseSync next) {
|
| | | this.next = next;
|
| | | }
|
| | |
|
| | | public void sync() {
|
| | | if (hasMore()) {
|
| | | syncComplete = false;
|
| | | doSync();
|
| | | } else {
|
| | | syncComplete = true;
|
| | | if (next != null) {
|
| | | next.sync();
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | public abstract void doSync();
|
| | |
|
| | | public abstract boolean hasMore();
|
| | |
|
| | | public void setComplete(boolean syncComplete) {
|
| | | this.syncComplete = syncComplete;
|
| | | if (next != null) {
|
| | | next.setComplete(syncComplete);
|
| | | }
|
| | | }
|
| | |
|
| | | public boolean lastUpSyncComplete() {
|
| | | BaseSync last = this;
|
| | | while (last.next != null) {
|
| | | last = last.next;
|
| | | }
|
| | | return last.getSyncComplete();
|
| | | }
|
| | |
|
| | | }
|
New file |
| | |
| | | package cn.com.basic.face.service.sync.up;
|
| | |
|
| | | public class CheckInUpSync extends BaseSync {
|
| | |
|
| | | @Override
|
| | | public void doSync() {
|
| | |
|
| | | }
|
| | |
|
| | | @Override
|
| | | public boolean hasMore() {
|
| | | return false;
|
| | | }
|
| | |
|
| | | public static CheckInUpSync instance = new CheckInUpSync();
|
| | |
|
| | | public static CheckInUpSync getInstance() {
|
| | | return instance;
|
| | | }
|
| | |
|
| | | }
|
New file |
| | |
| | | package cn.com.basic.face.service.sync.up;
|
| | |
|
| | | public class OfflineSurveillanceUpSync extends BaseSync {
|
| | |
|
| | | private static OfflineSurveillanceUpSync instance = new OfflineSurveillanceUpSync();
|
| | | public static OfflineSurveillanceUpSync getInstance() {
|
| | | return instance;
|
| | | }
|
| | |
|
| | | @Override
|
| | | public void doSync() {
|
| | |
|
| | | }
|
| | |
|
| | | @Override
|
| | | public boolean hasMore() {
|
| | | return false;
|
| | | }
|
| | | }
|
New file |
| | |
| | | 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 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.fragment.VisitorRegisterFragment;
|
| | | import cn.com.basic.face.service.sqlite.RegisterDao;
|
| | | import cn.com.basic.face.util.AppApi;
|
| | | import cn.com.basic.face.util.SqliteSqlUtil;
|
| | |
|
| | | public class VisitorRegisterUpSync extends BaseSync {
|
| | |
|
| | | private static VisitorRegisterUpSync instance = new VisitorRegisterUpSync();
|
| | | public static VisitorRegisterUpSync getInstance() {
|
| | | return instance;
|
| | | }
|
| | |
|
| | | public void doSync() {
|
| | | final OfflineVisitorRegisterItem item = RegisterDao.getInstance().readOfflineVisitorRegister();
|
| | | RequestParams params = new RequestParams();
|
| | |
|
| | | params.addBodyParameter(Register.FieldNames.username, item.getUsername());
|
| | | params.addBodyParameter(Register.FieldNames.mobilePhone, item.getMobilePhone());
|
| | | params.addBodyParameter(Register.FieldNames.genderId, item.getGenderId());
|
| | | params.addBodyParameter(Register.FieldNames.identityTypeId, item.getIdentityTypeId());
|
| | | params.addBodyParameter(Register.FieldNames.countryId, item.getCountryId());
|
| | | params.addBodyParameter(Register.FieldNames.visitorTypeId, item.getVisitorTypeId());
|
| | | params.addBodyParameter(Register.FieldNames.identifyNum, item.getIdentifyNum());
|
| | | params.addBodyParameter(Register.FieldNames.companyId, item.getCompanyId());
|
| | | params.addBodyParameter(Register.FieldNames.birthday, item.getBirthday());
|
| | | params.addBodyParameter(Register.FieldNames.remark, item.getRemark());
|
| | | params.addBodyParameter("width", item.getRawSurveillancePhotoWidth());
|
| | | params.addBodyParameter("height", item.getRawSurveillancePhotoHeight());
|
| | |
|
| | | item.loadFiles();
|
| | |
|
| | | params.addBodyParameter("rawSurveillancePhoto", item.getRawSurveillancePhotoPath());
|
| | | params.addBodyParameter("surveillancePhoto", item.getSurveillancePhoto());
|
| | | params.addBodyParameter("uploadCustomPhoto", item.getUploadCustomPhoto());
|
| | | params.addBodyParameter("idCardPhoto", item.getIdCardPhoto());
|
| | | params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
|
| | | try {
|
| | | File path = BaseApplication.getInstance().getFilesDir();
|
| | | File f0 = new File(path, "f0");
|
| | | if (!f0.exists()) {
|
| | | f0.createNewFile();
|
| | | }
|
| | | FileWriter fw0 = new FileWriter(f0);
|
| | | fw0.write("test1");
|
| | | fw0.close();
|
| | | params.setUri(AppApi.BASE_URL +AppApi.REGISTER_ADD);
|
| | | params.addBodyParameter("f0", f0);
|
| | | x.http().post(params, new BaseCommonCallBack() {
|
| | | @Override
|
| | | public void success() {
|
| | | SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
|
| | | Toast.makeText(BaseApplication.getInstance(),"添加成功", Toast.LENGTH_SHORT).show();
|
| | | VisitorRegisterFragment.getInstance().resetForm();
|
| | | RegisterDao.getInstance().removeOfflineVisitorRegister(item);
|
| | | sync();
|
| | | }
|
| | | });
|
| | | }catch(Exception e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | public boolean hasMore() {
|
| | | return false;
|
| | | }
|
| | |
|
| | |
|
| | | }
|
| | |
| | | List bitmapList = new ArrayList();
|
| | | NativeImg nativeImg = new NativeImg();
|
| | | File file = new File(surveillancePhotoName);
|
| | | if (file.exists()) {
|
| | | System.out.println("file exisit");
|
| | | }
|
| | | nativeImg.image = FileUtil.readFile(file);
|
| | | nativeImg.size = nativeImg.image.length;
|
| | | SurveillanceQueryItem surveillanceQueryItem = new SurveillanceQueryItem();
|
New file |
| | |
| | | package cn.com.basic.face.util;
|
| | |
|
| | | 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.OfflineSurveillanceUpSync;
|
| | | import cn.com.basic.face.service.sync.up.VisitorRegisterUpSync;
|
| | |
|
| | | public class SyncUpAndDownThread extends Thread {
|
| | |
|
| | | public boolean isThisTimeSyncComplete = false;
|
| | |
|
| | | BaseSync baseSync;
|
| | |
|
| | | public BaseSync buildUpChain() {
|
| | |
|
| | | VisitorRegisterUpSync visitorRegisterSync = VisitorRegisterUpSync.getInstance();
|
| | | AttenderRegisterUpSync attenderRegisterSync = AttenderRegisterUpSync.getInstance();
|
| | | visitorRegisterSync.setNext(attenderRegisterSync);
|
| | | CheckInUpSync checkInUpSync = CheckInUpSync.getInstance();
|
| | | attenderRegisterSync.setNext(checkInUpSync);
|
| | | OfflineSurveillanceUpSync offlineSurveillanceUpSync = OfflineSurveillanceUpSync.getInstance();
|
| | | checkInUpSync.setNext(offlineSurveillanceUpSync);
|
| | |
|
| | | return visitorRegisterSync;
|
| | | }
|
| | |
|
| | |
|
| | | @Override
|
| | | public void run() {
|
| | | BaseSync baseSync = buildUpChain();
|
| | | while (true) {
|
| | | try {
|
| | | baseSync.setComplete(false);
|
| | | if (baseSync.lastUpSyncComplete()) {
|
| | | Thread.sleep(5 * 60 * 1000);
|
| | | } else {
|
| | | Thread.sleep(10*1000);
|
| | | return;
|
| | | }
|
| | | } catch (Exception e) {
|
| | | try {
|
| | | Thread.sleep(30 * 1000);
|
| | | } catch (Exception e2) {
|
| | | e2.printStackTrace();
|
| | | }
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | }
|