package cn.com.basic.face.fragment;
|
|
import android.os.Bundle;
|
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.LinearLayout;
|
import android.widget.RadioButton;
|
import android.widget.RadioGroup;
|
import android.widget.TextView;
|
|
import com.bsk.zhangbo.demoforbsk.R;
|
|
import cn.com.basic.face.adapter.CheckInRightCellAdapter;
|
import cn.com.basic.face.base.MainUIBaseFragment;
|
import cn.com.basic.face.listeners.OkButtonClickedListener;
|
import cn.com.basic.face.service.DictionaryMng;
|
import cn.com.basic.face.service.CheckInMng;
|
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.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;
|
|
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;
|
import cn.com.basic.face.discern.entity.Visit;
|
import cn.com.basic.face.discern.query.item.CheckInQueryItem;
|
|
public class CheckInFragment extends MainUIBaseFragment {
|
|
private static CheckInFragment instance = new CheckInFragment();
|
public static CheckInFragment getInstance() {
|
return instance;
|
}
|
|
private View fragment_check_in_left;
|
private View fragment_check_in_right;
|
|
private CheckInRightCellAdapter mAdapter;
|
private List mList = new ArrayList();;
|
|
@ViewInject(R.id.fragment_check_in_left_radio_group)
|
private RadioGroup fragment_check_in_left_radio_group;
|
@ViewInject(R.id.fragment_check_in_left_sort_radio_group)
|
private RadioGroup fragment_check_in_left_sort_radio_group;
|
@ViewInject(R.id.fragment_check_in_left_sort_type_linear_layout)
|
private LinearLayout fragment_check_in_left_sort_type_linear_layout;
|
@ViewInject(R.id.fragment_check_in_right_interviewee_cell)
|
private CheckInIntervieweeCell fragment_check_in_right_interviewee_cell;
|
@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;
|
@ViewInject(R.id.fragment_check_in_right_remark)
|
private EditText fragment_check_in_right_remark;
|
@ViewInject(R.id.fragment_check_in_right_visitor_reason)
|
private TextView fragment_check_in_right_visitor_reason;
|
@ViewInject(R.id.fragment_check_in_left_search_edit_text)
|
private EditText fragment_check_in_left_search_edit_text;
|
@ViewInject(R.id.fragment_check_in_left_visitor_radio)
|
private RadioButton fragment_check_in_left_visitor_radio;
|
@ViewInject(R.id.fragment_check_in_left_sort_by_dept_radio_button)
|
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;
|
|
private CheckInMng manager = CheckInMng.getInstance();
|
|
public CheckInRightVisitorCell getFragment_check_in_right_visitor_cell() {
|
return this.fragment_check_in_right_visitor_cell;
|
}
|
|
public CheckInIntervieweeCell getFragment_check_in_right_interviewee_cell() {
|
return this.fragment_check_in_right_interviewee_cell;
|
}
|
|
private List<String> visitPurposeList = new ArrayList<String>();
|
|
@Override
|
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);
|
return fragment_check_in_left;
|
}
|
|
@Override
|
public View addRightLayout() {
|
fragment_check_in_right = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_check_in_right,null);
|
ViewUtils.inject(this, fragment_check_in_right);
|
return fragment_check_in_right;
|
}
|
|
@Override
|
protected void initViews(View view, Bundle savedInstanceState) {
|
super.initViews(view, savedInstanceState);
|
}
|
|
@Override
|
protected void initListeners() {
|
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;
|
}
|
}
|
});
|
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;
|
}
|
}
|
});
|
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 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);
|
}
|
});
|
}
|
|
@Override
|
protected void initData() { loadList(); }
|
|
@OnClick(R.id.fragment_check_in_left_back)
|
public void back(View view) {
|
MainActivity.selectPage(0);
|
}
|
|
@OnClick(R.id.fragment_check_in_right_print)
|
public void print(View view) {
|
|
}
|
|
@OnClick(R.id.fragment_check_in_right_add)
|
public void add(View view) {
|
|
}
|
|
@OnClick(R.id.fragment_check_in_right_save)
|
public void save(View view) {
|
CheckInQueryItem visitor = fragment_check_in_right_visitor_cell.getVisitor();
|
CheckInQueryItem interviewee = fragment_check_in_right_interviewee_cell.getInterviewee();
|
if (visitor == null || interviewee == null) {
|
return;
|
}
|
RequestParams params = new RequestParams();
|
params.addBodyParameter(Visit.FieldNames.matterId, DictionaryMng.getInstance().getId(CommonVariables.DictionaryType.VISIT_PURPOSE+ fragment_check_in_right_visitor_reason.getText().toString()));
|
params.addBodyParameter(Visit.FieldNames.remark, fragment_check_in_right_remark.getText().toString());
|
params.addBodyParameter(Visit.FieldNames.visitorPersonId, visitor.getId());
|
params.addBodyParameter(Visit.FieldNames.visiteePersonId, interviewee.getId());
|
params.addBodyParameter(Visit.FieldNames.visitorCompanyId, visitor.getCompanyId());
|
params.addBodyParameter(Visit.FieldNames.visiteeCompanyId, interviewee.getCompanyId());
|
|
CheckInMng.getInstance().add(params);
|
}
|
|
@OnClick(R.id.fragment_check_in_right_visitor_reason)
|
public void visitorReason(View view) {
|
VisitPurposeDialog popup1 = new VisitPurposeDialog(getActivity(),visitPurposeList,"请选择拜访事由");
|
popup1.showAtLocation(getView(), Gravity.CENTER,0,0);
|
popup1.addOkButtonClickedListener(new OkButtonClickedListener() {
|
@Override
|
public void onItemSelected(int position, Object o, String item) {
|
fragment_check_in_right_visitor_reason.setText(item);
|
}
|
});
|
}
|
|
public void checkInFromHomePage(CheckInQueryItem item) {
|
fragment_check_in_left_interviewee_radio.performClick();
|
}
|
|
public void setVisitPurposeList(List<String> visitPurposeList) {
|
this.visitPurposeList = visitPurposeList;
|
}
|
|
}
|