From 326590904f5b7294791226fee5b7bdadfd565cb2 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期四, 04 五月 2017 15:36:19 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java                  |   36 ++++++++++++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java                |   34 ++++++++---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java |   10 +++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SurveillancePhotoDialog.java           |   17 -----
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java             |   44 ++++++++++----
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java           |    5 +
 6 files changed, 108 insertions(+), 38 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java
index 4a1dcf6..5a71fa6 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java
@@ -13,14 +13,15 @@
 import com.camnter.easyrecyclerview.adapter.EasyRecyclerViewAdapter;
 import com.camnter.easyrecyclerview.holder.EasyRecyclerViewHolder;
 
+import java.util.List;
+
 import cn.com.basic.face.base.MainActivity;
+import cn.com.basic.face.discern.common.CommonVariables;
 import cn.com.basic.face.discern.query.item.CheckInQueryItem;
 import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
 import cn.com.basic.face.fragment.*;
 import cn.com.basic.face.util.AppApi;
-import cn.com.basic.face.util.BitmapUtil;
 import cn.com.basic.face.util.Constant;
-import cn.com.basic.face.util.WindowsUtil;
 
 public class SurveillanceFragment {
 
@@ -259,14 +260,18 @@
         public SurveillancePhotoSelectListViewAdapter(Context context) {
             this.context = context;
         }
+        public static int selectPhotoOrUploadPhoto;
 
         @Override
         public int[] getItemLayouts() {
-            return new int[]{R.layout.fragment_surveillance_photo_cell};
+            return new int[]{R.layout.fragment_surveillance_photo_cell, R.layout.fragment_surveillance_bottom_visit_blank_cell};
         }
 
         @Override
         public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) {
+            if (((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn() != Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
+                return;
+            }
             RelativeLayout mLayout = viewHolder.findViewById(R.id.fragment_surveillance_photo_cell_relative_layout);
             ViewGroup.LayoutParams layoutParams = mLayout.getLayoutParams();
             layoutParams.height = (int)MainActivity.getInstance().getResources().getDimension(R.dimen.h127dp);
@@ -278,18 +283,28 @@
 
             Object data = this.getItem(position);
 
-
-            fragment_surveillance_photo_cell_photo.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    fragment_surveillance_photo_cell_select.setVisibility(fragment_surveillance_photo_cell_select.getVisibility() == View.VISIBLE
-                        ? View.INVISIBLE : View.VISIBLE
-                    );
-                }
-            });
-
             if (data instanceof SurveillanceQueryItem) {
                 final SurveillanceQueryItem item = (SurveillanceQueryItem)data;
+                fragment_surveillance_photo_cell_select.setVisibility(item.isSurveillancePhotoSelected()
+                        ? View.VISIBLE : View.INVISIBLE
+                );
+
+                fragment_surveillance_photo_cell_photo.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        if (selectPhotoOrUploadPhoto == CommonVariables.SelectPhotoType.SELECT_PHOTO) {
+                            RegisterFragment.getInstance().set_fragment_register_surveillance_photo(item);
+                        }
+                        if (selectPhotoOrUploadPhoto == CommonVariables.SelectPhotoType.UPLOAD_PHOTO) {
+                            RegisterFragment.getInstance().set_fragment_register_upload_custom_photo(item);
+                        }
+                        for (SurveillanceQueryItem queryItem : (List<SurveillanceQueryItem>)getList()) {
+                            queryItem.setSurveillancePhotoSelected(false);
+                        }
+                        item.setSurveillancePhotoSelected(true);
+                        notifyDataSetChanged();
+                    }
+                });
 
                 if (item.getImagePath() != null && !item.getImagePath().equals("")) {
                     fragment_surveillance_photo_cell_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE +item.getImagePath()));
