package cn.com.basic.face.fragment;
|
|
import android.app.Activity;
|
import android.content.Intent;
|
import android.graphics.Bitmap;
|
import android.net.Uri;
|
import android.provider.MediaStore;
|
import android.util.Base64;
|
import android.view.View;
|
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.base.BaseFragment;
|
import cn.com.basic.face.discern.common.CommonVariables;
|
import cn.com.basic.face.discern.entity.Register;
|
import cn.com.basic.face.discern.query.condition.SurveillanceQueryCondition;
|
import cn.com.basic.face.discern.query.item.CheckInQueryItem;
|
import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
|
import cn.com.basic.face.service.DictionaryMng;
|
import cn.com.basic.face.service.RegisterMng;
|
import cn.com.basic.face.service.SurveillanceMng;
|
import cn.com.basic.face.util.Constant;
|
import cn.com.basic.face.util.OkClickedListener;
|
|
import cn.com.basic.face.util.AppApi;
|
import cn.com.basic.face.dialog.DateSelectDialog;
|
import cn.com.basic.face.dialog.CountryDialog;
|
import cn.com.basic.face.widget.register.RegisterRightFieldLabelView;
|
import cn.com.basic.face.widget.register.RegisterRightFieldTextView;
|
import cn.com.basic.face.dialog.SelectDialog;
|
|
import com.lidroid.xutils.view.annotation.ViewInject;
|
import com.lidroid.xutils.view.annotation.event.OnClick;
|
|
import org.xutils.http.RequestParams;
|
|
import java.io.ByteArrayOutputStream;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
import cn.com.basic.face.base.MainActivity;
|
|
public class RegisterFragment extends BaseFragment implements View.OnClickListener{
|
|
@ViewInject(R.id.fragment_register_name)
|
private RegisterRightFieldTextView fragment_register_name;
|
@ViewInject(R.id.fragment_register_gender)
|
private RegisterRightFieldLabelView fragment_register_gender;
|
@ViewInject(R.id.fragment_register_country)
|
private RegisterRightFieldLabelView fragment_register_country;
|
@ViewInject(R.id.fragment_register_birthday)
|
private RegisterRightFieldLabelView fragment_register_birthday;
|
@ViewInject(R.id.fragment_register_visitor_class)
|
private RegisterRightFieldLabelView fragment_register_visitor_class;
|
@ViewInject(R.id.fragment_register_phone)
|
private RegisterRightFieldTextView fragment_register_phone;
|
@ViewInject(R.id.fragment_register_id_class)
|
private RegisterRightFieldLabelView fragment_register_id_class;
|
@ViewInject(R.id.fragment_register_id_num)
|
private RegisterRightFieldTextView fragment_register_id_num;
|
@ViewInject(R.id.fragment_register_company)
|
private RegisterRightFieldTextView fragment_register_company;
|
@ViewInject(R.id.fragment_register_remark)
|
private RegisterRightFieldTextView fragment_register_remark;
|
@ViewInject(R.id.fragment_register_surveillance_photo)
|
private ImageView fragment_register_surveillance_photo;
|
@ViewInject(R.id.fragment_register_upload_custom_photo)
|
private ImageView fragment_register_upload_custom_photo;
|
@ViewInject(R.id.fragment_register_id_card_photo)
|
private ImageView fragment_register_id_card_photo;
|
@ViewInject(R.id.fragment_register_linear_layout)
|
private LinearLayout fragment_register_linear_layout;
|
@ViewInject(R.id.fragment_register_surveillance_photo_placeholder_image)
|
private ImageView fragment_register_surveillance_photo_placeholder_image;
|
@ViewInject(R.id.fragment_register_upload_custom_photo_placeholder_image)
|
private ImageView fragment_register_upload_custom_photo_placeholder_image;
|
@ViewInject(R.id.fragment_register_id_card_photo_placeholder_image)
|
private ImageView fragment_register_id_card_photo_placeholder_image;
|
@ViewInject(R.id.fragment_register_surveillance_photo_placeholder_text_view)
|
private TextView fragment_register_surveillance_photo_placeholder_text_view;
|
@ViewInject(R.id.fragment_register_upload_custom_photo_placeholder_text_view)
|
private TextView fragment_register_upload_custom_photo_placeholder_text_view;
|
@ViewInject(R.id.fragment_register_id_card_photo_placeholder_text_view)
|
private TextView fragment_register_id_card_photo_placeholder_text_view;
|
|
private static final int fragment_register_surveillance_photo_ = 1;
|
private static final int fragment_register_upload_custom_photo_ = 2;
|
private static final int fragment_register_id_card_photo_ = 3;
|
|
private Bitmap fragment_register_surveillance_photo_img;
|
private Bitmap fragment_register_upload_custom_photo_img;
|
private Bitmap fragment_register_id_card_photo_img;
|
|
private SurveillanceQueryItem surveillanceQueryItem;
|
|
private static RegisterFragment instance = new RegisterFragment();
|
|
public static RegisterFragment getInstance() {
|
return instance;
|
}
|
@Override
|
protected int getLayoutId() {
|
return R.layout.fragment_register;
|
}
|
|
@OnClick(R.id.fragment_register_add)
|
public void fragment_register_add_click(View view) {
|
resetForm();
|
}
|
|
@OnClick(R.id.fragment_register_save)
|
public void fragment_register_save_click(View v) {
|
RequestParams params = new RequestParams();
|
|
String name = fragment_register_name.getValue();
|
if (name.trim().length() <= 0) {
|
Toast.makeText(MainActivity.getInstance(), "姓名不能为空", Toast.LENGTH_SHORT).show();
|
fragment_register_name.requestFocus();
|
return;
|
}
|
String phone = fragment_register_phone.getValue();
|
if (phone.trim().length() <= 0) {
|
Toast.makeText(MainActivity.getInstance(), "电话不能为空", Toast.LENGTH_SHORT).show();
|
fragment_register_phone.requestFocus();
|
return;
|
}
|
String gender = fragment_register_gender.getValue();
|
if (gender.trim().length() <= 0) {
|
Toast.makeText(MainActivity.getInstance(), "性别不能为空", Toast.LENGTH_SHORT).show();
|
fragment_register_gender.callOnClick();
|
return;
|
}
|
String id_class = fragment_register_id_class.getValue();
|
if (id_class.trim().length() <= 0) {
|
Toast.makeText(MainActivity.getInstance(), "证件类型不能为空", Toast.LENGTH_SHORT).show();
|
fragment_register_id_class.callOnClick();
|
return;
|
}
|
String country = fragment_register_country.getValue();
|
if (country.trim().length() <= 0) {
|
Toast.makeText(MainActivity.getInstance(), "国籍不能为空", Toast.LENGTH_SHORT).show();
|
fragment_register_country.callOnClick();
|
return;
|
}
|
String id_num = fragment_register_id_num.getValue();
|
if (id_num.trim().length() <= 0) {
|
Toast.makeText(MainActivity.getInstance(), "证件编号不能为空", Toast.LENGTH_SHORT).show();
|
fragment_register_id_num.requestFocus();
|
return;
|
}
|
String birthday = fragment_register_birthday.getValue();
|
if (birthday.trim().length() <= 0) {
|
Toast.makeText(MainActivity.getInstance(), "出生日期不能为空", Toast.LENGTH_SHORT).show();
|
fragment_register_birthday.callOnClick();
|
return;
|
}
|
String company = fragment_register_company.getValue();
|
if (company.trim().length() <= 0) {
|
Toast.makeText(MainActivity.getInstance(), "公司名称不能为空", Toast.LENGTH_SHORT).show();
|
fragment_register_company.requestFocus();
|
return;
|
}
|
String remark = fragment_register_remark.getValue();
|
if (remark.trim().length() <= 0) {
|
Toast.makeText(MainActivity.getInstance(), "备注不能为空", Toast.LENGTH_SHORT).show();
|
fragment_register_remark.requestFocus();
|
return;
|
}
|
String visitor_class = fragment_register_visitor_class.getValue();
|
if (visitor_class.trim().length() <= 0) {
|
Toast.makeText(MainActivity.getInstance(), "访客类型不能为空", Toast.LENGTH_SHORT).show();
|
fragment_register_visitor_class.callOnClick();
|
return;
|
}
|
params.addBodyParameter(Register.FieldNames.username, name);
|
params.addBodyParameter(Register.FieldNames.mobilePhone, phone);
|
params.addBodyParameter(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(gender));
|
params.addBodyParameter(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(id_class));
|
params.addBodyParameter(Register.FieldNames.countryId, DictionaryMng.getInstance().getId(country));
|
params.addBodyParameter(Register.FieldNames.identifyNum, id_num);
|
params.addBodyParameter(Register.FieldNames.companyId, company);
|
params.addBodyParameter(Register.FieldNames.birthday, birthday);
|
|
if (surveillanceQueryItem != null) {
|
params.addBodyParameter("width", surveillanceQueryItem.getWidth());
|
params.addBodyParameter("height", surveillanceQueryItem.getHeight());
|
params.addBodyParameter("base64Image", surveillanceQueryItem.getBase64Image());
|
}
|
|
if (fragment_register_surveillance_photo_img != null) {
|
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
fragment_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
|
byte[] imageBytes = byteArrayOutputStream.toByteArray();
|
String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
|
params.addBodyParameter(Register.FieldNames.surveillancePhoto, encodedImage);
|
}
|
|
if (fragment_register_upload_custom_photo_img != null) {
|
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
fragment_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
|
byte[] imageBytes = byteArrayOutputStream.toByteArray();
|
String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
|
params.addBodyParameter(Register.FieldNames.uploadCustomPhoto, encodedImage);
|
}
|
|
if (fragment_register_id_card_photo_img != null) {
|
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
fragment_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
|
byte[] imageBytes = byteArrayOutputStream.toByteArray();
|
String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
|
params.addBodyParameter(Register.FieldNames.idCardPhoto, encodedImage);
|
}
|
|
RegisterMng.getInstance().add(params);
|
}
|
|
@Override
|
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
super.onActivityResult(requestCode, resultCode, data);
|
if (requestCode == fragment_register_surveillance_photo_ && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) {
|
Uri uri = data.getData();
|
try {
|
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);
|
fragment_register_surveillance_photo.setImageBitmap(bitmap);
|
fragment_register_surveillance_photo_img = bitmap;
|
|
fragment_register_surveillance_photo_placeholder_image.setVisibility(View.INVISIBLE);
|
fragment_register_surveillance_photo_placeholder_text_view.setVisibility(View.INVISIBLE);
|
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
if (requestCode == fragment_register_upload_custom_photo_ && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) {
|
Uri uri = data.getData();
|
try {
|
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);
|
fragment_register_upload_custom_photo.setImageBitmap(bitmap);
|
fragment_register_upload_custom_photo_img = bitmap;
|
|
fragment_register_upload_custom_photo_placeholder_image.setVisibility(View.INVISIBLE);
|
fragment_register_upload_custom_photo_placeholder_text_view.setVisibility(View.INVISIBLE);
|
|
List<SurveillanceQueryItem> bitmapList = new ArrayList<>();
|
SurveillanceQueryItem item = new SurveillanceQueryItem();
|
item.setBitmap(bitmap);
|
item.setWidth(bitmap.getWidth()+"");
|
item.setHeight(bitmap.getHeight()+"");
|
|
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
|
byte[] imageBytes = byteArrayOutputStream.toByteArray();
|
String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
|
item.setBase64Image(encodedImage);
|
setSurveillanceQueryItem(item);
|
bitmapList.add(item);
|
bitmapList.add(item);
|
bitmapList.add(item);
|
|
SurveillanceMng.getInstance().addBitmap(bitmapList, null, 0, CommonVariables.Camera.IN);
|
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
if (requestCode == fragment_register_id_card_photo_ && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) {
|
Uri uri = data.getData();
|
try {
|
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);
|
fragment_register_id_card_photo.setImageBitmap(bitmap);
|
fragment_register_id_card_photo_img = bitmap;
|
|
fragment_register_id_card_photo_placeholder_image.setVisibility(View.INVISIBLE);
|
fragment_register_id_card_photo_placeholder_text_view.setVisibility(View.INVISIBLE);
|
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
|
public void resetForm() {
|
fragment_register_name.setValue("");
|
fragment_register_phone.setValue("");
|
fragment_register_gender.setValue("");
|
fragment_register_id_class.setValue("");
|
fragment_register_country.setValue("");
|
fragment_register_id_num.setValue("");
|
fragment_register_birthday.setValue("");
|
fragment_register_company.setValue("");
|
fragment_register_remark.setValue("");
|
fragment_register_visitor_class.setValue("");
|
fragment_register_surveillance_photo_img = null;
|
fragment_register_upload_custom_photo_img = null;
|
fragment_register_id_card_photo_img = null;
|
fragment_register_surveillance_photo.setImageBitmap(null);
|
fragment_register_upload_custom_photo.setImageBitmap(null);
|
fragment_register_id_card_photo.setImageBitmap(null);
|
fragment_register_surveillance_photo_placeholder_image.setVisibility(View.VISIBLE);
|
fragment_register_surveillance_photo_placeholder_text_view.setVisibility(View.VISIBLE);
|
fragment_register_upload_custom_photo_placeholder_image.setVisibility(View.VISIBLE);
|
fragment_register_upload_custom_photo_placeholder_text_view.setVisibility(View.VISIBLE);
|
fragment_register_id_card_photo_placeholder_image.setVisibility(View.VISIBLE);
|
fragment_register_id_card_photo_placeholder_text_view.setVisibility(View.VISIBLE);
|
this.surveillanceQueryItem = null;
|
}
|
|
@OnClick(R.id.fragment_register_country)
|
public void fragment_register_country_click(View view) {
|
new CountryDialog(fragment_register_linear_layout, new OkClickedListener() {
|
public void onSelected(String value) {
|
fragment_register_country.setValue(value);
|
}
|
});
|
}
|
|
@OnClick(R.id.fragment_register_gender)
|
public void fragment_register_gender_click(View view) {
|
new SelectDialog(fragment_register_linear_layout, Constant.DialogSelectType.GENDER, new OkClickedListener() {
|
public void onSelected(String value) {
|
fragment_register_gender.setValue(value);
|
}
|
});
|
}
|
|
@OnClick(R.id.fragment_register_birthday)
|
public void fragment_register_birthday_click(View view) {
|
new DateSelectDialog(
|
new OkClickedListener(){
|
public void onSelected(String value) {
|
fragment_register_birthday.setValue(value);
|
}
|
},new Date());
|
}
|
|
@OnClick(R.id.fragment_register_visitor_class)
|
public void fragment_register_visitor_class_click(View view) {
|
new SelectDialog(fragment_register_linear_layout, Constant.DialogSelectType.VISITOR_TYPE, new OkClickedListener() {
|
public void onSelected(String value) {
|
fragment_register_visitor_class.setValue(value);
|
}
|
});
|
}
|
|
@OnClick(R.id.fragment_register_id_class)
|
public void fragment_register_id_class_click(View view) {
|
new SelectDialog(fragment_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() {
|
public void onSelected(String value) {
|
fragment_register_id_class.setValue(value);
|
}
|
});
|
}
|
|
@OnClick(R.id.fragment_register_back)
|
public void fragment_register_back_click(View view) {
|
MainActivity.selectPage(0);
|
}
|
|
@OnClick(R.id.fragment_register_surveillance_photo)
|
public void fragment_register_surveillance_photo_click(View view) {
|
Intent intent = new Intent();
|
intent.setType("image/*");
|
intent.setAction(Intent.ACTION_GET_CONTENT);
|
startActivityForResult(Intent.createChooser(intent, "选择图片"), fragment_register_surveillance_photo_);
|
}
|
|
@OnClick(R.id.fragment_register_upload_custom_photo)
|
public void fragment_register_upload_custom_photo_click(View view) {
|
Intent intent = new Intent();
|
intent.setType("image/*");
|
intent.setAction(Intent.ACTION_GET_CONTENT);
|
startActivityForResult(Intent.createChooser(intent, "选择图片"), fragment_register_upload_custom_photo_);
|
}
|
|
@OnClick(R.id.fragment_register_id_card_photo)
|
public void fragment_register_id_card_photo_click(View view) {
|
Intent intent = new Intent();
|
intent.setType("image/*");
|
intent.setAction(Intent.ACTION_GET_CONTENT);
|
startActivityForResult(Intent.createChooser(intent, "选择图片"), fragment_register_id_card_photo_);
|
}
|
|
@Override
|
public void onClick(View v) {}
|
|
public void setRegisterInfo(CheckInQueryItem item) {
|
fragment_register_surveillance_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE + item.getSurveillancePhoto()));
|
}
|
|
public ImageView get_fragment_register_choose_photo() {
|
return fragment_register_surveillance_photo;
|
}
|
|
public void setChoosePhoto(Bitmap bitmap) {
|
fragment_register_surveillance_photo.setImageBitmap(bitmap);
|
fragment_register_surveillance_photo_placeholder_text_view.setVisibility(View.INVISIBLE);
|
fragment_register_surveillance_photo_placeholder_image.setVisibility(View.INVISIBLE);
|
}
|
|
public void setSurveillanceQueryItem(SurveillanceQueryItem item) {
|
this.surveillanceQueryItem = item;
|
}
|
|
}
|