From 4f40d5eea0b9ecefa80632c53d2c6e7f5cc6c35a Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期一, 24 七月 2017 13:25:47 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitorRegisterFragment.java |  237 +++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 157 insertions(+), 80 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitorRegisterFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitorRegisterFragment.java
index fdf02c2..96fe076 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitorRegisterFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitorRegisterFragment.java
@@ -8,8 +8,10 @@
 import android.net.Uri;
 import android.os.Environment;
 import android.provider.MediaStore;
+import android.support.v4.app.FragmentTransaction;
 import android.view.View;
 import android.view.WindowManager;
+import android.widget.FrameLayout;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.TextView;
@@ -18,11 +20,15 @@
 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.dialog.VisitorRegisterSelectPhotoDialog;
+import cn.com.basic.face.dialog.VisitorRegisterUploadPhotoDialog;
 import cn.com.basic.face.discern.common.CommonVariables;
 import cn.com.basic.face.discern.entity.Register;
 import cn.com.basic.face.discern.query.item.CheckInQueryItem;
+import cn.com.basic.face.discern.query.item.OfflineVisitorRegisterItem;
 import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
 import cn.com.basic.face.service.DictionaryMng;
 import cn.com.basic.face.service.RegisterMng;
@@ -53,6 +59,7 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.UUID;
 
 import cn.com.basic.face.base.MainActivity;
 
@@ -84,8 +91,8 @@
     private ImageView fragment_visitor_register_upload_custom_photo;
     @ViewInject(R.id.fragment_visitor_register_id_card_photo)
     private ImageView fragment_visitor_register_id_card_photo;
-    @ViewInject(R.id.fragment_visitor_register_linear_layout)
-    private LinearLayout fragment_visitor_register_linear_layout;
+    @ViewInject(R.id.fragment_register_frame_layout)
+    private FrameLayout fragment_visitor_register_linear_layout;
     @ViewInject(R.id.fragment_visitor_register_surveillance_photo_placeholder_image)
     private ImageView fragment_visitor_register_surveillance_photo_placeholder_image;
     @ViewInject(R.id.fragment_visitor_register_upload_custom_photo_placeholder_image)
@@ -163,62 +170,125 @@
             return;
         }
 
