From e09e9f8a34cbc99a33dfa9ef1792b0025575c3a8 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期二, 01 八月 2017 11:41:19 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java |  207 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 151 insertions(+), 56 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java
index f57d577..cfa3bd3 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java
@@ -9,13 +9,13 @@
 import android.os.Environment;
 import android.provider.MediaStore;
 import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentTransaction;
+import android.view.MotionEvent;
 import android.view.View;
+import android.view.ViewGroup;
 import android.view.WindowManager;
+import android.widget.EditText;
 import android.widget.FrameLayout;
 import android.widget.ImageView;
-import android.widget.LinearLayout;
 import android.widget.TextView;
 import android.widget.Toast;
 
@@ -26,24 +26,26 @@
 import cn.com.basic.face.base.BaseFragment;
 import cn.com.basic.face.dialog.AttenderRegisterSelectPhotoDialog;
 import cn.com.basic.face.dialog.AttenderRegisterUploadPhotoDialog;
-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.item.CheckInQueryItem;
+import cn.com.basic.face.discern.query.item.OfflineAttenderRegisterItem;
 import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
+import cn.com.basic.face.service.DepartmentMng;
 import cn.com.basic.face.service.DictionaryMng;
+import cn.com.basic.face.service.PostMng;
 import cn.com.basic.face.service.RegisterMng;
 import cn.com.basic.face.util.BitmapUtil;
 import cn.com.basic.face.util.Constant;
 import cn.com.basic.face.util.FileUtil;
 
 import cn.com.basic.face.util.IdCard;
-import cn.com.basic.face.util.IdCardReaderThread;
+import cn.com.basic.face.thread.IdCardReaderThread;
+import cn.com.basic.face.util.KeyboardUtil;
 import cn.com.basic.face.util.NativeImg;
 import cn.com.basic.face.util.OkClickedListener;
 
 import cn.com.basic.face.util.AppApi;
-import cn.com.basic.face.dialog.DateSelectDialog;
 import cn.com.basic.face.dialog.CountryDialog;
 import cn.com.basic.face.widget.register.RegisterRightFieldLabelView;
 import cn.com.basic.face.widget.register.RegisterRightFieldTextView;
@@ -60,6 +62,7 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.UUID;
 
 import cn.com.basic.face.base.MainActivity;
 
