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,7 +153,67 @@ 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()); String rawSurveillancePhotoPath = UUID.randomUUID().toString()+".bmp"; byte[] rawSurveillancePhotoBytes = new byte[]{}; 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]; } rawSurveillancePhotoBytes = 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(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())); @@ -207,7 +269,9 @@ } 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) {