xuxiuxi
2017-03-30 a79b37be11f6301612709482232952d83c9604a1
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java
@@ -14,7 +14,7 @@
import com.bsk.zhangbo.demoforbsk.R;
import cn.com.basic.face.adapter.CheckInRightCellAdapter;
import cn.com.basic.face.adapter.CheckInLeftListViewAdapter;
import cn.com.basic.face.base.MainUIBaseFragment;
import cn.com.basic.face.listeners.OkButtonClickedListener;
import cn.com.basic.face.service.DictionaryMng;
@@ -22,9 +22,10 @@
import cn.com.basic.face.base.MainActivity;
import cn.com.basic.face.util.Constant;
import cn.com.basic.face.widget.CheckInIntervieweeCell;
import cn.com.basic.face.widget.CheckInLeftListView;
import cn.com.basic.face.widget.CheckInRightVisitorCell;
import cn.com.basic.face.widget.VisitPurposeDialog;
import com.camnter.easyrecyclerview.widget.EasyRecyclerView;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
@@ -32,8 +33,6 @@
import org.xutils.http.RequestParams;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import cn.com.basic.face.discern.common.CommonVariables;
@@ -50,7 +49,7 @@
    private View fragment_check_in_left;
    private View fragment_check_in_right;
    
    private CheckInRightCellAdapter mAdapter;
    private CheckInLeftListViewAdapter mAdapter;
    private List mList = new ArrayList();;
    
    @ViewInject(R.id.fragment_check_in_left_radio_group)
@@ -64,7 +63,7 @@
    @ViewInject(R.id.fragment_check_in_right_visitor_cell)
    private CheckInRightVisitorCell fragment_check_in_right_visitor_cell;
    @ViewInject(R.id.fragment_check_in_left_list_view)
    private EasyRecyclerView fragment_check_in_left_list_view;
    private CheckInLeftListView fragment_check_in_left_list_view;
    @ViewInject(R.id.fragment_check_in_right_remark)
    private EditText fragment_check_in_right_remark;
    @ViewInject(R.id.fragment_check_in_right_visitor_reason)
@@ -77,6 +76,8 @@
    private RadioButton fragment_check_in_left_sort_by_dept_radio_button;
    @ViewInject(R.id.fragment_check_in_left_interviewee_radio)
    private RadioButton fragment_check_in_left_interviewee_radio;
    @ViewInject(R.id.fragment_check_in_left_sort_by_name_radio_button)
    private RadioButton fragment_check_in_left_sort_by_name_radio_button;
    private CheckInMng manager = CheckInMng.getInstance();
@@ -94,7 +95,7 @@
    public View addLeftLayout() {
        fragment_check_in_left = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_check_in_left,null);
        ViewUtils.inject(this, fragment_check_in_left);
        mAdapter = new CheckInRightCellAdapter(getActivity(),Constant.VISITOR_CELL);
        mAdapter = new CheckInLeftListViewAdapter(getActivity(),Constant.VISITOR_ROW);
        return fragment_check_in_left;
    }
