From 9e5babf9db52e64bdae60137be7696e56241fca6 Mon Sep 17 00:00:00 2001
From: xingzilong <xingzilong@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期五, 18 八月 2017 18:12:17 +0800
Subject: [PATCH] H264 NALU解析  并在RTSPServer判断

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java |  224 ++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 176 insertions(+), 48 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java
index db5cfdc..8cd86be 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java
@@ -3,7 +3,19 @@
 import android.widget.Toast;
 
 import cn.com.basic.face.base.BaseApplication;
+import cn.com.basic.face.base.MainActivity;
+import cn.com.basic.face.discern.common.CommonVariables;
+import cn.com.basic.face.discern.common.ResultBean;
+import cn.com.basic.face.discern.common.SqliteSqlBean;
+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.OfflineVisitorRegisterItem;
+import cn.com.basic.face.fragment.AttenderRegisterFragment;
+import cn.com.basic.face.fragment.CheckInFragment;
 import cn.com.basic.face.fragment.VisitorRegisterFragment;
+import cn.com.basic.face.service.sqlite.CheckInDao;
+import cn.com.basic.face.service.sqlite.RegisterDao;
 import cn.com.basic.face.util.AppApi;
 
 import org.xutils.http.RequestParams;
@@ -15,6 +27,7 @@
 
 import cn.com.basic.face.discern.common.BaseCommonCallBack;
 import cn.com.basic.face.util.IdCard;
+import cn.com.basic.face.util.SqliteSqlUtil;
 
 public class RegisterMng {
 
@@ -24,58 +37,98 @@
         return instance;
     }
 
