From 8081d0d398ce1b2987f810e7e89e7c6fe473b4bc Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期四, 30 三月 2017 14:31:26 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java | 8 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/IntervieweeQueryMng.java | 2 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/HomeFragment.java | 7 - VisitFace/DemoForBsk/app/src/main/res/layout/fragment_check_in_left.xml | 4 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/CheckInLeftListView.java | 71 ++++++++++++++ VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/CheckInRightCellAdapter.java | 24 ++++ VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java | 2 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java | 98 ++++--------------- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java | 44 ++++++++ 9 files changed, 161 insertions(+), 99 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/CheckInRightCellAdapter.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/CheckInRightCellAdapter.java index b58dd74..fe299d8 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/CheckInRightCellAdapter.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/CheckInRightCellAdapter.java @@ -38,6 +38,10 @@ this.type = type; } + public CheckInRightCellAdapter(Context mContext) { + this.mContext = mContext; + } + @Override public int[] getItemLayouts() { return new int[]{R.layout.fragment_check_in_left_visitor_row, R.layout.fragment_check_in_left_interviewee_row}; @@ -46,10 +50,10 @@ @Override public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) { switch (type) { - case Constant.VISITOR_CELL: + case Constant.VISITOR_ROW: visitorCellHolder(viewHolder, position); break; - case Constant.INTERVIEWEE_CELL: + case Constant.INTERVIEWEE_ROW: intervieweeCellHolder(viewHolder, position); break; } @@ -58,9 +62,9 @@ @Override public int getRecycleViewItemType(int position) { switch (type) { - case Constant.VISITOR_CELL: + case Constant.VISITOR_ROW: return 0; - case Constant.INTERVIEWEE_CELL: + case Constant.INTERVIEWEE_ROW: return 1; default: return 1; @@ -147,4 +151,16 @@ this.mTypeColor = type; } + public void setVisitorRow() { + this.type = Constant.VISITOR_ROW; + } + + public void setIntervieweeRow() { + this.type = Constant.INTERVIEWEE_ROW; + } + + public void setRowType(int type) { + this.type = type; + } + } diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java index 091a3c7..50c90df 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java @@ -22,6 +22,7 @@ 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; @@ -64,7 +65,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 +78,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 +97,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 CheckInRightCellAdapter(getActivity(),Constant.VISITOR_ROW); return fragment_check_in_left; } @@ -115,91 +118,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 +152,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 +195,7 @@ this.visitPurposeList = visitPurposeList; } + public CheckInLeftListView get_fragment_check_in_left_list_view() { + return fragment_check_in_left_list_view; + } } diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/HomeFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/HomeFragment.java index e80c114..dda9533 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/HomeFragment.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/HomeFragment.java @@ -226,13 +226,6 @@ mRecyclerViewRegister.setAdapter(mAdapter); } - public void visitorListChanged(List<CheckInQueryItem> list) { - mList.clear(); - mList.addAll(list); - mAdapter.setList(mList); - mRecyclerViewRegister.setAdapter(mAdapter); - } - private class SpaceItemDecoration extends RecyclerView.ItemDecoration { @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java index 1d31341..99d9c6d 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java @@ -48,11 +48,11 @@ mRecyclerView = (EasyRecyclerView) mViewLeft.findViewById(R.id.fragment_check_in_left_list_view); LinearLayoutManager manager = new LinearLayoutManager(getActivity(),LinearLayoutManager.VERTICAL,false); mRecyclerView.setLayoutManager(manager); - mAdapter = new CheckInRightCellAdapter(getActivity(),Constant.VISITOR_CELL); + mAdapter = new CheckInRightCellAdapter(getActivity(),Constant.VISITOR_ROW); ViewUtils.inject(this, mViewLeft); mLlRadioGroupClass.setVisibility(View.VISIBLE); - mAdapter = new CheckInRightCellAdapter(getActivity(), Constant.INTERVIEWEE_CELL); + mAdapter = new CheckInRightCellAdapter(getActivity(), Constant.INTERVIEWEE_ROW); mAdapter.set_fragment_check_in_left_sort_radio_group_type(CheckInRightCellAdapter.TYPE_NAME); mAdapter.setList(mList); mRecyclerView.setAdapter(mAdapter); @@ -76,13 +76,13 @@ switch (radioGroup.getCheckedRadioButtonId()){ case R.id.fragment_check_in_left_visitor_radio: mLlRadioGroupClass.setVisibility(View.GONE); - mAdapter = new CheckInRightCellAdapter(getActivity(), Constant.VISITOR_CELL); + mAdapter = new CheckInRightCellAdapter(getActivity(), Constant.VISITOR_ROW); mAdapter.setList(mList); mRecyclerView.setAdapter(mAdapter); break; case R.id.fragment_check_in_left_interviewee_radio: mLlRadioGroupClass.setVisibility(View.VISIBLE); - mAdapter = new CheckInRightCellAdapter(getActivity(), Constant.INTERVIEWEE_CELL); + mAdapter = new CheckInRightCellAdapter(getActivity(), Constant.INTERVIEWEE_ROW); mAdapter.set_fragment_check_in_left_sort_radio_group_type(CheckInRightCellAdapter.TYPE_NAME); mAdapter.setList(mList); mRecyclerView.setAdapter(mAdapter); diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java index 9f455ca..c26de98 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java @@ -10,6 +10,10 @@ import org.xutils.http.RequestParams; import org.xutils.x; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + import cn.com.basic.face.discern.common.BaseCommonCallBack; import cn.com.basic.face.discern.query.condition.VisitorQueryCondition; import cn.com.basic.face.discern.query.item.CheckInQueryItem; @@ -36,7 +40,7 @@ params.addBodyParameter(VisitorQueryCondition.FieldNames.name, name); x.http().post(params, new BaseCommonCallBack() { public void success() { - CheckInFragment.getInstance().listChanged(getList(CheckInQueryItem.class), isClear); + //CheckInFragment.getInstance().listChanged(getList(CheckInQueryItem.class), isClear); } }); } @@ -50,7 +54,7 @@ params.addBodyParameter(VisitorQueryCondition.FieldNames.notCompanyId, BaseApplication.getInstance().getPlace().getCompanyId()); x.http().post(params, new BaseCommonCallBack() { public void success() { - HomeFragment.getInstance().visitorListChanged(getList(CheckInQueryItem.class)); + //HomeFragment.getInstance().visitorListChanged(getList(CheckInQueryItem.class)); } }); } @@ -64,7 +68,7 @@ params.addBodyParameter(VisitorQueryCondition.FieldNames.name, name); x.http().post(params, new BaseCommonCallBack() { public void success() { - CheckInFragment.getInstance().listChanged(getList(CheckInQueryItem.class), isClear); + //CheckInFragment.getInstance().listChanged(getList(CheckInQueryItem.class), isClear); } }); } @@ -85,6 +89,40 @@ } + public void findCheckInLeftList(final boolean isVisitorList, final boolean isSortByDept, String searchText) { + RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.CheckInQuery); + if (isVisitorList) { + params.addBodyParameter(VisitorQueryCondition.FieldNames.notCompanyId, BaseApplication.getInstance().getPlace().getCompanyId()); + } else { + params.addBodyParameter(VisitorQueryCondition.FieldNames.companyId, BaseApplication.getInstance().getPlace().getCompanyId()); + } + params.addBodyParameter(VisitorQueryCondition.FieldNames.name, searchText); + x.http().post(params, new BaseCommonCallBack() { + public void success() { + List<CheckInQueryItem> list = getList(CheckInQueryItem.class); + sort(list, isSortByDept); + CheckInFragment.getInstance().get_fragment_check_in_left_list_view().show(list, isVisitorList); + } + }); + } + + 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); + } + }); + } /** * 鏌ヨ鎷滆浜嬬敱鍒楄〃 diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/IntervieweeQueryMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/IntervieweeQueryMng.java index 0587281..1eac958 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/IntervieweeQueryMng.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/IntervieweeQueryMng.java @@ -28,7 +28,7 @@ params.addBodyParameter(IntervieweeQueryCondition.FieldNames.name, name); x.http().post(params, new BaseCommonCallBack() { public void success() { - CheckInFragment.getInstance().listChanged(getList(IntervieweeQueryItem.class), isClear); + //CheckInFragment.getInstance().listChanged(getList(IntervieweeQueryItem.class), isClear); } }); diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java index 3da9ebc..324a013 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java @@ -5,5 +5,5 @@ */ public class Constant { - public static final int INTERVIEWEE_CELL = 1, VISITOR_CELL = 2; + public static final int INTERVIEWEE_ROW = 1, VISITOR_ROW = 2; } diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/CheckInLeftListView.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/CheckInLeftListView.java new file mode 100644 index 0000000..95e70c1 --- /dev/null +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/CheckInLeftListView.java @@ -0,0 +1,71 @@ +package cn.com.basic.face.widget; + +import android.content.Context; +import android.util.AttributeSet; + +import com.camnter.easyrecyclerview.widget.EasyRecyclerView; + +import java.util.ArrayList; +import java.util.List; + +import cn.com.basic.face.adapter.CheckInRightCellAdapter; +import cn.com.basic.face.fragment.CheckInFragment; +import cn.com.basic.face.service.CheckInMng; +import cn.com.basic.face.util.Constant; + +public class CheckInLeftListView extends EasyRecyclerView { + + CheckInRightCellAdapter mAdapter; + private List list = new ArrayList(); + + public void setAdapter(Context context) { + mAdapter = new CheckInRightCellAdapter(context); + mAdapter.setList(list); + setAdapter(mAdapter); + } + + public CheckInLeftListView(Context context) { + super(context); + setAdapter(context); + } + + public CheckInLeftListView(Context context, AttributeSet attrs) { + super(context, attrs); + setAdapter(context); + } + + public CheckInLeftListView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + setAdapter(context); + } + + public void loadVisitorList(String name) { + CheckInMng.getInstance().findVisitorList("1", name, true); + mAdapter.setVisitorRow(); + } + + public void loadIntervieweeListSortByName(String name) { + mAdapter.setIntervieweeRow(); + + CheckInMng.getInstance().findIntervieweeList("1", name, true); + } + + public void loadIntervieweeListSortByDept(String name) { + mAdapter.setIntervieweeRow(); + CheckInMng.getInstance().findIntervieweeList("1", name, true); + } + + public void reloadCheckInLeftList(boolean isVisitorList, boolean isSortByName, String searchText) { + List list = new ArrayList(); + CheckInFragment.getInstance().get_fragment_check_in_left_list_view().show(list, isVisitorList); + } + + public void show(List list, boolean isVisitorList) { + this.list.clear(); + mAdapter.setRowType(isVisitorList? Constant.VISITOR_ROW:Constant.INTERVIEWEE_ROW); + this.list.addAll(list); + mAdapter.setList(this.list); + this.setAdapter(mAdapter); + } + +} diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_check_in_left.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_check_in_left.xml index 510cd6f..1381be8 100644 --- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_check_in_left.xml +++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_check_in_left.xml @@ -101,10 +101,10 @@ android:layout_height="wrap_content" /> </RadioGroup> </LinearLayout> - <com.camnter.easyrecyclerview.widget.EasyRecyclerView + <cn.com.basic.face.widget.CheckInLeftListView android:id="@+id/fragment_check_in_left_list_view" android:layout_width="match_parent" - android:layout_height="match_parent"></com.camnter.easyrecyclerview.widget.EasyRecyclerView> + android:layout_height="match_parent"/> </LinearLayout> </LinearLayout> </LinearLayout> \ No newline at end of file -- Gitblit v1.8.0