@@ -145,69 +148,159 @@
     public void fragment_attender_register_save_click(View v) {
         RequestParams params = new RequestParams();
 
+        if (surveillanceQueryItem_selectPhoto == null) {
+            Toast.makeText(MainActivity.getInstance(), "璇烽�夋嫨鐓х墖", Toast.LENGTH_SHORT).show();
+            return;
+        }
+
         String name = fragment_attender_register_name.getValue();
         if (name.trim().length() <= 0) {
             Toast.makeText(MainActivity.getInstance(), "濮撳悕涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show();
             fragment_attender_register_name.requestFocus();
             return;
         }
+        String gender = fragment_attender_register_gender.getValue();
+        if (gender.trim().length() <= 0) {
+            Toast.makeText(MainActivity.getInstance(), "鎬у埆涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show();
+            fragment_attender_register_gender.callOnClick();
+            return;
+        }
 
-        params.addBodyParameter(Register.FieldNames.username, name);
-        params.addBodyParameter(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(fragment_attender_register_gender.getValue()));
-        params.addBodyParameter(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(fragment_attender_register_id_class.getValue()));
-        params.addBodyParameter(Register.FieldNames.postId, DictionaryMng.getInstance().getId(fragment_attender_register_post.getValue()));
-        params.addBodyParameter(Register.FieldNames.post, fragment_attender_register_post.getValue());
-        params.addBodyParameter(Register.FieldNames.identifyNum, fragment_attender_register_id_num.getValue());
-        params.addBodyParameter(Register.FieldNames.departmentId, DictionaryMng.getInstance().getId(fragment_attender_register_department.getValue()));
-        params.addBodyParameter(Register.FieldNames.department, fragment_attender_register_department.getValue());
-        params.addBodyParameter(Register.FieldNames.remark, fragment_attender_register_remark.getValue());
-        params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
+        String post = fragment_attender_register_post.getValue();
+        if (post.trim().length() <= 0) {
+            Toast.makeText(MainActivity.getInstance(), "鑱屽姟绫诲瀷涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show();
+            fragment_attender_register_post.callOnClick();
+            return;
+        }
 
-        if (surveillanceQueryItem_selectPhoto != null) {
-            params.addBodyParameter("width", surveillanceQueryItem_selectPhoto.getWidth());
-            params.addBodyParameter("height", surveillanceQueryItem_selectPhoto.getHeight());
-            fragment_attender_register_surveillance_photo_img = surveillanceQueryItem_selectPhoto.getBitmap();
+        String department = fragment_attender_register_department.getValue();
+        if (department.trim().length() <= 0) {
+            Toast.makeText(MainActivity.getInstance(), "閮ㄩ棬鐝骇涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show();
+            fragment_attender_register_department.callOnClick();
+            return;
+        }
+        OfflineAttenderRegisterItem offlineAttenderRegisterItem = new OfflineAttenderRegisterItem();
+        if(BaseApplication.getInstance().networkAvailable()) {
+            params.addBodyParameter(Register.FieldNames.username, name);
+            params.addBodyParameter(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(fragment_attender_register_gender.getValue()));
+            params.addBodyParameter(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(fragment_attender_register_id_class.getValue()));
+            params.addBodyParameter(Register.FieldNames.postId, DictionaryMng.getInstance().getId(fragment_attender_register_post.getValue()));
+            params.addBodyParameter(Register.FieldNames.post, fragment_attender_register_post.getValue());
+            params.addBodyParameter(Register.FieldNames.identifyNum, fragment_attender_register_id_num.getValue());
+            params.addBodyParameter(Register.FieldNames.departmentId, DictionaryMng.getInstance().getId(fragment_attender_register_department.getValue()));
+            params.addBodyParameter(Register.FieldNames.department, fragment_attender_register_department.getValue());
+            params.addBodyParameter(Register.FieldNames.remark, fragment_attender_register_remark.getValue());
 
-            NativeImg nativeImg = surveillanceQueryItem_selectPhoto.getNativeImg();
-            byte[] imageBytes = new byte[nativeImg.size];
-            for (int i = 0; i < nativeImg.size; i++) {
-                imageBytes[i] = nativeImg.image[i];
+            if (surveillanceQueryItem_selectPhoto != null) {
+                params.addBodyParameter("rawSurveillancePhotoWidth", surveillanceQueryItem_selectPhoto.getWidth());
+                params.addBodyParameter("rawSurveillancePhotoHeight", surveillanceQueryItem_selectPhoto.getHeight());
+                params.addBodyParameter("width", surveillanceQueryItem_selectPhoto.getWidth());
+                params.addBodyParameter("height", surveillanceQueryItem_selectPhoto.getHeight());
+                fragment_attender_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];
+                }
+                params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto_attender", imageBytes));
+            } else {
+                params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto_attender", new byte[]{}));
             }
-            params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto_attender", imageBytes));
+
+            if (fragment_attender_register_surveillance_photo_img != null) {
+                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+                fragment_attender_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
+                byte[] imageBytes = byteArrayOutputStream.toByteArray();
+
+                params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto_attender", imageBytes));
+            } else {
+                params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto_attender", new byte[]{}));
+            }
+
+            if (fragment_attender_register_upload_custom_photo_img != null) {
+                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+                fragment_attender_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
+                byte[] imageBytes = byteArrayOutputStream.toByteArray();
+
+                params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto_attender", imageBytes));
+            } else {
+                params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto_attender", new byte[]{}));
+            }
+
+            if (fragment_attender_register_id_card_photo_img != null) {
+                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+                fragment_attender_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
+                byte[] imageBytes = byteArrayOutputStream.toByteArray();
+
+                params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto_attender", imageBytes));
+            } else {
+                params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto_attender", new byte[]{}));
+            }
         } else {
-            params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto_attender", new byte[]{}));
+            offlineAttenderRegisterItem.setRegisterId(UUID.randomUUID().toString());
+            offlineAttenderRegisterItem.setUsername(name);
+            offlineAttenderRegisterItem.setGenderId(DictionaryMng.getInstance().getId(fragment_attender_register_gender.getValue()));
+            offlineAttenderRegisterItem.setIdentityTypeId(DictionaryMng.getInstance().getId(fragment_attender_register_id_class.getValue()));
+            offlineAttenderRegisterItem.setPostId(PostMng.getInstance().getId(fragment_attender_register_post.getValue()));
+            offlineAttenderRegisterItem.setIdentifyNum(fragment_attender_register_id_num.getValue());
+            offlineAttenderRegisterItem.setDepartmentId(DepartmentMng.getInstance().getId(fragment_attender_register_department.getValue()));
+            offlineAttenderRegisterItem.setRemark(fragment_attender_register_remark.getValue());
+            offlineAttenderRegisterItem.setDeviceCompanyId(BaseApplication.getInstance().getAndroidDevice().getCompanyId());
+            offlineAttenderRegisterItem.setIsSynchron("N");
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            offlineAttenderRegisterItem.setCreateTime(sdf.format(new Date()));
+
+            String rawSurveillancePhotoPath = UUID.randomUUID().toString()+"";
+            byte[] rawSurveillancePhotoBytes = new byte[]{};
+
+            if (surveillanceQueryItem_selectPhoto != null) {
+                offlineAttenderRegisterItem.setRawSurveillancePhotoWidth(surveillanceQueryItem_selectPhoto.getWidth());
+                offlineAttenderRegisterItem.setRawSurveillancePhotoHeight(surveillanceQueryItem_selectPhoto.getHeight());
+                fragment_attender_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);
+            offlineAttenderRegisterItem.setRawSurveillancePhotoPath(rawSurveillancePhotoPath);
+
+            String surveillancePhotoPath = UUID.randomUUID().toString()+"";
+            byte[] surveillancePhotoBytes = new byte[]{};
+            if (fragment_attender_register_surveillance_photo_img != null) {
+                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+                fragment_attender_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
+                surveillancePhotoBytes = byteArrayOutputStream.toByteArray();
+            }
+            FileUtil.writeToFile(surveillancePhotoPath, surveillancePhotoBytes);
+            offlineAttenderRegisterItem.setSurveillancePhoto(surveillancePhotoPath);
+
+            String uploadCustomPhotoPath = UUID.randomUUID().toString()+"";
+            byte[] uploadCustomPhotoBytes = new byte[]{};
+            if (fragment_attender_register_upload_custom_photo_img != null) {
+                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+                fragment_attender_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
+                uploadCustomPhotoBytes = byteArrayOutputStream.toByteArray();
+            }
+            FileUtil.writeToFile(uploadCustomPhotoPath, uploadCustomPhotoBytes);
+            offlineAttenderRegisterItem.setUploadCustomPhoto(uploadCustomPhotoPath);
+
+            String idCardPhotoPath = UUID.randomUUID().toString()+"";
+            byte[] idCardPhotoBytes = new byte[]{};
+            if (fragment_attender_register_id_card_photo_img != null) {
+                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+                fragment_attender_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
+                idCardPhotoBytes = byteArrayOutputStream.toByteArray();
+            }
+            FileUtil.writeToFile(idCardPhotoPath, idCardPhotoBytes);
+            offlineAttenderRegisterItem.setIdCardPhoto(idCardPhotoPath);
         }
 
-        if (fragment_attender_register_surveillance_photo_img != null) {
-            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
-            fragment_attender_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
-            byte[] imageBytes = byteArrayOutputStream.toByteArray();
-
-            params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto_attender", imageBytes));
-        } else {
-            params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto_attender", new byte[]{}));
-        }
-
-        if (fragment_attender_register_upload_custom_photo_img != null) {
-            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
-            fragment_attender_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
-            byte[] imageBytes = byteArrayOutputStream.toByteArray();
-
-            params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto_attender", imageBytes));
-        } else {
-            params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto_attender", new byte[]{}));
-        }
-
-        if (fragment_attender_register_id_card_photo_img != null) {
-            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
-            fragment_attender_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
-            byte[] imageBytes = byteArrayOutputStream.toByteArray();
-
-            params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto_attender", imageBytes));
-        } else {
-            params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto_attender", new byte[]{}));
-        }
-        RegisterMng.getInstance().addAttender(params, idCardHeadPath);
+        RegisterMng.getInstance().addAttender(params, idCardHeadPath, offlineAttenderRegisterItem);
     }
 
     public void set_fragment_attender_register_surveillance_photo(SurveillanceQueryItem item) {
@@ -445,6 +538,7 @@
             idCardReaderThread = new IdCardReaderThread();
             idCardReaderThread.start();
         }
+        setupUI(getView());
     }
 
     public void fillFormWithIdCard(IdCard idCard) {
@@ -499,4 +593,5 @@
         }, fragment_attender_register_department.getValue());
     }
 
+
 }

--
Gitblit v1.8.0