From d17be73f53c21c5ceae03fe8494c195f0bbf4abf Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 29 三月 2017 14:10:19 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/VisitorRegisterFragment.java |  271 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 196 insertions(+), 75 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/VisitorRegisterFragment.java b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/VisitorRegisterFragment.java
index 0fa35c5..a8d5a9d 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/VisitorRegisterFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/VisitorRegisterFragment.java
@@ -1,12 +1,17 @@
 package com.bsk.zhangbo.demoforbsk.ui.fragment;
 
+import android.net.Uri;
 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;
@@ -15,20 +20,28 @@
 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.AppApi;
 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;
 
 /**
@@ -39,23 +52,36 @@
     private View mViewLeft,mViewRight;
     private RadioGroup mRGTop,mRGClass;
     private LinearLayout mLlRadioGroupClass;
-    private VisitorView mVisitorTo,mVisitorFrom;
+    private VisitorView right, left;
     private VisitorRecyclerViewAdapter mAdapter;
     private EasyRecyclerView mRecyclerView;
-    private List mList;
+    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 TextView leftCompanyName;
+    private TextView leftIdentityNumber;
+    private ImageView leftPhoto;
+    private TextView leftMobilePhone;
+    private TextView rightDepartment;
+    private TextView rightPost;
+    private TextView rightMobilePhone;
+    private TextView rightTel;
+    //private TextView visitorReasonTv;
     private List<String> visitPurposeList = new ArrayList<String>();
-    private List<String> mVisitPurposeList = 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;
+    private ImageView rightPhoto;
 
     public static VisitorRegisterFragment getInstance() {
         return instance;
@@ -73,17 +99,25 @@
             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;
                 }
             }
@@ -95,35 +129,65 @@
                     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() {
-        mList = new ArrayList();
-        for (int i=0;i<25;i++){
-            //mList.add("");
-            VisitorQueryItem item = new VisitorQueryItem();
-            item.setName("鏉庡洓"+i);
-            item.setCompanyName("璐濇�濈"+i);
-            item.setIdentify("1001"+i);
-            item.setImagePath("test.png");
-            item.setPhone("136913486"+i);
-            mList.add(item);
-        }
-        mAdapter.setList(mList);
-        mRecyclerView.setAdapter(mAdapter);
+        loadList();
     }
 
     @Override
@@ -144,41 +208,24 @@
     @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);
+        left = (VisitorView) mViewRight.findViewById(R.id.visitor_view_left);
+        left.setType(Constant.VISITOR_FROM);
+        left.setTitle("");
+        leftCompanyName = (TextView) left.findViewById(R.id.visitor_view_left_company_name);
+        leftIdentityNumber = (TextView) left.findViewById(R.id.visitor_view_left_identity_number);
+        leftMobilePhone = (TextView) left.findViewById(R.id.visitor_view_left_phone);
+        leftPhoto = (ImageView) left.findViewById(R.id.visitor_view_left_photo);
 
-        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);
+        right = (VisitorView) mViewRight.findViewById(R.id.visitor_view_right);
+        right.setType(Constant.VISITOR_TO);
+        right.setTitle("");
+        rightDepartment = (TextView) right.findViewById(R.id.view_visitor_right_deptartment);
+        rightPost = (TextView) right.findViewById(R.id.view_visitor_right_post);
+        rightMobilePhone = (TextView) right.findViewById(R.id.visitor_right_phone);
+        rightTel = (TextView) right.findViewById(R.id.visitor_right_tel);
+        rightPhoto = (ImageView) right.findViewById(R.id.visitor_view_right_photo);
 
-
-        mVisitorTo = (VisitorView) mViewRight.findViewById(R.id.visitor_to);
-        visitorReasonTv = (TextView) mViewRight.findViewById(R.id.visitor_reason_tv);
-        visitorReasonTv.setOnClickListener(new View.OnClickListener(){
-            @Override
-            public void onClick(View view) {
-                VisitPurposePopup popup1 = new VisitPurposePopup(getActivity(),mVisitPurposeList,"璇烽�夋嫨鎷滆浜嬬敱");
-                popup1.showAtLocation(getView(), Gravity.CENTER,0,0);
-                popup1.addOkButtonClickedListener(new OkButtonClickedListener() {
-                    @Override
-                    public void onItemSelected(int position, Object o, String item) {
-                        //isitorvTypeTv.setText(item);
-                    }
-                });
-            }
-        });
-
-        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("dasfasdfasdf");
-        mVisitorTo.setTitle("dasfasdfasdf");
-        ViewUtils.inject(this, mVisitorTo);
+        ViewUtils.inject(this, mViewRight);
         return mViewRight;
     }
 
@@ -187,42 +234,116 @@
         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());
+        left.setTitle(item.getName());
+    }
+
+    public void visitorCheckIn(VisitorQueryItem item) {
+        left.setTitle(item.getName());
+        leftMobilePhone.setText(item.getMobilePhone());
+        leftCompanyName.setText(item.getCompanyName());
+        leftIdentityNumber.setText(item.getIdentify());
+        leftPhoto.setImageURI(Uri.parse(AppApi.CHENXINGGROUND_IMAGEURL_BASE + item.getImagePath()));
+        /*
+                left = (VisitorView) mViewRight.findViewById(R.id.visitor_view_left);
+        left.setType(Constant.VISITOR_FROM);
+        left.setTitle("");
+        leftCompanyName = (TextView) left.findViewById(R.id.visitor_view_left_company_name);
+        leftIdentityNumber = (TextView) left.findViewById(R.id.visitor_view_left_identity_number);
+        leftPhone = (TextView) left.findViewById(R.id.visitor_view_left_phone);
+        leftPhoto = (ImageView) left.findViewById(R.id.visitor_view_left_photo);
+
+        right = (VisitorView) mViewRight.findViewById(R.id.visitor_view_right);
+        right.setType(Constant.VISITOR_TO);
+        right.setTitle("");
+        rightDepartment = (TextView) right.findViewById(R.id.view_visitor_right_deptartment);
+        rightPost = (TextView) right.findViewById(R.id.view_visitor_right_post);
+        rightMobilePhone = (TextView) right.findViewById(R.id.visitor_right_phone);
+        rightTel = (TextView) right.findViewById(R.id.visitor_right_tel);
+        rightPhoto = (ImageView) right.findViewById(R.id.visitor_view_right_photo);
+         */
+
     }
 
     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.notifyDataSetChanged();
