From b992fdbaefeed93da99310e17bda2bc4ab7db811 Mon Sep 17 00:00:00 2001
From: 张海江 <181069201@qq.com>
Date: Mon, 14 Aug 2017 11:05:51 +0800
Subject: [PATCH] 提交代码

---
 app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java |  129 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 112 insertions(+), 17 deletions(-)

diff --git a/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java b/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java
index 26b714f..2b0d374 100644
--- a/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java
+++ b/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java
@@ -11,12 +11,17 @@
 import android.util.Log;
 import android.view.View;
 import android.widget.ImageView;
+import android.widget.LinearLayout;
 import android.widget.TextView;
 
 import com.clj.fastble.conn.BleCharacterCallback;
 import com.clj.fastble.exception.BleException;
+import com.lzy.okgo.cache.CacheMode;
+import com.moral.andbrickslib.utils.FastJsonTools;
 import com.moral.andbrickslib.utils.NumberUtils;
 import com.moral.andbrickslib.utils.StringUtils;
+import com.moral.andbrickslib.utils.TimeUtil;
+import com.moral.andbrickslib.utils.log.XLog;
 import com.moral.yunfushao.MainActivity;
 import com.moral.yunfushao.MainApp;
 import com.moral.yunfushao.R;
@@ -25,8 +30,13 @@
 import com.moral.yunfushao.base.BaseFragment;
 import com.moral.yunfushao.ble.BLECommon;
 import com.moral.yunfushao.ble.BluetoothService;
+import com.moral.yunfushao.common.API;
 import com.moral.yunfushao.common.AppConfig;
+import com.moral.yunfushao.httputils.HttpCallBack;
+import com.moral.yunfushao.httputils.HttpUtils;
 import com.moral.yunfushao.model.EventMessage;
+import com.moral.yunfushao.model.RecData;
+import com.moral.yunfushao.model.UpLoadParam;
 import com.moral.yunfushao.ui.PanelView;
 
 import org.greenrobot.eventbus.EventBus;
@@ -34,6 +44,7 @@
 import org.greenrobot.eventbus.ThreadMode;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.Timer;
 import java.util.TimerTask;
 
@@ -43,15 +54,16 @@
  */
 
 public class FragmentMonitor extends BaseFragment {
-    private TextView tv_ljjl, tv_tishi, tv_desc,tv_shishi;
+    private LinearLayout ll_status;
+    private TextView tv_ljjl, tv_tishi, tv_desc,tv_shishi,tv_status;
     private PanelView pv;
-    private ImageView iv_his;
+    private ImageView iv_his,iv_status,iv_search;
     private BluetoothService mBluetoothService;
     private ArrayList<String> realResult = new ArrayList<>();
     //������������
-    private ArrayList<String> submitResult = new ArrayList<>();
+    private ArrayList<RecData> submitResult = new ArrayList<>();
     //������������������������
-    private ArrayList<String> submitTempResult = new ArrayList<>();
+    private ArrayList<RecData> submitTempResult = new ArrayList<>();
 
     /**
      * ������
@@ -120,36 +132,48 @@
                                          * 20������������5A������  5B������
                                          */
                                         if (!TextUtils.isEmpty(nowResult) && nowResult.length() == 40 && nowResult.startsWith("5A") && nowResult.endsWith("5B")) {
-                                            submitResult.add(nowResult);
+
                                             int shunshiValue = Integer.parseInt(nowResult.substring(24, 26), 16) * 256 + Integer.parseInt(nowResult.substring(26, 28), 16);
                                             int leijiValue = Integer.parseInt(nowResult.substring(28, 30), 16) * 1024 + Integer.parseInt(nowResult.substring(30, 32), 16) * 512 + Integer.parseInt(nowResult.substring(32, 34), 16) * 256 + Integer.parseInt(nowResult.substring(34, 36), 16);
                                             float level = shunshiValue / 10;
-//                                            mToatUtils.showSingletonToast("���������" + shunshiValue + "|���������" + leijiValue);
-                                            Log.d("haijiang", "���������" + shunshiValue + "|���������" + leijiValue);
+                                            XLog.d("���������" + shunshiValue + "|���������" + leijiValue);
                                             tv_ljjl.setText(NumberUtils.getBigDecimalValue(leijiValue*0.10,3) + "");
-                                            tv_shishi.setText(NumberUtils.getBigDecimalValue((shunshiValue-45)/10.0*0.10,3) + "");
+                                            double shishiValue = NumberUtils.getBigDecimalValue((shunshiValue-45)/10.0*0.10,3);
+                                            tv_shishi.setText(shishiValue + "");
+
+                                            /**
+                                             * ���������������������
+                                             */
+                                            RecData data = new RecData();
+                                            data.setValue(shishiValue);
+                                            data.setTime(TimeUtil.getCurrentDate("yyyy-MM-dd HH:mm:ss"));
+                                            submitResult.add(data);
+
                                             if (level >= 0 && level < 15) {
                                                 pv.setPercent(level / 50);
                                                 tv_tishi.setText("������������������");
                                                 tv_desc.setText("���������������������������\n������������������������������������������������");
+                                                showStatus(true);
                                             } else if (level >= 15 && level < 26) {
                                                 pv.setPercent(level / 50);
                                                 tv_tishi.setText("������������������");
                                                 tv_desc.setText("���������������������������\n���������������������������������������������������");
+                                                showStatus(true);
                                             } else if (level >= 26 && level < 65) {
+                                                showStatus(false);
                                                 tv_tishi.setText("������������������");
                                                 tv_desc.setText("���������������������������\n���������������������������������������������������");
-                                                if (level > 45) {
+                                                if (level <= 45) {
                                                     pv.setPercent(level / 50);
                                                 } else {
                                                     pv.setPercent(0.9f);
                                                 }
                                             } else if (level >= 65) {
+                                                showStatus(false);
                                                 tv_tishi.setText("������������������");
                                                 tv_desc.setText("���������������������������\n���������������������������������������������������");
                                                 pv.setPercent(1.0f);
                                             }
-
                                             realResult.clear();
                                         }
                                     }
@@ -168,6 +192,19 @@
 
                         });
             }
