xuxiuxi
2017-07-23 70125903eb0c58b81b37bc6e590b87ad92d9bce5


git-svn-id: http://192.168.1.226/svn/proxy@839 454eff88-639b-444f-9e54-f578c98de674
4个文件已修改
296 ■■■■ 已修改文件
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/entity/Register.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/RegisterDao.java 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/entity/Register.java
@@ -218,6 +218,7 @@
    // 临时原监控文件创建时间
    private String createTime;
    private String company;
    private String visitorOrAttender;
    /**
     * Get 人员主键
@@ -693,6 +694,14 @@
        this.company = company;
    }
    public String getVisitorOrAttender() {
        return visitorOrAttender;
    }
    public void setVisitorOrAttender(String visitorOrAttender) {
        this.visitorOrAttender = visitorOrAttender;
    }
    public String toString() {
        return 
             ",人员主键 =" + registerId +  ",人员名字 =" + username   +  ",人员名首字母 ="+ nameEn     + 
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java
@@ -30,6 +30,7 @@
import cn.com.basic.face.discern.common.CommonVariables;
import cn.com.basic.face.discern.entity.Register;
import cn.com.basic.face.discern.query.item.CheckInQueryItem;
import cn.com.basic.face.discern.query.item.OfflineAttenderRegisterItem;
import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
import cn.com.basic.face.service.DictionaryMng;
import cn.com.basic.face.service.RegisterMng;
@@ -60,6 +61,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import cn.com.basic.face.base.MainActivity;
@@ -151,63 +153,125 @@
            fragment_attender_register_name.requestFocus();
            return;
        }
        OfflineAttenderRegisterItem offlineAttenderRegisterItem = new OfflineAttenderRegisterItem();
        if(BaseApplication.getInstance().networkAvailable()) {
            offlineAttenderRegisterItem.setUsername(name);
            offlineAttenderRegisterItem.setGenderId(DictionaryMng.getInstance().getId(fragment_attender_register_gender.getValue()));
            offlineAttenderRegisterItem.setIdentityTypeId(DictionaryMng.getInstance().getId(fragment_attender_register_id_class.getValue()));
            offlineAttenderRegisterItem.setPostId(DictionaryMng.getInstance().getId(fragment_attender_register_post.getValue()));
            offlineAttenderRegisterItem.setPostId(fragment_attender_register_post.getValue());
            offlineAttenderRegisterItem.setIdentifyNum(fragment_attender_register_id_num.getValue());
            offlineAttenderRegisterItem.setDepartmentId(DictionaryMng.getInstance().getId(fragment_attender_register_department.getValue()));
            offlineAttenderRegisterItem.setDepartmentId(fragment_attender_register_department.getValue());
            offlineAttenderRegisterItem.setRemark(fragment_attender_register_remark.getValue());
            offlineAttenderRegisterItem.setDeviceCompanyId(BaseApplication.getInstance().getAndroidDevice().getCompanyId());
        params.addBodyParameter(Register.FieldNames.username, name);
        params.addBodyParameter(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(fragment_attender_register_gender.getValue()));
        params.addBodyParameter(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(fragment_attender_register_id_class.getValue()));
        params.addBodyParameter(Register.FieldNames.postId, DictionaryMng.getInstance().getId(fragment_attender_register_post.getValue()));
        params.addBodyParameter(Register.FieldNames.post, fragment_attender_register_post.getValue());
        params.addBodyParameter(Register.FieldNames.identifyNum, fragment_attender_register_id_num.getValue());
        params.addBodyParameter(Register.FieldNames.departmentId, DictionaryMng.getInstance().getId(fragment_attender_register_department.getValue()));
        params.addBodyParameter(Register.FieldNames.department, fragment_attender_register_department.getValue());
        params.addBodyParameter(Register.FieldNames.remark, fragment_attender_register_remark.getValue());
        params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
            String rawSurveillancePhotoPath = UUID.randomUUID().toString()+".bmp";
            byte[] rawSurveillancePhotoBytes = new byte[]{};
        if (surveillanceQueryItem_selectPhoto != null) {
            params.addBodyParameter("width", surveillanceQueryItem_selectPhoto.getWidth());
            params.addBodyParameter("height", surveillanceQueryItem_selectPhoto.getHeight());
            fragment_attender_register_surveillance_photo_img = surveillanceQueryItem_selectPhoto.getBitmap();
            if (surveillanceQueryItem_selectPhoto != null) {
                offlineAttenderRegisterItem.setRawSurveillancePhotoWidth(surveillanceQueryItem_selectPhoto.getWidth());
                offlineAttenderRegisterItem.setRawSurveillancePhotoHeight(surveillanceQueryItem_selectPhoto.getHeight());
                fragment_attender_register_surveillance_photo_img = surveillanceQueryItem_selectPhoto.getBitmap();
            NativeImg nativeImg = surveillanceQueryItem_selectPhoto.getNativeImg();
            byte[] imageBytes = new byte[nativeImg.size];
            for (int i = 0; i < nativeImg.size; i++) {
                imageBytes[i] = nativeImg.image[i];
                NativeImg nativeImg = surveillanceQueryItem_selectPhoto.getNativeImg();
                byte[] imageBytes = new byte[nativeImg.size];
                for (int i = 0; i < nativeImg.size; i++) {
                    imageBytes[i] = nativeImg.image[i];
                }
                rawSurveillancePhotoBytes = imageBytes;
            }
            params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto_attender", imageBytes));
            FileUtil.writeToFile(rawSurveillancePhotoPath, rawSurveillancePhotoBytes);
            offlineAttenderRegisterItem.setRawSurveillancePhotoPath(rawSurveillancePhotoPath);
            String surveillancePhotoPath = UUID.randomUUID().toString()+".bmp";
            byte[] surveillancePhotoBytes = new byte[]{};
            if (fragment_attender_register_surveillance_photo_img != null) {
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                fragment_attender_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
                surveillancePhotoBytes = byteArrayOutputStream.toByteArray();
            }
            FileUtil.writeToFile(surveillancePhotoPath, surveillancePhotoBytes);
            offlineAttenderRegisterItem.setSurveillancePhoto(surveillancePhotoPath);
            String uploadCustomPhotoPath = UUID.randomUUID().toString()+".bmp";
            byte[] uploadCustomPhotoBytes = new byte[]{};
            if (fragment_attender_register_upload_custom_photo_img != null) {
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                fragment_attender_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
                uploadCustomPhotoBytes = byteArrayOutputStream.toByteArray();
            }
            FileUtil.writeToFile(uploadCustomPhotoPath, uploadCustomPhotoBytes);
            offlineAttenderRegisterItem.setUploadCustomPhoto(uploadCustomPhotoPath);
            String idCardPhotoPath = UUID.randomUUID().toString()+".bmp";
            byte[] idCardPhotoBytes = new byte[]{};
            if (fragment_attender_register_id_card_photo_img != null) {
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                fragment_attender_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
                idCardPhotoBytes = byteArrayOutputStream.toByteArray();
            }
            FileUtil.writeToFile(idCardPhotoPath, idCardPhotoBytes);
            offlineAttenderRegisterItem.setIdCardPhoto(idCardPhotoPath);
        } else {
            params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto_attender", new byte[]{}));
            params.addBodyParameter(Register.FieldNames.username, name);
            params.addBodyParameter(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(fragment_attender_register_gender.getValue()));
            params.addBodyParameter(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(fragment_attender_register_id_class.getValue()));
            params.addBodyParameter(Register.FieldNames.postId, DictionaryMng.getInstance().getId(fragment_attender_register_post.getValue()));
            params.addBodyParameter(Register.FieldNames.post, fragment_attender_register_post.getValue());
            params.addBodyParameter(Register.FieldNames.identifyNum, fragment_attender_register_id_num.getValue());
            params.addBodyParameter(Register.FieldNames.departmentId, DictionaryMng.getInstance().getId(fragment_attender_register_department.getValue()));
            params.addBodyParameter(Register.FieldNames.department, fragment_attender_register_department.getValue());
            params.addBodyParameter(Register.FieldNames.remark, fragment_attender_register_remark.getValue());
            params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
            if (surveillanceQueryItem_selectPhoto != null) {
                params.addBodyParameter("width", surveillanceQueryItem_selectPhoto.getWidth());
                params.addBodyParameter("height", surveillanceQueryItem_selectPhoto.getHeight());
                fragment_attender_register_surveillance_photo_img = surveillanceQueryItem_selectPhoto.getBitmap();
                NativeImg nativeImg = surveillanceQueryItem_selectPhoto.getNativeImg();
                byte[] imageBytes = new byte[nativeImg.size];
                for (int i = 0; i < nativeImg.size; i++) {
                    imageBytes[i] = nativeImg.image[i];
                }
                params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto_attender", imageBytes));
            } else {
                params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto_attender", new byte[]{}));
            }
            if (fragment_attender_register_surveillance_photo_img != null) {
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                fragment_attender_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
                byte[] imageBytes = byteArrayOutputStream.toByteArray();
                params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto_attender", imageBytes));
            } else {
                params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto_attender", new byte[]{}));
            }
            if (fragment_attender_register_upload_custom_photo_img != null) {
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                fragment_attender_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
                byte[] imageBytes = byteArrayOutputStream.toByteArray();
                params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto_attender", imageBytes));
            } else {
                params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto_attender", new byte[]{}));
            }
            if (fragment_attender_register_id_card_photo_img != null) {
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                fragment_attender_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
                byte[] imageBytes = byteArrayOutputStream.toByteArray();
                params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto_attender", imageBytes));
            } else {
                params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto_attender", new byte[]{}));
            }
        }
        if (fragment_attender_register_surveillance_photo_img != null) {
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            fragment_attender_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
            byte[] imageBytes = byteArrayOutputStream.toByteArray();
            params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto_attender", imageBytes));
        } else {
            params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto_attender", new byte[]{}));
        }
        if (fragment_attender_register_upload_custom_photo_img != null) {
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            fragment_attender_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
            byte[] imageBytes = byteArrayOutputStream.toByteArray();
            params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto_attender", imageBytes));
        } else {
            params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto_attender", new byte[]{}));
        }
        if (fragment_attender_register_id_card_photo_img != null) {
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            fragment_attender_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
            byte[] imageBytes = byteArrayOutputStream.toByteArray();
            params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto_attender", imageBytes));
        } else {
            params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto_attender", new byte[]{}));
        }
        RegisterMng.getInstance().addAttender(params, idCardHeadPath);
        RegisterMng.getInstance().addAttender(params, idCardHeadPath, offlineAttenderRegisterItem);
    }
    public void set_fragment_attender_register_surveillance_photo(SurveillanceQueryItem item) {
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java
@@ -9,6 +9,7 @@
import cn.com.basic.face.discern.common.SqliteSqlBean;
import cn.com.basic.face.discern.entity.Register;
import cn.com.basic.face.discern.query.item.CheckInQueryItem;
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.fragment.CheckInFragment;
@@ -191,7 +192,7 @@
    }
    public void addAttender(RequestParams params, String idCardHeadPhoto) {
    public void addAttender(RequestParams params, String idCardHeadPhoto, OfflineAttenderRegisterItem offlineAttenderRegisterItem) {
        if (!BaseApplication.deviceAvailable) {
            return;
        }
@@ -248,7 +249,7 @@
                e.printStackTrace();
            }
        } else {
            RegisterDao.getInstance().addAttender(params, idCardHeadPhoto);
            RegisterDao.getInstance().addAttender(offlineAttenderRegisterItem, idCardHeadPhoto);
            Toast.makeText(BaseApplication.getInstance(),"添加成功", Toast.LENGTH_SHORT).show();
        }
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/RegisterDao.java
@@ -68,28 +68,66 @@
        contentValues.put("raw_surveillance_photo_width", item.getRawSurveillancePhotoWidth());
        contentValues.put("raw_surveillance_photo_height", item.getRawSurveillancePhotoHeight());
        contentValues.put("create_time", item.getCreateTime());
        contentValues.put("visitor_or_attender", "visitor");
        long registerId = MainActivity.getInstance().db.insert("register", "", contentValues);
        return registerId;
    }
    /**
     * 考勤注册
     * @param params
     * @param idCardHeadPhoto
     * @return
     */
    public boolean addAttender(RequestParams params, String idCardHeadPhoto) {
        return true;
    public long addAttender(OfflineAttenderRegisterItem item, String idCardHeadPhoto) {
        ContentValues contentValues = new ContentValues();
        contentValues.put("register_id",item.getRegisterId());
        contentValues.put("username",item.getUsername());
        contentValues.put("name_en", item.getNameEn());
        contentValues.put("gender_id", item.getGenderId());
        contentValues.put("country_id", item.getCountryId());
        contentValues.put("province", item.getProvince());
        contentValues.put("city", item.getCity());
        contentValues.put("company_id", item.getCompanyId());
        contentValues.put("company", item.getCompany());
        contentValues.put("birthday", item.getBirthday());
        contentValues.put("tel", item.getTel());
        contentValues.put("mobile_phone", item.getMobilePhone());
        contentValues.put("identity_type_id", item.getIdentityTypeId());
        contentValues.put("identify_num", item.getIdentifyNum());
        contentValues.put("company_id", item.getCountryId());
        contentValues.put("department_id", item.getDepartmentId());
        contentValues.put("post_id", item.getPostId());
        contentValues.put("remark", item.getRemark());
        contentValues.put("warning", item.getWarning());
        contentValues.put("id_card_photo", item.getIdCardPhoto());
        contentValues.put("upload_custom_photo", item.getUploadCustomPhoto());
        contentValues.put("surveillance_photo", item.getSurveillancePhoto());
        contentValues.put("surveillance_photo_id", item.getSurveillancePhotoId());
        contentValues.put("visitor_type_id", item.getVisitorTypeId());
        contentValues.put("authentication", item.getAuthentication());
        contentValues.put("id_card_head_photo", item.getIdCardHeadPhoto());
        contentValues.put("attender_type_id", item.getAttenderTypeId());
        contentValues.put("card_number", item.getCardNumber());
        contentValues.put("update_time", item.getUpdateTime());
        contentValues.put("is_synchron", item.getIsSynchron());
        contentValues.put("device_company_id", item.getDeviceCompanyId());
        contentValues.put("raw_surveillance_photo_path", item.getRawSurveillancePhotoPath());
        contentValues.put("raw_surveillance_photo_width", item.getRawSurveillancePhotoWidth());
        contentValues.put("raw_surveillance_photo_height", item.getRawSurveillancePhotoHeight());
        contentValues.put("create_time", item.getCreateTime());
        contentValues.put("visitor_or_attender", "attender");
        long registerId = MainActivity.getInstance().db.insert("register", "", contentValues);
        return registerId;
    }
    public boolean hasOfflineVisitorRegisterData() {
        Cursor c = MainActivity.getInstance().db.rawQuery("select count(*) from register", new String[]{});
        Cursor c = MainActivity.getInstance().db.rawQuery("select count(*) from register where 1=1 and visitor_or_attender='visitor'", new String[]{});
        c.moveToFirst();
        return c.getInt(0) > 0 ? true : false;
    }
    public boolean hasOfflineAttenderRegisterData() {
        Cursor c = MainActivity.getInstance().db.rawQuery("select count(*) from register", new String[]{});
        Cursor c = MainActivity.getInstance().db.rawQuery("select count(*) from register where 1=1 and visitor_or_attender='attender", new String[]{});
        c.moveToFirst();
        return c.getInt(0) > 0 ? true : false;
    }
@@ -131,7 +169,10 @@
                "    register a\n" +
                "WHERE\n" +
                "    1 = 1\n" +
                "AND a.is_synchron = 'N'";
                "AND a.is_synchron = 'N'"+
                " and visitor_or_attender='visitor'"+
                " order by a.create_time "
                ;
        Cursor c = MainActivity.getInstance().db.rawQuery(sql, new String[]{});
        if (c.moveToFirst()) {
            item = new OfflineVisitorRegisterItem();
@@ -159,7 +200,70 @@
    }
    public OfflineAttenderRegisterItem readOfflineAttenderRegister() {
        return null;
        OfflineAttenderRegisterItem item = null;
        String sql =
                "SELECT\n" +
                        "    a.register_id,\n" +
                        "    a.username,\n" +
                        "    a.name_en,\n" +
                        "    a.gender_id,\n" +
                        "    a.country_id,\n" +
                        "    a.province,\n" +
                        "    a.city,\n" +
                        "    a.birthday,\n" +
                        "    a.tel,\n" +
                        "    a.mobile_phone,\n" +
                        "    a.identity_type_id,\n" +
                        "    a.identify_num,\n" +
                        "    a.company_id,\n" +
                        "    a.department_id,\n" +
                        "    a.post_id,\n" +
                        "    a.remark,\n" +
                        "    a.warning,\n" +
                        "    a.id_card_photo,\n" +
                        "    a.upload_custom_photo,\n" +
                        "    a.surveillance_photo,\n" +
                        "    a.surveillance_photo_id,\n" +
                        "    a.visitor_type_id,\n" +
                        "    a.authentication,\n" +
                        "    a.id_card_head_photo,\n" +
                        "    a.attender_type_id,\n" +
                        "    a.card_number,\n" +
                        "    a.update_time,\n" +
                        "    a.is_synchron,\n" +
                        "    a.device_company_id\n" +
                        "FROM\n" +
                        "    register a\n" +
                        "WHERE\n" +
                        "    1 = 1\n" +
                        "AND a.is_synchron = 'N'"+
                        " and visitor_or_attender='attender'"+
                        " order by a.create_time "
                ;
        Cursor c = MainActivity.getInstance().db.rawQuery(sql, new String[]{});
        if (c.moveToFirst()) {
            item = new OfflineAttenderRegisterItem();
            item.setRegisterId(c.getString(c.getColumnIndex("register_id")));
            item.setUsername(c.getString(c.getColumnIndex("username")));
            item.setMobilePhone(c.getString(c.getColumnIndex("mobile_phone")));
            item.setGenderId(c.getString(c.getColumnIndex("gender_id")));
            item.setIdentityTypeId(c.getString(c.getColumnIndex("identity_type_id")));
            item.setCountryId(c.getString(c.getColumnIndex("country_id")));
            item.setVisitorTypeId(c.getString(c.getColumnIndex("visitor_type_id")));
            item.setIdentifyNum(c.getString(c.getColumnIndex("identify_num")));
            item.setCompanyId(c.getString(c.getColumnIndex("company_id")));
            item.setBirthday(c.getString(c.getColumnIndex("birthday")));
            item.setRemark(c.getString(c.getColumnIndex("remark")));
            item.setSurveillancePhoto(c.getString(c.getColumnIndex("surveillance_photo")));
            item.setUploadCustomPhoto(c.getString(c.getColumnIndex("upload_custom_photo")));
            item.setIdCardPhoto(c.getString(c.getColumnIndex("id_card_head_photo")));
            item.setCreateTime(c.getString(c.getColumnIndex("create_time")));
            item.setRawSurveillancePhotoPath(c.getString(c.getColumnIndex("raw_surveillance_photo_path")));
            item.setRawSurveillancePhotoWidth(c.getString(c.getColumnIndex("raw_surveillance_photo_width")));
            item.setRawSurveillancePhotoHeight(c.getString(c.getColumnIndex("raw_surveillance_photo_height")));
        }
        return item;
    }
    public void removeOfflineVisitorRegister(OfflineVisitorRegisterItem item) {