@@ -305,6 +320,9 @@
 
         @Override
         public int getRecycleViewItemType(int position) {
+            if (((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn() != Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
+                return 1;
+            }
             return 0;
         }
 
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SurveillancePhotoDialog.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SurveillancePhotoDialog.java
index aa3eb52..34b55b1 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SurveillancePhotoDialog.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SurveillancePhotoDialog.java
@@ -28,6 +28,7 @@
 import cn.com.basic.face.discern.query.item.SurveillancePhotoQueryItem;
 import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
 import cn.com.basic.face.fragment.SurveillanceFragment;
+import cn.com.basic.face.service.SurveillanceMng;
 import cn.com.basic.face.util.Constant;
 import cn.com.basic.face.util.OkClickedListener;
 import cn.com.basic.face.widget.surveilance.SurveillancePhotoSelectListView;
@@ -62,21 +63,7 @@
         View view = LayoutInflater.from(MainActivity.getInstance()).inflate(R.layout.dialog_surveillance_photo_select,null);
         ViewUtils.inject(this, view);
 
-
-        List<SurveillanceQueryItem> prevVisitorList = SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().getPrevList();
-        List<SurveillanceQueryItem> registerList = new ArrayList();
-        for (SurveillanceQueryItem surveillanceQueryItem : prevVisitorList) {
-            if (surveillanceQueryItem.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
-                registerList.add(surveillanceQueryItem);
-            }
-        }
-
-        for (int i = 0; i < 2; i++) {
-            SurveillanceQueryItem item = new SurveillanceQueryItem();
-            registerList.add(item);
-        }
-        dialog_surveillance_photo_select_list_view.show(registerList);
-
+        dialog_surveillance_photo_select_list_view.show(SurveillanceMng.getInstance().getSurveillancePhotoList());
 
         setTitleAndList(type);
         WheelView.WheelViewStyle style = new WheelView.WheelViewStyle();
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java
index 98e387a..8a92dff 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java
@@ -84,4 +84,9 @@
         public static final int FIRST_ELEMENT_NEGATIVE = -1;//璁垮鏁版嵁搴撴壘鍒颁簡銆�
     }
 
+    public static class SelectPhotoType {
+        public static final int SELECT_PHOTO = 1;
+        public static final int UPLOAD_PHOTO = 2;
+    }
+
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java
index 96ed452..ca15d97 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java
@@ -40,6 +40,8 @@
 
 	private Uri localUri;
 
+	private boolean surveillancePhotoSelected;
+
 	/**
 	 * Get 浜哄憳涓婚敭
 	 */
@@ -206,4 +208,12 @@
 	public void setLocalUri(Uri localUri) {
 		this.localUri = localUri;
 	}
+
+	public boolean isSurveillancePhotoSelected() {
+		return surveillancePhotoSelected;
+	}
+
+	public void setSurveillancePhotoSelected(boolean surveillancePhotoSelected) {
+		this.surveillancePhotoSelected = surveillancePhotoSelected;
+	}
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
index d697830..feae9ee 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
@@ -15,12 +15,12 @@
 
 import com.bsk.zhangbo.demoforbsk.R;
 
+import cn.com.basic.face.adapter.SurveillanceFragment;
 import cn.com.basic.face.base.BaseApplication;
 import cn.com.basic.face.base.BaseFragment;
 import cn.com.basic.face.dialog.SurveillancePhotoDialog;
 import cn.com.basic.face.discern.common.CommonVariables;
 import cn.com.basic.face.discern.entity.Register;
-import cn.com.basic.face.discern.query.condition.SurveillanceQueryCondition;
 import cn.com.basic.face.discern.query.item.CheckInQueryItem;
 import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
 import cn.com.basic.face.service.DictionaryMng;
@@ -236,6 +236,22 @@
         RegisterMng.getInstance().add(params);
     }
 