+        }else if (msg.getType() == AppConfig.GET_BLE_DISCONNECT) {
+            pv.setStatusStr("���������");
+            pv.setPercent(0);
+            tv_ljjl.setText("0");
+            tv_shishi.setText("0");
+        }else if(msg.getType() == AppConfig.CHANGE_SETTING){
+            if(timer!=null){
+                timer.cancel();
+                timer = null;
+            }
+            submitTime = MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getRefresh_frequency();
+            isupLoad  = MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getIs_open_upload();
+            doTask();
         }
     }
 
@@ -201,18 +238,25 @@
         tv_tishi = findView(R.id.tv_tishi);
         tv_desc = findView(R.id.tv_desc);
         tv_shishi = findView(R.id.tv_shishi);
+        tv_status = findView(R.id.tv_status);
+        iv_status = findView(R.id.iv_status);
+        ll_status = findView(R.id.ll_status);
+        iv_search = findView(R.id.iv_search);
     }
 
     @Override
     protected void initListener() {
         pv.setOnClickListener(this);
         iv_his.setOnClickListener(this);
+        iv_search.setOnClickListener(this);
     }
-
+    int submitTime;
+    int isupLoad;
     @Override
     protected void initData() {
-
-
+        submitTime = MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getRefresh_frequency();
+        isupLoad  = MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getIs_open_upload();
+        doTask();
     }
 
     @Override
@@ -230,6 +274,12 @@
                 intent = new Intent(getActivity(), ChartActivity.class);
                 startActivity(intent);
                 break;
+            case R.id.iv_search:
+                if(mBluetoothService==null){
+                    return;
+                }
+                mBluetoothService.write(mBluetoothService.getWirteCharacteristic().getService().getUuid().toString(),mBluetoothService.getWirteCharacteristic().getUuid().toString(),BLECommon.BLE_SEARCH,null);
+                break;
         }
 
     }
@@ -238,8 +288,6 @@
     protected void onErrorPagerClick() {
 
     }
-
-    private boolean isFinish = false;
     Timer timer;
 
     private void doTask() {
@@ -247,18 +295,65 @@
         timer.schedule(new TimerTask() {
             @Override
             public void run() {
-                if (!isFinish) {
+                if (isupLoad == 1) {
                     //������������
+                    submitData();
                 }
             }
-        }, 0, 10000);
+        }, 0, submitTime*1000);
     }
 
     private void submitData() {
         //���������������������������
         submitTempResult.addAll(submitResult);
         submitResult.clear();
+        HashMap<String,String> params = new HashMap<>();
+        if(submitTempResult.size()==0){
+            return;
+        }
+        UpLoadParam up = new UpLoadParam();
+        up.setUserid(MainApp.userId);
+        up.setAddress(MainApp.address);
+        up.setLat(MainApp.mLat);
+        up.setLon(MainApp.mLon);
+        up.setData(submitTempResult);
+        params.put("data", FastJsonTools.toJson(up));
+        HttpUtils.doPost(API.UPLOAD, params, CacheMode.DEFAULT, false, new HttpCallBack() {
+            @Override
+            public void onSuccess(String res, String msg) {
+                XLog.d("@@@@@@@@@@@@@@@@@@@@@@@@@@"+msg);
+                submitTempResult.clear();
+            }
+
+            @Override
+            public void showLoadingDialog() {
+
+            }
+
+            @Override
+            public void onFail(int errno, String s) {
+
+            }
+        });
 
 
     }
+
+    /**
+     * ������������������������������
+     * @param safe
+     */
+    private void showStatus(boolean safe){
+        if(safe){
+            iv_status.setImageResource(R.mipmap.icon_safe);
+            tv_status.setText("������");
+            tv_status.setTextColor(getResources().getColor(R.color.green_txt));
+            ll_status.setBackgroundResource(R.mipmap.bg_conner_green);
+        }else{
+            iv_status.setImageResource(R.mipmap.icon_danger);
+            tv_status.setText("������");
+            tv_status.setTextColor(getResources().getColor(R.color.red_txt));
+            ll_status.setBackgroundResource(R.mipmap.bg_conner_red);
+        }
+    }
 }

--
Gitblit v1.8.0