package com.jqyd.shareInterface;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.UUID;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.jqyd.app.ShareMethod;
import com.jqyd.app.UpMyFile;
import com.jqyd.manager.Login;
import com.jqyd.model.GroupsModule;
import com.jqyd.model.RecordModel;
import com.jqyd.son.PicMoreDetail;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Looper;
import android.os.Message;
import android.util.Log;
public class ConnectStateReceiver extends BroadcastReceiver{
private static final String ACTION = "com.jqyd.manager.connectStateReceiver";
private Context context;
private Optsharepre_interface share_obj = null;
private ArrayList<HashMap<String,String>> dataList = null;
private Optdb_interfce db = null;
private ArrayList<RecordModel> qdqtList = null;
private ArrayList<RecordModel> xxfkList = null;
private ArrayList<RecordModel> wzsbList = null;
private ArrayList<RecordModel> khzfAndhfList = null;
private ArrayList<RecordModel> khcjAndbfList = null;
private ArrayList<RecordModel> scjcList = null;
private ArrayList<RecordModel> lxsbList = null;
CheckState_interface checkObj =null;
int num=5;
private DataUploadThread dataUploadThread= null;
private ShareMethod shareMethd = null;
@Override
public void onReceive(Context con, Intent intent) {
context=con;
share_obj = new Optsharepre_interface(context);
checkObj = new CheckState_interface(context);
shareMethd = new ShareMethod(context);
shareMethd.recordNetState("判断网络状态时间到了");
Log.e("重传onReceive","onReceive");
if (intent.getAction().equals(ACTION)) {
//首先判断本地网络是否通
if(checkObj.checkConnection()){
shareMethd.recordNetState("----心跳线程开始");
//网络通的话,同服务器交互
new IQThread(context).start();
}
}
}
/*
* 心跳线程
*/
class IQThread extends Thread{
private Context context;
public IQThread(Context cont) {
this.context=cont;
}
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
Looper.prepare();
JSONObject object = new JSONObject();
try {
object.put("iq", "iq");
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// 请求服务器
String result = new UpdataToServer(context).dataToServer("IQ", object);
if (result != null && !result.equals("-1") && !result.equals("500")) {
try {
JSONObject obj = new JSONObject(result);
String res = obj.getString("return");
//System.out.println("查询数据重传数据");
loadData();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else if(result.equals("-1")){
//网络连接失败!
shareMethd.recordNetState("心跳线程----网络连接失败!");
} else if(result.equals("500")){
//服务器连接不上
shareMethd.recordNetState("心跳线程----服务器连接不上!");
}
shareMethd.recordNetState("----心跳线程结束");
Looper.loop();
}
}
/**
* 初始化数据
*/
public void loadData(){
dataList = new ArrayList<HashMap<String,String>>();
qdqtList = new ArrayList<RecordModel>();
xxfkList = new ArrayList<RecordModel>();
wzsbList = new ArrayList<RecordModel>();
khzfAndhfList = new ArrayList<RecordModel>();
khcjAndbfList = new ArrayList<RecordModel>();
scjcList = new ArrayList<RecordModel>();
lxsbList = new ArrayList<RecordModel>();
db = new Optdb_interfce(context);
ArrayList<Object> list = null;
try{
list = db.getRecordInfo(0);
db.close_SqlDb();
}catch(Exception e){
e.printStackTrace();
}
HashMap<String,String> map = null;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if(list != null && list.size()>0){
for(int i=0;i<list.size();i++){
map = new HashMap<String, String>();
RecordModel record = (RecordModel) list.get(i);
int brand = 0;
String title = "";
String optime = "";
try {
brand = Integer.parseInt(record.getGid());
title = "";
optime = dateFormat.format(new Date(Long.parseLong(record.getAdd_time())));
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("数据格式转化出现异常");
}
switch(brand){
case 1:
title = "签到";
qdqtList.add(record);
break;
case 2:
title = "签退";
qdqtList.add(record);
break;
case 3:
title = "信息反馈";
xxfkList.add(record);
break;
case 4:
title = "客户走访";
khzfAndhfList.add(record);
break;
case 5:
title = "陌生拜访";
khcjAndbfList.add(record);
break;
case 6:
title = "二次回访";
khzfAndhfList.add(record);
break;
case 7:
title = "市场检查";
scjcList.add(record);
break;
case 8:
title = "客户采集";
khcjAndbfList.add(record);
break;
case 9:
title = "位置上报";
wzsbList.add(record);
break;
case 999:
title = "定时上报";
lxsbList.add(record);
break;
}
map.put("textView1", title);
map.put("textView2", optime);
dataList.add(map);
}
}
if(dataList != null && dataList.size()>0){
if (dataUploadThread == null ||!dataUploadThread.isAlive()) {
//线程没开,或者关闭之后才新建
dataUploadThread=new DataUploadThread();
dataUploadThread.start();
}
}
}
/**
* 数据上传线程
* @author Administrator
*
*/
class DataUploadThread extends Thread {
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
Looper.prepare();
Bundle bundle = new Bundle();
String result = "";
String qdqt = "-1",xxfk = "-1",khzfAndhf = "-1",khcjAndbf = "-1",scjc = "-1",wzsb = "-1",lxsb = "-1";
// 请求服务器
if(qdqtList.size()>0){
qdqt = upLoadkqxx();
}
if(xxfkList.size()>0){
xxfk = upLoadfkxx();
}
if(khzfAndhfList.size()>0){
khzfAndhf = upLoadzfxx();
}
if(khcjAndbfList.size()>0){
khcjAndbf = upLoadcjxx();
}
if(scjcList.size()>0){
scjc = upLoadjcxx();
}
if(wzsbList.size()>0){
wzsb = upLoadwzxx();
}
if(lxsbList.size()>0){
lxsb = upLoadlxsb();
}
if(qdqt.equals("0") || xxfk.equals("0") || khzfAndhf.equals("0") || khcjAndbf.equals("0") || scjc.equals("0")
|| wzsb.equals("0")|| lxsb.equals("0")){
result = "0";
}
if (result != null && result.equals("0")) {
bundle.putString("msg", "数据上传成功!");
}else{
bundle.putString("msg", "上报失败,请稍后重试!");
}
Looper.loop();
}
}
//上传上班签到/签退信息
public String upLoadkqxx(){
String result = "";
JSONObject object = new JSONObject();
Optsharepre_interface shareFile = new Optsharepre_interface(context);
db = new Optdb_interfce(context);
//获得所属分组和分组id等信息
ArrayList<Object> group_list = db.searchGroups(shareFile.getDataFromPres("GID"), 2);
GroupsModule group = (GroupsModule) group_list.get(0);
String groupName = group.getGname();
UpdataToServer server = new UpdataToServer(context);
shareMethd.recordNetState("-------上传的签到、签退信息数量:"+qdqtList.size());
for(int i=0;i<qdqtList.size()&&i<num;i++){
RecordModel record = qdqtList.get(i);
try {
object.put("cosim", shareFile.getDataFromPres("COSIM"));
object.put("regsim", shareFile.getDataFromPres("REGSIM"));
object.put("gguid", shareFile.getDataFromPres("GGUID"));
object.put("zguid", shareFile.getDataFromPres("GUID"));
object.put("custid", record.getCustid());
object.put("time", Long.parseLong(record.getAdd_time()));
object.put("lon", Double.parseDouble(record.getLon()));
object.put("lat", Double.parseDouble(record.getLat()));
object.put("cell_id", record.getCid());
object.put("lac_code", record.getLac());
object.put("country_code", record.getCcode());
object.put("ncode", record.getNcode());
object.put("signal_strength", record.getXhqd());
object.put("loc_method", record.getWzbs());
object.put("radius", record.getRaduis());
object.put("yys", record.getJclb());
object.put("type", Integer.parseInt(record.getGid()));
object.put("result", Integer.parseInt(record.getResult()));
object.put("kqflag", shareFile.getDataFromPres("KQFLAG"));
object.put("isnormal", record.getRemark1());
object.put("kqaddr", record.getContent());
object.put("bz", record.getBz());
object.put("gid", shareFile.getDataFromPres("GID"));
object.put("group_name", groupName);
object.put("khmc", record.getRemark2());
object.put("tag", 0);//0表示后台非实时上传
System.out.println("考勤---------"+object.toString());
// 请求服务器
result = server.dataToServer("KQSB", object);
shareMethd.recordNetState("上班签到、签退信息 :"+i+"结果:"+result);
if(result != null && !result.equals("-1") && !result.equals("500")){
JSONObject obj = new JSONObject(result);
String res = obj.getString("result");
if(res.equals("0")){//成功,删除终端数据库表中当条数据
if(db == null || !db.isOpen()){
db = new Optdb_interfce(context);
}
db.delRecordByIds(record.getId());
result = "0";
}
}
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
db.close_SqlDb();
return result;
}
//上传反馈信息
public String upLoadfkxx(){
String result = "";
JSONObject object = new JSONObject();
Optsharepre_interface shareFile = new Optsharepre_interface(context);
UpdataToServer server = new UpdataToServer(context);
Bundle bundle = new Bundle();
shareMethd.recordNetState("-------上传的信息反馈信息数量:"+xxfkList.size());
for(int i=0;i<xxfkList.size()&&i<num;i++){
RecordModel record = xxfkList.get(i);
shareMethd.recordNetState("图片信息*******************"+record.getPic_url()+","+record.getPic_detail());
if(record.getPic_url() != null && !record.getPic_url().equals("")){//带有图片信息的数据上传
UpMyFile file = new UpMyFile(context);
bundle.putString("gguid", shareFile.getDataFromPres("GGUID"));
bundle.putString("zguid", shareFile.getDataFromPres("GUID"));
bundle.putString("cosim", shareFile.getDataFromPres("COSIM"));
bundle.putString("regsim", shareFile.getDataFromPres("REGSIM"));
bundle.putString("xxbt", record.getRemark2());
bundle.putString("xxnr", record.getContent());
bundle.putString("xxcjlb", record.getXxcjlb());
bundle.putString("pic_detail", record.getPic_detail());
//bundle.putString("imagePath", record.getPic_url());
bundle.putString("time", record.getAdd_time());
bundle.putString("guid", shareFile.getDataFromPres("GUID"));
bundle.putString("zdmc", shareFile.getDataFromPres("username"));
bundle.putString("country_code", record.getCcode());
bundle.putString("cell_id", record.getCid());
bundle.putString("lac_code", record.getLac());
bundle.putString("time", String.valueOf(record.getAdd_time()));
bundle.putString("ncode", record.getNcode());
if(record.getXhqd().trim().equals("")){
bundle.putString("signal_strength", "0");
}else{
bundle.putString("signal_strength", record.getXhqd());
}
bundle.putString("yys", record.getBz());
bundle.putString("lon",record.getLon());
bundle.putString("lat", record.getLat());
bundle.putString("radius", record.getRaduis());
bundle.putString("loc_method", record.getWzbs());
String[] paths = record.getRemark5().split(";");
String relationid = UUID.randomUUID().toString();
bundle.putString("relationid", relationid);
for(int n=1 ; n<paths.length;n++){
File uploadFile = new File(paths[n]);
UpMyFile upfile = new UpMyFile(context);
bundle.putString("imagePath", paths[n]);
result = upfile.upToServer(bundle,"xxfk");
// 上传成功
if (result != null && result.equals("0")) {
result="0";
} else {
result="1";
break;
}
}
//result = file.upToServer(bundle, "xxfk");
shareMethd.recordNetState("信息反馈带有图片上传 :"+i+"结果:"+result);
if(result.equals("0")){//成功,删除终端数据库表中当条数据
if(db == null || !db.isOpen()){
db = new Optdb_interfce(context);
}
db.delRecordByIds(record.getId());
result = "0";
}
}else{//纯文字信息的数据上传
try {
object.put("guid", shareFile.getDataFromPres("GUID"));
object.put("zdmc", shareFile.getDataFromPres("username"));
object.put("cosim", shareFile.getDataFromPres("COSIM"));
object.put("regsim", shareFile.getDataFromPres("REGSIM"));
object.put("zguid", shareFile.getDataFromPres("GUID"));
object.put("gguid", shareFile.getDataFromPres("GGUID"));
object.put("xxcjlb", record.getXxcjlb());
object.put("xxbt", record.getRemark2());
object.put("xxnr", record.getContent());
object.put("time", Long.parseLong(record.getAdd_time()) );
object.put("cell_id", record.getCid());
object.put("lac_code", record.getLac());
object.put("country_code", record.getCcode());
object.put("ncode", record.getNcode());
object.put("signal_strength", record.getXhqd());
object.put("yys", record.getBz());
object.put("lon",Double.parseDouble(record.getLon()) );
object.put("lat", Double.parseDouble(record.getLat()));
object.put("radius", record.getRaduis());
object.put("loc_method", Integer.parseInt(record.getWzbs()) );
// 请求服务器
result = server.dataToServer("XXFK", object);
shareMethd.recordNetState("信息反馈纯文字上传 :"+i+"结果:"+result);
if(result != null && !result.equals("-1") && !result.equals("500")){
JSONObject obj = new JSONObject(result);
String res = obj.getString("result");
if(res.equals("0")){//成功,删除终端数据库表中当条数据
if(db == null || !db.isOpen()){
db = new Optdb_interfce(context);
}
db.delRecordByIds(record.getId());
result = "0";
}
}
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return result;
}
//上传客户采集及陌生拜访信息
public String upLoadcjxx(){
String result = "";
JSONObject object = new JSONObject();
Optsharepre_interface shareFile = new Optsharepre_interface(context);
Bundle bundle = new Bundle();
shareMethd.recordNetState("-------上传的客户采集及陌生拜访信息数量:"+khcjAndbfList.size());
for(int i=0;i<khcjAndbfList.size()&&i<num;i++){
RecordModel record = khcjAndbfList.get(i);
if(record.getPic_url() != null && !record.getPic_url().equals("")){//带有图片信息的数据上传
UpMyFile file = new UpMyFile(context);
bundle.putString("gguid", shareFile.getDataFromPres("GGUID"));
bundle.putString("guid", shareFile.getDataFromPres("GUID"));
bundle.putString("cosim", shareFile.getDataFromPres("COSIM"));
bundle.putString("regsim", shareFile.getDataFromPres("REGSIM"));
bundle.putString("pic_detail", record.getPic_detail());
bundle.putString("imagePath", record.getPic_url());
bundle.putString("cid", record.getCustid());
bundle.putString("time", record.getAdd_time());
bundle.putString("lon", record.getLon());
bundle.putString("lat", record.getLat());
bundle.putString("cell_id", record.getCid());
bundle.putString("lac_code", record.getLac());
bundle.putString("country_code", record.getCcode());
bundle.putString("ncode", record.getNcode());
bundle.putString("signal_strength", record.getXhqd());
bundle.putString("radius", record.getRaduis());
bundle.putString("yys", record.getJclb());
bundle.putString("cname", record.getRemark1());
bundle.putString("sjhm", record.getRemark3());
bundle.putString("linkman", record.getRemark2());
bundle.putString("link_sim", record.getRemark4());
bundle.putString("address", record.getContent());
if(record.getGid().equals("8")){
bundle.putString("bz", record.getBz());
bundle.putString("kh_belong", "1");
result = file.upToServer(bundle, "khcj");
shareMethd.recordNetState("客户采集(包括图片)信息 :"+i+"结果:"+result);
}else{
bundle.putString("content", record.getBz());
bundle.putString("kh_belong", "2");
bundle.putString("jhid", record.getXxcjlb());
result = file.upToServer(bundle, "msbf");
shareMethd.recordNetState("陌生拜访(包括图片)信息 :"+i+"结果:"+result);
}
if(result.equals("0")){//成功,删除终端数据库表中当条数据
if(db == null || !db.isOpen()){
db = new Optdb_interfce(context);
}
db.delRecordByIds(record.getId());
result = "0";
}
}else{//纯文字信息的数据上传
try {
object.put("gguid", shareFile.getDataFromPres("GGUID"));
object.put("guid", shareFile.getDataFromPres("GUID"));
object.put("cosim", shareFile.getDataFromPres("COSIM"));
object.put("regsim", shareFile.getDataFromPres("REGSIM"));
object.put("cname", record.getRemark1());
object.put("sjhm", record.getRemark3());
object.put("linkman", record.getRemark2());
object.put("link_sim", record.getRemark4());
object.put("address", record.getContent());
object.put("cid", record.getCustid());
object.put("time", Long.parseLong(record.getAdd_time()));
object.put("lon", Double.parseDouble(record.getLon()));
object.put("lat", Double.parseDouble(record.getLat()));
object.put("cell_id", record.getCid());
object.put("lac_code", record.getLac());
object.put("country_code", record.getCcode());
object.put("ncode", record.getNcode());
object.put("signal_strength", record.getXhqd());
object.put("yys", record.getJclb());
object.put("radius", record.getRaduis());
object.put("jhid", record.getXxcjlb());
System.out.println("客户采集/陌生拜访---------"+object.toString());
UpdataToServer server = new UpdataToServer(context);
// 请求服务器
if(record.getGid().equals("8")){
try {
object.put("bz", record.getBz());
object.put("kh_belong", "1");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
result = server.dataToServer("KHCJ", object);
shareMethd.recordNetState("客户采集(纯文字)信息 :"+i+"结果:"+result);
}else{
try {
object.put("content", record.getBz());
object.put("kh_belong", "2");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
result = server.dataToServer("MSBF", object);
shareMethd.recordNetState("陌生拜访(纯文字)信息 :"+i+"结果:"+result);
}
if(result != null && !result.equals("-1") && !result.equals("500")){
JSONObject obj = new JSONObject(result);
String res = obj.getString("result");
if(res.equals("0")){//成功,删除终端数据库表中当条数据
if(db == null || !db.isOpen()){
db = new Optdb_interfce(context);
}
db.delRecordByIds(record.getId());
result = "0";
}
}
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return result;
}
//上传客户走访及二次回访信息
public String upLoadzfxx(){
String result = "";
JSONObject object = new JSONObject();
Optsharepre_interface shareFile = new Optsharepre_interface(context);
UpdataToServer server = new UpdataToServer(context);
db = new Optdb_interfce(context);
//获得登录者姓名
String userName = db.searchEmpName(shareFile.getDataFromPres("GUID"));
Bundle bundle = new Bundle();
shareMethd.recordNetState("-------上传的上传客户走访及二次回访信息数量:"+khzfAndhfList.size());
for(int i=0;i<khzfAndhfList.size()&&i<num;i++){
RecordModel record = khzfAndhfList.get(i);
if(record.getPic_url() != null && !record.getPic_url().equals("")){//带有图片信息的数据上传
UpMyFile file = new UpMyFile(context);
bundle.putString("gguid", shareFile.getDataFromPres("GGUID"));
bundle.putString("guid", shareFile.getDataFromPres("GUID"));
bundle.putString("cosim", shareFile.getDataFromPres("COSIM"));
bundle.putString("regsim", shareFile.getDataFromPres("REGSIM"));
bundle.putString("pic_detail", record.getPic_detail());
bundle.putString("imagePath", record.getPic_url());
bundle.putString("cid", record.getCustid());
bundle.putString("time", record.getAdd_time());
bundle.putString("lon", record.getLon());
bundle.putString("lat", record.getLat());
bundle.putString("cell_id", record.getCid());
bundle.putString("lac_code", record.getLac());
bundle.putString("country_code", record.getCcode());
bundle.putString("ncode", record.getNcode());
bundle.putString("signal_strength", record.getXhqd());
bundle.putString("radius", record.getRaduis());
bundle.putString("yys", record.getJclb());
bundle.putString("loc_method", record.getWzbs());
bundle.putString("cname", record.getRemark2());
bundle.putString("zdmc", userName);
bundle.putString("isfirst", record.getResult());
bundle.putString("content", record.getContent());
bundle.putString("jhid", record.getXxcjlb());
if(record.getGid().equals("5")){
bundle.putString("type", "1");
}else{
bundle.putString("type", "2");
}
result = file.upToServer(bundle, "khbf");
shareMethd.recordNetState("客户拜访(包括图片)信息 :"+i+"结果:"+result);
if(result.equals("0")){//成功,删除终端数据库表中当条数据
if(db == null || !db.isOpen()){
db = new Optdb_interfce(context);
}
db.delRecordByIds(record.getId());
//判断是初次拜访还是结束拜访
if(record.getResult().equals("1")){//开始拜访
db.updateBfRecord("add",record.getCustid(),record.getContent());
}else if(record.getResult().equals("2")){//结束拜访
db.updateBfRecord("delete",record.getCustid(),"");
}
result = "0";
}
}else{//纯文字信息的数据上传
try {
object.put("cosim", shareFile.getDataFromPres("COSIM"));
object.put("regsim", shareFile.getDataFromPres("REGSIM"));
object.put("gguid", shareFile.getDataFromPres("GGUID"));
object.put("guid", shareFile.getDataFromPres("GUID"));
object.put("cid", record.getCustid());
object.put("time", Long.parseLong(record.getAdd_time()));
object.put("lon", Double.parseDouble(record.getLon()));
object.put("lat", record.getLat());
object.put("cell_id", record.getCid());
object.put("lac_code", record.getLac());
object.put("country_code", record.getCcode());
object.put("ncode", record.getNcode());
object.put("signal_strength", record.getXhqd());
object.put("loc_method", record.getWzbs());
object.put("radius", record.getRaduis());
object.put("yys", record.getJclb());
object.put("isfirst", record.getResult());
object.put("content", record.getContent());
object.put("cname", record.getRemark2());
object.put("zdmc", userName);
object.put("jhid", record.getXxcjlb());
if(record.getGid().equals("5")){
object.put("type", "1");
}else{
object.put("type", "2");
}
System.out.println("客户走访/二次回访---------"+object.toString());
// 请求服务器
result = server.dataToServer("KHZF", object);;
shareMethd.recordNetState("客户拜访(纯文字)信息 :"+i+"结果:"+result);
if(result != null && !result.equals("-1") && !result.equals("500")){
JSONObject obj = new JSONObject(result);
String res = obj.getString("result");
if(res.equals("0")){//成功,删除终端数据库表中当条数据
if(db == null || !db.isOpen()){
db = new Optdb_interfce(context);
}
db.delRecordByIds(record.getId());
result = "0";
}
}
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
db.close_SqlDb();
return result;
}
//上传市场检查信息
public String upLoadjcxx(){
String result = "";
JSONObject object = new JSONObject();
Optsharepre_interface shareFile = new Optsharepre_interface(context);
UpdataToServer server = new UpdataToServer(context);
db = new Optdb_interfce(context);
//获得登录者姓名
String userName = db.searchEmpName(shareFile.getDataFromPres("GUID"));
Bundle bundle = new Bundle();
shareMethd.recordNetState("-------上传的市场检查信息数量:"+scjcList.size());
for(int i=0;i<scjcList.size()&&i<num;i++){
RecordModel record = scjcList.get(i);
if(record.getPic_url() != null && !record.getPic_url().equals("")){//带有图片信息的数据上传
UpMyFile file = new UpMyFile(context);
bundle.putString("gguid", shareFile.getDataFromPres("GGUID"));
bundle.putString("guid", shareFile.getDataFromPres("GUID"));
bundle.putString("cosim", shareFile.getDataFromPres("COSIM"));
bundle.putString("regsim", shareFile.getDataFromPres("REGSIM"));
bundle.putString("pic_detail", record.getPic_detail());
bundle.putString("imagePath", record.getPic_url());
bundle.putString("cid", record.getCustid());
bundle.putString("time", record.getAdd_time());
bundle.putString("lon", record.getLon());
bundle.putString("lat", record.getLat());
bundle.putString("cell_id", record.getCid());
bundle.putString("lac_code", record.getLac());
bundle.putString("country_code", record.getCcode());
bundle.putString("ncode", record.getNcode());
bundle.putString("signal_strength", record.getXhqd());
bundle.putString("radius", record.getRaduis());
bundle.putString("yys", record.getRemark3());
bundle.putString("loc_method", record.getWzbs());
bundle.putString("cname", record.getRemark2());
bundle.putString("zdmc", userName);
bundle.putString("zfpf", record.getRemark1());
bundle.putString("content", record.getContent());
bundle.putString("jhid", record.getXxcjlb());
bundle.putString("jclb", record.getJclb());
bundle.putString("imagecode", record.getRemark4());
result = file.upToServer(bundle, "scjc");
shareMethd.recordNetState("市场检查(带图片)信息 :"+i+"结果:"+result);
if(result.equals("0")){//成功,删除终端数据库表中当条数据
if(db == null || !db.isOpen()){
db = new Optdb_interfce(context);
}
db.delRecordByIds(record.getId());
result = "0";
}
}else{//纯文字信息的数据上传
try {
object.put("cosim", shareFile.getDataFromPres("COSIM"));
object.put("regsim", shareFile.getDataFromPres("REGSIM"));
object.put("gguid", shareFile.getDataFromPres("GGUID"));
object.put("guid", shareFile.getDataFromPres("GUID"));
object.put("cid", record.getCustid());
object.put("time", Long.parseLong(record.getAdd_time()));
object.put("lon", Double.parseDouble(record.getLon()));
object.put("lat", record.getLat());
object.put("cell_id", record.getCid());
object.put("lac_code", record.getLac());
object.put("country_code", record.getCcode());
object.put("ncode", record.getNcode());
object.put("signal_strength", record.getXhqd());
object.put("loc_method", record.getWzbs());
object.put("radius", record.getRaduis());
object.put("yys", record.getResult());
object.put("cname", record.getRemark2());
object.put("zdmc", userName);
object.put("content", record.getContent());
object.put("zhpf", record.getRemark1());
object.put("jclb", record.getJclb());
object.put("jhid", record.getXxcjlb());
System.out.println("市场检查---------"+object.toString());
// 请求服务器
result = server.dataToServer("SCJC", object);;
shareMethd.recordNetState("市场检查(纯文字)信息 :"+i+"结果:"+result);
if(result != null && !result.equals("-1") && !result.equals("500")){
JSONObject obj = new JSONObject(result);
String res = obj.getString("result");
if(res.equals("0")){//成功,删除终端数据库表中当条数据
if(db == null || !db.isOpen()){
db = new Optdb_interfce(context);
}
db.delRecordByIds(record.getId());
result = "0";
}
}
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
db.close_SqlDb();
return result;
}
//上传位置上报信息
public String upLoadwzxx(){
String result = "";
JSONObject object = new JSONObject();
Optsharepre_interface shareFile = new Optsharepre_interface(context);
UpdataToServer server = new UpdataToServer(context);
db = new Optdb_interfce(context);
//获得登录者姓名
String userName = db.searchEmpName(shareFile.getDataFromPres("GUID"));
shareMethd.recordNetState("-------上传的位置上报数量:"+wzsbList.size());
for(int i=0;i<wzsbList.size()&&i<num;i++){
RecordModel record = wzsbList.get(i);
try {
object.put("cosim", shareFile.getDataFromPres("COSIM"));
object.put("regsim", shareFile.getDataFromPres("REGSIM"));
object.put("gguid", shareFile.getDataFromPres("GGUID"));
object.put("guid", shareFile.getDataFromPres("GUID"));
object.put("time", Long.parseLong(record.getAdd_time()));
object.put("lon", Double.parseDouble(record.getLon()));
object.put("lat", record.getLat());
object.put("cell_id", record.getCid());
object.put("lac_code", record.getLac());
object.put("country_code", record.getCcode());
object.put("ncode", record.getNcode());
object.put("signal_strength", record.getXhqd());
object.put("loc_method", record.getWzbs());
object.put("radius", record.getRaduis());
object.put("zdmc", userName);
object.put("yys", record.getJclb());
System.out.println("位置上报---------"+object.toString());
// 请求服务器
result = server.dataToServer("WZSB", object);
shareMethd.recordNetState("位置上报信息 :"+i+"结果:"+result);
if(result != null && !result.equals("-1") && !result.equals("500")){
JSONObject obj = new JSONObject(result);
String res = obj.getString("result");
if(res.equals("0")){//成功,删除终端数据库表中当条数据
if(db == null || !db.isOpen()){
db = new Optdb_interfce(context);
}
db.delRecordByIds(record.getId());
result = "0";
}
}
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
db.close_SqlDb();
return result;
}
//上传定時上報信息
public String upLoadlxsb(){
String result = "";
Optsharepre_interface shareFile = new Optsharepre_interface(context);
UpdataToServer server = new UpdataToServer(context);
db = new Optdb_interfce(context);
//获得登录者姓名
//String userName = db.searchEmpName(shareFile.getDataFromPres("GUID"));
String userName = shareFile.getDataFromPres("username");
JSONObject jsonObject = new JSONObject();
JSONArray jsonArr = new JSONArray();
shareMethd.recordNetState("-------上传的连续上报信息数量:"+lxsbList.size());
for(int i=0;i<lxsbList.size()&&i<num;i++){
RecordModel record = lxsbList.get(i);
JSONObject hisObject=null;
try {
long timeTemp = 0;
double lonTemp = 0.0;
double latTemp = 0.0;
int wzbsTemp = -1;
try {
timeTemp = Long.valueOf(record.getAdd_time()).longValue();
lonTemp = Double.valueOf(record.getLon()).doubleValue();
latTemp = Double.valueOf(record.getLat()).doubleValue();
wzbsTemp = Integer.valueOf(record.getWzbs()).intValue();
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
hisObject = new JSONObject();
hisObject.put("cosim", shareFile.getDataFromPres("COSIM"));
hisObject.put("regsim", shareFile.getDataFromPres("REGSIM"));
hisObject.put("time", timeTemp);
hisObject.put("lon", lonTemp);
hisObject.put("lat", latTemp);
hisObject.put("cell_id", record.getCid());
hisObject.put("lac_code", record.getLac());
hisObject.put("country_code", record.getCcode());
hisObject.put("ncode", record.getNcode());
hisObject.put("signal_strength", record.getXhqd());
hisObject.put("loc_method", wzbsTemp);
hisObject.put("radius", record.getRaduis());
hisObject.put("gguid", shareFile.getDataFromPres("GGUID"));
hisObject.put("guid", shareFile.getDataFromPres("GUID"));
hisObject.put("zdmc", userName);
hisObject.put("yys", record.getBz());//备注用来存放运营商字段值
hisObject.put("jiange", record.getJiange());
hisObject.put("netstate", record.getRemark1());
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
hisObject=null;
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
hisObject=null;
}
//json为空的话,就继续下一个
if(hisObject==null){
continue;
}
jsonArr.put(hisObject);//放入JSONArray数组中
}
if(jsonArr.isNull(0)){
//假如第一个是空的,说明这个json数组里面都是空的,不用上传了
shareMethd.recordNetState("连续上报为空信息 :"+jsonArr.toString());
return "";
}
try {
jsonObject.put("recordList", jsonArr);
Log.e("上报信息recordList", jsonObject.toString());
result = server.dataToServer("LXSB", jsonObject);
shareMethd.recordNetState("连续上报信息结果:"+result);
if(result != null && !result.equals("-1") && !result.equals("500")){
JSONObject obj = new JSONObject(result);
JSONArray resultList=(JSONArray)obj.get("resultList");
for(int i=0;i<resultList.length();i++){
JSONObject obj_info = (JSONObject) resultList.get(i);
String res = obj_info.getString("result");
if(res.equals("0")){//成功,删除终端数据库表中当条数据
if(db == null || !db.isOpen()){
db = new Optdb_interfce(context);
}
db.delRecordByIds(lxsbList.get(i).getId());
result = "0";
}
}
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
db.close_SqlDb();
return result;
}
}