自动上传

master
hwf453 2 years ago
parent 5eacc10b58
commit f42b8ba91d

@ -23,8 +23,10 @@
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
tools:ignore="ScopedStorage" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
tools:ignore="ScopedStorage" />
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.NFC" />
@ -53,6 +55,10 @@
<uses-feature
android:name="android.hardware.nfc"
android:required="true" />
<uses-feature
android:name="android.hardware.telephony"
android:required="false" />
<permission-group android:name="${applicationId}.andpermission"/>

@ -27,9 +27,8 @@
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="32" />
tools:ignore="ScopedStorage" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="32"
tools:ignore="ScopedStorage" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />

@ -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");
}

@ -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<GridViewBean> beanList = new ArrayList<>();
private GridViewAdapter adapter;
//自动上传
private List<Xjjh> 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<XSJJHXZDataBean> 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<XSJJHXZDataBean> 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<ScxjjhBean.data> 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<String> 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<String>() {
@Override
public void onStart(int what) {}
@Override
public void onSucceed(int what, Response<String> 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<String> response) {
}
@Override
public void onFinish(int what) {
}
});
}
//检查是否需要删除计划
private void checkNeedDeletePlan(String zxid){
List<XSJJHXZDataBean> 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<String> requestxs = NoHttp.createStringRequest(Contans.IP + Contans.BAXJ, RequestMethod.POST);
requestxs.setDefineRequestBodyForJson(createJsonBA());
NoProgresshttpUtils.getInstance().add(this, 0, requestxs, new HttpListener<String>() {
@Override
public void onSucceed(int what, Response<String> response) {
String result = response.get();
showLog("----------------");
showLog(result);
XjjhList list = GsonToBean(result, XjjhList.class);
if (list != null) {
if (list.getState().equals("1")) {
List<Xjjh> 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<Xjjh> 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<String> response) {
}
});
}
}

@ -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;

@ -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<String> 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<String>() {

@ -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);
}
}

@ -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<String> 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<Xjjh> xjjhs = list.getData();//服务器数据
DataSupport.deleteAll(Xjjh.class, "download = 0 and username = ?", username);
for (Xjjh xjjh : xjjhs) {
List<Xjjh> 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<String> 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<String>() {
@Override
public void onSucceed(int what, Response<String> 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<Xjjh> xjjhs = list.getData();//服务器数据
if(xjjhs!=null&&xjjhs.size()>0){
DataSupport.deleteAll(Xjjh.class, "username = ?", username);
for (Xjjh xjjh : xjjhs) {
List<Xjjh> 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<String> response) {
}
});
}
//获取运行专业数据
private void getProfessionData() {
final Request<String> 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<String> 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<String>() {
@Override
public void onStart(int what) {}
@Override
public void onSucceed(int what, Response<String> 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<XSJJHXZDataBean> 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<String> 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;
}
}

@ -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, ""));

@ -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";

Loading…
Cancel
Save