xuxiuxi
2017-03-28 71faf7c842e8571e6d4a01baeaefec36766b67db
VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/RegisterFragment.java
@@ -1,51 +1,95 @@
package com.bsk.zhangbo.demoforbsk.ui.fragment;
import android.app.Activity;
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.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.bsk.zhangbo.demoforbsk.R;
import com.bsk.zhangbo.demoforbsk.base.BaseFragment;
import com.bsk.zhangbo.demoforbsk.service.DictionaryMng;
import com.bsk.zhangbo.demoforbsk.service.PersonMng;
import com.bsk.zhangbo.demoforbsk.service.VisitorTypeMng;
import com.bsk.zhangbo.demoforbsk.listeners.OkButtonClickedListener;
import com.bsk.zhangbo.demoforbsk.ui.activity.MainActivity;
import com.bsk.zhangbo.demoforbsk.widget.BirthdayPickerDialog;
import com.bsk.zhangbo.demoforbsk.widget.CountrySelectionPopup;
import com.bsk.zhangbo.demoforbsk.widget.SingleSelectionPopup;
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 org.xutils.x;
import java.util.ArrayList;
import java.io.IOException;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import cn.com.basic.face.discern.common.BaseCommonCallBack;
import cn.com.basic.face.discern.query.item.VistorTypeQueryItem;
import cn.com.basic.face.discern.entity.Person;
import cn.com.basic.face.discern.entity.VisitPersonType;
/**
 * Created by Administrator on 2017/2/20 0020.
 */