+    public void set_fragment_register_surveillance_photo(SurveillanceQueryItem item) {
+        fragment_register_surveillance_photo.setImageBitmap(item.getBitmap());
+        fragment_register_surveillance_photo_img = item.getBitmap();
+        fragment_register_surveillance_photo_placeholder_image.setVisibility(View.INVISIBLE);
+        fragment_register_surveillance_photo_placeholder_text_view.setVisibility(View.INVISIBLE);
+    }
+
+    public void set_fragment_register_upload_custom_photo(SurveillanceQueryItem item) {
+        fragment_register_upload_custom_photo.setImageBitmap(item.getBitmap());
+        fragment_register_upload_custom_photo_img = item.getBitmap();
+
+        fragment_register_upload_custom_photo_placeholder_image.setVisibility(View.INVISIBLE);
+        fragment_register_upload_custom_photo_placeholder_text_view.setVisibility(View.INVISIBLE);
+
+    }
+
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
@@ -381,23 +397,20 @@
 
     @OnClick(R.id.fragment_register_surveillance_photo)
     public void fragment_register_surveillance_photo_click(View view) {
-//        Intent intent = new Intent();
-//        intent.setType("image/*");
-//        intent.setAction(Intent.ACTION_GET_CONTENT);
-//        startActivityForResult(Intent.createChooser(intent, "閫夋嫨鍥剧墖"), fragment_register_surveillance_photo_);
+        SurveillanceFragment.SurveillancePhotoSelectListViewAdapter.selectPhotoOrUploadPhoto = CommonVariables.SelectPhotoType.SELECT_PHOTO;
         new SurveillancePhotoDialog(fragment_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() {
             public void onSelected(String value) {
-                fragment_register_id_class.setValue(value);
             }
         });
     }
 
     @OnClick(R.id.fragment_register_upload_custom_photo)
     public void fragment_register_upload_custom_photo_click(View view) {
-        Intent intent = new Intent();
-        intent.setType("image/*");
-        intent.setAction(Intent.ACTION_GET_CONTENT);
-        startActivityForResult(Intent.createChooser(intent, "閫夋嫨鍥剧墖"), fragment_register_upload_custom_photo_);
+        SurveillanceFragment.SurveillancePhotoSelectListViewAdapter.selectPhotoOrUploadPhoto = CommonVariables.SelectPhotoType.UPLOAD_PHOTO;
+        new SurveillancePhotoDialog(fragment_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() {
+            public void onSelected(String value) {
+            }
+        });
     }
 
     @OnClick(R.id.fragment_register_id_card_photo)
@@ -433,4 +446,5 @@
     protected void initData() {
         resetForm();
     }
+
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
index 2286421..ded27c8 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
@@ -96,6 +96,42 @@
         });
     }
 
+    public List getSurveillancePhotoList() {
+        List<SurveillanceQueryItem> prevVisitorList = SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().getPrevList();
+        List<SurveillanceQueryItem> registerList = new ArrayList();
+        for (SurveillanceQueryItem surveillanceQueryItem : prevVisitorList) {
+            if (surveillanceQueryItem.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
+                if (registerList.size() > 16) {
+                    break;
+                }
+                registerList.add(surveillanceQueryItem);
+            }
+        }
+        SurveillanceQueryItem item;
+        List items = new ArrayList();
+        int m = 0;
+        int n = 8;
+        for (int i = 0; i < 16; i++) {
+            if (i % 2 == 0) {
+                if (m < registerList.size()) {
+                    item = registerList.get(m);
+                    m++;
+                } else {
+                    item = getBlankItem();
+                }
+            } else {
+                if (n < registerList.size()) {
+                    item = registerList.get(n);
+                    n++;
+                } else {
+                    item = getBlankItem();
+                }
+            }
+            items.add(item);
+        }
+        return items;
+    }
+
     private void registerTopAndCheckInBottom(List<SurveillanceQueryItem> list) {
         List<SurveillanceQueryItem> registerList = new ArrayList<SurveillanceQueryItem>();
         List<SurveillanceQueryItem> checkInList = new ArrayList<SurveillanceQueryItem>();

--
Gitblit v1.8.0