package com.bsk.zhangbo.demoforbsk.ui.fragment;
|
|
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;
|
|
import com.bsk.zhangbo.demoforbsk.R;
|
import com.bsk.zhangbo.demoforbsk.adapter.VisitorRecyclerViewAdapter;
|
import com.bsk.zhangbo.demoforbsk.base.MainUIBaseFragment;
|
import com.bsk.zhangbo.demoforbsk.listeners.OkButtonClickedListener;
|
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.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;
|
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.FacePhotoItem;
|
import cn.com.basic.face.discern.query.item.IntervieweeQueryItem;
|
import cn.com.basic.face.discern.query.item.VisitorQueryItem;
|
|
/**
|
* Created by Administrator on 2017/2/20 0020.
|
*/
|
|
public class VisitorRegisterFragment extends MainUIBaseFragment {
|
private View mViewLeft,mViewRight;
|
private RadioGroup mRGTop,mRGClass;
|
private LinearLayout mLlRadioGroupClass;
|
private VisitorView mVisitorTo,mVisitorFrom;
|
private VisitorRecyclerViewAdapter mAdapter;
|
private EasyRecyclerView mRecyclerView;
|
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 visitorReasonTv;
|
private List<String> visitPurposeList = new ArrayList<String>();
|
private VisitorQueryItem selectedVisitor;
|
private VisitorQueryItem selectedInterviewee;
|
|
@ViewInject(R.id.visitor_remark_et)
|
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;
|
|
public static VisitorRegisterFragment getInstance() {
|
return instance;
|
}
|
|
@Override
|
protected void initViews(View view, Bundle savedInstanceState) {
|
super.initViews(view, savedInstanceState);
|
}
|
|
@Override
|
protected void initListeners() {
|
mRGTop.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
|
@Override
|
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;
|
}
|
}
|
});
|
mRGClass.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
|
@Override
|
public void onCheckedChanged(RadioGroup radioGroup, int i) {
|
switch (radioGroup.getCheckedRadioButtonId()){
|
case R.id.visitor_register_check_name:
|
// mAdapter.setVisitorToTextColor(VisitorRecyclerViewAdapter.TYPE_NAME);
|
mAdapter.setVisitorToColor(VisitorRecyclerViewAdapter.TYPE_NAME);
|
sort(mList, false);
|
mAdapter.setList(mList);
|
mRecyclerView.setAdapter(mAdapter);
|
break;
|
case R.id.visitor_register_check_department:
|
// mAdapter.setVisitorToTextColor(VisitorRecyclerViewAdapter.TYPE_DEPARTMENT);
|
mAdapter.setVisitorToColor(VisitorRecyclerViewAdapter.TYPE_DEPARTMENT);
|
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) {
|
Collections.sort(list, new Comparator<VisitorQueryItem>() {
|
@Override
|
public int compare(VisitorQueryItem t1, VisitorQueryItem 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();
|
}
|
|
@Override
|
public View addLeftLayout() {
|
mViewLeft = LayoutInflater.from(getActivity()).inflate(R.layout.visitor_register_left,null);
|
mRGTop = (RadioGroup) mViewLeft.findViewById(R.id.visitor_register_radio);
|
mRGClass = (RadioGroup) mViewLeft.findViewById(R.id.visitor_register_check_class);
|
mLlRadioGroupClass = (LinearLayout) mViewLeft.findViewById(R.id.visitor_register_check_class_ll);
|
mRecyclerView = (EasyRecyclerView) mViewLeft.findViewById(R.id.visitor_register_recycler);
|
LinearLayoutManager manager = new LinearLayoutManager(getActivity(),LinearLayoutManager.VERTICAL,false);
|
mRecyclerView.setLayoutManager(manager);
|
mAdapter = new VisitorRecyclerViewAdapter(getActivity(),Constant.VISITOR_FROM);
|
|
ViewUtils.inject(this, mViewLeft);
|
return mViewLeft;
|
}
|
|
@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);
|
|
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);
|
|
ViewUtils.inject(this, mViewRight);
|
|
return mViewRight;
|
}
|
|
@OnClick(R.id.visitor_register_back)
|
public void back(View view) {
|
MainActivity.selectPage(0);
|
}
|
|
@OnClick(R.id.visitor_register_print)
|
public void print(View view) {
|
|
}
|
|
@OnClick(R.id.visitor_register_add)
|
public void add(View view) {
|
|
}
|
|
@OnClick(R.id.visitor_register_save)
|
public void save(View view) {
|
if (selectedVisitor == null || selectedInterviewee == null) {
|
return;
|
}
|
RequestParams params = new RequestParams();
|
params.addBodyParameter(Visit.FieldNames.matterId, DictionaryMng.getInstance().getId(CommonVariables.DictionaryType.VISIT_PURPOSE+visitorReasonTv.getText().toString()));
|
params.addBodyParameter(Visit.FieldNames.remark, visitorRemarkEt.getText().toString());
|
params.addBodyParameter(Visit.FieldNames.visitorPersonId, selectedVisitor.getId());
|
params.addBodyParameter(Visit.FieldNames.visiteePersonId, selectedInterviewee.getId());
|
params.addBodyParameter(Visit.FieldNames.visitorCompanyId, selectedVisitor.getCompanyId());
|
params.addBodyParameter(Visit.FieldNames.visiteeCompanyId, selectedInterviewee.getCompanyId());
|
|
VisitorCheckInMng.getInstance().add(params);
|
}
|
|
@OnClick(R.id.visitor_reason_tv)
|
public void visitorReason(View view) {
|
VisitPurposePopup popup1 = new VisitPurposePopup(getActivity(),visitPurposeList,"请选择拜访事由");
|
popup1.showAtLocation(getView(), Gravity.CENTER,0,0);
|
popup1.addOkButtonClickedListener(new OkButtonClickedListener() {
|
@Override
|
public void onItemSelected(int position, Object o, String item) {
|
visitorReasonTv.setText(item);
|
}
|
});
|
}
|
|
public void visitorCheckIn(FacePhotoItem item) {
|
mVisitorFrom.setTitle(item.getName());
|
}
|
|
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.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());
|
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(){
|
@Override
|
public void onClick(View view) {
|
Toast.makeText(MainActivity.getInstance(), "正在呼叫手机"+item.getMobilePhone(), Toast.LENGTH_SHORT).show();
|
}
|
});
|
mTelTv.setOnClickListener(new View.OnClickListener(){
|
@Override
|
public void onClick(View view) {
|
Toast.makeText(MainActivity.getInstance(), "正在呼叫座机"+item.getPhone(), Toast.LENGTH_SHORT).show();
|
}
|
});
|
selectedInterviewee = item;
|
}
|
|
public void setVisitPurposeList(List<String> visitPurposeList) {
|
this.visitPurposeList = visitPurposeList;
|
}
|
|
}
|