xuxiuxi
2017-03-29 d17be73f53c21c5ceae03fe8494c195f0bbf4abf
VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/VisitorRegisterFragment.java
@@ -1,13 +1,17 @@
package com.bsk.zhangbo.demoforbsk.ui.fragment;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
@@ -19,8 +23,8 @@
import com.bsk.zhangbo.demoforbsk.service.DictionaryMng;
import com.bsk.zhangbo.demoforbsk.service.VisitorCheckInMng;
import com.bsk.zhangbo.demoforbsk.ui.activity.MainActivity;
import com.bsk.zhangbo.demoforbsk.util.AppApi;
import com.bsk.zhangbo.demoforbsk.util.Constant;
import com.bsk.zhangbo.demoforbsk.widget.SingleSelectionPopup;
import com.bsk.zhangbo.demoforbsk.widget.VisitPurposePopup;
import com.bsk.zhangbo.demoforbsk.widget.VisitorView;
import com.camnter.easyrecyclerview.widget.EasyRecyclerView;
@@ -38,7 +42,6 @@
import cn.com.basic.face.discern.common.CommonVariables;
import cn.com.basic.face.discern.entity.Visit;
import cn.com.basic.face.discern.query.item.FacePhotoItem;
import cn.com.basic.face.discern.query.item.IntervieweeQueryItem;
import cn.com.basic.face.discern.query.item.VisitorQueryItem;
/**
@@ -49,20 +52,20 @@
    private View mViewLeft,mViewRight;
    private RadioGroup mRGTop,mRGClass;
    private LinearLayout mLlRadioGroupClass;
    private VisitorView mVisitorTo,mVisitorFrom;
    private VisitorView right, left;
    private VisitorRecyclerViewAdapter mAdapter;
    private EasyRecyclerView mRecyclerView;
    private List mList;
    private List mList = new ArrayList();;
    private static VisitorRegisterFragment instance = new VisitorRegisterFragment();
    private TextView companyNameTv;
    private TextView identity;
    private ImageView visitorPhoto;
    private TextView fromPhone;
    private TextView mDepartmentTv;
    private TextView mDutyTv;
    private TextView mPhoneTv;
    private TextView mTelTv;
    private TextView leftCompanyName;
    private TextView leftIdentityNumber;
    private ImageView leftPhoto;
    private TextView leftMobilePhone;
    private TextView rightDepartment;
    private TextView rightPost;
    private TextView rightMobilePhone;
    private TextView rightTel;
    //private TextView visitorReasonTv;
    private List<String> visitPurposeList = new ArrayList<String>();
    private VisitorQueryItem selectedVisitor;
@@ -72,6 +75,13 @@
    private EditText visitorRemarkEt;
    @ViewInject(R.id.visitor_reason_tv)
    private TextView visitorReasonTv;
    @ViewInject(R.id.visitor_register_search_et)
    private EditText visitorRegisterSearchEt;
    @ViewInject(R.id.visitor_register_rb_left)
    private RadioButton visitorRegisterRbLeft;
    @ViewInject(R.id.visitor_register_check_department)
    private RadioButton visitorRegisterCheckDepartment;
    private ImageView rightPhoto;
    public static VisitorRegisterFragment getInstance() {
        return instance;
@@ -89,17 +99,25 @@
            public void onCheckedChanged(RadioGroup radioGroup, int i) {
                switch (radioGroup.getCheckedRadioButtonId()){
                    case R.id.visitor_register_rb_left:
                        //Toast.makeText(MainActivity.getInstance(), "来访人员", Toast.LENGTH_SHORT).show();
                        mLlRadioGroupClass.setVisibility(View.GONE);
                        mAdapter = new VisitorRecyclerViewAdapter(getActivity(), Constant.VISITOR_FROM);
                        //mList.clear();
                        mAdapter.setList(mList);
                        mRecyclerView.setAdapter(mAdapter);
                        int pageNum = 1;
                        VisitorCheckInMng.getInstance().findVisitorList(pageNum+"", visitorRegisterSearchEt.getText().toString(), true);
                        break;
                    case R.id.visitor_register_rb_right:
                        //Toast.makeText(MainActivity.getInstance(), "被访人员", Toast.LENGTH_SHORT).show();
                        mLlRadioGroupClass.setVisibility(View.VISIBLE);
                        mAdapter = new VisitorRecyclerViewAdapter(getActivity(), Constant.VISITOR_TO);
                        mAdapter.setVisitorToColor(VisitorRecyclerViewAdapter.TYPE_NAME);
                        //mList.clear();
                        mAdapter.setList(mList);
                        mRecyclerView.setAdapter(mAdapter);
                        int pageNum1 = 1;
                        VisitorCheckInMng.getInstance().findIntervieweeList(pageNum1+"", visitorRegisterSearchEt.getText().toString(), true);
                        break;
                }
            }
@@ -121,10 +139,31 @@
                        sort(mList, true);
                        mAdapter.setList(mList);
                        mRecyclerView.setAdapter(mAdapter);
                        break;
                }
            }
        });
        visitorRegisterSearchEt.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
            @Override
            public void afterTextChanged(Editable editable) {
                loadList();
            }
        });
    }
    public void loadList() {
        if (visitorRegisterRbLeft.isChecked()) {
            VisitorCheckInMng.getInstance().findVisitorList(1+"", visitorRegisterSearchEt.getText().toString(), true);
        } else {
            VisitorCheckInMng.getInstance().findIntervieweeList(1+"", visitorRegisterSearchEt.getText().toString(), true);
        }
    }
    private void sort(List<VisitorQueryItem> list, final boolean sortedByDept) {
@@ -132,35 +171,23 @@
            @Override
            public int compare(VisitorQueryItem t1, VisitorQueryItem t2) {
                if (sortedByDept) {
                    if(!t1.getDeptName().equals(t2.getDeptName())) {
                        return t1.getDeptName().compareTo(t2.getDeptName());
                    String dept1Name = t1.getDeptName()==null?"":t1.getDeptName();
                    String dept2Name = t2.getDeptName()==null?"":t2.getDeptName();
                    if(!dept1Name.equals(dept2Name)) {
                        return dept1Name.compareTo(dept2Name);
                    }
                }
                return t1.getName().compareTo(t2.getName());
                String name1 = t1.getName()==null?"":t1.getName();
                String name2 = t2.getName()==null?"":t2.getName();
                return name1.compareTo(name2);
            }
        });
    }
    @Override
    protected void initData() {
        mList = new ArrayList();
        for (int i=0;i<25;i++){
            //mList.add("");
            VisitorQueryItem item = new VisitorQueryItem();
            item.setName("李四"+i);
            item.setCompanyName("贝思科"+i);
            item.setIdentify("1001"+i);
            item.setImagePath("test.png");
            item.setPhone("136913486"+i);
            item.setMobilePhone("1369134876"+i);
            item.setPostName("职务"+i);
            item.setDeptName("部门"+(i%4));
            mList.add(item);
        }
        mAdapter.setList(mList);
        mRecyclerView.setAdapter(mAdapter);
        loadList();
    }
    @Override
@@ -181,29 +208,24 @@
    @Override
    public View addRightLayout() {
        mViewRight = LayoutInflater.from(getActivity()).inflate(R.layout.visitor_register_right,null);
        mVisitorFrom = (VisitorView) mViewRight.findViewById(R.id.visitor_from);
        companyNameTv = (TextView)mVisitorFrom.findViewById(R.id.visitor_view_from_company_name);
        left = (VisitorView) mViewRight.findViewById(R.id.visitor_view_left);
        left.setType(Constant.VISITOR_FROM);
        left.setTitle("");
        leftCompanyName = (TextView) left.findViewById(R.id.visitor_view_left_company_name);
        leftIdentityNumber = (TextView) left.findViewById(R.id.visitor_view_left_identity_number);
        leftMobilePhone = (TextView) left.findViewById(R.id.visitor_view_left_phone);
        leftPhoto = (ImageView) left.findViewById(R.id.visitor_view_left_photo);
        identity = (TextView)mVisitorFrom.findViewById(R.id.visitor_view_from_identity);
        fromPhone = (TextView)mVisitorFrom.findViewById(R.id.visitor_view_from_phone);
        visitorPhoto = (ImageView)mVisitorFrom.findViewById(R.id.visitor_view_from_photo);
        mVisitorTo = (VisitorView) mViewRight.findViewById(R.id.visitor_to);
        mDepartmentTv = (TextView)mVisitorTo.findViewById(R.id.view_visitor_to_deptartment);
        mDutyTv = (TextView)mVisitorTo.findViewById(R.id.view_visitor_to_duty);
        mPhoneTv = (TextView)mVisitorTo.findViewById(R.id.visitor_to_phone);
        mTelTv = (TextView)mVisitorTo.findViewById(R.id.visitor_to_tel);
        mVisitorFrom.setType(Constant.VISITOR_FROM);
        mVisitorTo.setType(Constant.VISITOR_TO);
        mVisitorFrom.setTitle("");
        mVisitorTo.setTitle("");
        ViewUtils.inject(this, mVisitorTo);
        right = (VisitorView) mViewRight.findViewById(R.id.visitor_view_right);
        right.setType(Constant.VISITOR_TO);
        right.setTitle("");
        rightDepartment = (TextView) right.findViewById(R.id.view_visitor_right_deptartment);
        rightPost = (TextView) right.findViewById(R.id.view_visitor_right_post);
        rightMobilePhone = (TextView) right.findViewById(R.id.visitor_right_phone);
        rightTel = (TextView) right.findViewById(R.id.visitor_right_tel);
        rightPhoto = (ImageView) right.findViewById(R.id.visitor_view_right_photo);
        ViewUtils.inject(this, mViewRight);
        return mViewRight;
    }
@@ -240,7 +262,7 @@
    @OnClick(R.id.visitor_reason_tv)
    public void visitorReason(View view) {
        VisitPurposePopup popup1 = new VisitPurposePopup(getActivity(),visitPurposeList,"拜访事由");
        VisitPurposePopup popup1 = new VisitPurposePopup(getActivity(),visitPurposeList,"请选择拜访事由");
        popup1.showAtLocation(getView(), Gravity.CENTER,0,0);
        popup1.addOkButtonClickedListener(new OkButtonClickedListener() {
            @Override
@@ -251,41 +273,76 @@
    }
    public void visitorCheckIn(FacePhotoItem item) {
        mVisitorFrom.setTitle(item.getName());
        left.setTitle(item.getName());
    }
    public void visitorCheckIn(VisitorQueryItem item) {
        left.setTitle(item.getName());
        leftMobilePhone.setText(item.getMobilePhone());
        leftCompanyName.setText(item.getCompanyName());
        leftIdentityNumber.setText(item.getIdentify());
        leftPhoto.setImageURI(Uri.parse(AppApi.CHENXINGGROUND_IMAGEURL_BASE + item.getImagePath()));
        /*
                left = (VisitorView) mViewRight.findViewById(R.id.visitor_view_left);
        left.setType(Constant.VISITOR_FROM);
        left.setTitle("");
        leftCompanyName = (TextView) left.findViewById(R.id.visitor_view_left_company_name);
        leftIdentityNumber = (TextView) left.findViewById(R.id.visitor_view_left_identity_number);
        leftPhone = (TextView) left.findViewById(R.id.visitor_view_left_phone);
        leftPhoto = (ImageView) left.findViewById(R.id.visitor_view_left_photo);
        right = (VisitorView) mViewRight.findViewById(R.id.visitor_view_right);
        right.setType(Constant.VISITOR_TO);
        right.setTitle("");
        rightDepartment = (TextView) right.findViewById(R.id.view_visitor_right_deptartment);
        rightPost = (TextView) right.findViewById(R.id.view_visitor_right_post);
        rightMobilePhone = (TextView) right.findViewById(R.id.visitor_right_phone);
        rightTel = (TextView) right.findViewById(R.id.visitor_right_tel);
        rightPhoto = (ImageView) right.findViewById(R.id.visitor_view_right_photo);
         */
    }
    public void listChanged(List list, boolean isClear) {
        if (isClear) {
            mList.clear();
        }
        if (visitorRegisterCheckDepartment.isChecked()) {
            sort(list, false);
        } else {
            sort(list, true);
        }
        mList.addAll(list);
        mAdapter.notifyDataSetChanged();
        mAdapter.setList(mList);
        mRecyclerView.setAdapter(mAdapter);
    }
    public void setVisitorInfo(VisitorQueryItem item) {
        mVisitorFrom.setTitle(item.getName());
        companyNameTv.setText(item.getCompanyName());
        identity.setText(item.getIdentify());
        fromPhone.setText(item.getPhone());
        left.setTitle(item.getName());
        leftCompanyName.setText(item.getCompanyName());
        leftIdentityNumber.setText(item.getIdentify());
        leftMobilePhone.setText(item.getPhone());
        leftPhoto.setImageURI(Uri.parse(AppApi.CHENXINGGROUND_IMAGEURL_BASE + item.getImagePath()));
        selectedVisitor = item;
    }
    public void setIntervieweeInfo(final VisitorQueryItem item) {
        mVisitorTo.setTitle(item.getName());
        mDepartmentTv.setText(item.getDeptName());
        mDutyTv.setText(item.getPostName());
        mPhoneTv.setOnClickListener(new View.OnClickListener(){
        right.setTitle(item.getName());
        rightDepartment.setText(item.getDeptName());
        rightPost.setText(item.getPostName());
        rightMobilePhone.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view) {
                Toast.makeText(MainActivity.getInstance(), "正在呼叫手机"+item.getMobilePhone(), Toast.LENGTH_SHORT).show();
            }
        });
        mTelTv.setOnClickListener(new View.OnClickListener(){
        rightTel.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view) {
                Toast.makeText(MainActivity.getInstance(), "正在呼叫座机"+item.getPhone(), Toast.LENGTH_SHORT).show();
            }
        });
        rightPhoto.setImageURI(Uri.parse(AppApi.CHENXINGGROUND_IMAGEURL_BASE + item.getImagePath()));
        selectedInterviewee = item;
    }