From c7caa54d8d58af6159f2c758ad5d6687d461a333 Mon Sep 17 00:00:00 2001
From: sujinwen <sujinwen@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期二, 25 七月 2017 10:53:23 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java |   46 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 41 insertions(+), 5 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java
index 540bacf..e811393 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java
@@ -11,6 +11,7 @@
 import cn.com.basic.face.discern.entity.VisitDetail;
 import cn.com.basic.face.discern.query.condition.AttendanceQueryCondition;
 import cn.com.basic.face.discern.query.condition.CheckInQueryCondition;
+import cn.com.basic.face.discern.query.item.OfflineAttenderRegisterItem;
 import cn.com.basic.face.discern.query.item.OfflineVisitItem;
 import cn.com.basic.face.fragment.CheckInFragment;
 import cn.com.basic.face.service.sqlite.CheckInDao;
@@ -60,10 +61,22 @@
                 }
             });
         } else {
-            CheckInDao.getInstance().add(offlineVisitItem);
-            if (visitReasonId == null || "".equals(visitReasonId)) {
-                DictionaryMng.getInstance().loadVisitReasonList();
-            }
+            final long result = CheckInDao.getInstance().addOfflineVisit(offlineVisitItem);
+
+            MainActivity.getInstance().runOnUiThread(new Runnable() {
+                @Override
+                public void run() {
+                    if (result > 0) {
+                        Toast.makeText(BaseApplication.getInstance(), "娣诲姞鎴愬姛", Toast.LENGTH_SHORT).show();
+                        if (visitReasonId == null || "".equals(visitReasonId)) {
+                            DictionaryMng.getInstance().loadVisitReasonList();
+                        }
+                        CheckInFragment.getInstance().resetForm();
+                    } else {
+                        Toast.makeText(BaseApplication.getInstance(), "娣诲姞澶辫触", Toast.LENGTH_SHORT).show();
+                    }
+                }
+            });
         }
     }
 
@@ -95,6 +108,9 @@
 
     public void findCheckInLeftListAfterReturn(ResultBean resultBean, final boolean isVisitorList, final boolean isSortByDept, final boolean append) {
         List<CheckInQueryItem> list = resultBean.getList(CheckInQueryItem.class);
+        if (list == null) {
+            list = new ArrayList<>();
+        }
 
         List prevList = null;
         if (append) {
@@ -156,6 +172,9 @@
         if (!BaseApplication.deviceAvailable) {
             return;
         }
+        if (list == null) {
+            list = new ArrayList<>();
+        }
         Collections.sort(list, new Comparator<CheckInQueryItem>() {
             @Override
             public int compare(CheckInQueryItem item1, CheckInQueryItem item2) {
@@ -186,8 +205,25 @@
     }
 
 
-    public void sendOfflineCheckInToServer() {
+    public void sendOfflineCheckInToServer(Integer mysqlVisitorId, long sqliteVisitorId) {
+        RequestParams params = new RequestParams();
 
+        List<OfflineVisitItem> offlineVisitItems = CheckInDao.getInstance().readOfflineVisitItemFromLocal(sqliteVisitorId);
+        for (OfflineVisitItem item : offlineVisitItems) {
+            params.setUri(AppApi.BASE_URL +AppApi.VISIT_ADD);
+            params.addBodyParameter(Visit.FieldNames.deviceCompanyId, BaseApplication.getInstance().getAndroidDevice().getCompanyId());
+            x.http().post(params, new BaseCommonCallBack() {
+                @Override
+                public void success() {
+                    SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
+                    Toast.makeText(BaseApplication.getInstance(),"娣诲姞鎴愬姛", Toast.LENGTH_SHORT).show();
+                    CheckInFragment.getInstance().resetForm();
+//                    if (visitReasonId == null || "".equals(visitReasonId)) {
+//                        DictionaryMng.getInstance().loadVisitReasonList();
+//                    }
+                }
+            });
+        }
     }
 
     public boolean hasOfflineCheckInData() {

--
Gitblit v1.8.0