From d6119c2d7fe2f802dd224d77bf2d95eeeedb4526 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期一, 10 七月 2017 16:08:15 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java |  214 ++++++++++++++++++-----------------------------------
 1 files changed, 74 insertions(+), 140 deletions(-)

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 2962278..be628d5 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
@@ -1,6 +1,7 @@
 package cn.com.basic.face.fragment;
 
 import android.app.Activity;
+import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
 import android.graphics.Bitmap;
@@ -21,6 +22,8 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
+import com.bit.rfid.RFIDReader;
+import com.bit.rfid.ReaderExtra;
 import com.bsk.zhangbo.demoforbsk.R;
 
 import cn.com.basic.face.adapter.SurveillanceFragment;
@@ -38,6 +41,11 @@
 import cn.com.basic.face.service.SurveillanceMng;
 import cn.com.basic.face.util.BitmapUtil;
 import cn.com.basic.face.util.Constant;
+import cn.com.basic.face.util.FileUtil;
+import static 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.util.NativeImg;
 import cn.com.basic.face.util.OkClickedListener;
 
@@ -50,16 +58,21 @@
 import cn.com.basic.face.widget.register.RegisterRightFieldTextView;
 import cn.com.basic.face.dialog.SelectDialog;
 
+import com.ivsign.android.IDCReader.IDCReaderSDK;
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.lidroid.xutils.view.annotation.event.OnClick;
 
-import org.xutils.common.util.FileUtil;
 import org.xutils.http.RequestParams;
 
 import java.io.BufferedOutputStream;
+import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.RandomAccessFile;
+import java.io.Reader;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
@@ -126,6 +139,10 @@
 
     private File idCardImageCaptureFile = null;
 
+    private IdCardReaderThread idCardReaderThread = null;
+
+    private String idCardHeadPath = "";
+
     private static RegisterFragment instance = new RegisterFragment();
 
     public static RegisterFragment getInstance() {
@@ -141,42 +158,8 @@
         resetForm();
     }
 
