sujinwen
2017-07-25 4ca768a6e07bf7e776625bc148a0fc61d00b05b1
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java
@@ -30,8 +30,11 @@
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.DepartmentMng;
import cn.com.basic.face.service.DictionaryMng;
import cn.com.basic.face.service.PostMng;
import cn.com.basic.face.service.RegisterMng;
import cn.com.basic.face.util.BitmapUtil;
import cn.com.basic.face.util.Constant;
@@ -60,6 +63,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 +155,147 @@
            fragment_attender_register_name.requestFocus();
            return;
        }
        String gender = fragment_attender_register_gender.getValue();
        if (gender.trim().length() <= 0) {
            Toast.makeText(MainActivity.getInstance(), "性别不能为空", Toast.LENGTH_SHORT).show();
            fragment_attender_register_gender.callOnClick();
            return;
        }
        String post = fragment_attender_register_post.getValue();
        if (post.trim().length() <= 0) {
            Toast.makeText(MainActivity.getInstance(), "职务类型不能为空", Toast.LENGTH_SHORT).show();
            fragment_attender_register_post.callOnClick();
            return;
        }
        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 department = fragment_attender_register_department.getValue();
        if (department.trim().length() <= 0) {
            Toast.makeText(MainActivity.getInstance(), "部门班级不能为空", Toast.LENGTH_SHORT).show();
            fragment_attender_register_department.callOnClick();
            return;
        }
        OfflineAttenderRegisterItem offlineAttenderRegisterItem = new OfflineAttenderRegisterItem();
        if(BaseApplication.getInstance().networkAvailable()) {
            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());
        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) {
                params.addBodyParameter("rawSurveillancePhotoWidth", surveillanceQueryItem_selectPhoto.getWidth());
                params.addBodyParameter("rawSurveillancePhotoHeight", surveillanceQueryItem_selectPhoto.getHeight());
                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];
                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[]{}));
            }
            params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto_attender", imageBytes));
            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[]{}));
            }
        } else {
            params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto_attender", new byte[]{}));
            offlineAttenderRegisterItem.setRegisterId(UUID.randomUUID().toString());
            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(PostMng.getInstance().getId(fragment_attender_register_post.getValue()));
            offlineAttenderRegisterItem.setIdentifyNum(fragment_attender_register_id_num.getValue());
            offlineAttenderRegisterItem.setDepartmentId(DepartmentMng.getInstance().getId(fragment_attender_register_department.getValue()));
            offlineAttenderRegisterItem.setRemark(fragment_attender_register_remark.getValue());
            offlineAttenderRegisterItem.setDeviceCompanyId(BaseApplication.getInstance().getAndroidDevice().getCompanyId());
            offlineAttenderRegisterItem.setIsSynchron("N");
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            offlineAttenderRegisterItem.setCreateTime(sdf.format(new Date()));
            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);
        }
        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) {