From 3b28c64bb5585608a9aaba989c99a96a0dd1c782 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 05 四月 2017 12:43:37 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java |  255 +++++++++++++++-----------------------------------
 1 files changed, 79 insertions(+), 176 deletions(-)

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 303f6a3..faca664 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
@@ -1,10 +1,7 @@
 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;
@@ -14,34 +11,30 @@
 
 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.base.LeftRightBaseFragment;
+import cn.com.basic.face.dialog.SelectDialog;
+import cn.com.basic.face.util.Constant;
+import cn.com.basic.face.util.OkClickedListener;
 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 cn.com.basic.face.widget.checkin.CheckInIntervieweeCell;
+import cn.com.basic.face.widget.checkin.CheckInLeftListView;
+import cn.com.basic.face.widget.checkin.CheckInRightVisitorCell;
+
 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.CheckInQueryItem;
 
-public class CheckInFragment extends MainUIBaseFragment {
+public class CheckInFragment extends LeftRightBaseFragment {
 
     private static CheckInFragment instance = new CheckInFragment();
     public static CheckInFragment getInstance() {
@@ -51,13 +44,6 @@
     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)
@@ -65,211 +51,128 @@
     @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 visitorRemarkEt;
+    private EditText fragment_check_in_right_remark;
     @ViewInject(R.id.fragment_check_in_right_visitor_reason)
-    private TextView visitorReasonTv;
+    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 visitorRegisterRbLeft;
+    private RadioButton fragment_check_in_left_visitor_radio;
     @ViewInject(R.id.fragment_check_in_left_sort_by_dept_radio_button)
-    private RadioButton visitorRegisterCheckDepartment;
+    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();
+
     private List<String> visitPurposeList = new ArrayList<String>();
 
-    private CheckInQueryItem selectedVisitor;
-    private CheckInQueryItem selectedInterviewee;
-
     @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);
+    public int[] getLeftRightLayoutIds() {
+        return new int[]{R.layout.fragment_check_in_left, R.layout.fragment_check_in_right};
     }
 
     @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);
-                        //mList.clear();
-                        mAdapter.setList(mList);
-                        fragment_check_in_left_list_view.setAdapter(mAdapter);
-                        int pageNum = 1;
-                        CheckInMng.getInstance().findVisitorList(pageNum+"", 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.setVisitorToColor(CheckInRightCellAdapter.TYPE_NAME);
-                        //mList.clear();
-                        mAdapter.setList(mList);
-                        fragment_check_in_left_list_view.setAdapter(mAdapter);
-                        int pageNum1 = 1;
-                        CheckInMng.getInstance().findIntervieweeList(pageNum1+"", 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.setVisitorToTextColor(CheckInRightCellAdapter.TYPE_NAME);
-                        mAdapter.setVisitorToColor(CheckInRightCellAdapter.TYPE_NAME);
-                        sort(mList, false);
-                        mAdapter.setList(mList);
-                        fragment_check_in_left_list_view.setAdapter(mAdapter);
-                        break;
-                    case R.id.fragment_check_in_left_sort_by_dept_radio_button:
-//                        mAdapter.setVisitorToTextColor(CheckInRightCellAdapter.TYPE_DEPARTMENT);
-                        mAdapter.setVisitorToColor(CheckInRightCellAdapter.TYPE_DEPARTMENT);
-                        sort(mList, true);
-                        mAdapter.setList(mList);
-                        fragment_check_in_left_list_view.setAdapter(mAdapter);
+        super.initListeners();
 
-                        break;
-                }
-            }
-        });
+        ((RadioGroup)getLeftView().findViewById(R.id.fragment_check_in_left_radio_group))
+                .setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
+                    @Override
+                    public void onCheckedChanged(RadioGroup radioGroup, int i) {
+                        reloadCheckInLeftList();
+                    }
+                });
+
+        ((RadioGroup)getLeftView().findViewById(R.id.fragment_check_in_left_sort_radio_group))
+                .setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
+                    @Override
+                    public void onCheckedChanged(RadioGroup radioGroup, int i) {
+                        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 (visitorRegisterRbLeft.isChecked()) {
-            CheckInMng.getInstance().findVisitorList(1+"", fragment_check_in_left_search_edit_text.getText().toString(), true);
-        } else {
-            CheckInMng.getInstance().findIntervieweeList(1+"", fragment_check_in_left_search_edit_text.getText().toString(), true);
+    private void reloadCheckInLeftList() {
+        fragment_check_in_left_sort_type_linear_layout.setVisibility(!fragment_check_in_left_visitor_radio.isChecked()?View.VISIBLE:View.GONE);
+        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
+    public void setMenuVisibility(boolean menuVisible) {
+        super.setMenuVisibility(menuVisible);
+        if (menuVisible) {
+            reloadCheckInLeftList();
         }
     }
 
-    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) {
+    public void fragment_check_in_left_back_click(View view) {
         MainActivity.selectPage(0);
     }
 
     @OnClick(R.id.fragment_check_in_right_print)
-    public void print(View view) {
-
-    }
+    public void fragment_check_in_right_print_click(View view) { }
 
     @OnClick(R.id.fragment_check_in_right_add)
-    public void add(View view) {
-
-    }
+    public void fragment_check_in_right_add_click(View view) { }
 
     @OnClick(R.id.fragment_check_in_right_save)
-    public void save(View view) {
-        if (selectedVisitor == null || selectedInterviewee == null) {
+    public void fragment_check_in_right_save_click(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+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());
+        params.addBodyParameter(Visit.FieldNames.matterId, DictionaryMng.getInstance().getId(CommonVariables.DictionaryType.VISIT_REASON + 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) {
-                visitorReasonTv.setText(item);
+    public void fragment_check_in_right_visitor_reason_click(View view) {
+        new SelectDialog(getView(), Constant.DialogSelectType.VISIT_REASON, new OkClickedListener() {
+            public void onSelected(String value) {
+                fragment_check_in_right_visitor_reason.setText(value);
             }
         });
     }
 
-    public void visitorCheckIn(FacePhotoItem item) {
-//        fragment_check_in_right_visitor_cell.setTitle(item.getName());
-    }
-
-    public void visitorCheckIn(CheckInQueryItem item) {
+    public void checkInFromHomePage(CheckInQueryItem item) {
         fragment_check_in_left_interviewee_radio.performClick();
-        fragment_check_in_right_visitor_cell.setVisitorInfo(item);
-        selectedVisitor = item;
-    }
-
-    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);
-        fragment_check_in_left_list_view.setAdapter(mAdapter);
-    }
-
-    public void setVisitorInfo(CheckInQueryItem item) {
-        fragment_check_in_right_visitor_cell.setVisitorInfo(item);
-        selectedVisitor = item;
-    }
-
-    public void setIntervieweeInfo(final CheckInQueryItem item) {
-        fragment_check_in_right_interviewee_cell.setIntervieweeInfo(item);
-        selectedInterviewee = item;
     }
 
     public void setVisitPurposeList(List<String> visitPurposeList) {
         this.visitPurposeList = visitPurposeList;
     }
 
+    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;
+    }
+
+    public CheckInLeftListView get_fragment_check_in_left_list_view() {
+        return fragment_check_in_left_list_view;
+    }
+
 }

--
Gitblit v1.8.0