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 |  242 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 223 insertions(+), 19 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 bda899e..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,27 +1,48 @@
 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;
 
 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.AppApi;
 import com.bsk.zhangbo.demoforbsk.util.Constant;
+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.
@@ -31,12 +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 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 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;
@@ -54,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;
                 }
             }
@@ -76,29 +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("");
-        }
-        mAdapter.setList(mList);
-        mRecyclerView.setAdapter(mAdapter);
+        loadList();
     }
 
     @Override
@@ -119,13 +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);
-        mVisitorTo = (VisitorView) mViewRight.findViewById(R.id.visitor_to);
-        mVisitorFrom.setType(Constant.VISITOR_FROM);
-        mVisitorTo.setType(Constant.VISITOR_TO);
-        mVisitorFrom.setTitle("dasfasdfasdf");
-        mVisitorTo.setTitle("dasfasdfasdf");
-        ViewUtils.inject(this, mVisitorTo);
+        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);
+
+        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);
+
+        ViewUtils.inject(this, mViewRight);
         return mViewRight;
     }
 
@@ -134,16 +234,120 @@
         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) {
+        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(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湪鍛煎彨鎵嬫満"+item.getMobilePhone(), Toast.LENGTH_SHORT).show();
+            }
+        });
+        rightTel.setOnClickListener(new View.OnClickListener(){
+            @Override
+            public void onClick(View view) {
+                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) {
+        this.visitPurposeList = visitPurposeList;
     }
 
 }

--
Gitblit v1.8.0