+        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());
+        left.setTitle(item.getName());
+        leftCompanyName.setText(item.getCompanyName());
+        leftIdentityNumber.setText(item.getIdentify());
+        leftMobilePhone.setText(item.getPhone());
+        leftPhoto.setImageURI(Uri.parse(AppApi.CHENXINGGROUND_IMAGEURL_BASE + item.getImagePath()));
+        selectedVisitor = item;
     }
 
-    public void setIntervieweeInfo(VisitorQueryItem item) {
-        mVisitorTo.setTitle(item.getName());
-        mDepartmentTv.setText("閮ㄩ棬");
-        mDutyTv.setText("璐㈠姟");
-        mPhoneTv.setOnClickListener(new View.OnClickListener(){
+    public void setIntervieweeInfo(final VisitorQueryItem item) {
+        right.setTitle(item.getName());
+        rightDepartment.setText(item.getDeptName());
+        rightPost.setText(item.getPostName());
+        rightMobilePhone.setOnClickListener(new View.OnClickListener(){
             @Override
             public void onClick(View view) {
-                Toast.makeText(MainActivity.getInstance(), "姝e湪鍛煎彨鎵嬫満", Toast.LENGTH_SHORT).show();
+                Toast.makeText(MainActivity.getInstance(), "姝e湪鍛煎彨鎵嬫満"+item.getMobilePhone(), Toast.LENGTH_SHORT).show();
             }
         });
-        mTelTv.setOnClickListener(new View.OnClickListener(){
+        rightTel.setOnClickListener(new View.OnClickListener(){
             @Override
             public void onClick(View view) {
-                Toast.makeText(MainActivity.getInstance(), "姝e湪鍛煎彨搴ф満", Toast.LENGTH_SHORT).show();
+                Toast.makeText(MainActivity.getInstance(), "姝e湪鍛煎彨搴ф満"+item.getPhone(), Toast.LENGTH_SHORT).show();
             }
         });
-
+        rightPhoto.setImageURI(Uri.parse(AppApi.CHENXINGGROUND_IMAGEURL_BASE + item.getImagePath()));
+        selectedInterviewee = item;
     }
 
     public void setVisitPurposeList(List<String> visitPurposeList) {

--
Gitblit v1.8.0