xuxiuxi
2017-04-11 1da814941fdb3d4c5e8ed4cc5229b387b7954d81
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
@@ -4,31 +4,29 @@
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.Gravity;
import android.view.View;
import android.widget.DatePicker;
import android.widget.ImageView;
import android.widget.LinearLayout;
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.util.OkButtonClickedListener;
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;
@@ -36,45 +34,39 @@
import java.io.IOException;
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)
    @ViewInject(R.id.fragment_register_update_photo)
    private ImageView fragment_register_update__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;
    private static RegisterFragment instance = new RegisterFragment();
@@ -86,12 +78,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) { }
@@ -99,80 +85,134 @@
    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());
        //visitor_type
        //params.addBodyParameter(VisitPersonType.FieldNames.visitorTypeId, VisitorTypeMng.getInstance().getId(isitorvTypeTv.getText().toString()));
        params.addBodyParameter(VisitPersonType.FieldNames.registerCompanyId, "0");
        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);
        params.addBodyParameter("companyName", fragment_register_company.getValue());
        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);
    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.register_country)
    public void register_country_click(View view) {
        CountrySelectionDialog countrySelectionPopup = new CountrySelectionDialog(getActivity(), new OkButtonClickedListener() {
            @Override
            public void onItemSelected(int position, Object o, String item) {
                register_country.setValue(item);
    @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);
            }
        });
        countrySelectionPopup.showAtLocation(mBaseLayout, Gravity.CENTER,0,0);
    }
    @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);
    @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);
                    }
                },date);
        myDatePickerDialog.myShow();
                },new Date());
    }
    @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.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.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_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);
            }
        });
    }
@@ -182,7 +222,7 @@
        Toast.makeText(getActivity(), "选择人物快照", Toast.LENGTH_SHORT).show();
    }
    @OnClick(R.id.fragment_register_update__photo)
    @OnClick(R.id.fragment_register_update_photo)
    public void fragment_register_update__photo_click(View view) {
        Intent intent = new Intent();
        intent.setType("image/*");
@@ -191,25 +231,13 @@
    }
    @OnClick(R.id.fragment_register_back)
    public void back(View view) {
    public void fragment_register_back_click(View view) {
        MainActivity.selectPage(0);
    }
    @OnClick(R.id.fragment_register_idcard_photo)
    public void identityPhoto(View view) {
    @OnClick(R.id.fragment_register_id_card_photo)
    public void fragment_register_id_card_photo_click(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;
    }
    @Override
@@ -220,10 +248,7 @@
            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) {
                e.printStackTrace();
            }
@@ -234,7 +259,7 @@
    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.getImagePath()));
    }
}