diff --git a/ZJDXJ/app/src/main/AndroidManifest.xml b/ZJDXJ/app/src/main/AndroidManifest.xml
index 340301e..4129ecf 100755
--- a/ZJDXJ/app/src/main/AndroidManifest.xml
+++ b/ZJDXJ/app/src/main/AndroidManifest.xml
@@ -23,8 +23,10 @@
-
-
+
+
@@ -53,6 +55,10 @@
+
+
diff --git a/ZJYXDXJ/app/src/main/AndroidManifest.xml b/ZJYXDXJ/app/src/main/AndroidManifest.xml
index f7bf155..29e48a7 100755
--- a/ZJYXDXJ/app/src/main/AndroidManifest.xml
+++ b/ZJYXDXJ/app/src/main/AndroidManifest.xml
@@ -27,9 +27,8 @@
+ tools:ignore="ScopedStorage" />
diff --git a/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/LoginActivity.java b/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/LoginActivity.java
index feff192..29f176b 100755
--- a/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/LoginActivity.java
+++ b/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/LoginActivity.java
@@ -151,8 +151,8 @@ public class LoginActivity extends BaseActivity {
// etUse.setText("181145");
// etPwd.setText("13902576510");
- etUse.setText("180701");
- etPwd.setText("13902576186");
+// etUse.setText("180701");
+// etPwd.setText("13902576186");
}
diff --git a/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/MainActivity.java b/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/MainActivity.java
index 81ed33b..29f9249 100644
--- a/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/MainActivity.java
+++ b/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/MainActivity.java
@@ -1,7 +1,11 @@
package com.bjzc.zjyxdxj.activity;
+import static com.bjzc.zjyxdxj.utils.GsonUtils.GsonToBean;
+import static org.litepal.crud.DataSupport.where;
+
import android.Manifest;
import android.content.ComponentName;
+import android.content.ContentValues;
import android.content.Intent;
import android.content.ServiceConnection;
import android.content.pm.PackageInfo;
@@ -9,6 +13,7 @@ import android.content.pm.PackageManager;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.IBinder;
+import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.View;
import android.view.WindowManager;
@@ -25,6 +30,10 @@ import androidx.core.content.ContextCompat;
import com.azhon.appupdate.listener.OnButtonClickListener;
import com.azhon.appupdate.listener.OnDownloadListener;
import com.azhon.appupdate.manager.DownloadManager;
+import com.bjzc.zjyxdxj.DBModel.XSJJHDataBean;
+import com.bjzc.zjyxdxj.DBModel.XSJJHXZDataBean;
+import com.bjzc.zjyxdxj.DBModel.Xjjh;
+import com.bjzc.zjyxdxj.DBModel.XjjhList;
import com.bjzc.zjyxdxj.R;
import com.bjzc.zjyxdxj.activity.regular.RegularActivity;
import com.bjzc.zjyxdxj.activity.sbxj.XscbglActivity;
@@ -33,16 +42,34 @@ import com.bjzc.zjyxdxj.base.BaseActivity3;
import com.bjzc.zjyxdxj.base.BaseCallBackNoProgress;
import com.bjzc.zjyxdxj.bean.ApkUpdateBean;
import com.bjzc.zjyxdxj.bean.GridViewBean;
+import com.bjzc.zjyxdxj.bean.ScxjjhBean;
+import com.bjzc.zjyxdxj.bean.StatusInfo2;
+import com.bjzc.zjyxdxj.bean.XsRequestInfo;
import com.bjzc.zjyxdxj.bleUtil.BluetoothLeService;
import com.bjzc.zjyxdxj.contans.Contans;
import com.bjzc.zjyxdxj.utils.AppManager;
import com.bjzc.zjyxdxj.utils.FlashUtil;
+import com.bjzc.zjyxdxj.utils.GsonUtils;
+import com.bjzc.zjyxdxj.utils.HttpListener;
import com.bjzc.zjyxdxj.utils.HttpUtils;
import com.bjzc.zjyxdxj.utils.MqttSSLPublishServer;
+import com.bjzc.zjyxdxj.utils.NetworkUtil;
+import com.bjzc.zjyxdxj.utils.NoProgresshttpUtils;
+import com.bjzc.zjyxdxj.utils.RSAUtils;
import com.bjzc.zjyxdxj.utils.SPUtils;
import com.bjzc.zjyxdxj.utils.StatusBarUtil;
+import com.bjzc.zjyxdxj.utils.UiUtlis;
import com.bjzc.zjyxdxj.weight.AuditDialog;
import com.bjzc.zjyxdxj.weight.toastviewbymyself;
+import com.google.gson.Gson;
+import com.yolanda.nohttp.NoHttp;
+import com.yolanda.nohttp.RequestMethod;
+import com.yolanda.nohttp.rest.OnResponseListener;
+import com.yolanda.nohttp.rest.Request;
+import com.yolanda.nohttp.rest.RequestQueue;
+import com.yolanda.nohttp.rest.Response;
+
+import org.litepal.crud.DataSupport;
import java.io.File;
import java.util.ArrayList;
@@ -61,6 +88,13 @@ public class MainActivity extends BaseActivity3 {
private List beanList = new ArrayList<>();
private GridViewAdapter adapter;
+ //自动上传
+ private List dbxjjh = new ArrayList<>();
+ static int needUploadCount = 0;
+ private RequestQueue queue;
+
+ private String username;
+
// private String[] str = {"点检管理", "巡检管理", "读取NFC", "蓝牙管理", "缺陷工单提交(Maximo)", "测温", "测振"};
// private int[] imageId = {R.mipmap.icon_dxj, R.mipmap.icon6, R.mipmap.icon11, R.mipmap.icon13, R.mipmap.icon10, R.mipmap.icon10, R.mipmap.icon10};
// private int[] colors = {R.drawable.radius_a1, R.drawable.radius_e3, R.drawable.radius_a4, R.drawable.radius_b1, R.drawable.radius_d1, R.drawable.radius_d1, R.drawable.radius_d1};
@@ -82,6 +116,7 @@ public class MainActivity extends BaseActivity3 {
MqttSSLPublishServer mqttPublishServer;
//定时器
private Timer timer;
+ private Timer timerUpload;
@Override
@@ -92,6 +127,10 @@ public class MainActivity extends BaseActivity3 {
//@RequiresApi(api = Build.VERSION_CODES.Q)
@Override
public void initView() {
+ String UserIDTemp = (String) SPUtils.get(context, Contans.USERID, "");
+ username = RSAUtils.decryptBASE64StrLocal(UserIDTemp);
+ queue = NoHttp.newRequestQueue(1);
+
btnLogout = findViewById(R.id.btn_logout);
tvLoginUser = findViewById(R.id.tv_login_user);
gv = findViewById(R.id.gv);
@@ -105,6 +144,7 @@ public class MainActivity extends BaseActivity3 {
if(Contans.IP.equals(Contans.network_type_extranet)){
initMqtt();
}
+ initAutoUploadTimer();
btnLogout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -422,6 +462,19 @@ public class MainActivity extends BaseActivity3 {
e.printStackTrace();
}
}
+ if(timerUpload==null){
+ try {
+ timerUpload = new Timer();
+ timerUpload.schedule(new TimerTask() {
+ public void run() {
+ autoUpload();
+ }
+ }, 30000, 30000);
+ // 设定指定的时间time,此处为30秒
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
}
}
@@ -443,6 +496,9 @@ public class MainActivity extends BaseActivity3 {
if(timer!=null){
timer.cancel();
}
+ if(timerUpload!=null){
+ timerUpload.cancel();
+ }
super.onDestroy();
}
@@ -558,4 +614,243 @@ public class MainActivity extends BaseActivity3 {
e.printStackTrace();
}
}
+
+ //自动上传定时器初始化
+ public void initAutoUploadTimer() {
+
+ try {
+ timerUpload = new Timer();
+ timerUpload.schedule(new TimerTask() {
+ public void run() {
+ autoUpload();
+ }
+ }, 30000, 30000);
+ // 设定指定的时间time,此处为10000毫秒
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void autoUpload(){
+ if (NetworkUtil.hasNetWorkStatus(context, false)) {
+ showLog("有wifi网络");
+ //检查是否有数据需要上传
+ checkNeedUpload();
+ } else {
+ showLog("无网络");
+ }
+ }
+ //检查是否有数据需要上传
+ public void checkNeedUpload(){
+ needUploadCount = 0;
+ dbxjjh.clear();
+ dbxjjh.addAll(where("download = ? and mk = ? and username = ?", "1", "BA", username).find(Xjjh.class));
+ if(dbxjjh.size()>0){
+ for (int i = 0; i < dbxjjh.size(); i++) {
+ Xjjh dataBean = dbxjjh.get(i);
+ List qydDataBeen = DataSupport.where("zxid = ? and username = ?", dataBean.getZxid(), username).find(XSJJHXZDataBean.class);
+ if(qydDataBeen!=null&&qydDataBeen.size()>0){
+ for (int j = 0; j < qydDataBeen.size(); j++) {
+ if (qydDataBeen.get(j).isBAChecked()) {
+ needUploadCount++;
+ }
+ }
+ }
+
+ }
+ }
+ //有需要上传的数据
+ if(needUploadCount>0){
+ autoUploadDataByBa();
+ }
+ }
+ public void autoUploadDataByBa(){
+ if(dbxjjh.size()>0){
+ String idTemp = (String) SPUtils.get(context, Contans.REQUEST_ID, "");
+ String id = RSAUtils.decryptBASE64StrLocal(idTemp);
+
+ for (int i = 0; i < dbxjjh.size(); i++) {
+ Xjjh dataBean = dbxjjh.get(i);
+ String zxid = dataBean.getZxid();
+ List qydDataBeen = DataSupport.where("zxid = ? and username = ?", zxid, username).find(XSJJHXZDataBean.class);
+
+ ScxjjhBean scxjjhbean = new ScxjjhBean();
+ scxjjhbean.setAction("BA_XJGL_RWSC_SET");
+ scxjjhbean.setId(id);
+ scxjjhbean.setQZWC(0);
+ scxjjhbean.setZxid(zxid);
+ List datalist = new ArrayList<>();
+
+ if(qydDataBeen!=null&&qydDataBeen.size()>0){
+ for (int j = 0; j < qydDataBeen.size(); j++) {
+ if (qydDataBeen.get(j).isBAChecked()) {
+ XSJJHXZDataBean xsjjhdatabeanItem = qydDataBeen.get(j);
+
+ ScxjjhBean.data datas = new ScxjjhBean.data();
+ datas.setScid(xsjjhdatabeanItem.getScid());
+ datas.setDbh(xsjjhdatabeanItem.getQybh());
+ if (xsjjhdatabeanItem.isBAChecked()) {
+ datas.setCbsz("已检");
+ } else {
+ datas.setCbsz("");
+ }
+ if (xsjjhdatabeanItem.getDATE() == null) {
+ datas.setDjsj("");
+ } else {
+ datas.setDjsj(xsjjhdatabeanItem.getDATE());
+ }
+ datas.setZcmc((String) SPUtils.get(context, Contans.BZBH, ""));
+ datas.setCbr(username);
+ if (xsjjhdatabeanItem.getFxnr() == null) {
+ datas.setFxnr("");
+ } else {
+ datas.setFxnr(xsjjhdatabeanItem.getFxnr());
+ }
+ if (xsjjhdatabeanItem.getSmfs() != null) {
+ datas.setSmfx(xsjjhdatabeanItem.getSmfs());
+ } else {
+ datas.setSmfx("");
+ }
+ if (xsjjhdatabeanItem.getDjsj() == null) {
+ datas.setDjsj("");
+ } else {
+ datas.setDjsj(xsjjhdatabeanItem.getDjsj());
+ }
+ datalist.add(datas);
+ }
+ }
+ scxjjhbean.setData(datalist);
+ }
+ if(datalist.size()>0){
+ //上传数据
+ String json = GsonUtils.GsonString(scxjjhbean);
+ sCDataBA(json, zxid,scxjjhbean);
+ }
+ }
+ }
+ }
+ //上传保安单条计划下的已检任务的数据
+ private void sCDataBA(String json, String zxid,ScxjjhBean scxjjhbean) {
+ Request request = NoHttp.createStringRequest(Contans.IP + Contans.XSCB_PLAN_BA_UPLOAD, RequestMethod.POST);
+ request.setDefineRequestBodyForJson(json);
+
+ String tokenTemp = (String) SPUtils.get(this, Contans.LOGIN_TOKEN, "");
+ if(!TextUtils.isEmpty(tokenTemp)){
+ String token = RSAUtils.decryptBASE64StrLocal(tokenTemp);;
+ String credential = "Bearer " + token;
+ request.addHeader("Authorization", credential);
+ showLog(request.url());
+ //showLog(credential);
+ //showLog(new Gson().toJson(request.headers()));
+ }
+
+ queue.add(2, request, new OnResponseListener() {
+ @Override
+ public void onStart(int what) {}
+
+ @Override
+ public void onSucceed(int what, Response response) {
+ String result = response.get();
+ showLog(result);
+ StatusInfo2 info = GsonUtils.GsonToBean(result, StatusInfo2.class);
+ try {
+ if (what == 2) {
+ if (info.getState() == 1) { //成功
+ for(ScxjjhBean.data item :scxjjhbean.getData()){
+ DataSupport.deleteAll(XSJJHXZDataBean.class, "zxid = ? and username = ? and scid = ?", zxid, username,item.getScid());
+ //刷新计划下载界面
+ Intent intent = new Intent(Contans.ACTION_DELETE_REFRESHPLANDOWNLOAD);
+ //发送广播,刷新任务下载页面
+ sendBroadcast(intent);
+ updatePlanData();
+ }
+ //检查是否需要删除计划
+ checkNeedDeletePlan(zxid);
+ }
+ }
+ } catch (Exception e) {
+ showLog(UiUtlis.getString(context, R.string.data_error));
+ }
+ }
+
+ @Override
+ public void onFailed(int what, Response response) {
+
+ }
+
+ @Override
+ public void onFinish(int what) {
+
+ }
+ });
+ }
+ //检查是否需要删除计划
+ private void checkNeedDeletePlan(String zxid){
+ List qydDataBeen = DataSupport.where("zxid = ? and username = ?", zxid, username).find(XSJJHXZDataBean.class);
+ if(qydDataBeen!=null&&qydDataBeen.size() ==0){
+ DataSupport.deleteAll(Xjjh.class, "download = 1 and username = ? and zxid = ?", username,zxid);
+ }
+ }
+
+ private String createJsonBA() {
+ String idTemp = (String) SPUtils.get(context, Contans.REQUEST_ID, "");
+ String id = RSAUtils.decryptBASE64StrLocal(idTemp);
+
+ XsRequestInfo info = new XsRequestInfo();
+ info.setAction("BA_XJGL_RWLB_GET");
+ info.setId(id);
+ String json = GsonUtils.GsonString(info);
+ //Log.i("app", json);
+ return json;
+ }
+
+
+ private void updatePlanData() { //下载巡检数据
+
+ Request requestxs = NoHttp.createStringRequest(Contans.IP + Contans.BAXJ, RequestMethod.POST);
+ requestxs.setDefineRequestBodyForJson(createJsonBA());
+ NoProgresshttpUtils.getInstance().add(this, 0, requestxs, new HttpListener() {
+
+ @Override
+ public void onSucceed(int what, Response response) {
+
+ String result = response.get();
+ showLog("----------------");
+ showLog(result);
+ XjjhList list = GsonToBean(result, XjjhList.class);
+
+ if (list != null) {
+ if (list.getState().equals("1")) {
+ List xjjhs = list.getData();//服务器数据
+ if(xjjhs!=null&&xjjhs.size()>0){
+ for (int i = 0; i < list.getData().size(); i++) {
+ Xjjh xjjh = list.getData().get(i);
+ showLog(new Gson().toJson(xjjh));
+ }
+
+ //DataSupport.deleteAll(Xjjh.class, "download = 1 and username = ?", username);
+ for (Xjjh xjjh : xjjhs) {
+ List dbxjjh = DataSupport.where("zxid = ? and download = ? and username = ?", xjjh.getZxid(), "1", username).find(Xjjh.class);
+ if (dbxjjh.size() > 0) {
+ ContentValues values = new ContentValues();
+ values.put("jhds", xjjh.getJhds());
+ DataSupport.updateAll(Xjjh.class, values, "zxid = ?", xjjh.getZxid());
+ }
+ }
+ //刷新计划下载界面
+ Intent intent = new Intent(Contans.ACTION_REFRESHPLANDOWNLOAD);
+ //发送广播,刷新任务下载页面
+ sendBroadcast(intent);
+ }
+ }
+ }
+ }
+
+ @Override
+ public void onFailed(int what, Response response) {
+
+ }
+ });
+ }
+
}
diff --git a/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/CheckedStatusListActivity.java b/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/CheckedStatusListActivity.java
index e82582e..326a9d3 100644
--- a/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/CheckedStatusListActivity.java
+++ b/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/CheckedStatusListActivity.java
@@ -169,7 +169,7 @@ public class CheckedStatusListActivity extends BaseActivity3 implements View.OnC
@Override
protected void convert(ViewHolder viewHolder, XSJJHXZDataBean item, int position) {
if (type != null && type.equals("BA")) {
- viewHolder.setText(R.id.tv_xh, String.valueOf(position + 1));
+ viewHolder.setText(R.id.tv_xh, String.valueOf( 1));
viewHolder.setText(R.id.tv_qymc, item.getQymc());
if (item.isBAChecked()) {
viewHolder.setText(R.id.tv_djrw, "已检");
@@ -186,7 +186,7 @@ public class CheckedStatusListActivity extends BaseActivity3 implements View.OnC
checkedCount++;
}
}
- viewHolder.setText(R.id.tv_xh, String.valueOf(position + 1));
+ viewHolder.setText(R.id.tv_xh, String.valueOf(1));
viewHolder.setText(R.id.tv_qymc, item.getQymc());
//viewHolder.setText(R.id.tv_djrw, checkedCount + "/" + xsjjhdatabean.size());
int a = checkedCount;
diff --git a/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/ScxsjhFragment.java b/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/ScxsjhFragment.java
index ff8adf5..445c904 100755
--- a/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/ScxsjhFragment.java
+++ b/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/ScxsjhFragment.java
@@ -497,8 +497,6 @@ public class ScxsjhFragment extends BaseFragment {
}
private void sCDataBA(String json, String zxid) {
-// Log.i("app", Contans.IP + Contans.XSCB_PLAN_BA_UPLOAD);
-// Log.i("app", json);
Request request = NoHttp.createStringRequest(Contans.IP + Contans.XSCB_PLAN_BA_UPLOAD, RequestMethod.POST);
request.setDefineRequestBodyForJson(json);
@@ -507,9 +505,9 @@ public class ScxsjhFragment extends BaseFragment {
String token = RSAUtils.decryptBASE64StrLocal(tokenTemp);;
String credential = "Bearer " + token;
request.addHeader("Authorization", credential);
-// Log.i("app", request.url());
-// Log.i("app", credential);
-// Log.i("app",new Gson().toJson(request.headers()));
+ showLog(request.url());
+ showLog(credential);
+ showLog(new Gson().toJson(request.headers()));
}
queue.add(2, request, new OnResponseListener() {
diff --git a/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/SxgzActivity.java b/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/SxgzActivity.java
index be4029c..83da1d5 100755
--- a/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/SxgzActivity.java
+++ b/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/SxgzActivity.java
@@ -1,8 +1,11 @@
package com.bjzc.zjyxdxj.activity.sbxj;
import android.Manifest;
+import android.content.BroadcastReceiver;
import android.content.ContentValues;
+import android.content.Context;
import android.content.Intent;
+import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.os.Bundle;
@@ -73,6 +76,18 @@ public class SxgzActivity extends BaseActivity3 {
private String username;
BaCheckDialog auditDialog = null;
+ private BroadcastReceiver myReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ String action = intent.getAction();
+ if (Contans.ACTION_DELETE_REFRESHPLANDOWNLOAD.equals(action)) {
+ //刷新页面
+ getDataInSqlite();
+ adapter.notifyDataSetChanged();
+ }
+ }
+ };
+
@Override
public int getLayoutId() {
return R.layout.activity_xsgz;
@@ -120,6 +135,11 @@ public class SxgzActivity extends BaseActivity3 {
if (type != null && type.equals("BA")) {
tv_djrw.setText("已检/未检");
}
+
+ IntentFilter filter = new IntentFilter();
+ filter.addAction(Contans.ACTION_DELETE_REFRESHPLANDOWNLOAD);
+ registerReceiver(myReceiver, filter);
+
auditDialog = new BaCheckDialog(context, "", new BaCheckDialog.AuditDialogListener() {
@Override
public void confirm(String notice) {
@@ -190,7 +210,7 @@ public class SxgzActivity extends BaseActivity3 {
public void handleNfc(String result) {
super.handleNfc(result);
handleNfcCheck(result);
- //handleNfcCheck("043F30F2257381");
+ //handleNfcCheck("042734F2257381");
}
//加载数据库中已经下载的计划
@@ -695,4 +715,10 @@ public class SxgzActivity extends BaseActivity3 {
super.onResume();
nfcValue = null;
}
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ unregisterReceiver(myReceiver);
+ }
}
\ No newline at end of file
diff --git a/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/XscbglActivity.java b/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/XscbglActivity.java
index cd863d9..e172f3a 100755
--- a/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/XscbglActivity.java
+++ b/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/XscbglActivity.java
@@ -1,18 +1,22 @@
package com.bjzc.zjyxdxj.activity.sbxj;
import android.content.BroadcastReceiver;
+import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Build;
+import android.text.TextUtils;
import android.util.Log;
import android.view.WindowManager;
import android.widget.GridView;
import com.bjzc.zjyxdxj.DBModel.Profession;
import com.bjzc.zjyxdxj.DBModel.ProfessionList;
+import com.bjzc.zjyxdxj.DBModel.XSJJHXZBean;
+import com.bjzc.zjyxdxj.DBModel.XSJJHXZDataBean;
import com.bjzc.zjyxdxj.DBModel.Xjjh;
import com.bjzc.zjyxdxj.DBModel.XjjhList;
import com.bjzc.zjyxdxj.R;
@@ -20,18 +24,24 @@ import com.bjzc.zjyxdxj.activity.LoginActivity;
import com.bjzc.zjyxdxj.adapter.GridViewAdapter;
import com.bjzc.zjyxdxj.base.BaseActivity;
import com.bjzc.zjyxdxj.bean.GridViewBean;
+import com.bjzc.zjyxdxj.bean.ScxjjhBean;
+import com.bjzc.zjyxdxj.bean.StatusInfo2;
import com.bjzc.zjyxdxj.bean.XsRequestInfo;
import com.bjzc.zjyxdxj.contans.Contans;
import com.bjzc.zjyxdxj.utils.GsonUtils;
import com.bjzc.zjyxdxj.utils.HttpListener;
+import com.bjzc.zjyxdxj.utils.HttpResponseListener;
import com.bjzc.zjyxdxj.utils.NoProgresshttpUtils;
import com.bjzc.zjyxdxj.utils.RSAUtils;
import com.bjzc.zjyxdxj.utils.SPUtils;
import com.bjzc.zjyxdxj.utils.StatusBarUtil;
+import com.bjzc.zjyxdxj.utils.UiUtlis;
import com.google.gson.Gson;
import com.yolanda.nohttp.NoHttp;
import com.yolanda.nohttp.RequestMethod;
+import com.yolanda.nohttp.rest.OnResponseListener;
import com.yolanda.nohttp.rest.Request;
+import com.yolanda.nohttp.rest.RequestQueue;
import com.yolanda.nohttp.rest.Response;
import org.litepal.crud.DataSupport;
@@ -40,6 +50,7 @@ import java.util.ArrayList;
import java.util.List;
import static com.bjzc.zjyxdxj.utils.GsonUtils.GsonToBean;
+import static org.litepal.crud.DataSupport.where;
/**
* 巡视抄表管理
@@ -60,6 +71,7 @@ public class XscbglActivity extends BaseActivity {
private GridViewAdapter adapter;
private String type = null;
private String username;
+ private RequestQueue queue;
private BroadcastReceiver myReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
@@ -78,6 +90,7 @@ public class XscbglActivity extends BaseActivity {
@Override
protected void initView() {
+ queue = NoHttp.newRequestQueue(1);
gv = findViewById(R.id.gv);
Intent intentType = getIntent();
type = intentType.getStringExtra("type");
@@ -185,34 +198,31 @@ public class XscbglActivity extends BaseActivity {
@Override
public void onSucceed(int what, Response response) {
-// Log.i("app", "----------------");
-// Log.i("app", response.get());
- XjjhList list = GsonToBean(response.get(), XjjhList.class);
-// Log.i("app", list.getMsg());
-// Log.i("app", list.getState());
-// Log.i("app", String.valueOf(list.getData().size()));
-// Log.i("app", String.valueOf("mt"));
-// Log.i("app", "app");
+ String result = response.get();
+ showLog("----------------");
+ showLog(result);
+ XjjhList list = GsonToBean(result, XjjhList.class);
if (list != null) {
if (list.getState().equals("1")) {
for (int i = 0; i < list.getData().size(); i++) {
Xjjh xjjh = list.getData().get(i);
- Log.i("app", new Gson().toJson(xjjh));
+ showLog(new Gson().toJson(xjjh));
}
List xjjhs = list.getData();//服务器数据
-
DataSupport.deleteAll(Xjjh.class, "download = 0 and username = ?", username);
for (Xjjh xjjh : xjjhs) {
-
List dbxjjh = DataSupport.where("zxid = ? and download = ? and username = ?", xjjh.getZxid(), "1", username).find(Xjjh.class);
-
if (dbxjjh.size() == 0) {
xjjh.setUsername(username);
xjjh.save();
+ //自动下载数据
+ if(type!=null&&type.equals("BA")){
+ downDataBA(xjjh.getZxid());
+ }
}
}
//刷新计划下载界面
@@ -232,6 +242,65 @@ public class XscbglActivity extends BaseActivity {
});
}
+ private void updatePlanData() { //下载巡检数据
+
+ Request requestxs;
+ if (type.equals("BA")) {
+ requestxs = NoHttp.createStringRequest(Contans.IP + Contans.BAXJ, RequestMethod.POST);
+ } else {
+ requestxs = NoHttp.createStringRequest(Contans.IP + Contans.XSCB, RequestMethod.POST);
+ }
+
+ if (type.equals("BA")) {
+ requestxs.setDefineRequestBodyForJson(createJsonBA());
+ } else {
+ requestxs.setDefineRequestBodyForJson(createJson());
+ }
+
+ NoProgresshttpUtils.getInstance().add(this, 0, requestxs, new HttpListener() {
+
+ @Override
+ public void onSucceed(int what, Response response) {
+
+ String result = response.get();
+ showLog("----------------");
+ showLog(result);
+ XjjhList list = GsonToBean(result, XjjhList.class);
+
+ if (list != null) {
+ if (list.getState().equals("1")) {
+
+ for (int i = 0; i < list.getData().size(); i++) {
+ Xjjh xjjh = list.getData().get(i);
+ showLog(new Gson().toJson(xjjh));
+ }
+
+ List xjjhs = list.getData();//服务器数据
+ if(xjjhs!=null&&xjjhs.size()>0){
+ DataSupport.deleteAll(Xjjh.class, "username = ?", username);
+ for (Xjjh xjjh : xjjhs) {
+ List dbxjjh = DataSupport.where("zxid = ? and download = ? and username = ?", xjjh.getZxid(), "1", username).find(Xjjh.class);
+ if (dbxjjh.size() == 0) {
+ xjjh.setUsername(username);
+ xjjh.save();
+ }
+ }
+ //刷新计划下载界面
+ Intent intent = new Intent(Contans.ACTION_REFRESHPLANDOWNLOAD);
+ //发送广播,刷新任务下载页面
+ sendBroadcast(intent);
+ }
+ }
+ }
+ }
+
+ @Override
+ public void onFailed(int what, Response response) {
+
+ }
+ });
+ }
+
//获取运行专业数据
private void getProfessionData() {
final Request requestxs = NoHttp.createStringRequest(Contans.IP + Contans.XSCB, RequestMethod.POST);
@@ -310,4 +379,79 @@ public class XscbglActivity extends BaseActivity {
super.onDestroy();
unregisterReceiver(myReceiver);
}
+
+ //保安计划下载
+ private void downDataBA(String zxid) {
+ Request request = NoHttp.createStringRequest(Contans.IP + Contans.XSCB_PLAN_BA_DOWNLOAD, RequestMethod.POST);
+ request.setDefineRequestBodyForJson(createZyJsonBA(zxid));
+
+ String tokenTemp = (String) SPUtils.get(this, Contans.LOGIN_TOKEN, "");
+ if (!TextUtils.isEmpty(tokenTemp)) {
+ String token = RSAUtils.decryptBASE64StrLocal(tokenTemp);
+ ;
+ String credential = "Bearer " + token;
+ request.addHeader("Authorization", credential);
+ showLog(request.url());
+ //showLog(credential);
+ //showLog(new Gson().toJson(request.headers()));
+ }
+
+ queue.add(2, request, new OnResponseListener() {
+ @Override
+ public void onStart(int what) {}
+
+ @Override
+ public void onSucceed(int what, Response response) {
+ String result = response.get();
+ showLog(result);
+ try {
+ if (what == 2) {
+ XSJJHXZBean xsjjhxzBean = GsonUtils.GsonToBean(result, XSJJHXZBean.class);
+ if (xsjjhxzBean != null && xsjjhxzBean.getState() == 1) {
+ List xsjjhxzDataBeanList = xsjjhxzBean.getData();
+ ContentValues values = new ContentValues();
+ values.put("download", 1);
+ if (xsjjhxzDataBeanList != null && xsjjhxzDataBeanList.size() > 0) {
+ DataSupport.updateAll(Xjjh.class, values, "zxid = ? and mk = ? and username = ?", xsjjhxzDataBeanList.get(0).getZxid(), type, username);
+ }
+ int dataCount = DataSupport.count(XSJJHXZDataBean.class);
+ //序号
+ int index = dataCount;
+ for (int i = 0; i < xsjjhxzDataBeanList.size(); i++) {
+ xsjjhxzDataBeanList.get(i).setSN(++index);
+ xsjjhxzDataBeanList.get(i).setUsername(username);
+ }
+ DataSupport.saveAll(xsjjhxzDataBeanList);
+ } else {
+ showToast(UiUtlis.getString(context, R.string.data_error));
+ }
+ }
+ } catch (Exception e) {
+ showLog(UiUtlis.getString(context, R.string.data_error));
+ }
+ }
+
+ @Override
+ public void onFailed(int what, Response response) {
+
+ }
+
+ @Override
+ public void onFinish(int what) {
+
+ }
+ });
+ }
+
+ private String createZyJsonBA(String zxid) {
+ String idTemp = (String) SPUtils.get(context, Contans.REQUEST_ID, "");
+ String id = RSAUtils.decryptBASE64StrLocal(idTemp);
+ XsRequestInfo info = new XsRequestInfo();
+ info.setAction("BA_XJGL_RWXZ_GET");
+ info.setZxid(zxid);
+ info.setId(id);
+ String json = GsonUtils.GsonString(info);
+ showLog(json);
+ return json;
+ }
}
diff --git a/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/XzxsjhFragment.java b/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/XzxsjhFragment.java
index 03691d8..86cbb26 100755
--- a/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/XzxsjhFragment.java
+++ b/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/activity/sbxj/XzxsjhFragment.java
@@ -324,9 +324,9 @@ public class XzxsjhFragment extends BaseFragment {
String token = RSAUtils.decryptBASE64StrLocal(tokenTemp);;
String credential = "Bearer " + token;
request.addHeader("Authorization", credential);
-// Log.i("app", request.url());
-// Log.i("app", credential);
-// Log.i("app",new Gson().toJson(request.headers()));
+ showLog(request.url());
+ //showLog(credential);
+ //showLog(new Gson().toJson(request.headers()));
}
queue.add(2, request, new HttpResponseListener<>(getActivity(), request, callbackBA, false, false, ""));
diff --git a/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/contans/Contans.java b/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/contans/Contans.java
index 6d1358d..779d4a1 100755
--- a/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/contans/Contans.java
+++ b/ZJYXDXJ/app/src/main/java/com/bjzc/zjyxdxj/contans/Contans.java
@@ -116,6 +116,7 @@ public class Contans {
public static final String ACTION_YULONE = "actionYulOne";
public static final String ACTION_YULTWO = "actionYulTwo";
public static final String ACTION_REFRESHPLANDOWNLOAD = "refreshPlanDownload";
+ public static final String ACTION_DELETE_REFRESHPLANDOWNLOAD = "action_delete_refreshplandownload";
public static final String ACTION_REFRESHPLANUPLOAD = "refreshPlanUpload";
public static final String ACTION_REFRESHDOWNLOADPLAN = "refreshDownloadPlan";
public static final String ACTION_PROFESSIONCHANGE = "professionChange";