xuxiuxi
2017-07-24 e90fb8dc455cb0d94c5bd16120427dbfbad7b0b0


git-svn-id: http://192.168.1.226/svn/proxy@857 454eff88-639b-444f-9e54-f578c98de674
6个文件已添加
6个文件已修改
342 ■■■■ 已修改文件
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseApplication.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/AttenderRegisterUpSync.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/BaseSync.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/CheckInUpSync.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/OfflineSurveillanceUpSync.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/VisitorRegisterUpSync.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillancePhotoEmulateThread.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SyncUpAndDownThread.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseApplication.java
@@ -87,7 +87,7 @@
    }
    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) {
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java
@@ -36,6 +36,7 @@
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;
@@ -221,6 +222,7 @@
            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());
@@ -234,6 +236,7 @@
            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);
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java
@@ -61,10 +61,22 @@
                }
            });
        } 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();
                    }
                }
            });
        }
    }
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java
@@ -198,7 +198,7 @@
        return sharedPreferences.getString(key, "");
    }
    public String getCamera1Address() {
    public String getCamera2Address() {
        String username = "admin";
        String password = "admin12345";
        String ip = "192.168.1.70";
@@ -225,7 +225,7 @@
//        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";
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java
@@ -1,5 +1,6 @@
package cn.com.basic.face.service.sqlite;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.CursorJoiner;
import android.database.sqlite.SQLiteDatabase;
@@ -231,46 +232,29 @@
    /**
     * 离线存储访客登记信息
     * @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;
    }
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/AttenderRegisterUpSync.java
New file
@@ -0,0 +1,25 @@
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;
    }
}
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/BaseSync.java
New file
@@ -0,0 +1,47 @@
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();
    }
}
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/CheckInUpSync.java
New file
@@ -0,0 +1,21 @@
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;
    }
}
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/OfflineSurveillanceUpSync.java
New file
@@ -0,0 +1,19 @@
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;
    }
}
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/VisitorRegisterUpSync.java
New file
@@ -0,0 +1,83 @@
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;
    }
}
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillancePhotoEmulateThread.java
@@ -30,9 +30,6 @@
                    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();
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SyncUpAndDownThread.java
New file
@@ -0,0 +1,53 @@
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();
            }
        }
    }
}