//@ContentView(value = R.layout.fragment_register)
public class RegisterFragment extends BaseFragment implements View.OnClickListener{
    private View mViewName,mViewSex,mViewNation,mViewBirthday,mViewVisitorClass,mViewPhone,mViewIdClass,mViewIdNumber,mViewCompayName,mViewRemark;
    private TextView mViewNameTitle,mViewSexTitle,mViewNationTitle,mViewBirthdyTitle,mViewIdClassContent,mViewSexContent,mViewNationContent,mViewBirthdyContent,mViewVisitorClassContent,mViewVisitorClassTitle,mViewPhoneTitle,mViewIdClassTitle,mViewIdNumberTitle,mViewCompanyNameTitle,mViewRemarkTitle;
    private EditText mViewNameContent,mViewPhoneContent,mViewIdNumberContent,mViewCompanyNameContent,mViewRemarkContent;
    private List<String> mSexList;
    private List<String> mVisitorTypeList;
    private List<String> mCredentialsList;
    private LinearLayout mBaseLayout;
    private int mNowYear;
    private int mNowMonth;
    private int mNowDay;
    private static final int PICK_IMAGE_REQUEST = 1;
    @ViewInject(value = R.id.register_tv_content, parentId = R.id.register_id_class)
    private TextView identityTypeTv;
    private TextView genderTv;
    private TextView countryTv;
    private TextView birthdayTv;
    private TextView isitorvTypeTv;
    private TextView mViewVisitorClassTitle;
    public static RegisterFragment newInstance() {
        return new RegisterFragment();
    private EditText nameEt, phoneEt, identifyEt, companyEt,mViewRemarkContent;
    private List mSexList;
    private List mVisitorTypeList;
    private List mCredentialsList;
    private LinearLayout mBaseLayout;
    @ViewInject(R.id.register_name)
    private View mViewName;
    @ViewInject(R.id.register_gender)
    private View mViewSex;
    @ViewInject(R.id.register_country)
    private View mViewNation;
    @ViewInject(R.id.register_birthday)
    private View mViewBirthday;
    @ViewInject(R.id.register_visitor_class)
    private View mViewVisitorClass;
    @ViewInject(R.id.register_phone)
    private View mViewPhone;
    @ViewInject(R.id.register_id_class)
    private View mViewIdClass;
    @ViewInject(R.id.register_id_num)
    private View mViewIdNumber;
    @ViewInject(R.id.register_company)
    private View mViewCompayName;
    @ViewInject(R.id.register_remark)
    private View mViewRemark;
    private String[] countryWordData;
    private List<String> countryWordList;
    private HashMap<String, List<String>> countryData;
    private static RegisterFragment instance = new RegisterFragment();
    public static RegisterFragment getInstance() {
        return instance;
    }
    @Override
    protected int getLayoutId() {
@@ -55,151 +99,108 @@
    @Override
    protected void initViews(View view, Bundle savedInstanceState) {
        mBaseLayout = (LinearLayout) view.findViewById(R.id.register_base);
        mViewName = view.findViewById(R.id.register_name);
        mViewSex = view.findViewById(R.id.register_sex);
        mViewNation = view.findViewById(R.id.register_nation);
        mViewBirthday = view.findViewById(R.id.register_birthday);
        mViewVisitorClass = view.findViewById(R.id.register_visitor_class);
        mViewPhone = view.findViewById(R.id.register_phone);
        mViewIdClass = view.findViewById(R.id.register_id_class);
        mViewIdNumber = view.findViewById(R.id.register_id_num);
        mViewCompayName = view.findViewById(R.id.register_company);
        mViewRemark = view.findViewById(R.id.register_remark);
        ViewUtils.inject(this, mBaseLayout);
        mViewNameTitle = (TextView) mViewName.findViewById(R.id.register_et_title);
        mViewSexTitle = (TextView) mViewSex.findViewById(R.id.register_tv_title);
        mViewNationTitle = (TextView) mViewNation.findViewById(R.id.register_tv_title);
        mViewBirthdyTitle = (TextView) mViewBirthday.findViewById(R.id.register_tv_title);
        mViewVisitorClassTitle = (TextView) mViewVisitorClass.findViewById(R.id.register_tv_title);
        mViewPhoneTitle = (TextView) mViewPhone.findViewById(R.id.register_et_title);
        mViewIdClassTitle = (TextView) mViewIdClass.findViewById(R.id.register_tv_title);
        mViewIdNumberTitle = (TextView) mViewIdNumber.findViewById(R.id.register_et_title);
        mViewCompanyNameTitle = (TextView) mViewCompayName.findViewById(R.id.register_et_title);
        mViewRemarkTitle = (TextView) mViewRemark.findViewById(R.id.register_et_title);
        mViewSexContent = (TextView) mViewSex.findViewById(R.id.register_tv_content);
        mViewNationContent = (TextView) mViewNation.findViewById(R.id.register_tv_content);
        mViewBirthdyContent= (TextView) mViewBirthday.findViewById(R.id.register_tv_content);
        mViewVisitorClassContent = (TextView) mViewVisitorClass.findViewById(R.id.register_tv_content);
        mViewIdClassContent= (TextView) mViewIdClass.findViewById(R.id.register_tv_content);
        mViewNameContent = (EditText) mViewName.findViewById(R.id.register_et_content);
        mViewPhoneContent = (EditText) mViewPhone.findViewById(R.id.register_et_content);
        mViewIdNumberContent = (EditText) mViewIdNumber.findViewById(R.id.register_et_content);
        mViewCompanyNameContent = (EditText) mViewCompayName.findViewById(R.id.register_et_content);
        genderTv = (TextView) mViewSex.findViewById(R.id.register_tv_content);
        countryTv = (TextView) mViewNation.findViewById(R.id.register_tv_content);
        birthdayTv= (TextView) mViewBirthday.findViewById(R.id.register_tv_content);
        isitorvTypeTv = (TextView) mViewVisitorClass.findViewById(R.id.register_tv_content);
       // mViewIdentityTypeContent = (TextView) mViewIdClass.findViewById(R.id.register_tv_content);
        nameEt = (EditText) mViewName.findViewById(R.id.register_et_content);
        phoneEt = (EditText) mViewPhone.findViewById(R.id.register_et_content);
        identifyEt = (EditText) mViewIdNumber.findViewById(R.id.register_et_content);
        companyEt = (EditText) mViewCompayName.findViewById(R.id.register_et_content);
        mViewRemarkContent = (EditText) mViewRemark.findViewById(R.id.register_et_content);
        mViewNameTitle.setText(R.string.title_name);
        mViewSexTitle.setText(R.string.title_sex);
        mViewNationTitle.setText(R.string.title_nation);
        mViewBirthdyTitle.setText(R.string.title_birthday);
        mViewVisitorClassTitle.setText(R.string.title_visitorClass);
        mViewPhoneTitle.setText(R.string.title_phone);
        mViewIdClassTitle.setText(R.string.title_idClass);
        mViewIdNumberTitle.setText(R.string.title_idNumber);
        mViewCompanyNameTitle.setText(R.string.title_companyName);
        mViewRemarkTitle.setText(R.string.title_remark);
        Calendar calendar = Calendar.getInstance();
        mNowYear = calendar.get(Calendar.YEAR);
        mNowMonth = calendar.get(Calendar.MONTH);
        mNowDay = calendar.get(Calendar.DAY_OF_MONTH);
        ((TextView) mViewName.findViewById(R.id.register_et_title)).setText(R.string.title_name);
        ((TextView) mViewSex.findViewById(R.id.register_tv_title)).setText(R.string.title_sex);
        ((TextView) mViewNation.findViewById(R.id.register_tv_title)).setText(R.string.title_nation);
        ((TextView) mViewBirthday.findViewById(R.id.register_tv_title)).setText(R.string.title_birthday);
        ((TextView) mViewVisitorClass.findViewById(R.id.register_tv_title)).setText(R.string.title_visitorClass);
        ((TextView) mViewPhone.findViewById(R.id.register_et_title)).setText(R.string.title_phone);
        ((TextView) mViewIdClass.findViewById(R.id.register_tv_title)).setText(R.string.title_idClass);
        ((TextView) mViewIdNumber.findViewById(R.id.register_et_title)).setText(R.string.title_idNumber);
        ((TextView) mViewCompayName.findViewById(R.id.register_et_title)).setText(R.string.title_companyName);
        ((TextView) mViewRemark.findViewById(R.id.register_et_title)).setText(R.string.title_remark);
    }
    @Override
    protected void initToolbar(Bundle savedInstanceState) {
    @OnClick(R.id.register_save)
    public void registerEdit() {
    }
    @Override
    protected void initListeners() {
        mViewSex.setOnClickListener(this);
        mViewNation.setOnClickListener(this);
        mViewBirthday.setOnClickListener(this);
        mViewVisitorClass.setOnClickListener(this);
        mViewIdClass.setOnClickListener(this);
    @OnClick(R.id.register_add)
    public void registerAdd(View v) {
        RequestParams params = new RequestParams();
        params.addBodyParameter(Person.FieldNames.name, nameEt.getText().toString());
        params.addBodyParameter(Person.FieldNames.phone, phoneEt.getText().toString());
        params.addBodyParameter(Person.FieldNames.gender, DictionaryMng.getInstance().getId(genderTv.getText().toString()));
        params.addBodyParameter(Person.FieldNames.identityType, DictionaryMng.getInstance().getId(identityTypeTv.getText().toString()));
        params.addBodyParameter(Person.FieldNames.country, DictionaryMng.getInstance().getId(countryTv.getText().toString()));
        params.addBodyParameter(Person.FieldNames.identify, identifyEt.getText().toString());
        params.addBodyParameter(Person.FieldNames.birthday, birthdayTv.getText().toString());
        params.addBodyParameter("companyName", companyEt.getText().toString());
        //visitor_type
        params.addBodyParameter(VisitPersonType.FieldNames.visitorTypeId, VisitorTypeMng.getInstance().getId(isitorvTypeTv.getText().toString()));
        params.addBodyParameter(VisitPersonType.FieldNames.registerCompanyId, "0");
        PersonMng.getInstance().add(params);
    }
    @Override
    protected void initData() {
        RequestParams params = new RequestParams("http://192.168.1.51:8080/ssm/VisitorType/v_list.do");
        x.http().get(params, new BaseCommonCallBack() {
            public void success() {
                List<VistorTypeQueryItem> items = getList(VistorTypeQueryItem.class);
                mVisitorTypeList = new ArrayList<String>();
                mViewVisitorClassContent.setText(items.get(0).getLabel());
                for (VistorTypeQueryItem item : items) {
                    mVisitorTypeList.add(item.getLabel());
                }
//        mVisitorTypeList = VisitorTypeMng.mVisitorTypeList;
//        mSexList = DictionaryMng.mSexList;
//        mCredentialsList = DictionaryMng.mCredentialsList;
    }
    public void setVisitorTypeList(List visitorTypeList) {
        this.mVisitorTypeList = visitorTypeList;
    }
    public void setSexList(List sexList) {
        this.mSexList = sexList;
    }
    public void setCredentialsList(List credentialsList) {
        this.mCredentialsList = credentialsList;
    }
    @OnClick(R.id.register_gender)
    public void selectGender(View view) {
        SingleSelectionPopup popup = new SingleSelectionPopup(getActivity(),mSexList,"性别");
        popup.showAtLocation(mBaseLayout, Gravity.CENTER,0,0);
        popup.addOkButtonClickedListener(new OkButtonClickedListener() {
            @Override
            public void onItemSelected(int position, Object o, String item) {
                genderTv.setText(item);
            }
        });
        mSexList = new ArrayList<>();
        mSexList.add("男");
        mSexList.add("女");
        mViewSexContent.setText(mSexList.get(0));
        mCredentialsList = new ArrayList<>();
        mCredentialsList.add("名片");
        mCredentialsList.add("身份证");
        mViewIdClassContent.setText(mCredentialsList.get(0));
    }
    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.register_sex:
                SingleSelectionPopup popup = new SingleSelectionPopup(getActivity(),mSexList,"性别");
                popup.showAtLocation(mBaseLayout, Gravity.CENTER,0,0);
                popup.addOkButtonClickedListener(new OkButtonClickedListener() {
                    @Override
                    public void onItemSelected(int position, Object o, String item) {
                        mViewSexContent.setText(item);
                    }
                });
                break;
            case R.id.register_nation:
//                Toast.makeText(getActivity(),"中国",Toast.LENGTH_SHORT).show();
                CountrySelectionPopup countrySelectionPopup = new CountrySelectionPopup(getActivity());
                countrySelectionPopup.showAtLocation(mBaseLayout, Gravity.CENTER,0,0);
                countrySelectionPopup.addOkButtonClickedListener(new OkButtonClickedListener() {
                    @Override
                    public void onItemSelected(int position, Object o, String item) {
                        mViewNationContent.setText(item);
                    }
                });
                break;
            case R.id.register_birthday:
//                Toast.makeText(getActivity(),"1990-1-1",Toast.LENGTH_SHORT).show();
//                datePickerDialog.show();
                showDatePicker();
                break;
            case R.id.register_visitor_class:
                SingleSelectionPopup popup1 = new SingleSelectionPopup(getActivity(),mVisitorTypeList,"访客类型");
                popup1.showAtLocation(mBaseLayout, Gravity.CENTER,0,0);
                popup1.addOkButtonClickedListener(new OkButtonClickedListener() {
                    @Override
                    public void onItemSelected(int position, Object o, String item) {
                        mViewVisitorClassContent.setText(item);
                    }
                });
                break;
            case R.id.register_id_class:
                SingleSelectionPopup popup2 = new SingleSelectionPopup(getActivity(),mCredentialsList,"证件类型");
                popup2.showAtLocation(mBaseLayout, Gravity.CENTER,0,0);
                popup2.addOkButtonClickedListener(new OkButtonClickedListener() {
                    @Override
                    public void onItemSelected(int position, Object o, String item) {
                        mViewIdClassContent.setText(item);
                    }
                });
                break;
        }
    public void setCountryData(String[] countryWordData, List<String> countryWordList, HashMap<String, List<String>> countryData) {
        this.countryData = countryData;
        this.countryWordList = countryWordList;
        this.countryData = countryData;
    }
    public void showDatePicker(){
    @OnClick(R.id.register_country)
    public void selectCountry(View view) {
        CountrySelectionPopup countrySelectionPopup = new CountrySelectionPopup(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) {
                countryTv.setText(item);
            }
        });
    }
    @OnClick(R.id.register_birthday)
    public void selectBirthday(View view) {
        Date date = new Date();
        BirthdayPickerDialog myDatePickerDialog=new BirthdayPickerDialog(getActivity(),android.R.style.Theme_Holo_Light_Dialog_NoActionBar,
                new BirthdayPickerDialog.OnDateSetListener(){
@@ -207,13 +208,96 @@
                    @Override
                    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                        int month=monthOfYear+1;
                        Toast.makeText(
                                getActivity(),
                                year + "-" + month + "-" + dayOfMonth,
                                Toast.LENGTH_SHORT).show();
                        birthdayTv.setText(year+"-"+month+"-"+dayOfMonth);
                    }
                },date);
        myDatePickerDialog.myShow();
    }
    @OnClick(R.id.register_visitor_class)
    public void selectVisitorType(View view) {
        SingleSelectionPopup popup1 = new SingleSelectionPopup(getActivity(),mVisitorTypeList,"访客类型");
        popup1.showAtLocation(mBaseLayout, Gravity.CENTER,0,0);
        popup1.addOkButtonClickedListener(new OkButtonClickedListener() {
            @Override
            public void onItemSelected(int position, Object o, String item) {
                isitorvTypeTv.setText(item);
            }
        });
    }
    @OnClick(R.id.register_id_class)
    public void selectIdentityType(View view) {
        SingleSelectionPopup popup2 = new SingleSelectionPopup(getActivity(),mCredentialsList,"证件类型");
        popup2.showAtLocation(mBaseLayout, Gravity.CENTER,0,0);
        popup2.addOkButtonClickedListener(new OkButtonClickedListener() {
            @Override
            public void onItemSelected(int position, Object o, String item) {
                identityTypeTv.setText(item);
            }
        });
    }
    /**
     * 选择人物快照
     * @param view
     */
    @OnClick(R.id.register_choose_photo)
    public void selectPersonPhoto(View view) {
        Toast.makeText(getActivity(), "选择人物快照", Toast.LENGTH_SHORT).show();
    }
    /**
     * 点击上传图片
     * @param view
     */
    @OnClick(R.id.register_update__photo)
    public void clickUploadPhoto(View view) {
        Intent intent = new Intent();
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(Intent.createChooser(intent, "选择图片"), PICK_IMAGE_REQUEST);
    }
    @ViewInject(R.id.register_update__photo)
    private ImageView ploadPhotoIv;
    @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) {
            Uri uri = data.getData();
            try {
                Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);
                // Log.d(TAG, String.valueOf(bitmap));u
                ploadPhotoIv.setImageBitmap(bitmap);
//                ImageView imageView = (ImageView) findViewById(R.id.imageView);
//                imageView.setImageBitmap(bitmap);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    /**
     * 证件快照
     * @param view
     */
    @OnClick(R.id.register_idcard_photo)
    public void identityPhoto(View view) {
        Toast.makeText(getActivity(), "证件快照", Toast.LENGTH_SHORT).show();
    }
    @OnClick(R.id.register_back)
    public void back(View view) {
        MainActivity.selectPage(0);
    }
    @Override
    public void onClick(View v) {}
}