-    private File writeToFile(String fileName, byte[] fileBytes) {
-        try {
-            String dir = MainActivity.getInstance().getFilesDir().getAbsolutePath();
-
-            File file = new File(dir, fileName);
-            if (file.exists()) {
-                file.delete();
-            }
-            file.createNewFile();
-            BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File(dir, fileName)));
-            bos.write(fileBytes);
-            bos.flush();
-            bos.close();
-            return new File(dir, fileName);
-        }catch (Exception e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-
     @OnClick(R.id.fragment_register_save)
     public void fragment_register_save_click(View v) {
-//        RegisterMng.getInstance().add(null);
-//        if (1==1) {
-//            return;
-//        }
-
-        if (!BaseApplication.deviceAvailable) {
-            return;
-        }
-
-//        SurveillanceMng.getInstance().addBitmap(new ArrayList(), new byte[]{1,2,3}, 3, "1");
-//
-//        if (1==1) {
-//            return;
-//        }
         RequestParams params = new RequestParams();
 
         String name = fragment_register_name.getValue();
@@ -191,77 +174,29 @@
             fragment_register_phone.requestFocus();
             return;
         }
-        String gender = fragment_register_gender.getValue();
-        if (gender.trim().length() <= 0) {
-            Toast.makeText(MainActivity.getInstance(), "鎬у埆涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show();
-            fragment_register_gender.callOnClick();
-            return;
-        }
-        String id_class = fragment_register_id_class.getValue();
-        if (id_class.trim().length() <= 0) {
-            Toast.makeText(MainActivity.getInstance(), "璇佷欢绫诲瀷涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show();
-            fragment_register_id_class.callOnClick();
-            return;
-        }
-        String country = fragment_register_country.getValue();
-        if (country.trim().length() <= 0) {
-            Toast.makeText(MainActivity.getInstance(), "鍥界睄涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show();
-            fragment_register_country.callOnClick();
-            return;
-        }
-        String id_num = fragment_register_id_num.getValue();
-        if (id_num.trim().length() <= 0) {
-            Toast.makeText(MainActivity.getInstance(), "璇佷欢缂栧彿涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show();
-            fragment_register_id_num.requestFocus();
-            return;
-        }
-        String birthday = fragment_register_birthday.getValue();
-        if (birthday.trim().length() <= 0) {
-            Toast.makeText(MainActivity.getInstance(), "鍑虹敓鏃ユ湡涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show();
-            fragment_register_birthday.callOnClick();
-            return;
-        }
         String company = fragment_register_company.getValue();
         if (company.trim().length() <= 0) {
             Toast.makeText(MainActivity.getInstance(), "鍏徃鍚嶇О涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show();
             fragment_register_company.requestFocus();
             return;
         }
-        String remark = fragment_register_remark.getValue();
-        if (remark.trim().length() <= 0) {
-            Toast.makeText(MainActivity.getInstance(), "澶囨敞涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show();
-            fragment_register_remark.requestFocus();
-            return;
-        }
-        String visitor_class = fragment_register_visitor_class.getValue();
-        if (visitor_class.trim().length() <= 0) {
+        String visitor_type = fragment_register_visitor_class.getValue();
+        if (visitor_type.trim().length() <= 0) {
             Toast.makeText(MainActivity.getInstance(), "璁垮绫诲瀷涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show();
             fragment_register_visitor_class.callOnClick();
             return;
         }
-        final PostData pd = new PostData();
-
-        pd.addValue(Register.FieldNames.username, name);
-        pd.addValue(Register.FieldNames.mobilePhone, phone);
-        pd.addValue(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(gender));
-        pd.addValue(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(id_class));
-        pd.addValue(Register.FieldNames.countryId, DictionaryMng.getInstance().getId(country));
-        pd.addValue(Register.FieldNames.visitorTypeId, DictionaryMng.getInstance().getId(visitor_class));
-        pd.addValue(Register.FieldNames.identifyNum, id_num);
-        pd.addValue(Register.FieldNames.companyId, company);
-        pd.addValue(Register.FieldNames.birthday, birthday);
-
 
         params.addBodyParameter(Register.FieldNames.username, name);
         params.addBodyParameter(Register.FieldNames.mobilePhone, phone);
-        params.addBodyParameter(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(gender));
-        params.addBodyParameter(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(id_class));
-        params.addBodyParameter(Register.FieldNames.countryId, DictionaryMng.getInstance().getId(country));
-        params.addBodyParameter(Register.FieldNames.visitorTypeId, DictionaryMng.getInstance().getId(visitor_class));
-        params.addBodyParameter(Register.FieldNames.identifyNum, id_num);
+        params.addBodyParameter(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(fragment_register_gender.getValue()));
+        params.addBodyParameter(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(fragment_register_id_class.getValue()));
+        params.addBodyParameter(Register.FieldNames.countryId, DictionaryMng.getInstance().getId(fragment_register_country.getValue()));
+        params.addBodyParameter(Register.FieldNames.visitorTypeId, DictionaryMng.getInstance().getId(visitor_type));
+        params.addBodyParameter(Register.FieldNames.identifyNum, fragment_register_id_num.getValue());
         params.addBodyParameter(Register.FieldNames.companyId, company);
-        params.addBodyParameter(Register.FieldNames.birthday, birthday);
-
+        params.addBodyParameter(Register.FieldNames.birthday, fragment_register_birthday.getValue());
+        params.addBodyParameter(Register.FieldNames.remark, fragment_register_remark.getValue());
 
         if (surveillanceQueryItem_selectPhoto != null) {
             params.addBodyParameter("width", surveillanceQueryItem_selectPhoto.getWidth());
@@ -273,77 +208,41 @@
             for (int i = 0; i < nativeImg.size; i++) {
                 imageBytes[i] = nativeImg.image[i];
             }
-            pd.addData("rawSurveillancePhoto", "application/octet-stream", imageBytes);
-
-            params.addBodyParameter("rawSurveillancePhoto", writeToFile("rawSurveillancePhoto", imageBytes));
+            params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto", imageBytes));
         } else {
-            params.addBodyParameter("rawSurveillancePhoto", writeToFile("rawSurveillancePhoto", new byte[]{}));
+            params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto", new byte[]{}));
         }
 
         if (fragment_register_surveillance_photo_img != null) {
             ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
             fragment_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
             byte[] imageBytes = byteArrayOutputStream.toByteArray();
-            pd.addData(Register.FieldNames.surveillancePhoto, "application/octet-stream", imageBytes);
 
-            params.addBodyParameter("surveillancePhoto", writeToFile("surveillancePhoto", imageBytes));
+            params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto", imageBytes));
         } else {
-            params.addBodyParameter("surveillancePhoto", writeToFile("surveillancePhoto", new byte[]{}));
+            params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto", new byte[]{}));
         }
 
         if (fragment_register_upload_custom_photo_img != null) {
             ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
             fragment_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
             byte[] imageBytes = byteArrayOutputStream.toByteArray();
-            pd.addData(Register.FieldNames.uploadCustomPhoto, "application/octet-stream", imageBytes);
 
-            params.addBodyParameter("uploadCustomPhoto", writeToFile("uploadCustomPhoto", imageBytes));
+            params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto", imageBytes));
         } else {
-            params.addBodyParameter("uploadCustomPhoto", writeToFile("uploadCustomPhoto", new byte[]{}));
+            params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto", new byte[]{}));
         }
 
         if (fragment_register_id_card_photo_img != null) {
             ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
             fragment_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
             byte[] imageBytes = byteArrayOutputStream.toByteArray();
-            pd.addData(Register.FieldNames.idCardPhoto, "application/octet-stream", imageBytes);
 
-            params.addBodyParameter("idCardPhoto", writeToFile("idCardPhoto", imageBytes));
+            params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", imageBytes));
         } else {
-            params.addBodyParameter("idCardPhoto", writeToFile("idCardPhoto", new byte[]{}));
+            params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", new byte[]{}));
         }
-
-
-        class ConnectionTask extends AsyncTask<String, Void, String> {
-            private String json = "";
-            @Override
-            protected String doInBackground(String... urls) {
-                try {
-//                    Uploader uploader = new Uploader("", AppApi.BASE_URL + AppApi.REGISTER_ADD);
-//                    json = uploader.upload("", pd);
-                    return json;
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
-                return null;
-            }
-
-            @Override
-            protected void onPostExecute(String result) {
-                try {
-                    Toast.makeText(BaseApplication.getInstance(),"娣诲姞鎴愬姛", Toast.LENGTH_SHORT).show();
-                    //RegisterFragment.getInstance().resetForm();
-                } catch(Exception e) {
-                    e.printStackTrace();
-                }
-            }
-
-        }
-//        ConnectionTask task = new ConnectionTask();
-//        String[] params1 = new String[2];
-//        task.execute(params1);
-
-        RegisterMng.getInstance().add(params);
+        RegisterMng.getInstance().add(params, idCardHeadPath);
     }
 
     public void set_fragment_register_surveillance_photo(SurveillanceQueryItem item) {
@@ -464,6 +363,8 @@
         selectedCustomPhotoId = -1;
         selectedSurveillancePhotoId = -1;
 
+        idCardHeadPath = "";
+
         fragment_register_name.setValue("寰愪慨婧�"+Math.random());
         fragment_register_phone.setValue("13691348767");
         fragment_register_id_num.setValue("36041419292222222");
@@ -472,11 +373,8 @@
         fragment_register_remark.setValue("澶囨敞");
 
         fragment_register_name.setValue("");
-        fragment_register_phone.setValue("");
         fragment_register_id_num.setValue("");
         fragment_register_birthday.setValue("");
-        fragment_register_company.setValue("");
-        fragment_register_remark.setValue("");
 
         fragment_register_gender.setValue("鐢�");
         fragment_register_id_class.setValue("韬唤璇�");
@@ -612,6 +510,42 @@
     @Override
     protected void initData() {
         resetForm();
+        idCardReaderThread = new IdCardReaderThread();
+        idCardReaderThread.start();
     }
 
+    public void fillFormWithIdCard(IdCard idCard) {
+        try {
+            fragment_register_name.setValue(idCard.getName());
+            fragment_register_id_num.setValue(idCard.getCardNumber());
+
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
+
+            fragment_register_birthday.setValue(sdf1.format(sdf.parse(idCard.getBirthday())));
+            fragment_register_gender.setValue(idCard.getGender());
+            fragment_register_id_class.setValue("韬唤璇�");
+            BitmapFactory.Options options = new BitmapFactory.Options();
+            options.inPreferredConfig = Bitmap.Config.ARGB_8888;
+            Bitmap bitmap = BitmapFactory.decodeFile(idCard.getHeadPath(), options);
+            fragment_register_id_card_photo.setImageBitmap(bitmap);
+            fragment_register_id_card_photo_placeholder_image.setVisibility(View.INVISIBLE);
+            fragment_register_id_card_photo_placeholder_text_view.setVisibility(View.INVISIBLE);
+            idCardHeadPath = idCard.getHeadPath();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    private boolean registerFragmentVisible = false;
+
+    @Override
+    public void setMenuVisibility(boolean menuVisible) {
+        super.setMenuVisibility(menuVisible);
+        registerFragmentVisible = menuVisible;
+    }
+
+
+
+
 }

--
Gitblit v1.8.0