-        params.addBodyParameter(Register.FieldNames.username, name);
-        params.addBodyParameter(Register.FieldNames.mobilePhone, phone);
-        params.addBodyParameter(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(fragment_visitor_register_gender.getValue()));
-        params.addBodyParameter(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(fragment_visitor_register_id_class.getValue()));
-        params.addBodyParameter(Register.FieldNames.countryId, DictionaryMng.getInstance().getId(fragment_visitor_register_country.getValue()));
-        params.addBodyParameter(Register.FieldNames.visitorTypeId, DictionaryMng.getInstance().getId(visitor_type));
-        params.addBodyParameter(Register.FieldNames.identifyNum, fragment_visitor_register_id_num.getValue());
-        params.addBodyParameter(Register.FieldNames.companyId, company);
-        params.addBodyParameter(Register.FieldNames.birthday, fragment_visitor_register_birthday.getValue());
-        params.addBodyParameter(Register.FieldNames.remark, fragment_visitor_register_remark.getValue());
+        Register offlineVisitorRegisterItem = new Register();
+        if (BaseApplication.getInstance().networkAvailable()) {
+            params.addBodyParameter(Register.FieldNames.username, name);
+            params.addBodyParameter(Register.FieldNames.mobilePhone, phone);
+            params.addBodyParameter(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(fragment_visitor_register_gender.getValue()));
+            params.addBodyParameter(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(fragment_visitor_register_id_class.getValue()));
+            params.addBodyParameter(Register.FieldNames.countryId, DictionaryMng.getInstance().getId(fragment_visitor_register_country.getValue()));
+            params.addBodyParameter(Register.FieldNames.visitorTypeId, DictionaryMng.getInstance().getId(visitor_type));
+            params.addBodyParameter(Register.FieldNames.identifyNum, fragment_visitor_register_id_num.getValue());
+//            params.addBodyParameter(Register.FieldNames.companyId, null);
+            params.addBodyParameter(Register.FieldNames.company, company);
+            params.addBodyParameter(Register.FieldNames.birthday, fragment_visitor_register_birthday.getValue());
+            params.addBodyParameter(Register.FieldNames.remark, fragment_visitor_register_remark.getValue());
 
-        if (surveillanceQueryItem_selectPhoto != null) {
-            params.addBodyParameter("width", surveillanceQueryItem_selectPhoto.getWidth());
-            params.addBodyParameter("height", surveillanceQueryItem_selectPhoto.getHeight());
-            fragment_visitor_register_surveillance_photo_img = surveillanceQueryItem_selectPhoto.getBitmap();
+            if (surveillanceQueryItem_selectPhoto != null) {
+                params.addBodyParameter("width", surveillanceQueryItem_selectPhoto.getWidth());
+                params.addBodyParameter("height", surveillanceQueryItem_selectPhoto.getHeight());
+                fragment_visitor_register_surveillance_photo_img = surveillanceQueryItem_selectPhoto.getBitmap();
 
-            NativeImg nativeImg = surveillanceQueryItem_selectPhoto.getNativeImg();
-            byte[] imageBytes = new byte[nativeImg.size];
-            for (int i = 0; i < nativeImg.size; i++) {
-                imageBytes[i] = nativeImg.image[i];
+                NativeImg nativeImg = surveillanceQueryItem_selectPhoto.getNativeImg();
+                byte[] imageBytes = new byte[nativeImg.size];
+                for (int i = 0; i < nativeImg.size; i++) {
+                    imageBytes[i] = nativeImg.image[i];
+                }
+                params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto", imageBytes));
+            } else {
+                params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto", new byte[]{}));
             }
-            params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto", imageBytes));
+
+            if (fragment_visitor_register_surveillance_photo_img != null) {
+                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+                fragment_visitor_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
+                params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto", byteArrayOutputStream.toByteArray()));
+            } else {
+                params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto", new byte[]{}));
+            }
+
+            if (fragment_visitor_register_upload_custom_photo_img != null) {
+                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+                fragment_visitor_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
+                params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto", byteArrayOutputStream.toByteArray()));
+            } else {
+                params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto", new byte[]{}));
+            }
+
+            if (fragment_visitor_register_id_card_photo_img != null) {
+                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+                fragment_visitor_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
+                params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", byteArrayOutputStream.toByteArray()));
+            } else {
+                params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", new byte[]{}));
+            }
         } else {
-            params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto", new byte[]{}));
+            offlineVisitorRegisterItem.setRegisterId(UUID.randomUUID().toString());
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            offlineVisitorRegisterItem.setDeviceCompanyId(BaseApplication.getInstance().getAndroidDevice().getCompanyId());
+            offlineVisitorRegisterItem.setIsSynchron("N");
+            offlineVisitorRegisterItem.setCreateTime(sdf.format(new Date()));
+            offlineVisitorRegisterItem.setUsername(name);
+            offlineVisitorRegisterItem.setMobilePhone(phone);
+            offlineVisitorRegisterItem.setGenderId(DictionaryMng.getInstance().getId(fragment_visitor_register_gender.getValue()));
+            offlineVisitorRegisterItem.setIdentityTypeId(DictionaryMng.getInstance().getId(fragment_visitor_register_id_class.getValue()));
+            offlineVisitorRegisterItem.setCountryId(DictionaryMng.getInstance().getId(fragment_visitor_register_country.getValue()));
+            offlineVisitorRegisterItem.setVisitorTypeId(DictionaryMng.getInstance().getId(visitor_type));
+            offlineVisitorRegisterItem.setIdentifyNum(fragment_visitor_register_id_num.getValue());
+            offlineVisitorRegisterItem.setCompanyId(null);
+            offlineVisitorRegisterItem.setCompany(company);
+            offlineVisitorRegisterItem.setBirthday(fragment_visitor_register_birthday.getValue());
+            offlineVisitorRegisterItem.setRemark(fragment_visitor_register_remark.getValue());
+
+            String rawSurveillancePhotoPath = UUID.randomUUID().toString()+".bmp";
+            byte[] rawSurveillancePhotoBytes = new byte[]{};
+
+            if (surveillanceQueryItem_selectPhoto != null) {
+                offlineVisitorRegisterItem.setRawSurveillancePhotoWidth(surveillanceQueryItem_selectPhoto.getWidth());
+                offlineVisitorRegisterItem.setRawSurveillancePhotoHeight(surveillanceQueryItem_selectPhoto.getHeight());
+                fragment_visitor_register_surveillance_photo_img = surveillanceQueryItem_selectPhoto.getBitmap();
+
+                NativeImg nativeImg = surveillanceQueryItem_selectPhoto.getNativeImg();
+                byte[] imageBytes = new byte[nativeImg.size];
+                for (int i = 0; i < nativeImg.size; i++) {
+                    imageBytes[i] = nativeImg.image[i];
+                }
+                rawSurveillancePhotoBytes = imageBytes;
+            }
+            FileUtil.writeToFile(rawSurveillancePhotoPath, rawSurveillancePhotoBytes);
+            offlineVisitorRegisterItem.setRawSurveillancePhotoPath(rawSurveillancePhotoPath);
+
+            String surveillancePhotoPath = UUID.randomUUID().toString()+".bmp";
+            byte[] surveillancePhotoBytes = new byte[]{};
+            if (fragment_visitor_register_surveillance_photo_img != null) {
+                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+                fragment_visitor_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
+                surveillancePhotoBytes = byteArrayOutputStream.toByteArray();
+            }
+            FileUtil.writeToFile(surveillancePhotoPath, surveillancePhotoBytes);
+            offlineVisitorRegisterItem.setSurveillancePhoto(surveillancePhotoPath);
+
+            String uploadCustomPhotoPath = UUID.randomUUID().toString()+".bmp";
+            byte[] uploadCustomPhotoBytes = new byte[]{};
+            if (fragment_visitor_register_upload_custom_photo_img != null) {
+                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+                fragment_visitor_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
+                uploadCustomPhotoBytes = byteArrayOutputStream.toByteArray();
+            }
+            FileUtil.writeToFile(uploadCustomPhotoPath, uploadCustomPhotoBytes);
+            offlineVisitorRegisterItem.setUploadCustomPhoto(uploadCustomPhotoPath);
+
+            String idCardPhotoPath = UUID.randomUUID().toString()+".bmp";
+            byte[] idCardPhotoBytes = new byte[]{};
+            if (fragment_visitor_register_id_card_photo_img != null) {
+                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+                fragment_visitor_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
+                idCardPhotoBytes = byteArrayOutputStream.toByteArray();
+            }
+            FileUtil.writeToFile(idCardPhotoPath, idCardPhotoBytes);
+            offlineVisitorRegisterItem.setIdCardPhoto(idCardPhotoPath);
         }
-
-        if (fragment_visitor_register_surveillance_photo_img != null) {
-            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
-            fragment_visitor_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
-            byte[] imageBytes = byteArrayOutputStream.toByteArray();
-
-            params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto", imageBytes));
-        } else {
-            params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto", new byte[]{}));
-        }
-
-        if (fragment_visitor_register_upload_custom_photo_img != null) {
-            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
-            fragment_visitor_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
-            byte[] imageBytes = byteArrayOutputStream.toByteArray();
-
-            params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto", imageBytes));
-        } else {
-            params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto", new byte[]{}));
-        }
-
-        if (fragment_visitor_register_id_card_photo_img != null) {
-            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
-            fragment_visitor_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
-            byte[] imageBytes = byteArrayOutputStream.toByteArray();
-
-            params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", imageBytes));
-        } else {
-            params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", new byte[]{}));
-        }
-        RegisterMng.getInstance().add(params, idCardHeadPath);
+        RegisterMng.getInstance().add(params, idCardHeadPath, offlineVisitorRegisterItem);
     }
 
     public void set_fragment_visitor_register_surveillance_photo(SurveillanceQueryItem item) {
@@ -341,21 +411,21 @@
 
         idCardHeadPath = "";
 
-        fragment_visitor_register_name.setValue("寰愪慨婧�"+Math.random());
-        fragment_visitor_register_phone.setValue("13691348767");
-        fragment_visitor_register_id_num.setValue("36041419292222222");
-        fragment_visitor_register_birthday.setValue("1985-08-12");
-        fragment_visitor_register_company.setValue("璐濇�濈");
-        fragment_visitor_register_remark.setValue("澶囨敞");
+        fragment_visitor_register_name.setValue("");
+        fragment_visitor_register_phone.setValue("");
+        fragment_visitor_register_id_num.setValue("");
+        fragment_visitor_register_birthday.setValue("");
+        fragment_visitor_register_company.setValue("");
+        fragment_visitor_register_remark.setValue("");
 
         fragment_visitor_register_name.setValue("");
         fragment_visitor_register_id_num.setValue("");
         fragment_visitor_register_birthday.setValue("");
 
-        fragment_visitor_register_gender.setValue("鐢�");
-        fragment_visitor_register_id_class.setValue("韬唤璇�");
-        fragment_visitor_register_country.setValue("涓浗");
-        fragment_visitor_register_visitor_class.setValue("鏅�氳瀹�");
+        fragment_visitor_register_gender.setValue("");
+        fragment_visitor_register_id_class.setValue("");
+        fragment_visitor_register_country.setValue("");
+        fragment_visitor_register_visitor_class.setValue("");
         fragment_visitor_register_surveillance_photo_img = null;
         fragment_visitor_register_upload_custom_photo_img = null;
         fragment_visitor_register_id_card_photo_img = null;
@@ -374,11 +444,13 @@
 
     //@OnClick(R.id.fragment_visitor_register_country)
     public void fragment_visitor_register_country_click(View view) {
-        new CountryDialog(fragment_visitor_register_linear_layout, new OkClickedListener() {
-            public void onSelected(String value) {
-                fragment_visitor_register_country.setValue(value);
-            }
-        },fragment_visitor_register_country.getValue());
+        if (CountryDialog.hasCountries()) {
+            new CountryDialog(fragment_visitor_register_linear_layout, new OkClickedListener() {
+                public void onSelected(String value) {
+                    fragment_visitor_register_country.setValue(value);
+                }
+            }, fragment_visitor_register_country.getValue());
+        }
     }
 
     //@OnClick(R.id.fragment_visitor_register_gender)
@@ -436,20 +508,16 @@
 
     @OnClick(R.id.fragment_visitor_register_surveillance_photo)
     public void fragment_visitor_register_surveillance_photo_click(View view) {
-        SurveillanceFragment.SurveillancePhotoSelectListViewAdapter.selectPhotoOrUploadPhoto = CommonVariables.SelectPhotoType.SELECT_PHOTO;
-        new SurveillancePhotoDialog(fragment_visitor_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() {
-            public void onSelected(String value) {
-            }
-        }, selectedSurveillancePhotoId);
+        VisitorRegisterSelectPhotoDialog.getInstance().show();
+    }
+
+    public FrameLayout get_fragment_visitor_register_linear_layout() {
+        return fragment_visitor_register_linear_layout;
     }
 
     @OnClick(R.id.fragment_visitor_register_upload_custom_photo)
     public void fragment_visitor_register_upload_custom_photo_click(View view) {
-        SurveillanceFragment.SurveillancePhotoSelectListViewAdapter.selectPhotoOrUploadPhoto = CommonVariables.SelectPhotoType.UPLOAD_PHOTO;
-        new SurveillancePhotoDialog(fragment_visitor_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() {
-            public void onSelected(String value) {
-            }
-        }, selectedCustomPhotoId);
+        VisitorRegisterUploadPhotoDialog.getInstance().show();
     }
 
     @OnClick(R.id.fragment_visitor_register_id_card_photo)
@@ -515,15 +583,24 @@
         }
     }
 
-    private boolean registerFragmentVisible = false;
+    public boolean visitorRegisterFragmentVisible = false;
 
     @Override
     public void setMenuVisibility(boolean menuVisible) {
         super.setMenuVisibility(menuVisible);
-        registerFragmentVisible = menuVisible;
+        visitorRegisterFragmentVisible = menuVisible;
     }
 
+    @OnClick(R.id.fragment_visitor_register_to_attender_register)
+    private void fragment_visitor_register_to_attender_register_click(View view) {
 
+        AttenderRegisterFragment attenderRegisterFragment = AttenderRegisterFragment.getInstance();
+        FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
+
+        transaction.addToBackStack(null);
+        transaction.replace(R.id.fragment_register_frame_layout, attenderRegisterFragment).commit();
+        CommonVariables.Register.VISITOR_REGISTER_SELECTED = false;
+    }
 
 
 }

--
Gitblit v1.8.0