From b96e8c8ba2bc11461d1ea6c80a167392ef09cb8a Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期一, 24 四月 2017 15:11:27 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java | 467 ++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 293 insertions(+), 174 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java index c43f90c..0065850 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java @@ -2,83 +2,101 @@ import android.app.Activity; import android.content.Intent; +import android.database.Cursor; import android.graphics.Bitmap; import android.net.Uri; -import android.os.Bundle; import android.provider.MediaStore; -import android.view.Gravity; +import android.util.Base64; import android.view.View; -import android.widget.DatePicker; 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.entity.Register; import cn.com.basic.face.discern.query.item.CheckInQueryItem; import cn.com.basic.face.service.DictionaryMng; import cn.com.basic.face.service.RegisterMng; -import cn.com.basic.face.listeners.OkButtonClickedListener; +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.BirthdayPickerDialog; -import cn.com.basic.face.dialog.CountrySelectionDialog; -import cn.com.basic.face.widget.RegisterRightFieldLabelView; -import cn.com.basic.face.widget.RegisterRightFieldTextView; -import cn.com.basic.face.dialog.SingleSelectionDialog; +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.facebook.drawee.view.SimpleDraweeView; -import com.lidroid.xutils.ViewUtils; 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.io.File; import java.io.IOException; +import java.util.ArrayList; import java.util.Date; -import java.util.HashMap; import java.util.List; import cn.com.basic.face.base.MainActivity; -import cn.com.basic.face.discern.entity.Person; -import cn.com.basic.face.discern.entity.VisitPersonType; public class RegisterFragment extends BaseFragment implements View.OnClickListener{ - @ViewInject(R.id.register_name) - private RegisterRightFieldTextView register_name; - @ViewInject(R.id.register_gender) - private RegisterRightFieldLabelView register_gender; - @ViewInject(R.id.register_country) - private RegisterRightFieldLabelView register_country; - @ViewInject(R.id.register_birthday) - private RegisterRightFieldLabelView register_birthday; - @ViewInject(R.id.register_visitor_class) - private RegisterRightFieldLabelView register_visitor_class; - @ViewInject(R.id.register_phone) - private RegisterRightFieldLabelView register_phone; - @ViewInject(R.id.register_id_class) - private RegisterRightFieldLabelView register_id_class; - @ViewInject(R.id.register_id_num) - private RegisterRightFieldLabelView register_id_num; - @ViewInject(R.id.register_company) - private RegisterRightFieldLabelView register_company; - @ViewInject(R.id.register_remark) - private RegisterRightFieldLabelView register_remark; + @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_choose_photo) - private SimpleDraweeView fragment_register_choose_photo; - @ViewInject(R.id.fragment_register_update__photo) - private ImageView fragment_register_update__photo; + private ImageView fragment_register_choose_photo; + @ViewInject(R.id.fragment_register_update_photo) + private ImageView fragment_register_update_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; - private static final int PICK_IMAGE_REQUEST = 1; - private List mSexList; - private List mVisitorTypeList; - private List mCredentialsList; - private LinearLayout mBaseLayout; + @ViewInject(R.id.fragment_register_choose_photo_placeholder_image) + private ImageView fragment_register_choose_photo_placeholder_image; + @ViewInject(R.id.fragment_register_update_photo_placeholder_image) + private ImageView fragment_register_update_photo_placeholder_image; + @ViewInject(R.id.fragment_register_id_card_photo_placeholder_image) + private ImageView fragment_register_id_card_photo_placeholder_image; - private String[] countryWordData; - private List<String> countryWordList; - private HashMap<String, List<String>> countryData; + @ViewInject(R.id.fragment_register_choose_photo_placeholder_text_view) + private TextView fragment_register_choose_photo_placeholder_text_view; + @ViewInject(R.id.fragment_register_update_photo_placeholder_text_view) + private TextView fragment_register_update_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_choose_photo_ = 1; + private static final int fragment_register_update_photo_ = 2; + private static final int fragment_register_id_card_photo_ = 3; + + private Bitmap fragment_register_choose_photo_img; + private Bitmap fragment_register_update_photo_img; + private Bitmap fragment_register_id_card_photo_img; private static RegisterFragment instance = new RegisterFragment(); @@ -90,12 +108,6 @@ return R.layout.fragment_register; } - @Override - protected void initViews(View view, Bundle savedInstanceState) { - mBaseLayout = (LinearLayout) view.findViewById(R.id.fragment_register_linear_layout); - ViewUtils.inject(this, mBaseLayout); - } - @OnClick(R.id.fragment_register_save) public void fragment_register_save_click(View view) { } @@ -103,150 +115,257 @@ public void fragment_register_add_click(View v) { RequestParams params = new RequestParams(); - params.addBodyParameter(Person.FieldNames.name, register_name.getValue()); - params.addBodyParameter(Person.FieldNames.phone, register_phone.getValue()); - params.addBodyParameter(Person.FieldNames.gender, DictionaryMng.getInstance().getId(register_gender.getValue())); - params.addBodyParameter(Person.FieldNames.identityType, DictionaryMng.getInstance().getId(register_id_class.getValue())); - params.addBodyParameter(Person.FieldNames.country, DictionaryMng.getInstance().getId(register_country.getValue())); - params.addBodyParameter(Person.FieldNames.identify, register_id_num.getValue()); - params.addBodyParameter(Person.FieldNames.birthday, register_birthday.getValue()); - params.addBodyParameter("companyName", register_company.getValue()); + 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); - //visitor_type - //params.addBodyParameter(VisitPersonType.FieldNames.visitorTypeId, VisitorTypeMng.getInstance().getId(isitorvTypeTv.getText().toString())); - params.addBodyParameter(VisitPersonType.FieldNames.registerCompanyId, "0"); + if (fragment_register_choose_photo_img != null) { + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + fragment_register_choose_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); + byte[] imageBytes = byteArrayOutputStream.toByteArray(); + String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT); + params.addBodyParameter("choosePhoto", encodedImage); + } + + if (fragment_register_update_photo_img != null) { + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + fragment_register_update_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); + byte[] imageBytes = byteArrayOutputStream.toByteArray(); + String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT); + params.addBodyParameter("uploadPhoto", 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("idPhoto", encodedImage); + } RegisterMng.getInstance().add(params); - } - - @OnClick(R.id.register_gender) - public void register_gender_click(View view) { - SingleSelectionDialog popup = new SingleSelectionDialog(getActivity(),mSexList,"鎬у埆"); - popup.showAtLocation(mBaseLayout, Gravity.CENTER,0,0); - popup.addOkButtonClickedListener(new OkButtonClickedListener() { - @Override - public void onItemSelected(int position, Object o, String item) { - register_gender.setValue(item); - } - }); - } - - @OnClick(R.id.register_country) - public void register_country_click(View view) { - CountrySelectionDialog countrySelectionPopup = new CountrySelectionDialog(getActivity(), - countryWordData,countryWordList,countryData); - countrySelectionPopup.showAtLocation(mBaseLayout, Gravity.CENTER,0,0); - countrySelectionPopup.addOkButtonClickedListener(new OkButtonClickedListener() { - @Override - public void onItemSelected(int position, Object o, String item) { - register_country.setValue(item); - } - }); - } - - @OnClick(R.id.register_birthday) - public void register_birthday_click(View view) { - Date date = new Date(); - BirthdayPickerDialog myDatePickerDialog=new BirthdayPickerDialog(getActivity(),android.R.style.Theme_Holo_Light_Dialog_NoActionBar, - new BirthdayPickerDialog.OnDateSetListener(){ - - @Override - public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { - int month=monthOfYear+1; - register_birthday.setValue(year+"-"+month+"-"+dayOfMonth); - } - },date); - myDatePickerDialog.myShow(); - } - - @OnClick(R.id.register_visitor_class) - public void register_visitor_class_click(View view) { - SingleSelectionDialog popup1 = new SingleSelectionDialog(getActivity(),mVisitorTypeList,"璁垮绫诲瀷"); - popup1.showAtLocation(mBaseLayout, Gravity.CENTER,0,0); - popup1.addOkButtonClickedListener(new OkButtonClickedListener() { - @Override - public void onItemSelected(int position, Object o, String item) { - register_visitor_class.setValue(item); - } - }); - } - - @OnClick(R.id.register_id_class) - public void register_id_class_click(View view) { - SingleSelectionDialog popup2 = new SingleSelectionDialog(getActivity(),mCredentialsList,"璇佷欢绫诲瀷"); - popup2.showAtLocation(mBaseLayout, Gravity.CENTER,0,0); - popup2.addOkButtonClickedListener(new OkButtonClickedListener() { - @Override - public void onItemSelected(int position, Object o, String item) { - register_id_class.setValue(item); - } - }); - } - - @OnClick(R.id.fragment_register_choose_photo) - public void fragment_register_choose_photo_click(View view) { - Toast.makeText(getActivity(), "閫夋嫨浜虹墿蹇収", Toast.LENGTH_SHORT).show(); - } - - @OnClick(R.id.fragment_register_update__photo) - public void fragment_register_update__photo_click(View view) { - Intent intent = new Intent(); - intent.setType("image/*"); - intent.setAction(Intent.ACTION_GET_CONTENT); - startActivityForResult(Intent.createChooser(intent, "閫夋嫨鍥剧墖"), PICK_IMAGE_REQUEST); - } - - @OnClick(R.id.fragment_register_back) - public void back(View view) { - MainActivity.selectPage(0); - } - - @OnClick(R.id.fragment_register_idcard_photo) - public void identityPhoto(View view) { - Toast.makeText(getActivity(), "璇佷欢蹇収", Toast.LENGTH_SHORT).show(); - } - - public void setVisitorTypeList(List visitorTypeList) { - this.mVisitorTypeList = visitorTypeList; - } - - public void setSexList(List sexList) { - this.mSexList = sexList; - } - - public void setCredentialsList(List credentialsList) { - this.mCredentialsList = credentialsList; - } - - public void setCountryData(String[] countryWordData, List<String> countryWordList, HashMap<String, List<String>> countryData) { - this.countryData = countryData; - this.countryWordList = countryWordList; - this.countryData = countryData; } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - - if (requestCode == PICK_IMAGE_REQUEST && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) { + if (requestCode == fragment_register_choose_photo_ && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) { Uri uri = data.getData(); try { Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri); - // Log.d(TAG, String.valueOf(bitmap));u - fragment_register_update__photo.setImageBitmap(bitmap); -// ImageView imageView = (ImageView) findViewById(R.id.imageView); -// imageView.setImageBitmap(bitmap); - } catch (IOException e) { + fragment_register_choose_photo.setImageBitmap(bitmap); + fragment_register_choose_photo_img = bitmap; + + fragment_register_choose_photo_placeholder_image.setVisibility(View.INVISIBLE); + fragment_register_choose_photo_placeholder_text_view.setVisibility(View.INVISIBLE); + + } catch (Exception e) { e.printStackTrace(); } } + if (requestCode == fragment_register_update_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_update_photo.setImageBitmap(bitmap); + fragment_register_update_photo_img = bitmap; + + fragment_register_update_photo_placeholder_image.setVisibility(View.INVISIBLE); + fragment_register_update_photo_placeholder_text_view.setVisibility(View.INVISIBLE); + + List<Bitmap> bitmapList = new ArrayList<>(); + bitmapList.add(0, bitmap); + + SurveillanceMng.getInstance().addBitmap(bitmapList, null, 0); + + } 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(""); + } + + @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_choose_photo) + public void fragment_register_choose_photo_click(View view) { + Intent intent = new Intent(); + intent.setType("image/*"); + intent.setAction(Intent.ACTION_GET_CONTENT); + startActivityForResult(Intent.createChooser(intent, "閫夋嫨鍥剧墖"), fragment_register_choose_photo_); + } + + @OnClick(R.id.fragment_register_update_photo) + public void fragment_register_update__photo_click(View view) { + Intent intent = new Intent(); + intent.setType("image/*"); + intent.setAction(Intent.ACTION_GET_CONTENT); + startActivityForResult(Intent.createChooser(intent, "閫夋嫨鍥剧墖"), fragment_register_update_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_choose_photo.setImageURI(Uri.parse(AppApi.IMAGEURL_BASE + item.getImagePath())); + fragment_register_choose_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE + item.getSurveillancePhoto())); + } + + public ImageView get_fragment_register_choose_photo() { + return fragment_register_choose_photo; + } + + public void setChoosePhoto(Bitmap bitmap) { + fragment_register_choose_photo.setImageBitmap(bitmap); + fragment_register_choose_photo_placeholder_text_view.setVisibility(View.INVISIBLE); + fragment_register_choose_photo_placeholder_image.setVisibility(View.INVISIBLE); } } -- Gitblit v1.8.0