@@ -115,91 +116,33 @@
        fragment_check_in_left_radio_group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int i) {
                switch (radioGroup.getCheckedRadioButtonId()){
                    case R.id.fragment_check_in_left_visitor_radio:
                        fragment_check_in_left_sort_type_linear_layout.setVisibility(View.GONE);
                        mAdapter = new CheckInRightCellAdapter(getActivity(), Constant.VISITOR_CELL);
                        CheckInMng.getInstance().findVisitorList("1", fragment_check_in_left_search_edit_text.getText().toString(), true);
                        break;
                    case R.id.fragment_check_in_left_interviewee_radio:
                        fragment_check_in_left_sort_type_linear_layout.setVisibility(View.VISIBLE);
                        mAdapter = new CheckInRightCellAdapter(getActivity(), Constant.INTERVIEWEE_CELL);
                        mAdapter.set_fragment_check_in_left_sort_radio_group_type(CheckInRightCellAdapter.TYPE_NAME);
                        CheckInMng.getInstance().findIntervieweeList("1", fragment_check_in_left_search_edit_text.getText().toString(), true);
                        break;
                }
                reloadCheckInLeftList();
            }
        });
        fragment_check_in_left_sort_radio_group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int i) {
                switch (radioGroup.getCheckedRadioButtonId()){
                    case R.id.fragment_check_in_left_sort_by_name_radio_button:
                        mAdapter.set_fragment_check_in_left_sort_radio_group_type(CheckInRightCellAdapter.TYPE_NAME);
                        sort(mList, false);
                        refresh_fragment_check_in_left_list_view();
                        break;
                    case R.id.fragment_check_in_left_sort_by_dept_radio_button:
                        mAdapter.set_fragment_check_in_left_sort_radio_group_type(CheckInRightCellAdapter.TYPE_DEPARTMENT);
                        sort(mList, true);
                        refresh_fragment_check_in_left_list_view();
                        break;
                }
                reloadCheckInLeftList();
            }
        });
        fragment_check_in_left_search_edit_text.addTextChangedListener(new TextWatcher() {
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
            public void afterTextChanged(Editable editable) { loadList(); }
            public void afterTextChanged(Editable editable) { reloadCheckInLeftList(); }
        });
    }
    public void loadList() {
        if (fragment_check_in_left_visitor_radio.isChecked()) {
            manager.findVisitorList(1+"", fragment_check_in_left_search_edit_text.getText().toString(), true);
        } else {
            manager.findIntervieweeList(1+"", fragment_check_in_left_search_edit_text.getText().toString(), true);
        }
    }
    public void listChanged(List list, boolean isClear) {
        if (isClear) {
            mList.clear();
        }
        if (fragment_check_in_left_sort_by_dept_radio_button.isChecked()) {
            sort(list, false);
        } else {
            sort(list, true);
        }
        mList.addAll(list);
        refresh_fragment_check_in_left_list_view();
    }
    private void refresh_fragment_check_in_left_list_view() {
        mAdapter.setList(mList);
        fragment_check_in_left_list_view.setAdapter(mAdapter);
    }
    private void sort(List<CheckInQueryItem> list, final boolean sortedByDept) {
        Collections.sort(list, new Comparator<CheckInQueryItem>() {
            @Override
            public int compare(CheckInQueryItem t1, CheckInQueryItem t2) {
                if (sortedByDept) {
                    String dept1Name = t1.getDeptName()==null?"":t1.getDeptName();
                    String dept2Name = t2.getDeptName()==null?"":t2.getDeptName();
                    if(!dept1Name.equals(dept2Name)) {
                        return dept1Name.compareTo(dept2Name);
                    }
                }
                String name1 = t1.getName()==null?"":t1.getName();
                String name2 = t2.getName()==null?"":t2.getName();
                return name1.compareTo(name2);
            }
        });
    private void reloadCheckInLeftList() {
        manager.findCheckInLeftList(fragment_check_in_left_visitor_radio.isChecked(),
                fragment_check_in_left_sort_by_dept_radio_button.isChecked(),
                fragment_check_in_left_search_edit_text.getText().toString());
    }
    @Override
    protected void initData() { loadList(); }
    protected void initData() { manager.findCheckInLeftList(true, false, fragment_check_in_left_search_edit_text.getText().toString()); }
    @OnClick(R.id.fragment_check_in_left_back)
    public void back(View view) {
@@ -207,14 +150,10 @@
    }
    @OnClick(R.id.fragment_check_in_right_print)
    public void print(View view) {
    }
    public void print(View view) { }
    @OnClick(R.id.fragment_check_in_right_add)
    public void add(View view) {
    }
    public void add(View view) { }
    @OnClick(R.id.fragment_check_in_right_save)
    public void save(View view) {
@@ -254,4 +193,7 @@
        this.visitPurposeList = visitPurposeList;
    }
    public CheckInLeftListView get_fragment_check_in_left_list_view() {
        return fragment_check_in_left_list_view;
    }
}