From 8a2304211316d1ea4dde90fb33591d3b95624e6d Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 29 三月 2017 12:56:36 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/VisitorRegisterFragment.java |  195 ++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 177 insertions(+), 18 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 81fc47d..e69bead 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,47 @@
 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.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;
@@ -37,13 +57,33 @@
     private VisitorView mVisitorTo,mVisitorFrom;
     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 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 intevieweePhoto;
 
     public static VisitorRegisterFragment getInstance() {
         return instance;
@@ -61,17 +101,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;
                 }
             }
@@ -83,35 +131,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
@@ -139,19 +217,69 @@
         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("dasfasdfasdf");
-        mVisitorTo.setTitle("dasfasdfasdf");
+        mVisitorFrom.setTitle("");
+        mVisitorTo.setTitle("");
+
+        intevieweePhoto = (ImageView)mVisitorTo.findViewById(R.id.visitor_view_to_photo);
+
         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) {
@@ -162,8 +290,14 @@
         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) {
@@ -171,7 +305,32 @@
         companyNameTv.setText(item.getCompanyName());
         identity.setText(item.getIdentify());
         fromPhone.setText(item.getPhone());
+        visitorPhoto.setImageURI(Uri.parse(AppApi.CHENXINGGROUND_IMAGEURL_BASE + item.getImagePath()));
+        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(), "姝e湪鍛煎彨鎵嬫満"+item.getMobilePhone(), Toast.LENGTH_SHORT).show();
+            }
+        });
+        mTelTv.setOnClickListener(new View.OnClickListener(){
+            @Override
+            public void onClick(View view) {
+                Toast.makeText(MainActivity.getInstance(), "姝e湪鍛煎彨搴ф満"+item.getPhone(), Toast.LENGTH_SHORT).show();
+            }
+        });
+        intevieweePhoto.setImageURI(Uri.parse(AppApi.CHENXINGGROUND_IMAGEURL_BASE + item.getImagePath()));
+        selectedInterviewee = item;
+    }
+
+    public void setVisitPurposeList(List<String> visitPurposeList) {
+        this.visitPurposeList = visitPurposeList;
     }
 
 }

--
Gitblit v1.8.0