xuxiuxi
2017-08-01 e09e9f8a34cbc99a33dfa9ef1792b0025575c3a8
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitorRegisterFragment.java
@@ -13,15 +13,15 @@
import android.view.WindowManager;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.bsk.zhangbo.demoforbsk.R;
import cn.com.basic.face.adapter.SurveillanceFragment;
import cn.com.basic.face.base.BaseApplication;
import cn.com.basic.face.base.BaseFragment;
import cn.com.basic.face.dialog.SurveillancePhotoDialog;
import cn.com.basic.face.dialog.VisitorRegisterSelectPhotoDialog;
import cn.com.basic.face.dialog.VisitorRegisterUploadPhotoDialog;
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;
@@ -33,7 +33,7 @@
import cn.com.basic.face.util.FileUtil;
import cn.com.basic.face.util.IdCard;
import cn.com.basic.face.util.IdCardReaderThread;
import cn.com.basic.face.thread.IdCardReaderThread;
import cn.com.basic.face.util.NativeImg;
import cn.com.basic.face.util.OkClickedListener;
@@ -55,6 +55,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import cn.com.basic.face.base.MainActivity;
@@ -140,6 +141,11 @@
    public void fragment_visitor_register_save_click(View v) {
        RequestParams params = new RequestParams();
        if (surveillanceQueryItem_selectPhoto == null) {
            Toast.makeText(MainActivity.getInstance(), "请选择照片", Toast.LENGTH_SHORT).show();
            return;
        }
        String name = fragment_visitor_register_name.getValue();
        if (name.trim().length() <= 0) {
            Toast.makeText(MainActivity.getInstance(), "姓名不能为空", Toast.LENGTH_SHORT).show();
@@ -165,62 +171,125 @@
            return;
        }
        params.addBodyParameter(Register.FieldNames.username, name);
        params.addBodyParameter(Register.FieldNames.mobilePhone, phone);
        params.addBodyParameter(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(fragment_visitor_register_gender.getValue()));
        params.addBodyParameter(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(fragment_visitor_register_id_class.getValue()));
        params.addBodyParameter(Register.FieldNames.countryId, DictionaryMng.getInstance().getId(fragment_visitor_register_country.getValue()));
        params.addBodyParameter(Register.FieldNames.visitorTypeId, DictionaryMng.getInstance().getId(visitor_type));
        params.addBodyParameter(Register.FieldNames.identifyNum, fragment_visitor_register_id_num.getValue());
        params.addBodyParameter(Register.FieldNames.companyId, company);
        params.addBodyParameter(Register.FieldNames.birthday, fragment_visitor_register_birthday.getValue());
        params.addBodyParameter(Register.FieldNames.remark, fragment_visitor_register_remark.getValue());
        Register offlineVisitorRegisterItem = new Register();
        if (BaseApplication.getInstance().networkAvailable()) {
            params.addBodyParameter(Register.FieldNames.username, name);
            params.addBodyParameter(Register.FieldNames.mobilePhone, phone);
            params.addBodyParameter(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(fragment_visitor_register_gender.getValue()));
            params.addBodyParameter(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(fragment_visitor_register_id_class.getValue()));
            params.addBodyParameter(Register.FieldNames.countryId, DictionaryMng.getInstance().getId(fragment_visitor_register_country.getValue()));
            params.addBodyParameter(Register.FieldNames.visitorTypeId, DictionaryMng.getInstance().getId(visitor_type));
            params.addBodyParameter(Register.FieldNames.identifyNum, fragment_visitor_register_id_num.getValue());
//            params.addBodyParameter(Register.FieldNames.companyId, null);
            params.addBodyParameter(Register.FieldNames.company, company);
            params.addBodyParameter(Register.FieldNames.birthday, fragment_visitor_register_birthday.getValue());
            params.addBodyParameter(Register.FieldNames.remark, fragment_visitor_register_remark.getValue());
        if (surveillanceQueryItem_selectPhoto != null) {
            params.addBodyParameter("width", surveillanceQueryItem_selectPhoto.getWidth());
            params.addBodyParameter("height", surveillanceQueryItem_selectPhoto.getHeight());
            fragment_visitor_register_surveillance_photo_img = surveillanceQueryItem_selectPhoto.getBitmap();
            if (surveillanceQueryItem_selectPhoto != null) {
                params.addBodyParameter("width", surveillanceQueryItem_selectPhoto.getWidth());
                params.addBodyParameter("height", surveillanceQueryItem_selectPhoto.getHeight());
                fragment_visitor_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", imageBytes));
            } else {
                params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto", new byte[]{}));
            }
            params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto", imageBytes));
            if (fragment_visitor_register_surveillance_photo_img != null) {
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                fragment_visitor_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
                params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto", byteArrayOutputStream.toByteArray()));
            } else {
                params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto", new byte[]{}));
            }
            if (fragment_visitor_register_upload_custom_photo_img != null) {
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                fragment_visitor_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
                params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto", byteArrayOutputStream.toByteArray()));
            } else {
                params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto", new byte[]{}));
            }
            if (fragment_visitor_register_id_card_photo_img != null) {
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                fragment_visitor_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
                params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", byteArrayOutputStream.toByteArray()));
            } else {
                params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", new byte[]{}));
            }
        } else {
            params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto", new byte[]{}));
            offlineVisitorRegisterItem.setRegisterId(UUID.randomUUID().toString());
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            offlineVisitorRegisterItem.setDeviceCompanyId(BaseApplication.getInstance().getAndroidDevice().getCompanyId());
            offlineVisitorRegisterItem.setIsSynchron("N");
            offlineVisitorRegisterItem.setCreateTime(sdf.format(new Date()));
            offlineVisitorRegisterItem.setUsername(name);
            offlineVisitorRegisterItem.setMobilePhone(phone);
            offlineVisitorRegisterItem.setGenderId(DictionaryMng.getInstance().getId(fragment_visitor_register_gender.getValue()));
            offlineVisitorRegisterItem.setIdentityTypeId(DictionaryMng.getInstance().getId(fragment_visitor_register_id_class.getValue()));
            offlineVisitorRegisterItem.setCountryId(DictionaryMng.getInstance().getId(fragment_visitor_register_country.getValue()));
            offlineVisitorRegisterItem.setVisitorTypeId(DictionaryMng.getInstance().getId(visitor_type));
            offlineVisitorRegisterItem.setIdentifyNum(fragment_visitor_register_id_num.getValue());
            offlineVisitorRegisterItem.setCompanyId(null);
            offlineVisitorRegisterItem.setCompany(company);
            offlineVisitorRegisterItem.setBirthday(fragment_visitor_register_birthday.getValue());
            offlineVisitorRegisterItem.setRemark(fragment_visitor_register_remark.getValue());
            String rawSurveillancePhotoPath = UUID.randomUUID().toString()+"";
            byte[] rawSurveillancePhotoBytes = new byte[]{};
            if (surveillanceQueryItem_selectPhoto != null) {
                offlineVisitorRegisterItem.setRawSurveillancePhotoWidth(surveillanceQueryItem_selectPhoto.getWidth());
                offlineVisitorRegisterItem.setRawSurveillancePhotoHeight(surveillanceQueryItem_selectPhoto.getHeight());
                fragment_visitor_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);
            offlineVisitorRegisterItem.setRawSurveillancePhotoPath(rawSurveillancePhotoPath);
            String surveillancePhotoPath = UUID.randomUUID().toString()+"";
            byte[] surveillancePhotoBytes = new byte[]{};
            if (fragment_visitor_register_surveillance_photo_img != null) {
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                fragment_visitor_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
                surveillancePhotoBytes = byteArrayOutputStream.toByteArray();
            }
            FileUtil.writeToFile(surveillancePhotoPath, surveillancePhotoBytes);
            offlineVisitorRegisterItem.setSurveillancePhoto(surveillancePhotoPath);
            String uploadCustomPhotoPath = UUID.randomUUID().toString()+"";
            byte[] uploadCustomPhotoBytes = new byte[]{};
            if (fragment_visitor_register_upload_custom_photo_img != null) {
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                fragment_visitor_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
                uploadCustomPhotoBytes = byteArrayOutputStream.toByteArray();
            }
            FileUtil.writeToFile(uploadCustomPhotoPath, uploadCustomPhotoBytes);
            offlineVisitorRegisterItem.setUploadCustomPhoto(uploadCustomPhotoPath);
            String idCardPhotoPath = UUID.randomUUID().toString()+"";
            byte[] idCardPhotoBytes = new byte[]{};
            if (fragment_visitor_register_id_card_photo_img != null) {
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                fragment_visitor_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
                idCardPhotoBytes = byteArrayOutputStream.toByteArray();
            }
            FileUtil.writeToFile(idCardPhotoPath, idCardPhotoBytes);
            offlineVisitorRegisterItem.setIdCardPhoto(idCardPhotoPath);
        }
        if (fragment_visitor_register_surveillance_photo_img != null) {
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            fragment_visitor_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
            byte[] imageBytes = byteArrayOutputStream.toByteArray();
            params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto", imageBytes));
        } else {
            params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto", new byte[]{}));
        }
        if (fragment_visitor_register_upload_custom_photo_img != null) {
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            fragment_visitor_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
            byte[] imageBytes = byteArrayOutputStream.toByteArray();
            params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto", imageBytes));
        } else {
            params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto", new byte[]{}));
        }
        if (fragment_visitor_register_id_card_photo_img != null) {
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            fragment_visitor_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
            byte[] imageBytes = byteArrayOutputStream.toByteArray();
            params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", imageBytes));
        } else {
            params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", new byte[]{}));
        }
        RegisterMng.getInstance().add(params, idCardHeadPath);
        RegisterMng.getInstance().addVisitor(params, idCardHeadPath, offlineVisitorRegisterItem);
    }
    public void set_fragment_visitor_register_surveillance_photo(SurveillanceQueryItem item) {
@@ -343,21 +412,21 @@
        idCardHeadPath = "";
        fragment_visitor_register_name.setValue("徐修溪"+Math.random());
        fragment_visitor_register_phone.setValue("13691348767");
        fragment_visitor_register_id_num.setValue("36041419292222222");
        fragment_visitor_register_birthday.setValue("1985-08-12");
        fragment_visitor_register_company.setValue("贝思科");
        fragment_visitor_register_remark.setValue("备注");
        fragment_visitor_register_name.setValue("");
        fragment_visitor_register_phone.setValue("");
        fragment_visitor_register_id_num.setValue("");
        fragment_visitor_register_birthday.setValue("");
        fragment_visitor_register_company.setValue("");
        fragment_visitor_register_remark.setValue("");
        fragment_visitor_register_name.setValue("");
        fragment_visitor_register_id_num.setValue("");
        fragment_visitor_register_birthday.setValue("");
        fragment_visitor_register_gender.setValue("男");
        fragment_visitor_register_id_class.setValue("身份证");
        fragment_visitor_register_country.setValue("中国");
        fragment_visitor_register_visitor_class.setValue("普通访客");
        fragment_visitor_register_gender.setValue("");
        fragment_visitor_register_id_class.setValue("");
        fragment_visitor_register_country.setValue("");
        fragment_visitor_register_visitor_class.setValue("");
        fragment_visitor_register_surveillance_photo_img = null;
        fragment_visitor_register_upload_custom_photo_img = null;
        fragment_visitor_register_id_card_photo_img = null;
@@ -376,11 +445,13 @@
    //@OnClick(R.id.fragment_visitor_register_country)
    public void fragment_visitor_register_country_click(View view) {
        new CountryDialog(fragment_visitor_register_linear_layout, new OkClickedListener() {
            public void onSelected(String value) {
                fragment_visitor_register_country.setValue(value);
            }
        },fragment_visitor_register_country.getValue());
        if (CountryDialog.hasCountries()) {
            new CountryDialog(fragment_visitor_register_linear_layout, new OkClickedListener() {
                public void onSelected(String value) {
                    fragment_visitor_register_country.setValue(value);
                }
            }, fragment_visitor_register_country.getValue());
        }
    }
    //@OnClick(R.id.fragment_visitor_register_gender)
@@ -438,20 +509,16 @@
    @OnClick(R.id.fragment_visitor_register_surveillance_photo)
    public void fragment_visitor_register_surveillance_photo_click(View view) {
        SurveillanceFragment.SurveillancePhotoSelectListViewAdapter.selectPhotoOrUploadPhoto = CommonVariables.SelectPhotoType.SELECT_PHOTO;
        new SurveillancePhotoDialog(fragment_visitor_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() {
            public void onSelected(String value) {
            }
        }, selectedSurveillancePhotoId);
        VisitorRegisterSelectPhotoDialog.getInstance().show();
    }
    public FrameLayout get_fragment_visitor_register_linear_layout() {
        return fragment_visitor_register_linear_layout;
    }
    @OnClick(R.id.fragment_visitor_register_upload_custom_photo)
    public void fragment_visitor_register_upload_custom_photo_click(View view) {
        SurveillanceFragment.SurveillancePhotoSelectListViewAdapter.selectPhotoOrUploadPhoto = CommonVariables.SelectPhotoType.UPLOAD_PHOTO;
        new SurveillancePhotoDialog(fragment_visitor_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() {
            public void onSelected(String value) {
            }
        }, selectedCustomPhotoId);
        VisitorRegisterUploadPhotoDialog.getInstance().show();
    }
    @OnClick(R.id.fragment_visitor_register_id_card_photo)
@@ -492,6 +559,7 @@
            idCardReaderThread = new IdCardReaderThread();
            idCardReaderThread.start();
        }
        setupUI(getView());
    }
    public void fillFormWithIdCard(IdCard idCard) {
@@ -517,9 +585,12 @@
        }
    }
    public boolean visitorRegisterFragmentVisible = false;
    @Override
    public void setMenuVisibility(boolean menuVisible) {
        super.setMenuVisibility(menuVisible);
        visitorRegisterFragmentVisible = menuVisible;
    }
    @OnClick(R.id.fragment_visitor_register_to_attender_register)