-    public void add(RequestParams params, String idCardHeadPhoto) {
+    public void addVisitor(RequestParams params, String idCardHeadPhoto, Register offlineVisitorRegisterItem) {
         if (!BaseApplication.deviceAvailable) {
             return;
         }
-        try {
-            File path = BaseApplication.getInstance().getFilesDir();
-            File rawSurveillancePhotoFile = new File(path, "rawSurveillancePhoto");
-            if (!rawSurveillancePhotoFile.exists()) {
-                rawSurveillancePhotoFile.createNewFile();
-            }
-            File f0 = new File(path, "f0");
-            if (!f0.exists()) {
-                f0.createNewFile();
-            }
-            File surveillancePhotoFile = new File(path, "surveillancePhoto");
-            if (!surveillancePhotoFile.exists()) {
-                surveillancePhotoFile.createNewFile();
-            }
-            File uploadCustomPhotoFile = new File(path, "uploadCustomPhoto");
-            if (!uploadCustomPhotoFile.exists()) {
-                uploadCustomPhotoFile.createNewFile();
-            }
-            File idCardPhotoFile = new File(path, "idCardPhoto");
-            if (!idCardPhotoFile.exists()) {
-                idCardPhotoFile.createNewFile();
-            }
+        if (BaseApplication.getInstance().networkAvailable()) {
+            try {
+                File path = BaseApplication.getInstance().getFilesDir();
+                File rawSurveillancePhotoFile = new File(path, "rawSurveillancePhoto");
+                if (!rawSurveillancePhotoFile.exists()) {
+                    rawSurveillancePhotoFile.createNewFile();
+                }
+                File f0 = new File(path, "f0");
+                if (!f0.exists()) {
+                    f0.createNewFile();
+                }
+                File surveillancePhotoFile = new File(path, "surveillancePhoto");
+                if (!surveillancePhotoFile.exists()) {
+                    surveillancePhotoFile.createNewFile();
+                }
+                File uploadCustomPhotoFile = new File(path, "uploadCustomPhoto");
+                if (!uploadCustomPhotoFile.exists()) {
+                    uploadCustomPhotoFile.createNewFile();
+                }
+                File idCardPhotoFile = new File(path, "idCardPhoto");
+                if (!idCardPhotoFile.exists()) {
+                    idCardPhotoFile.createNewFile();
+                }
 
-            FileWriter fw0 = new FileWriter(f0);
-            fw0.write("test1");
-            fw0.close();
-            params.setUri(AppApi.BASE_URL +AppApi.REGISTER_ADD);
-            params.addBodyParameter("f0", f0);
-            params.addBodyParameter("rawSurveillancePhoto", rawSurveillancePhotoFile);
-            params.addBodyParameter("surveillancePhoto", surveillancePhotoFile);
-            params.addBodyParameter("uploadCustomPhoto", uploadCustomPhotoFile);
-            params.addBodyParameter("idCardPhoto", idCardPhotoFile);
-            if (idCardHeadPhoto != null && !"".equals(idCardHeadPhoto)) {
-                File f5 = new File(idCardHeadPhoto);
-                if (!f5.exists()) {
-                    f5.createNewFile();
+                FileWriter fw0 = new FileWriter(f0);
+                fw0.write("test1");
+                fw0.close();
+                params.setUri(AppApi.BASE_URL +AppApi.REGISTER_ADD);
+                params.addBodyParameter("f0", f0);
+                params.addBodyParameter("rawSurveillancePhoto", rawSurveillancePhotoFile);
+                params.addBodyParameter("surveillancePhoto", surveillancePhotoFile);
+                params.addBodyParameter("uploadCustomPhoto", uploadCustomPhotoFile);
+                params.addBodyParameter("idCardPhoto", idCardPhotoFile);
+                params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
+                if (idCardHeadPhoto != null && !"".equals(idCardHeadPhoto)) {
+                    File f5 = new File(idCardHeadPhoto);
+                    if (!f5.exists()) {
+                        f5.createNewFile();
+                    }
+                    params.addBodyParameter("idCardHeadPhoto", f5);
                 }
-                params.addBodyParameter("idCardHeadPhoto", f5);
+                x.http().post(params, new BaseCommonCallBack() {
+                    @Override
+                    public void success() {
+                        SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
+                        Toast.makeText(BaseApplication.getInstance(),"娣诲姞鎴愬姛", Toast.LENGTH_SHORT).show();
+                        VisitorRegisterFragment.getInstance().resetForm();
+                        MainActivity.selectPage(2);
+                        List<CheckInQueryItem> checkInLeftVisitorList = getList(CheckInQueryItem.class);
+                        CheckInFragment.getInstance().get_fragment_check_in_left_visitor().show(checkInLeftVisitorList);
+                        if (checkInLeftVisitorList.size() > 0) {
+                            CheckInFragment.getInstance().checkInFromHomePage(checkInLeftVisitorList.get(0));
+                        }
+                    }
+                });
+            }catch(Exception e) {
+                e.printStackTrace();
             }
-            x.http().post(params, new BaseCommonCallBack() {
-                @Override
-                public void success() {
-                    Toast.makeText(BaseApplication.getInstance(),"娣诲姞鎴愬姛", Toast.LENGTH_SHORT).show();
-                    VisitorRegisterFragment.getInstance().resetForm();
+        } else {
+            try {
+                long result = RegisterDao.getInstance().add(offlineVisitorRegisterItem);
+                if (result > 0) {
+                    MainActivity.selectPage(2);
+                    final ResultBean resultBean = (ResultBean) CheckInDao.getInstance().findCheckInLeftVisitorListByVisitorId(offlineVisitorRegisterItem.getRegisterId());
+
+                    MainActivity.getInstance().runOnUiThread(new Runnable() {
+                        @Override
+                        public void run() {
+                            CheckInMng.getInstance().findCheckInLeftListAfterReturn(resultBean, true, false, false);
+                            List<CheckInQueryItem> list = (List<CheckInQueryItem>)resultBean.getData();
+                            if (list != null && list.size() > 0) {
+                                CheckInFragment.getInstance().checkInFromHomePage(list.get(0));
+                            }
+                            Toast.makeText(BaseApplication.getInstance(),"娣诲姞鎴愬姛", Toast.LENGTH_SHORT).show();
+                            VisitorRegisterFragment.getInstance().resetForm();
+                        }
+                    });
+                } else {
+                    MainActivity.getInstance().runOnUiThread(new Runnable() {
+                        @Override
+                        public void run() {
+                            Toast.makeText(MainActivity.getInstance(), "娣诲姞澶辫触", Toast.LENGTH_SHORT).show();
+                        }
+                    });
                 }
-            });
-        }catch(Exception e) {
-            e.printStackTrace();
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
         }
     }
 
@@ -105,18 +158,25 @@
             params.addBodyParameter("f0", f0);
             params.addBodyParameter("surveillancePhoto", surveillancePhotoFile);
             params.addBodyParameter("idCardPhoto", idCardHeadPhotoFile);
+            params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
             x.http().post(params, new BaseCommonCallBack() {
                 @Override
                 public void success() {
-                    if (!VisitorRegisterFragment.getInstance().isVisible()) {
+                    if (!VisitorRegisterFragment.getInstance().visitorRegisterFragmentVisible
+                            && !AttenderRegisterFragment.getInstance().attenderRegisterFragmentVisible
+                            ) {
                         return;
                     }
-                    List<Double> percents = resultBean.getListBeanOfType(Double.class);
+                    List<Double> percents = resultBean.getList(Double.class);
                     if (percents != null && percents.size() > 0) {
                         double percent = percents.get(0);
                         if (percent >= 70) {
                             Toast.makeText(BaseApplication.getInstance(),"璁よ瘉閫氳繃", Toast.LENGTH_SHORT).show();
-                            VisitorRegisterFragment.getInstance().fillFormWithIdCard(idCard);
+                            if (CommonVariables.Register.VISITOR_REGISTER_SELECTED) {
+                                VisitorRegisterFragment.getInstance().fillFormWithIdCard(idCard);
+                            } else {
+                                AttenderRegisterFragment.getInstance().fillFormWithIdCard(idCard);
+                            }
                             return;
                         }
                         System.out.println("percent="+percent);
@@ -132,5 +192,73 @@
 
     }
 
+    public void addAttender(RequestParams params, String idCardHeadPhoto, OfflineAttenderRegisterItem offlineAttenderRegisterItem) {
+        if (!BaseApplication.deviceAvailable) {
+            return;
+        }
+        if (BaseApplication.getInstance().networkAvailable()) {
+            try {
+                File path = BaseApplication.getInstance().getFilesDir();
+                File rawSurveillancePhotoFile = new File(path, "rawSurveillancePhoto_attender");
+                if (!rawSurveillancePhotoFile.exists()) {
+                    rawSurveillancePhotoFile.createNewFile();
+                }
+                File f0 = new File(path, "f0");
+                if (!f0.exists()) {
+                    f0.createNewFile();
+                }
+                File surveillancePhotoFile = new File(path, "surveillancePhoto_attender");
+                if (!surveillancePhotoFile.exists()) {
+                    surveillancePhotoFile.createNewFile();
+                }
+                File uploadCustomPhotoFile = new File(path, "uploadCustomPhoto_attender");
+                if (!uploadCustomPhotoFile.exists()) {
+                    uploadCustomPhotoFile.createNewFile();
+                }
+                File idCardPhotoFile = new File(path, "idCardPhoto_attender");
+                if (!idCardPhotoFile.exists()) {
+                    idCardPhotoFile.createNewFile();
+                }
+
+                FileWriter fw0 = new FileWriter(f0);
+                fw0.write("test1");
+                fw0.close();
+                params.setUri(AppApi.BASE_URL +AppApi.ATTENDER_REGISTER_ADD);
+                params.addBodyParameter("f0", f0);
+                params.addBodyParameter("rawSurveillancePhoto", rawSurveillancePhotoFile);
+                params.addBodyParameter("surveillancePhoto", surveillancePhotoFile);
+                params.addBodyParameter("uploadCustomPhoto", uploadCustomPhotoFile);
+                params.addBodyParameter("idCardPhoto", idCardPhotoFile);
+                params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
+                if (idCardHeadPhoto != null && !"".equals(idCardHeadPhoto)) {
+                    File f5 = new File(idCardHeadPhoto);
+                    if (!f5.exists()) {
+                        f5.createNewFile();
+                    }
+                    params.addBodyParameter("idCardHeadPhoto_attender", f5);
+                }
+                x.http().post(params, new BaseCommonCallBack() {
+                    @Override
+                    public void success() {
+                        SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
+                        Toast.makeText(BaseApplication.getInstance(),"娣诲姞鎴愬姛", Toast.LENGTH_SHORT).show();
+                        AttenderRegisterFragment.getInstance().resetForm();
+                    }
+                });
+            }catch(Exception e) {
+                e.printStackTrace();
+            }
+        } else {
+            RegisterDao.getInstance().addAttender(offlineAttenderRegisterItem, idCardHeadPhoto);
+            MainActivity.getInstance().runOnUiThread(new Runnable() {
+                @Override
+                public void run() {
+                    Toast.makeText(BaseApplication.getInstance(),"娣诲姞鎴愬姛", Toast.LENGTH_SHORT).show();
+                    AttenderRegisterFragment.getInstance().resetForm();
+                }
+            });
+        }
+
+    }
 
 }

--
Gitblit v1.8.0