package cn.com.usky.iot.alarm.service;

import java.io.BufferedReader;
import java.sql.SQLException;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import cn.com.usky.iot.admin.dao.YtiotTAdminDao;
import cn.com.usky.iot.admin.dao.YtiotVUserCompanyDao;
import cn.com.usky.iot.admin.dao.YtiotVUserphoneDao;
import cn.com.usky.iot.alarm.dao.YtiotVAlarmDao;
import cn.com.usky.iot.entity.*;
import cn.com.usky.utils.DaoQuery;
import cn.com.usky.utils.HttpClientUtils;
import cn.com.usky.utils.MD5Util;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.DefaultHttpClient;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;

public class YtiotVAlarmServiceImpl implements YtiotVAlarmService {
	
	private HibernateTemplate hibernateTemplate;

	public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
	    this.hibernateTemplate = hibernateTemplate;
	}

	private YtiotVAlarmDao ytiotVAlarmDao;
	private YtiotVUserphoneDao ytiotVUserphoneDao;
	private YtiotTAdminDao ytiotTAdminDao;
	private YtiotVUserCompanyDao ytiotVUserCompanyDao;

	public YtiotVAlarmDao getYtiotVAlarmDao() {
		return ytiotVAlarmDao;
	}

	public void setYtiotVAlarmDao(YtiotVAlarmDao ytiotVAlarmDao) {
		this.ytiotVAlarmDao = ytiotVAlarmDao;
	}
	public YtiotVUserCompanyDao getYtiotVUserCompanyDao() {
		return ytiotVUserCompanyDao;
	}

	public void setYtiotVUserCompanyDao(YtiotVUserCompanyDao ytiotVUserCompanyDao) {
		this.ytiotVUserCompanyDao = ytiotVUserCompanyDao;
	}
	public YtiotVUserphoneDao getYtiotVUserphoneDao() {
		return ytiotVUserphoneDao;
	}

	public void setYtiotVUserphoneDao(YtiotVUserphoneDao ytiotVUserphoneDao) {
		this.ytiotVUserphoneDao = ytiotVUserphoneDao;
	}

	public YtiotTAdminDao getYtiotTAdminDao() {
		return ytiotTAdminDao;
	}

	public void setYtiotTAdminDao(YtiotTAdminDao ytiotTAdminDao) {
		this.ytiotTAdminDao = ytiotTAdminDao;
	}

	public boolean chk_string_param(String param) {
		if(param==null)
			return true;
		if(param.indexOf("=")>=0)
			return false;
		if(param.indexOf("\'")>=0)
			return false;
		if(param.indexOf("\"")>=0)
			return false;
		return true;
	}
	public String chkhw(String hqlwhere){
		if(hqlwhere==null)
			return " where ";
		else
			return hqlwhere+" and ";
	}
	public String fieldname(String name) {
		if(name.equals("company_code"))
			return "companyCode";
		if(name.equals("company_name"))
			return "companyName";
		if(name.equals("device_code"))
			return "deviuceCode";
		return name;
	}

	@Override
	public String getEFireVList(String queryJson, String page, String start, String limit, String sort) throws Exception {
		// TODO Auto-generated method stub
		String address = null;
		String clzt = null;
		String company_code = null;
		String company_code_list = null;
		String Company_Code_List = null;
		String company_name = null;
		String device_code = null;
		String device_code_list = null;
		String time_start = null;
		String time_end = null;
		String status = null;
		String COMMSTATUS = null;
		String V_LOGINNAME = null;
		String hqlwhere = null, hhwhere = null;
		String order = null;
		String dir = null;
		String Start = null;
		String Limit = null;
		String Page = null;
		String order_str = null;
		JSONObject q_json = null;
		JSONArray Sort = null;
		JSONArray jSONArray = new JSONArray();
		JSONObject json = new JSONObject();
		json.put("action", "getEFireVList");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			address = q_json.has("address")?q_json.getString("address"):null;
			clzt = q_json.has("clzt")?q_json.getString("clzt"):null;
			COMMSTATUS = q_json.has("COMMSTATUS")?q_json.getString("COMMSTATUS"):null;
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			if(q_json.has("company_code")) {
				if((q_json.optJSONObject("company_code")!=null)
						&&(q_json.optJSONObject("company_code").isArray())) {
					JSONArray j_tmp = q_json.getJSONArray("company_code");
					for(int i=0;i<j_tmp.size();i++) {
						String tmp = j_tmp.getString(i);
						if(i==0)
							company_code_list = tmp;
						else
							company_code_list += ","+tmp;
					}
				}else
					company_code = q_json.getString("company_code");
			}
//			company_name = q_json.has("company_name")?q_json.getString("company_name"):null;
			if(q_json.has("device_code")) {
				if((q_json.optJSONObject("device_code")!=null)
						&&(q_json.optJSONObject("device_code").isArray())){
					JSONArray j_tmp = q_json.getJSONArray("device_code");
					for(int i=0;i<j_tmp.size();i++) {
						String tmp = j_tmp.getString(i);
						if(i==0)
							device_code_list = tmp;
						else
							device_code_list += ","+tmp;
					}
				}else
					device_code = q_json.getString("device_code");
			}
			time_start = q_json.has("time_start")?q_json.getString("time_start"):null;
			time_end = q_json.has("time_end")?q_json.getString("time_end"):null;
		}
		if(V_LOGINNAME.equals("ypsgec")) {
			return json.toString();
		}else {
			if(sort!=null) {
				Sort = JSONArray.fromObject(sort);
				if((Sort.isArray())&&(Sort.size()>0)) {
					JSONObject s_json = Sort.getJSONObject(0);
					order = s_json.has("property")?s_json.getString("property"):order;
					dir = s_json.has("direction")?s_json.getString("direction"):dir;
				}
				json.put("sort", sort);
			}
			Start = start;
			Limit = limit;
			Page = page;
			if((V_LOGINNAME!=null)&&(company_code==null)&&(company_code_list==null)) {
				String where = " where u.id.agentid='"+V_LOGINNAME+"' ";
				List list = ytiotVUserCompanyDao.query(where, null, null, null, null);
				if(list.size()>0) {
					for(int i=0;i<list.size();i++) {
						YtiotVUsercompany o = (YtiotVUsercompany)list.get(i);
						YtiotVUsercompanyId oid = o.getId();
						if(i==0)
							Company_Code_List = oid.getOwnerCode();
						else
							Company_Code_List += ","+oid.getOwnerCode();
					}
				}
			}
			if(address!=null) {
				hqlwhere = chkhw(hqlwhere) + " address like '%"+address+"%' ";
				hhwhere = chkhw(hhwhere) + " u.id.address like '%"+address+"%' ";
			}
			if((clzt!=null)&&(clzt.length()>0)) {
				hqlwhere = chkhw(hqlwhere) + " clzt = "+clzt+" ";
				hhwhere = chkhw(hhwhere) + " u.id.clzt = "+clzt+" ";
			}
			if(Company_Code_List!=null) {
				hqlwhere = chkhw(hqlwhere) + " company_code in ("+Company_Code_List+") ";
				hhwhere = chkhw(hhwhere) + " u.id.companyCode in ("+Company_Code_List+") ";
			}else {
				if(company_code!=null) {
					hqlwhere = chkhw(hqlwhere) + " company_code = "+company_code+" ";
					hhwhere = chkhw(hhwhere) + " u.id.companyCode = "+company_code+" ";
				}
				if(company_code_list!=null) {
					hqlwhere = chkhw(hqlwhere) + " company_code in ("+company_code_list+") ";
					hhwhere = chkhw(hhwhere) + " u.id.companyCode in ("+company_code_list+") ";
				}
			}

			if(device_code!=null) {
				hqlwhere = chkhw(hqlwhere) + " device_code = "+device_code+" ";
				hhwhere = chkhw(hhwhere) + " u.id.deviceCode = "+device_code+" ";
			}
			if(device_code_list!=null) {
				hqlwhere = chkhw(hqlwhere) + " device_code in ("+device_code_list+") ";
				hhwhere = chkhw(hhwhere) + " u.id.deviceCode in ("+device_code_list+") ";
			}
			if(time_start!=null) {
				hqlwhere = chkhw(hqlwhere) + " time >= '"+time_start+"' ";
				hhwhere = chkhw(hhwhere) + " u.id.time >= '"+time_start+"' ";
			}
			if(time_end!=null) {
				hqlwhere = chkhw(hqlwhere) + " time <= '"+time_end+"' ";
				hhwhere = chkhw(hhwhere) + " u.id.time <= '"+time_end+"' ";
			}
			if(COMMSTATUS!=null) {
				if(COMMSTATUS.equals("NO")) {
					hqlwhere = chkhw(hqlwhere)+" data1 <> 'EF9' ";
					hhwhere = chkhw(hhwhere)+" u.id.data1 <> 'EF9' ";
				}
				else if(COMMSTATUS.equals("ONLY")) {
					hqlwhere = chkhw(hqlwhere)+" data1 = 'EF9' ";
					hhwhere = chkhw(hhwhere)+" u.id.data1 = 'EF9' ";
				}
			}
			if(order!=null)
				order_str = " order by "+order;
			else
				order_str = " order by id ";

			int totalCount = ytiotVAlarmDao.getEFireCount(hhwhere);
//			System.out.print("shazi");
//			System.out.println(totalCount);

			json.put("totalCount", totalCount);
			if(Start!=null){
				if(Integer.parseInt(Start)>totalCount){
					Start = "0";
					Page = "0";
				}else if(page==null)
					Page="0";
			}else{
				Start = "0";
				Page = "0";
			}
			json.put("page", Page);
			json.put("start", Start);
			json.put("limit", Limit);
			if(totalCount>0) {
				List<?> ulist = ytiotVUserphoneDao.query(null, null, null, null, null);
				List<?> list1 = ytiotVAlarmDao.EFireQuery(hhwhere, order_str, dir, Start, Limit);
				SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				if(list1.size()>0) {
					for(int i=0;i<list1.size();i++) {
						YtiotVEfire o = (YtiotVEfire)list1.get(i);
						YtiotVEfireId oid = o.getId();
						String cl_name = "";
						Map<String, Comparable> map = new HashMap<String, Comparable>();
						if((company_code!=null)&&(i==0))
							json.put("company_name", oid.getCompanyName());
						map.put("orderIdx", Integer.parseInt(Start)+i+1);
						map.put("address", oid.getAddress());
						map.put("cldh", oid.getCldh());
						map.put("cllx", oid.getCllx());
						map.put("cllxr", oid.getCllxr());
						map.put("clnr", oid.getClnr());
						map.put("clr", oid.getClr());
						map.put("clwb", oid.getClwb());
						map.put("clzt", oid.getClzt()==0?"未处理":"已处理");
						map.put("company_code", oid.getCompanyCode());
						map.put("company_name", oid.getCompanyName());
						map.put("compartment", "");
						map.put("data1", oid.getData1());
						map.put("data2", oid.getData2());
						map.put("data3", oid.getData3());
						map.put("data4", oid.getData4());
						map.put("data5", oid.getData5());
						String dv = "";
						if(oid.getData1().equals("EF0"))
							dv = "正常/报警撤销";
						else if(oid.getData1().equals("EF1"))
							dv = "欠压报警";
						else if(oid.getData1().equals("EF2"))
							dv = "过压报警";
						else if(oid.getData1().equals("EF3"))
							dv = "过流报警";
						else if(oid.getData1().equals("EF4"))
							dv = "漏电报警";
						else if(oid.getData1().equals("EF5"))
							dv = "温度1超高报警";
						else if(oid.getData1().equals("EF6"))
							dv = "温度2超高报警";
						else if(oid.getData1().equals("EF7"))
							dv = "温度3超高报警";
						else if(oid.getData1().equals("EF8"))
							dv = "温度4超高报警";
						else if(oid.getData1().equals("EF9"))
							dv = "离线";
						String dw = "";
						if(oid.getData1().equals("EF0"))
							dw = "";
						else if(oid.getData1().equals("EF1"))
							dw = "V";
						else if(oid.getData1().equals("EF2"))
							dw = "V";
						else if(oid.getData1().equals("EF3"))
							dw = "mA";
						else if(oid.getData1().equals("EF4"))
							dw = "mA";
						else if(oid.getData1().equals("EF5"))
							dw = "℃";
						else if(oid.getData1().equals("EF6"))
							dw = "℃";
						else if(oid.getData1().equals("EF7"))
							dw = "℃";
						else if(oid.getData1().equals("EF8"))
							dw = "℃";
						else if(oid.getData1().equals("EF9"))
							dw = "";
						map.put("fullname", oid.getName()+","+dv+","+"告警值:"+oid.getData2()+dw);
						map.put("data", oid.getData1());
						if(oid.getClzt()==1)
							map.put("clsj", df.format(oid.getClsj()));
						else
							map.put("clsj", "");
						map.put("device_code", oid.getDeviceCode());
						map.put("fireprocess", "");
						map.put("id", oid.getId());
						map.put("name", oid.getName());
						map.put("ncmd", oid.getNcmd());
						map.put("port", oid.getPort());
						map.put("position", oid.getPosition());
						map.put("status", dv);
						map.put("time", df.format(oid.getTime()));
						map.put("vidoe", oid.getVideo());
						if((oid.getClr().length()>0)
								&&(ulist.size()>0)){
							for(int j=0;j<ulist.size();j++) {
								YtiotVUserphone po = (YtiotVUserphone)ulist.get(j);
								YtiotVUserphoneId poid = po.getId();
								if(oid.getCldh().equals(poid.getPhone())) {
									cl_name = poid.getUsername();
									break;
								}
							}
						}
						map.put("clr_name", cl_name.length()>0?cl_name:oid.getClr());
						JSONObject jSONObject = JSONObject.fromObject(map);
						jSONArray.add(jSONObject);
					}
					json.put("RESULT", jSONArray);
				}
			}
			return json.toString();
		}
	}



	@Override
	public String getHjVList(String queryJson, String page, String start, String limit, String sort) throws Exception {
		// TODO Auto-generated method stub
		String address = null;
		String clzt = null;
		String company_code = null;
		String company_code_list = null;
		String Company_Code_List = null;
		String company_name = null;
		String device_code = null;
		String device_code_list = null;
		String time_start = null;
		String time_end = null;
		String status = null;
		String COMMSTATUS = null;
		String V_LOGINNAME = null;
		String hqlwhere = null;
		String order = null;
		String dir = null;
		String Start = null;
		String Limit = null;
		String Page = null;
		String order_str = null;
		JSONObject q_json = null;
		JSONArray Sort = null;
		JSONArray jSONArray = new JSONArray();
		JSONObject json = new JSONObject();
		json.put("action", "getHjVList");
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			address = q_json.has("address")?q_json.getString("address"):null;
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			clzt = q_json.has("clzt")?q_json.getString("clzt"):null;
			COMMSTATUS = q_json.has("COMMSTATUS")?q_json.getString("COMMSTATUS"):null;
			if(q_json.has("company_code")) {
				if((q_json.optJSONObject("company_code")!=null)
						&&(q_json.optJSONObject("company_code").isArray())) {
					JSONArray j_tmp = q_json.getJSONArray("company_code");
					for(int i=0;i<j_tmp.size();i++) {
						String tmp = j_tmp.getString(i);
						if(i==0)
							company_code_list = "'"+tmp+"'";
						else
							company_code_list += ","+"'"+tmp+"'";
					}
				}else
					company_code = q_json.getString("company_code");
			}
			company_name = q_json.has("company_name")?q_json.getString("company_name"):null;
			if(q_json.has("device_code")) {
				if((q_json.optJSONObject("device_code")!=null)
						&&(q_json.optJSONObject("device_code").isArray())){
					JSONArray j_tmp = q_json.getJSONArray("device_code");
					for(int i=0;i<j_tmp.size();i++) {
						String tmp = j_tmp.getString(i);
						if(i==0)
							device_code_list = tmp;
						else
							device_code_list += ","+tmp;
					}
				}else
					device_code = q_json.getString("device_code");
			}
			time_start = q_json.has("time_start")?q_json.getString("time_start"):null;
			time_end = q_json.has("time_end")?q_json.getString("time_end"):null;
		}
		if(V_LOGINNAME.equals("ypsgec")) {
			return json.toString();
		}else {
			if(sort!=null) {
				Sort = JSONArray.fromObject(sort);
				if((Sort.isArray())&&(Sort.size()>0)) {
					JSONObject s_json = Sort.getJSONObject(0);
					order = s_json.has("property")?s_json.getString("property"):order;
					dir = s_json.has("direction")?s_json.getString("direction"):dir;
				}
				json.put("sort", sort);
			}
			Start = start;
			Limit = limit;
			Page = page;
			if((V_LOGINNAME!=null)&&(company_code==null)&&(company_code_list==null)) {
				String where = " where u.id.agentid='"+V_LOGINNAME+"' ";
				List list = ytiotVUserCompanyDao.query(where, null, null, null, null);
				if(list.size()>0) {
					for(int i=0;i<list.size();i++) {
						YtiotVUsercompany o = (YtiotVUsercompany)list.get(i);
						YtiotVUsercompanyId oid = o.getId();
						if(i==0)
							Company_Code_List = "'"+oid.getOwnerCode()+"'";
						else
							Company_Code_List += ","+"'"+oid.getOwnerCode()+"'";
					}
				}
			}
			System.out.print("hanzhengyi"+df.format(new Date()));
			if(address!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("address")+" like '%"+address+"%' ";
			if((clzt!=null)&&(clzt.length()>0))
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("clzt")+" = "+clzt+" ";
			if(Company_Code_List!=null) {
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+Company_Code_List+") ";
			}else {
				if(company_code!=null)
					hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+"  =  "+company_code+" ";
				if(company_code_list!=null)
					hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+company_code_list+") ";
			}
			if(company_name!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_name")+" = '%"+company_name+"%' ";
			if(device_code!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("device_code")+" = "+device_code+" ";
			if(device_code_list!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("device_code")+" in ("+device_code_list+") ";
			if((time_start!=null)&&(time_start.length()>0))
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("time")+" >= '"+time_start+"' ";
			if((time_end!=null)&&(time_end.length()>0))
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("time")+" <= '"+time_end+"' ";
			System.out.print("hanzhengyi"+hqlwhere);
			if(COMMSTATUS!=null) {
				if(COMMSTATUS.equals("NO"))
					hqlwhere = chkhw(hqlwhere)+" u.id.data1 <> 'U44' ";
				else if(COMMSTATUS.equals("ONLY"))
					hqlwhere = chkhw(hqlwhere)+" u.id.data1 = 'U44' ";
			}
			if(order!=null)
				order_str = " order by u.id."+fieldname(order);
			else
				order_str = " order by u.id.id ";
			int totalCount = ytiotVAlarmDao.getHJCount(hqlwhere);
			json.put("totalCount", totalCount);
			if(Start!=null){
				if(Integer.parseInt(Start)>totalCount){
					Start = "0";
					Page = "0";
				}else if(page==null)
					Page="0";
			}else{
				Start = "0";
				Page = "0";
			}
			json.put("page", Page);
			json.put("start", Start);
			json.put("limit", Limit);
			if(totalCount>0) {
				List<?> ulist = ytiotVUserphoneDao.query(null, null, null, null, null);
				List<?> list = ytiotVAlarmDao.HJQuery(hqlwhere, order_str, dir, Start, Limit);
				if(list.size()>0) {
					for(int i=0;i<list.size();i++) {
						YtiotVHj hj = (YtiotVHj)list.get(i);
						YtiotVHjId id = hj.getId();
						String cl_name = "";
						Map<String, Comparable> map = new HashMap<String, Comparable>();
						if((company_code!=null)&&(i==0))
							json.put("company_name", id.getCompanyName());
						map.put("orderIdx", Integer.parseInt(Start)+i+1);
						map.put("address", id.getAddress());
						map.put("cldh", id.getCldh());
						map.put("cllx", id.getCllx());
						map.put("cllxr", id.getCllxr());
						map.put("clnr", id.getClnr());
						map.put("clr", id.getClr());
						map.put("clwb", id.getClwb());
						map.put("clzt", id.getClzt()==0?"未处理":"已处理");
						map.put("company_code", id.getCompanyCode());
						map.put("company_name", id.getCompanyName());
						map.put("compartment", id.getCompartment());
						map.put("data1", id.getData1());
						map.put("data2", id.getData2());
						map.put("data3", id.getData3());
						map.put("data4", id.getData4());
						map.put("data5", id.getData5());
						map.put("fullname", id.getName()+((id.getData4().length()>0) ?("，"+id.getData4()):""));
						map.put("data", id.getData2());
						if(id.getClzt()==1)
							map.put("clsj", df.format(id.getClsj()));
						else
							map.put("clsj", "");
						map.put("device_code", id.getDeviceCode());
						map.put("fireprocess", id.getFireprocess());
						map.put("id", id.getId());
						map.put("name", id.getName());
						map.put("ncmd", id.getNcmd());
						map.put("port", id.getPort());
						map.put("position", id.getPosition());
						map.put("status", id.getStatus());
						map.put("time", df.format(id.getTime()));
						map.put("vidoe", id.getVideo());
						System.out.print("循环前"+i);
						if((id.getClr().length()>0)
								&&(ulist.size()>0)){
							for(int j=0;j<ulist.size();j++) {
								YtiotVUserphone po = (YtiotVUserphone)ulist.get(j);
								YtiotVUserphoneId poid = po.getId();
								if(id.getClr().equals(poid.getPhone())) {
									cl_name = poid.getUsername();
									break;
								}
							}
						}
						System.out.print("循环后"+i);
						map.put("clr_name", cl_name.length()>0?cl_name:id.getClr());
						JSONObject jSONObject = JSONObject.fromObject(map);
						jSONArray.add(jSONObject);
					}
					json.put("RESULT", jSONArray);
//					System.out.print("RESULT"+jSONArray);
				}
			}
			return json.toString();
		}
	}

	@Override
	public String getSyncfireAlarmFexcelList(String queryJson) throws Exception {
		// TODO Auto-generated method stub
		String address = null;
		String clzt = null;
		String company_code = null;
		String company_code_list = null;
		String Company_Code_List = null;
		String company_name = null;
		String device_code = null;
		String device_code_list = null;
		String time_start = null;
		String time_end = null;
		String status = null;
		String COMMSTATUS = null;
		String V_LOGINNAME = null;
		String hqlwhere = null;
		String order = null;
		String dir = null;
		String Start = null;
		String Limit = null;
		String Page = null;
		String order_str = null;
		JSONObject q_json = null;
		JSONArray Sort = null;
		JSONArray jSONArray = new JSONArray();
		JSONObject json = new JSONObject();
		json.put("action", "getHjVList");
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			address = q_json.has("address")?q_json.getString("address"):null;
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			clzt = q_json.has("clzt")?q_json.getString("clzt"):null;
			COMMSTATUS = q_json.has("COMMSTATUS")?q_json.getString("COMMSTATUS"):null;
			if(q_json.has("company_code")) {
				if((q_json.optJSONObject("company_code")!=null)
						&&(q_json.optJSONObject("company_code").isArray())) {
					JSONArray j_tmp = q_json.getJSONArray("company_code");
					for(int i=0;i<j_tmp.size();i++) {
						String tmp = j_tmp.getString(i);
						if(i==0)
							company_code_list = tmp;
						else
							company_code_list += ","+tmp;
					}
				}else if((q_json.getString("company_code").length()>0)) {
					company_code = q_json.getString("company_code");
				}

			}
			company_name = q_json.has("company_name")?q_json.getString("company_name"):null;
			if(q_json.has("device_code")) {
				if((q_json.optJSONObject("device_code")!=null)
						&&(q_json.optJSONObject("device_code").isArray())){
					JSONArray j_tmp = q_json.getJSONArray("device_code");
					for(int i=0;i<j_tmp.size();i++) {
						String tmp = j_tmp.getString(i);
						if(i==0)
							device_code_list = tmp;
						else
							device_code_list += ","+tmp;
					}
				}else
					device_code = q_json.getString("device_code");
			}
			time_start = q_json.has("time_start")?q_json.getString("time_start"):null;
			time_end = q_json.has("time_end")?q_json.getString("time_end"):null;
		}

		if((V_LOGINNAME!=null)&&(company_code==null)&&(company_code_list==null)) {
			String where = " where u.id.agentid='"+V_LOGINNAME+"' ";
			List list = ytiotVUserCompanyDao.query(where, null, null, null, null);
			if(list.size()>0) {
				for(int i=0;i<list.size();i++) {
					YtiotVUsercompany o = (YtiotVUsercompany)list.get(i);
					YtiotVUsercompanyId oid = o.getId();
					if(i==0)
						Company_Code_List = oid.getOwnerCode();
					else
						Company_Code_List += ","+oid.getOwnerCode();
				}
			}
		}
		if(address!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("address")+" like '%"+address+"%' ";
		if((clzt!=null)&&(clzt.length()>0))
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("clzt")+" = "+clzt+" ";
		if(Company_Code_List!=null) {
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+Company_Code_List+") ";
		}else {
			if(company_code!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+"  =  "+company_code+" ";
			if(company_code_list!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+company_code_list+") ";
		}
		if(company_name!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_name")+" = '%"+company_name+"%' ";
		if(device_code!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("device_code")+" = "+device_code+" ";
		if(device_code_list!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("device_code")+" in ("+device_code_list+") ";
		if((time_start!=null)&&(time_start.length()>0))
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("time")+" >= '"+time_start+"' ";
		if((time_end!=null)&&(time_end.length()>0))
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("time")+" <= '"+time_end+"' ";
		System.out.print("hanzhengyi"+hqlwhere);
		if(COMMSTATUS!=null) {
			if(COMMSTATUS.equals("NO"))
				hqlwhere = chkhw(hqlwhere)+" u.id.data1 <> 'U44' ";
			else if(COMMSTATUS.equals("ONLY"))
				hqlwhere = chkhw(hqlwhere)+" u.id.data1 = 'U44' ";
		}
		if(order!=null)
			order_str = " order by u.id."+fieldname(order);
		else
			order_str = " order by u.id.id ";
		int totalCount = ytiotVAlarmDao.getHJCount(hqlwhere);
		json.put("totalCount", totalCount);
		if(totalCount>0) {
			List<?> ulist = ytiotVUserphoneDao.query(null, null, null, null, null);
			List<?> list = ytiotVAlarmDao.HJQuery(hqlwhere, order_str, dir, Start, Limit);
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			if(list.size()>0) {
				for(int i=0;i<list.size();i++) {
					YtiotVHj hj = (YtiotVHj)list.get(i);
					YtiotVHjId id = hj.getId();
					String cl_name = "";
					Map<String, Comparable> map = new HashMap<String, Comparable>();
					if((company_code!=null)&&(i==0))
						json.put("company_name", id.getCompanyName());
					map.put("address", id.getAddress());
					map.put("cldh", id.getCldh());
					map.put("cllx", id.getCllx());
					map.put("cllxr", id.getCllxr());
					map.put("clnr", id.getClnr());
					map.put("clr", id.getClr());
					if(id.getClwb().equals("0"))
						map.put("clwb", "未误报");
					else if(id.getClwb().equals("1"))
						map.put("clwb", "误报");
					else
						map.put("clwb", "");
					map.put("clzt", id.getClzt()==0?"未处理":"已处理");
					map.put("company_code", id.getCompanyCode());
					map.put("company_name", id.getCompanyName());
					map.put("compartment", id.getCompartment());
					map.put("data1", id.getData1());
					map.put("data2", id.getData2());
					map.put("data3", id.getData3());
					map.put("data4", id.getData4());
					map.put("data5", id.getData5());
					map.put("data", id.getData2());
					if(id.getClzt()==1)
						map.put("clsj", df.format(id.getClsj()));
					else
						map.put("clsj", "");
					map.put("device_code", id.getDeviceCode());
					map.put("fireprocess", id.getFireprocess());
					map.put("id", id.getId());
					map.put("name", id.getName());
					map.put("ncmd", id.getNcmd());
					map.put("port", id.getPort());
					map.put("position", id.getPosition());
					map.put("status", id.getStatus());
					map.put("time", df.format(id.getTime()));
					map.put("vidoe", id.getVideo());
					JSONObject jSONObject = JSONObject.fromObject(map);
					jSONArray.add(jSONObject);
				}
				json.put("result", jSONArray);
			}
		}
		return json.toString();
	}

	@Override
	public String getSyncEfireAlarmFexcelList(String queryJson) throws Exception {
		// TODO Auto-generated method stub
		String address = null;
		String clzt = null;
		String company_code = null;
		String company_code_list = null;
		String Company_Code_List = null;
		String company_name = null;
		String device_code = null;
		String device_code_list = null;
		String time_start = null;
		String time_end = null;
		String status = null;
		String COMMSTATUS = null;
		String V_LOGINNAME = null;
		String hqlwhere = null, hhwhere = null;
		String order = null;
		String dir = null;
		String Start = null;
		String Limit = null;
		String Page = null;
		String order_str = null;
		JSONObject q_json = null;
		JSONArray Sort = null;
		JSONArray jSONArray = new JSONArray();
		JSONObject json = new JSONObject();
		json.put("action", "getEFireVList");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			address = q_json.has("address")?q_json.getString("address"):null;
			clzt = q_json.has("clzt")?q_json.getString("clzt"):null;
			COMMSTATUS = q_json.has("COMMSTATUS")?q_json.getString("COMMSTATUS"):null;
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			if(q_json.has("company_code")) {
				if((q_json.optJSONObject("company_code")!=null)
						&&(q_json.optJSONObject("company_code").isArray())) {
					JSONArray j_tmp = q_json.getJSONArray("company_code");
					for(int i=0;i<j_tmp.size();i++) {
						String tmp = j_tmp.getString(i);
						if(i==0)
							company_code_list = tmp;
						else
							company_code_list += ","+tmp;
					}
				}else if((q_json.getString("company_code").length()>0)) {
					company_code = q_json.getString("company_code");
				}

			}
//				company_name = q_json.has("company_name")?q_json.getString("company_name"):null;
			if(q_json.has("device_code")) {
				if((q_json.optJSONObject("device_code")!=null)
						&&(q_json.optJSONObject("device_code").isArray())){
					JSONArray j_tmp = q_json.getJSONArray("device_code");
					for(int i=0;i<j_tmp.size();i++) {
						String tmp = j_tmp.getString(i);
						if(i==0)
							device_code_list = tmp;
						else
							device_code_list += ","+tmp;
					}
				}else
					device_code = q_json.getString("device_code");
			}
			time_start = q_json.has("time_start")?q_json.getString("time_start"):null;
			time_end = q_json.has("time_end")?q_json.getString("time_end"):null;
		}
		if((V_LOGINNAME!=null)&&(company_code==null)&&(company_code_list==null)) {
			String where = " where u.id.agentid='"+V_LOGINNAME+"' ";
			List list = ytiotVUserCompanyDao.query(where, null, null, null, null);
			if(list.size()>0) {
				for(int i=0;i<list.size();i++) {
					YtiotVUsercompany o = (YtiotVUsercompany)list.get(i);
					YtiotVUsercompanyId oid = o.getId();
					if(i==0)
						Company_Code_List = oid.getOwnerCode();
					else
						Company_Code_List += ","+oid.getOwnerCode();
				}
			}
		}
		if(address!=null) {
			hqlwhere = chkhw(hqlwhere) + " address like '%"+address+"%' ";
			hhwhere = chkhw(hhwhere) + " u.id.address like '%"+address+"%' ";
		}
		if((clzt!=null)&&(clzt.length()>0)) {
			hqlwhere = chkhw(hqlwhere) + " clzt = "+clzt+" ";
			hhwhere = chkhw(hhwhere) + " u.id.clzt = "+clzt+" ";
		}
		if(Company_Code_List!=null) {
			hqlwhere = chkhw(hqlwhere) + " company_code in ("+Company_Code_List+") ";
			hhwhere = chkhw(hhwhere) + " u.id.companyCode in ("+Company_Code_List+") ";
		}else {
			if(company_code!=null) {
				hqlwhere = chkhw(hqlwhere) + " company_code = "+company_code+" ";
				hhwhere = chkhw(hhwhere) + " u.id.companyCode = "+company_code+" ";
			}
			if(company_code_list!=null) {
				hqlwhere = chkhw(hqlwhere) + " company_code in ("+company_code_list+") ";
				hhwhere = chkhw(hhwhere) + " u.id.companyCode in ("+company_code_list+") ";
			}
		}

		if(device_code!=null) {
			hqlwhere = chkhw(hqlwhere) + " device_code = "+device_code+" ";
			hhwhere = chkhw(hhwhere) + " u.id.deviceCode = "+device_code+" ";
		}
		if(device_code_list!=null) {
			hqlwhere = chkhw(hqlwhere) + " device_code in ("+device_code_list+") ";
			hhwhere = chkhw(hhwhere) + " u.id.deviceCode in ("+device_code_list+") ";
		}
		if((time_start!=null)&&(time_start.length()>0)) {
			hqlwhere = chkhw(hqlwhere) + " time >= '"+time_start+"' ";
			hhwhere = chkhw(hhwhere) + " u.id.time >= '"+time_start+"' ";
		}
		if((time_end!=null)&&(time_start.length()>0)) {
			hqlwhere = chkhw(hqlwhere) + " time <= '"+time_end+"' ";
			hhwhere = chkhw(hhwhere) + " u.id.time <= '"+time_end+"' ";
		}
		if(COMMSTATUS!=null) {
			if(COMMSTATUS.equals("NO")) {
				hqlwhere = chkhw(hqlwhere)+" data1 <> 'EF9' ";
				hhwhere = chkhw(hhwhere)+" u.id.data1 <> 'EF9' ";
			}
			else if(COMMSTATUS.equals("ONLY")) {
				hqlwhere = chkhw(hqlwhere)+" data1 = 'EF9' ";
				hhwhere = chkhw(hhwhere)+" u.id.data1 = 'EF9' ";
			}
		}
		System.out.print("shazi"+hhwhere);
		if(order!=null)
			order_str = " order by "+order;
		else
			order_str = " order by id ";

		int totalCount = ytiotVAlarmDao.getEFireCount(hhwhere);
//			System.out.println(totalCount);

		json.put("totalCount", totalCount);
		if(totalCount>0) {
			List<?> ulist = ytiotVUserphoneDao.query(null, null, null, null, null);
			List<?> list1 = ytiotVAlarmDao.EFireQuery(hhwhere, order_str, dir, Start, Limit);
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			if(list1.size()>0) {
				for(int i=0;i<list1.size();i++) {
					YtiotVEfire o = (YtiotVEfire)list1.get(i);
					YtiotVEfireId oid = o.getId();
					String cl_name = "";
					Map<String, Comparable> map = new HashMap<String, Comparable>();
					if((company_code!=null)&&(i==0))
						json.put("company_name", oid.getCompanyName());
					map.put("address", oid.getAddress());
					map.put("cldh", oid.getCldh());
					map.put("cllx", oid.getCllx());
					map.put("cllxr", oid.getCllxr());
					map.put("clnr", oid.getClnr());
					map.put("clr", oid.getClr());
					if(oid.getClwb().equals("0"))
						map.put("clwb", "未误报");
					else if(oid.getClwb().equals("1"))
						map.put("clwb", "误报");
					else
						map.put("clwb", "");
					map.put("clzt", oid.getClzt()==0?"未处理":"已处理");
					map.put("company_code", oid.getCompanyCode());
					map.put("company_name", oid.getCompanyName());
					map.put("data2", oid.getData2());
					map.put("data3", oid.getData3());
					map.put("data4", oid.getData4());
					map.put("data5", oid.getData5());
					if(oid.getData1().equals("EF0"))
						map.put("data1", "正常/报警撤销");
					else if(oid.getData1().equals("EF1"))
						map.put("data1", "欠压报警");
					else if(oid.getData1().equals("EF2"))
						map.put("data1","过压报警");
					else if(oid.getData1().equals("EF3"))
						map.put("data1","过流报警");
					else if(oid.getData1().equals("EF4"))
						map.put("data1","漏电报警");
					else if(oid.getData1().equals("EF5"))
						map.put("data1","温度1超高报警");
					else if(oid.getData1().equals("EF6"))
						map.put("data1","温度2超高报警");
					else if(oid.getData1().equals("EF7"))
						map.put("data1","温度3超高报警");
					else if(oid.getData1().equals("EF8"))
						map.put("data1","温度4超高报警");
					else if(oid.getData1().equals("EF9"))
						map.put("data1","离线");
//						String dw = "";
//						if(oid.getData1().equals("EF0"))
//							dw = "";
//						else if(oid.getData1().equals("EF1"))
//							dw = "V";
//						else if(oid.getData1().equals("EF2"))
//							dw = "V";
//						else if(oid.getData1().equals("EF3"))
//							dw = "mA";
//						else if(oid.getData1().equals("EF4"))
//							dw = "mA";
//						else if(oid.getData1().equals("EF5"))
//							dw = "℃";
//						else if(oid.getData1().equals("EF6"))
//							dw = "℃";
//						else if(oid.getData1().equals("EF7"))
//							dw = "℃";
//						else if(oid.getData1().equals("EF8"))
//							dw = "℃";
//						else if(oid.getData1().equals("EF9"))
//							dw = "";
					map.put("data", oid.getData1());
					if(oid.getClzt()==1)
						map.put("clsj", df.format(oid.getClsj()));
					else
						map.put("clsj", "");
					map.put("device_code", oid.getDeviceCode());
					map.put("id", oid.getId());
					map.put("name", oid.getName());
					map.put("ncmd", oid.getNcmd());
					map.put("port", oid.getPort());
					map.put("position", oid.getPosition());
					map.put("time", df.format(oid.getTime()));
					map.put("vidoe", oid.getVideo());
					if((oid.getClr().length()>0)
							&&(ulist.size()>0)){
						for(int j=0;j<ulist.size();j++) {
							YtiotVUserphone po = (YtiotVUserphone)ulist.get(j);
							YtiotVUserphoneId poid = po.getId();
							if(oid.getCldh().equals(poid.getPhone())) {
								cl_name = poid.getUsername();
								break;
							}
						}
					}
					map.put("clr_name", cl_name.length()>0?cl_name:oid.getClr());
					JSONObject jSONObject = JSONObject.fromObject(map);
					jSONArray.add(jSONObject);
				}
				json.put("result", jSONArray);
			}
		}
		return json.toString();
	}

	@Override
	public String getSyncWaterAlarmFexcelList(String queryJson) throws Exception {
		// TODO Auto-generated method stub
		String address = null;
		String clzt = null;
		String company_code = null;
		String company_code_list = null;
		String Company_Code_List = null;
		String company_name = null;
		String device_code = null;
		String device_code_list = null;
		String time_start = null;
		String time_end = null;
		String COMMSTATUS = null;
		String V_LOGINNAME = null;
		String hqlwhere = null;
		String order = null;
		String dir = null;
		String Start = null;
		String Limit = null;
		String Page = null;
		String order_str = null;
		JSONObject q_json = null;
		JSONArray Sort = null;
		JSONArray jSONArray = new JSONArray();
		JSONObject json = new JSONObject();
		json.put("action", "getSjVList");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			address = q_json.has("address")?q_json.getString("address"):null;
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			clzt = q_json.has("clzt")?q_json.getString("clzt"):null;
			COMMSTATUS = q_json.has("COMMSTATUS")?q_json.getString("COMMSTATUS"):null;
			if(q_json.has("company_code")) {
				if((q_json.optJSONObject("company_code")!=null)
						&&(q_json.optJSONObject("company_code").isArray())) {
					JSONArray j_tmp = q_json.getJSONArray("company_code");
					for(int i=0;i<j_tmp.size();i++) {
						String tmp = j_tmp.getString(i);
						if(i==0)
							company_code_list = tmp;
						else
							company_code_list += ","+tmp;
					}
				}else if((q_json.getString("company_code").length()>0)) {
					company_code = q_json.getString("company_code");
				}

			}
			company_name = q_json.has("company_name")?q_json.getString("company_name"):null;
			if(q_json.has("device_code")) {
				if((q_json.optJSONObject("device_code")!=null)
						&&(q_json.optJSONObject("device_code").isArray())){
					JSONArray j_tmp = q_json.getJSONArray("device_code");
					for(int i=0;i<j_tmp.size();i++) {
						String tmp = j_tmp.getString(i);
						if(i==0)
							device_code_list = tmp;
						else
							device_code_list += ","+tmp;
					}
				}else
					device_code = q_json.getString("device_code");
			}
			time_start = q_json.has("time_start")?q_json.getString("time_start"):null;
			time_end = q_json.has("time_end")?q_json.getString("time_end"):null;
		}
		if((V_LOGINNAME!=null)&&(company_code==null)&&(company_code_list==null)) {
			String where = " where u.id.agentid='"+V_LOGINNAME+"' ";
			List list = ytiotVUserCompanyDao.query(where, null, null, null, null);
			if(list.size()>0) {
				for(int i=0;i<list.size();i++) {
					YtiotVUsercompany o = (YtiotVUsercompany)list.get(i);
					YtiotVUsercompanyId oid = o.getId();
					if(i==0)
						Company_Code_List = oid.getOwnerCode();
					else
						Company_Code_List += ","+oid.getOwnerCode();
				}
			}
		}
		if(address!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("address")+" like '%"+address+"' ";
		if((clzt!=null)&&(clzt.length()>0))
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("clzt")+" = "+clzt+" ";
		if(Company_Code_List!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+Company_Code_List+") ";
		else {
			if(company_code!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+"  =  "+company_code+" ";
			if(company_code_list!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+company_code_list+") ";
		}
//		if(company_code!=null)
//			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" = '"+company_code+"' ";
//		if(company_code_list!=null)
//			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+company_code_list+") ";
		if(company_name!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_name")+" like '%"+company_name+"%' ";
		if(device_code!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("device_code")+" = '"+device_code+"' ";
		if(device_code_list!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("device_code")+" in ("+device_code_list+") ";
		if((time_start!=null)&&(time_start.length()>0))
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("time")+" >= '"+time_start+"' ";
		if((time_end!=null)&&(time_end.length()>0))
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("time")+" <= '"+time_end+"' ";
		if(COMMSTATUS!=null) {
			if(COMMSTATUS.equals("NO"))
				hqlwhere = chkhw(hqlwhere)+"( u.id.data1 <> 'WP4' and u.id.data1 <> 'LL4' ) ";
			else if(COMMSTATUS.equals("ONLY"))
				hqlwhere = chkhw(hqlwhere)+" ( u.id.data1 = 'WP4' or u.id.data1 = 'LL4' ) ";
		}
		if(order!=null)
			order_str = " order by u.id."+fieldname(order);
		else
			order_str = " order by u.id.id ";
		int totalCount = ytiotVAlarmDao.getSJCount(hqlwhere);
		json.put("totalCount", totalCount);
		if(totalCount>0) {
			List<?> ulist = ytiotVUserphoneDao.query(null, null, null, null, null);
			List<?> list = ytiotVAlarmDao.SJQuery(hqlwhere, order_str, dir, Start, Limit);
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			if(list.size()>0) {
				for(int i=0;i<list.size();i++) {
					YtiotVSj hj = (YtiotVSj)list.get(i);
					YtiotVSjId id = hj.getId();
					String cl_name = "";
					if((company_code!=null)&&(i==0))
						json.put("company_name", id.getCompanyName());
					Map<String, Comparable> map = new HashMap<String, Comparable>();
					map.put("address", id.getAddress());
					map.put("cldh", id.getCldh());
					map.put("cllx", id.getCllx());
					map.put("cllxr", id.getCllxr());
					map.put("clnr", id.getClnr());
					map.put("clr", id.getClr());
					if(id.getClwb().equals("0"))
						map.put("clwb", "未误报");
					else if(id.getClwb().equals("1"))
						map.put("clwb", "误报");
					else
						map.put("clwb", "");
					map.put("clzt", id.getClzt()==0?"未处理":"已处理");
					map.put("clsj", df.format(id.getClsj()));
					map.put("company_code", id.getCompanyCode());
					map.put("company_name", id.getCompanyName());
					map.put("data2", id.getData2());
					map.put("data3", id.getData3());
					map.put("data4", id.getData4()+(id.getData1().equals("WP1")?"MPa"
							:(id.getData1().equals("WP2")?"MPa"
							:(id.getData1().equals("WP3")?"MPa"
							:(id.getData1().equals("WP4")?"MPa"
							:(id.getData1().equals("WP0")?"MPa"
							:(id.getData1().equals("LL1")?"m"
							:(id.getData1().equals("LL2")?"m"
							:(id.getData1().equals("LL3")?"m"
							:(id.getData1().equals("LL0")?"m":""))))))))));
					map.put("data5", id.getData5());
					if(id.getClzt()==1)
						map.put("clsj", df.format(id.getClsj()));
					else
						map.put("clsj", "");
					map.put("device_code", id.getDeviceCode());
					map.put("id", id.getId());
					map.put("name", id.getName());
					map.put("ncmd", id.getNcmd());
					map.put("port", id.getPort());
					map.put("position", id.getPosition());
					map.put("status", id.getStatus());
					map.put("time", df.format(id.getTime()));
					map.put("vidoe", id.getVideo());
					map.put("data1", id.getData1().equals("WP1")?"低压"
							:(id.getData1().equals("WP2")?"高压"
							:(id.getData1().equals("WP3")?"故障"
							:(id.getData1().equals("WP4")?"离线"
							:(id.getData1().equals("WP0")?"正常"
							:(id.getData1().equals("LL1")?"低水位"
							:(id.getData1().equals("LL2")?"高水位"
							:(id.getData1().equals("LL3")?"故障"
							:(id.getData1().equals("LL0")?"正常":id.getData1())))))))));
					if((id.getClr().length()>0)
							&&(ulist.size()>0)){
						for(int j=0;j<ulist.size();j++) {
							YtiotVUserphone po = (YtiotVUserphone)ulist.get(j);
							YtiotVUserphoneId poid = po.getId();
							if(id.getClr().equals(poid.getPhone())) {
								cl_name = poid.getUsername();
								break;
							}
						}
					}
					map.put("clr_name", cl_name.length()>0?cl_name:id.getClr());
					JSONObject jSONObject = JSONObject.fromObject(map);
					jSONArray.add(jSONObject);
				}
				json.put("result", jSONArray);
			}
		}
		return json.toString();
	}

	@Override
	public String getSyncRTUAlarmFexcelList(String queryJson) throws Exception {
		// TODO Auto-generated method stub
		String address = null;
		String clzt = null;
		String company_code = null;
		String company_code_list = null;
		String Company_Code_List = null;
		String company_name = null;
		String device_code = null;
		String device_code_list = null;
		String time_start = null;
		String time_end = null;
		String status = null;
		String COMMSTATUS = null;
		String V_LOGINNAME = null;
		String hqlwhere = null;
		String order = null;
		String dir = null;
		String Start = null;
		String Limit = null;
		String Page = null;
		String order_str = null;
		JSONObject q_json = null;
		JSONArray Sort = null;
		JSONArray jSONArray = new JSONArray();
		JSONObject json = new JSONObject();
		json.put("action", "getRTUVList");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			address = q_json.has("address")?q_json.getString("address"):null;
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			clzt = q_json.has("clzt")?q_json.getString("clzt"):null;
			COMMSTATUS = q_json.has("COMMSTATUS")?q_json.getString("COMMSTATUS"):null;
			if(q_json.has("company_code")) {
				if((q_json.optJSONObject("company_code")!=null)
						&&(q_json.optJSONObject("company_code").isArray())) {
					JSONArray j_tmp = q_json.getJSONArray("company_code");
					for(int i=0;i<j_tmp.size();i++) {
						String tmp = j_tmp.getString(i);
						if(i==0)
							company_code_list = tmp;
						else
							company_code_list += ","+tmp;
					}
				}else if((q_json.getString("company_code").length()>0)) {
					company_code = q_json.getString("company_code");
				}

			}
			company_name = q_json.has("company_name")?q_json.getString("company_name"):null;
			if(q_json.has("device_code")) {
				if((q_json.optJSONObject("device_code")!=null)
						&&(q_json.optJSONObject("device_code").isArray())){
					JSONArray j_tmp = q_json.getJSONArray("device_code");
					for(int i=0;i<j_tmp.size();i++) {
						String tmp = j_tmp.getString(i);
						if(i==0)
							device_code_list = tmp;
						else
							device_code_list += ","+tmp;
					}
				}else
					device_code = q_json.getString("device_code");
			}
			time_start = q_json.has("time_start")?q_json.getString("time_start"):null;
			time_end = q_json.has("time_end")?q_json.getString("time_end"):null;
		}

		if((V_LOGINNAME!=null)&&(company_code==null)&&(company_code_list==null)) {
			String where = " where u.id.agentid='"+V_LOGINNAME+"' ";
			List list = ytiotVUserCompanyDao.query(where, null, null, null, null);
			if(list.size()>0) {
				for(int i=0;i<list.size();i++) {
					YtiotVUsercompany o = (YtiotVUsercompany)list.get(i);
					YtiotVUsercompanyId oid = o.getId();
					if(i==0)
						Company_Code_List = oid.getOwnerCode();
					else
						Company_Code_List += ","+oid.getOwnerCode();
				}
			}
		}
		if(address!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("address")+" like '%"+address+"%' ";
		if((clzt!=null)&&(clzt.length()>0))
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("clzt")+" = "+clzt+" ";
		if(Company_Code_List!=null) {
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+Company_Code_List+") ";
		}else {
			if((company_code!=null))
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+"  =  "+company_code+" ";
			if(company_code_list!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+company_code_list+") ";
		}
		if(company_name!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_name")+" = '%"+company_name+"%' ";
		if(device_code!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("device_code")+" = "+device_code+" ";
		if(device_code_list!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("device_code")+" in ("+device_code_list+") ";
		if((time_start!=null)&&(time_start.length()>0))
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("time")+" >= '"+time_start+"' ";
		if((time_end!=null)&&(time_end.length()>0))
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("time")+" <= '"+time_end+"' ";
//		System.out.print("hanzhengyi"+COMMSTATUS);

		if(COMMSTATUS!=null) {
			if(COMMSTATUS.equals("NO"))
				hqlwhere = chkhw(hqlwhere)+" u.id.status <> '44' ";
			else if(COMMSTATUS.equals("ONLY"))
				hqlwhere = chkhw(hqlwhere)+" u.id.status = '44' ";
		}
		System.out.print("han"+hqlwhere);
		if(order!=null)
			order_str = " order by u.id."+fieldname(order);
		else
			order_str = " order by u.id.id ";
		int totalCount = ytiotVAlarmDao.getRTUCount(hqlwhere);
		json.put("totalCount", totalCount);
		if(totalCount>0) {
			List<?> ulist = ytiotVUserphoneDao.query(null, null, null, null, null);
			List<?> list = ytiotVAlarmDao.RTUQuery(hqlwhere, order_str, dir, Start, Limit);
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			if(list.size()>0) {
				for(int i=0;i<list.size();i++) {
					YtiotVRtu hj = (YtiotVRtu)list.get(i);
					YtiotVRtuId id = hj.getId();
					String cl_name = "";
					Map<String, Comparable> map = new HashMap<String, Comparable>();
					if((company_code!=null)&&(i==0))
						json.put("company_name", id.getCompanyName());
					map.put("address", id.getAddress());
					map.put("cldh", id.getCldh());
					map.put("cllx", id.getCllx());
					map.put("cllxr", id.getCllxr());
					map.put("clnr", id.getClnr());
					map.put("clr", id.getClr());
					if(id.getClwb().equals("0"))
						map.put("clwb", "未误报");
					else if(id.getClwb().equals("1"))
						map.put("clwb", "误报");
					else
						map.put("clwb", "");
					map.put("clzt", id.getClzt()==0?"未处理":"已处理");
					map.put("company_code", id.getCompanyCode());
					map.put("company_name", id.getCompanyName());
					map.put("data1", id.getData1());
					map.put("data2", id.getData2());
					map.put("data3", id.getData3());
					map.put("data4", id.getData4());
					map.put("data5", id.getData5());
					map.put("data", id.getData2());
					if(id.getClzt()==1)
						map.put("clsj", df.format(id.getClsj()));
					else
						map.put("clsj", "");
					map.put("device_code", id.getDeviceCode());
					map.put("id", id.getId());
					map.put("name", id.getName());
					map.put("ncmd", id.getNcmd());
					map.put("port", id.getPort());
					map.put("position", id.getPosition());
					map.put("status", id.getStatus());
					map.put("time", df.format(id.getTime()));
					map.put("vidoe", id.getVideo());
					JSONObject jSONObject = JSONObject.fromObject(map);
					jSONArray.add(jSONObject);
				}
				json.put("result", jSONArray);
			}
		}
		return json.toString();
	}

	/**
	 * 获取监控视频告警信息
	 * @param queryJson
	 * @param page
	 * @param start
	 * @param limit
	 * @param sort
	 * @return
	 */
	@Override
	public String getVideoLists(String queryJson, String page, String start, String limit, String sort) {
		{

			String address = null;//地址
			String clzt = null;//处理状态
			String company_code = null;//公司编号
			String company_code_list = null;//
			String Company_Code_List = null;
			String company_name = null;//公司名
			String device_code = null;//设备代码
			String device_code_list = null;
			String time_start = null;//告警开始时间
			String time_end = null;//告警结束时间
			String COMMSTATUS = null;
			String V_LOGINNAME = null;//用户名
			String hqlwhere = null;
			String order = null;
			String dir = null;
			String Start = null;
			String Limit = null;
			String Page = null;
			String order_str = null;
			JSONObject q_json = null;
			JSONArray Sort = null;
			JSONArray jSONArray = new JSONArray();
			JSONObject json = new JSONObject();
			json.put("action", "getVideoLists");
			if(StringUtils.isNotBlank(queryJson)) {
				q_json = JSONObject.fromObject(queryJson);
				address = q_json.has("address")?q_json.getString("address"):null;
				V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
				clzt = q_json.has("clzt")?q_json.getString("clzt"):null;
				COMMSTATUS = q_json.has("COMMSTATUS")?q_json.getString("COMMSTATUS"):null;
				if(q_json.has("company_code")) {
					if((q_json.optJSONObject("company_code")!=null)
							&&(q_json.optJSONObject("company_code").isArray())) {
						JSONArray j_tmp = q_json.getJSONArray("company_code");
						for(int i=0;i<j_tmp.size();i++) {
							String tmp = j_tmp.getString(i);
							if(i==0)
								company_code_list = tmp;
							else
								company_code_list += ","+tmp;
						}
					}else
						company_code = q_json.getString("company_code");
				}
				company_name = q_json.has("company_name")?q_json.getString("company_name"):null;
				if(q_json.has("device_code")) {
					if((q_json.optJSONObject("device_code")!=null)
							&&(q_json.optJSONObject("device_code").isArray())){
						JSONArray j_tmp = q_json.getJSONArray("device_code");
						for(int i=0;i<j_tmp.size();i++) {
							String tmp = j_tmp.getString(i);
							if(i==0)
								device_code_list = tmp;
							else
								device_code_list += ","+tmp;
						}
					}else
						device_code = q_json.getString("device_code");
				}
				time_start = q_json.has("time_start")?q_json.getString("time_start"):null;
				time_end = q_json.has("time_end")?q_json.getString("time_end"):null;
			}
			if(sort!=null) {
				Sort = JSONArray.fromObject(sort);
				if((Sort.isArray())&&(Sort.size()>0)) {
					JSONObject s_json = Sort.getJSONObject(0);
					order = s_json.has("property")?s_json.getString("property"):order;
					dir = s_json.has("direction")?s_json.getString("direction"):dir;
				}
				json.put("sort", sort);
			}
			Start = start;
			Limit = limit;
			Page = page;
			if((V_LOGINNAME!=null)&&(company_code==null)&&(company_code_list==null)) {
				String where = " where u.id.agentid='"+V_LOGINNAME+"' ";
				List list = ytiotVUserCompanyDao.query(where, null, null, null, null);
				if(list!=null && list.size()>=0) {
					for(int i=0;i<list.size();i++) {
						YtiotVUsercompany o = (YtiotVUsercompany)list.get(i);
						YtiotVUsercompanyId oid = o.getId();
						if(i==0)
							Company_Code_List = oid.getOwnerCode();
						else
							Company_Code_List += ","+oid.getOwnerCode();
					}
				}
			}
			if(address!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("address")+" like '%"+address+"' ";
			if((clzt!=null)&&(clzt.length()>0))
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("clzt")+" = "+clzt+" ";
			if(Company_Code_List!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+Company_Code_List+") ";
			else {
				if(company_code!=null)
					hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+"  =  "+company_code+" ";
				if(company_code_list!=null)
					hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+company_code_list+") ";
			}
//		if(company_code!=null)
//			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" like '%"+company_code+"%' ";
//		if(company_code_list!=null)
//			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+company_code_list+") ";
			if(company_name!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_name")+" like '%"+company_name+"%' ";
			if(device_code!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("device_code")+" like '%"+device_code+"%' ";
			if(device_code_list!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("device_code")+" in ("+device_code_list+") ";
			if(time_start!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("time")+" >= '"+time_start+"' ";
			if(time_end!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("time")+" <= '"+time_end+"' ";
			if(COMMSTATUS!=null) {
				if(COMMSTATUS.equals("NO"))
					hqlwhere = chkhw(hqlwhere)+" u.id.status <> '44' ";
				else if(COMMSTATUS.equals("ONLY"))
					hqlwhere = chkhw(hqlwhere)+" u.id.data = '44' ";

			}
			if(order!=null)
				order_str = " order by u.id."+fieldname(order);
			else
				order_str = " order by u.id.id ";
			System.out.println(hqlwhere);
			//int totalCount = ytiotVAlarmDao.getRTUCount(hqlwhere);
			int totalCount = ytiotVAlarmDao.getVideoCount(hqlwhere);
			json.put("totalCount", totalCount);
			if(Start!=null){
				if(Integer.parseInt(Start)>totalCount){
					Start = "0";
					Page = "0";
				}else if(page==null)
					Page="0";
			}else{
				Start = "0";
				Page = "0";
			}
			json.put("page", Page);
			json.put("start", Start);
			json.put("limit", Limit);
			if(totalCount>0) {
				//获取用户手机号码
				List<?> ulist = ytiotVUserphoneDao.query(null, null, null, null, null);
				//获取告警信息
				List<?> list = ytiotVAlarmDao.VideoAlarmQuery(hqlwhere, order_str, dir, Start, Limit);
				//ytiotVAlarmDao.RTUQuery(hqlwhere, order_str, dir, Start, Limit);
				SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				if(list.size()>0) {
					for(int i=0;i<list.size();i++) {
						YtiotVideoAlarm hj = (YtiotVideoAlarm)list.get(i);
						YtiotVideoAlarmId id = hj.getId();
						String cl_name = "";
						if((company_code!=null)&&(i==0))
							json.put("company_name", id.getCompanyName());
						Map<String, Comparable> map = new HashMap<String, Comparable>();
						map.put("orderIdx", Integer.parseInt(Start)+i+1);
						map.put("address", id.getAddress());
						map.put("cldh", id.getCldh());
						map.put("cllx", id.getCllx());
						map.put("cllxr", id.getCllxr());
						map.put("clnr", id.getClnr());
						map.put("clr", id.getClr());
						map.put("clwb", id.getClwb());
						map.put("clzt", id.getClzt()==0?"未处理":"已处理");
						if(id.getClzt()==1)
							map.put("clsj", df.format(id.getClsj()));
						else
							map.put("clsj", "");
						map.put("company_code", id.getCompanyCode());
						map.put("company_name", id.getCompanyName());
						map.put("data1", id.getData1());
						map.put("data2", id.getData2());
						map.put("data3", id.getData3());
						map.put("data4", id.getData4());
						map.put("data5", id.getData5());
						map.put("device_code", id.getDeviceCode());
						map.put("id", id.getId());
						map.put("name", id.getName());
						map.put("ncmd", id.getNcmd());
						map.put("port", id.getPort());
						map.put("position", id.getPosition());
						map.put("status", id.getStatus());
						map.put("time", df.format(id.getTime()));
						map.put("vidoe", id.getVideo());
						map.put("fullname", id.getName()+","+((id.getPort().equals("E6")) ?"模拟量":"开关量")+","+((id.getNcmd().length()>0) ?("端口号:"+id.getNcmd()):"")
								+((id.getPort().equals("E3")) ?"":(id.getData2().equals("高压")?(","+"告警值:"+id.getData1()+"MPa")
								:(id.getData2().equals("低压")?(","+"告警值:"+id.getData1()+"MPa")
								:(id.getData2().equals("高温")?(","+"告警值:"+id.getData1()+"℃")
								:(id.getData2().equals("低温")?(","+"告警值:"+id.getData1()+"℃")
								:(id.getData2().equals("高水位")?(","+"告警值:"+id.getData1()+"m")
								:(id.getData2().equals("低水位")?(","+"告警值:"+id.getData1()+"m")
								:(id.getData2().equals("高湿度")?(","+"告警值:"+id.getData1()+"%")
								:(id.getData2().equals("低湿度")?(","+"告警值:"+id.getData1()+"%")
								:""))))))))));
						map.put("data", id.getData2());
						if((id.getClr().length()>0)
								&&(ulist.size()>0)){
							for(int j=0;j<ulist.size();j++) {
								YtiotVUserphone po = (YtiotVUserphone)ulist.get(j);
								YtiotVUserphoneId poid = po.getId();
								if(id.getClr().equals(poid.getPhone())) {
									cl_name = poid.getUsername();
									break;
								}
							}
						}
						map.put("clr_name", cl_name.length()>0?cl_name:id.getClr());
						JSONObject jSONObject = JSONObject.fromObject(map);
						jSONArray.add(jSONObject);
					}
					json.put("RESULT", jSONArray);
				}
			}
			return json.toString();
		}
	}



	/**
	 * 获取监控视频告警信息
	 * @param queryJson
	 * @param page
	 * @param start
	 * @param limit
	 * @param sort
	 * @return
	 */
	@Override
	public String getVideoOfflineList(String queryJson, String page, String start, String limit, String sort) {
		{
			String address = null;//地址
			String clzt = null;//处理状态
			String company_code = null;//公司编号
			String company_code_list = null;//
			String Company_Code_List = null;
			String company_name = null;//公司名
			String device_code = null;//设备代码
			String device_code_list = null;
			String time_start = null;//告警开始时间
			String time_end = null;//告警结束时间
			String COMMSTATUS = null;
			String V_LOGINNAME = null;//用户名
			String hqlwhere = null;
			String order = null;
			String dir = null;
			String Start = null;
			String Limit = null;
			String Page = null;
			String order_str = null;
			JSONObject q_json = null;
			JSONArray Sort = null;
			JSONArray jSONArray = new JSONArray();
			JSONObject json = new JSONObject();
			json.put("action", "getVideoLists");
			if(StringUtils.isNotBlank(queryJson)) {
				q_json = JSONObject.fromObject(queryJson);
				address = q_json.has("address")?q_json.getString("address"):null;
				V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
				clzt = q_json.has("clzt")?q_json.getString("clzt"):null;
				COMMSTATUS = q_json.has("COMMSTATUS")?q_json.getString("COMMSTATUS"):null;
				if(q_json.has("company_code")) {
					if((q_json.optJSONObject("company_code")!=null)
							&&(q_json.optJSONObject("company_code").isArray())) {
						JSONArray j_tmp = q_json.getJSONArray("company_code");
						for(int i=0;i<j_tmp.size();i++) {
							String tmp = j_tmp.getString(i);
							if(i==0)
								company_code_list = tmp;
							else
								company_code_list += ","+tmp;
						}
					}else
						company_code = q_json.getString("company_code");
				}
				company_name = q_json.has("company_name")?q_json.getString("company_name"):null;
				if(q_json.has("device_code")) {
					if((q_json.optJSONObject("device_code")!=null)
							&&(q_json.optJSONObject("device_code").isArray())){
						JSONArray j_tmp = q_json.getJSONArray("device_code");
						for(int i=0;i<j_tmp.size();i++) {
							String tmp = j_tmp.getString(i);
							if(i==0)
								device_code_list = tmp;
							else
								device_code_list += ","+tmp;
						}
					}else
						device_code = q_json.getString("device_code");
				}
				time_start = q_json.has("time_start")?q_json.getString("time_start"):null;
				time_end = q_json.has("time_end")?q_json.getString("time_end"):null;
			}
			if(sort!=null) {
				Sort = JSONArray.fromObject(sort);
				if((Sort.isArray())&&(Sort.size()>0)) {
					JSONObject s_json = Sort.getJSONObject(0);
					order = s_json.has("property")?s_json.getString("property"):order;
					dir = s_json.has("direction")?s_json.getString("direction"):dir;
				}
				json.put("sort", sort);
			}
			Start = start;
			Limit = limit;
			Page = page;
			if((V_LOGINNAME!=null)&&(company_code==null)&&(company_code_list==null)) {
				String where = " where u.id.agentid='"+V_LOGINNAME+"' ";
				List list = ytiotVUserCompanyDao.query(where, null, null, null, null);
				if(list!=null && list.size()>=0) {
					for(int i=0;i<list.size();i++) {
						YtiotVUsercompany o = (YtiotVUsercompany)list.get(i);
						YtiotVUsercompanyId oid = o.getId();
						if(i==0)
							Company_Code_List = oid.getOwnerCode();
						else
							Company_Code_List += ","+oid.getOwnerCode();
					}
				}
			}
			if(address!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("address")+" like '%"+address+"' ";
			if((clzt!=null)&&(clzt.length()>0))
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("clzt")+" = "+clzt+" ";
			if(Company_Code_List!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+Company_Code_List+") ";
			else {
				if(company_code!=null)
					hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+"  =  "+company_code+" ";
				if(company_code_list!=null)
					hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+company_code_list+") ";
			}
//		if(company_code!=null)
//			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" like '%"+company_code+"%' ";
//		if(company_code_list!=null)
//			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+company_code_list+") ";
			if(company_name!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_name")+" like '%"+company_name+"%' ";
			if(device_code!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("device_code")+" like '%"+device_code+"%' ";
			if(device_code_list!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("device_code")+" in ("+device_code_list+") ";
			if(time_start!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("time")+" >= '"+time_start+"' ";
			if(time_end!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("time")+" <= '"+time_end+"' ";
			if(COMMSTATUS!=null) {
				if(COMMSTATUS.equals("NO"))
					hqlwhere = chkhw(hqlwhere)+" u.id.status <> '上线' ";
				else if(COMMSTATUS.equals("ONLY"))
					hqlwhere = chkhw(hqlwhere)+" u.id.status = '离线' ";

			}
			if(order!=null)
				order_str = " order by u.id."+fieldname(order);
			else
				order_str = " order by u.id.id ";
			System.out.println(hqlwhere);
			//int totalCount = ytiotVAlarmDao.getRTUCount(hqlwhere);
			int totalCount = ytiotVAlarmDao.getVideoCount(hqlwhere);
			json.put("totalCount", totalCount);
			if(Start!=null){
				if(Integer.parseInt(Start)>totalCount){
					Start = "0";
					Page = "0";
				}else if(page==null)
					Page="0";
			}else{
				Start = "0";
				Page = "0";
			}
			json.put("page", Page);
			json.put("start", Start);
			json.put("limit", Limit);
			if(totalCount>0) {
				//获取用户手机号码
				List<?> ulist = ytiotVUserphoneDao.query(null, null, null, null, null);
				//获取告警信息
				List<?> list = ytiotVAlarmDao.videoOfflienQuery(hqlwhere, order_str, dir, Start, Limit);
				//ytiotVAlarmDao.RTUQuery(hqlwhere, order_str, dir, Start, Limit);
				SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				if(list.size()>0) {
					for(int i=0;i<list.size();i++) {
						YtiotVideoOffline hj = (YtiotVideoOffline)list.get(i);
						YtiotVideoOfflineId id = hj.getId();
						String cl_name = "";
						if((company_code!=null)&&(i==0))
							json.put("company_name", id.getCompanyName());
						Map<String, Comparable> map = new HashMap<String, Comparable>();
						map.put("orderIdx", Integer.parseInt(Start)+i+1);
						map.put("cllxr", id.getCllxr());
						map.put("clnr", id.getClnr());
						map.put("clr", id.getClr());
						map.put("clwb", id.getClwb());
						map.put("clzt", id.getClzt()==0?"未处理":"已处理");
						if(id.getClzt()==1)
							map.put("clsj", df.format(id.getClsj()));
						else
							map.put("clsj", "");
						map.put("company_code", id.getCompanyCode());
						map.put("company_name", id.getCompanyName());
						map.put("device_code", id.getDeviceCode());
						map.put("id", id.getId());
						map.put("name", id.getName());
						map.put("port", id.getPort());
						map.put("position", id.getPosition());
						map.put("status", id.getStatus());
						map.put("time", df.format(id.getTime()));
						/*map.put("fullname", id.getName()+","+((id.getPort().equals("E6")) ?"模拟量":"开关量")+","+((id.getNcmd().length()>0) ?("端口号:"+id.getNcmd()):"")
								+((id.getPort().equals("E3")) ?"":(id.getData2().equals("高压")?(","+"告警值:"+id.getData1()+"MPa")
								:(id.getData2().equals("低压")?(","+"告警值:"+id.getData1()+"MPa")
								:(id.getData2().equals("高温")?(","+"告警值:"+id.getData1()+"℃")
								:(id.getData2().equals("低温")?(","+"告警值:"+id.getData1()+"℃")
								:(id.getData2().equals("高水位")?(","+"告警值:"+id.getData1()+"m")
								:(id.getData2().equals("低水位")?(","+"告警值:"+id.getData1()+"m")
								:(id.getData2().equals("高湿度")?(","+"告警值:"+id.getData1()+"%")
								:(id.getData2().equals("低湿度")?(","+"告警值:"+id.getData1()+"%")
								:""))))))))));*/
						map.put("data", id.getData());
						if((id.getClr().length()>0)
								&&(ulist.size()>0)){
							for(int j=0;j<ulist.size();j++) {
								YtiotVUserphone po = (YtiotVUserphone)ulist.get(j);
								YtiotVUserphoneId poid = po.getId();
								if(id.getClr().equals(poid.getPhone())) {
									cl_name = poid.getUsername();
									break;
								}
							}
						}
						map.put("clr_name", cl_name.length()>0?cl_name:id.getClr());
						JSONObject jSONObject = JSONObject.fromObject(map);
						jSONArray.add(jSONObject);
					}
					json.put("RESULT", jSONArray);
				}
			}
			return json.toString();
		}
	}



	@Override
	public String getSjVList(String queryJson, String page, String start, String limit, String sort) throws Exception {
		// TODO Auto-generated method stub
		String address = null;
		String clzt = null;
		String company_code = null;
		String company_code_list = null;
		String Company_Code_List = null;
		String company_name = null;
		String device_code = null;
		String device_code_list = null;
		String time_start = null;
		String time_end = null;
		String COMMSTATUS = null;
		String V_LOGINNAME = null;
		String hqlwhere = null;
		String order = null;
		String dir = null;
		String Start = null;
		String Limit = null;
		String Page = null;
		String order_str = null;
		JSONObject q_json = null;
		JSONArray Sort = null;
		JSONArray jSONArray = new JSONArray();
		JSONObject json = new JSONObject();
		json.put("action", "getSjVList");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			address = q_json.has("address")?q_json.getString("address"):null;
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			clzt = q_json.has("clzt")?q_json.getString("clzt"):null;
			COMMSTATUS = q_json.has("COMMSTATUS")?q_json.getString("COMMSTATUS"):null;
			if(q_json.has("company_code")) {
				if((q_json.optJSONObject("company_code")!=null)
						&&(q_json.optJSONObject("company_code").isArray())) {
					JSONArray j_tmp = q_json.getJSONArray("company_code");
					for(int i=0;i<j_tmp.size();i++) {
						String tmp = j_tmp.getString(i);
						if(i==0)
							company_code_list = tmp;
						else
							company_code_list += ","+tmp;
					}
				}else
					company_code = q_json.getString("company_code");
			}
			company_name = q_json.has("company_name")?q_json.getString("company_name"):null;
			if(q_json.has("device_code")) {
				if((q_json.optJSONObject("device_code")!=null)
						&&(q_json.optJSONObject("device_code").isArray())){
					JSONArray j_tmp = q_json.getJSONArray("device_code");
					for(int i=0;i<j_tmp.size();i++) {
						String tmp = j_tmp.getString(i);
						if(i==0)
							device_code_list = tmp;
						else
							device_code_list += ","+tmp;
					}
				}else
					device_code = q_json.getString("device_code");
			}
			time_start = q_json.has("time_start")?q_json.getString("time_start"):null;
			time_end = q_json.has("time_end")?q_json.getString("time_end"):null;
		}
		if(V_LOGINNAME.equals("ypsgec")) {
			return json.toString();
		}else {
			if(sort!=null) {
				Sort = JSONArray.fromObject(sort);
				if((Sort.isArray())&&(Sort.size()>0)) {
					JSONObject s_json = Sort.getJSONObject(0);
					order = s_json.has("property")?s_json.getString("property"):order;
					dir = s_json.has("direction")?s_json.getString("direction"):dir;
				}
				json.put("sort", sort);
			}
			Start = start;
			Limit = limit;
			Page = page;
			if((V_LOGINNAME!=null)&&(company_code==null)&&(company_code_list==null)) {
				String where = " where u.id.agentid='"+V_LOGINNAME+"' ";
				List list = ytiotVUserCompanyDao.query(where, null, null, null, null);
				if(list.size()>0) {
					for(int i=0;i<list.size();i++) {
						YtiotVUsercompany o = (YtiotVUsercompany)list.get(i);
						YtiotVUsercompanyId oid = o.getId();
						if(i==0)
							Company_Code_List = oid.getOwnerCode();
						else
							Company_Code_List += ","+oid.getOwnerCode();
					}
				}
			}
			if(address!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("address")+" like '%"+address+"' ";
			if((clzt!=null)&&(clzt.length()>0))
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("clzt")+" = "+clzt+" ";
			if(Company_Code_List!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+Company_Code_List+") ";
			else {
				if(company_code!=null)
					hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+"  =  "+company_code+" ";
				if(company_code_list!=null)
					hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+company_code_list+") ";
			}
//			if(company_code!=null)
//				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" = '"+company_code+"' ";
//			if(company_code_list!=null)
//				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+company_code_list+") ";
			if(company_name!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_name")+" like '%"+company_name+"%' ";
			if(device_code!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("device_code")+" = '"+device_code+"' ";
			if(device_code_list!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("device_code")+" in ("+device_code_list+") ";
			if(time_start!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("time")+" >= '"+time_start+"' ";
			if(time_end!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("time")+" <= '"+time_end+"' ";
			if(COMMSTATUS!=null) {
				if(COMMSTATUS.equals("NO"))
					hqlwhere = chkhw(hqlwhere)+"( u.id.data1 <> 'WP4' and u.id.data1 <> 'LL4' ) ";
				else if(COMMSTATUS.equals("ONLY"))
					hqlwhere = chkhw(hqlwhere)+" ( u.id.data1 = 'WP4' or u.id.data1 = 'LL4' ) ";
			}
			if(order!=null)
				order_str = " order by u.id."+fieldname(order);
			else
				order_str = " order by u.id.id ";
			int totalCount = ytiotVAlarmDao.getSJCount(hqlwhere);
			json.put("totalCount", totalCount);
			if(Start!=null){
				if(Integer.parseInt(Start)>totalCount){
					Start = "0";
					Page = "0";
				}else if(page==null)
					Page="0";
			}else{
				Start = "0";
				Page = "0";
			}
			json.put("page", Page);
			json.put("start", Start);
			json.put("limit", Limit);
			if(totalCount>0) {
				List<?> ulist = ytiotVUserphoneDao.query(null, null, null, null, null);
				List<?> list = ytiotVAlarmDao.SJQuery(hqlwhere, order_str, dir, Start, Limit);
				SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				if(list.size()>0) {
					for(int i=0;i<list.size();i++) {
						YtiotVSj hj = (YtiotVSj)list.get(i);
						YtiotVSjId id = hj.getId();
						String cl_name = "";
						if((company_code!=null)&&(i==0))
							json.put("company_name", id.getCompanyName());
						Map<String, Comparable> map = new HashMap<String, Comparable>();
						map.put("orderIdx", Integer.parseInt(Start)+i+1);
						map.put("address", id.getAddress());
						map.put("cldh", id.getCldh());
						map.put("cllx", id.getCllx());
						map.put("cllxr", id.getCllxr());
						map.put("clnr", id.getClnr());
						map.put("clr", id.getClr());
						map.put("clwb", id.getClwb());
						map.put("clzt", id.getClzt()==0?"未处理":"已处理");
						map.put("clsj", df.format(id.getClsj()));
						map.put("company_code", id.getCompanyCode());
						map.put("company_name", id.getCompanyName());
						map.put("data1", id.getData1());
						map.put("data2", id.getData2());
						map.put("data3", id.getData3());
						map.put("data4", id.getData4()+(id.getData1().equals("WP1")?"MPa"
								:(id.getData1().equals("WP2")?"MPa"
								:(id.getData1().equals("WP3")?"MPa"
								:(id.getData1().equals("WP4")?"MPa"
								:(id.getData1().equals("WP0")?"MPa"
								:(id.getData1().equals("LL1")?"m"
								:(id.getData1().equals("LL2")?"m"
								:(id.getData1().equals("LL3")?"m"
								:(id.getData1().equals("LL0")?"m":""))))))))));
						map.put("data5", id.getData5());
						if(id.getClzt()==1)
							map.put("clsj", df.format(id.getClsj()));
						else
							map.put("clsj", "");
						map.put("device_code", id.getDeviceCode());
						map.put("id", id.getId());
						map.put("name", id.getName());
						map.put("ncmd", id.getNcmd());
						map.put("port", id.getPort());
						map.put("position", id.getPosition());
						map.put("status", id.getStatus());
						map.put("time", df.format(id.getTime()));
						map.put("vidoe", id.getVideo());
						map.put("fullname", id.getName());
						map.put("data", id.getData1().equals("WP1")?"低压"
								:(id.getData1().equals("WP2")?"高压"
								:(id.getData1().equals("WP3")?"故障"
								:(id.getData1().equals("WP4")?"离线"
								:(id.getData1().equals("WP0")?"正常"
								:(id.getData1().equals("LL1")?"低压"
								:(id.getData1().equals("LL2")?"高压"
								:(id.getData1().equals("LL3")?"故障"
								:(id.getData1().equals("LL0")?"正常":id.getData1())))))))));
						if((id.getClr().length()>0)
								&&(ulist.size()>0)){
							for(int j=0;j<ulist.size();j++) {
								YtiotVUserphone po = (YtiotVUserphone)ulist.get(j);
								YtiotVUserphoneId poid = po.getId();
								if(id.getClr().equals(poid.getPhone())) {
									cl_name = poid.getUsername();
									break;
								}
							}
						}
						map.put("clr_name", cl_name.length()>0?cl_name:id.getClr());
						JSONObject jSONObject = JSONObject.fromObject(map);
						jSONArray.add(jSONObject);
					}
					json.put("RESULT", jSONArray);
				}
			}
			return json.toString();
		}
	}

	@Override
	public String getRtuVList(String queryJson, String page, String start, String limit, String sort) throws Exception {
		// TODO Auto-generated method stub
		String address = null;
		String clzt = null;
		String company_code = null;
		String company_code_list = null;
		String Company_Code_List = null;
		String company_name = null;
		String device_code = null;
		String device_code_list = null;
		String time_start = null;
		String time_end = null;
		String COMMSTATUS = null;
		String V_LOGINNAME = null;
		String hqlwhere = null;
		String order = null;
		String dir = null;
		String Start = null;
		String Limit = null;
		String Page = null;
		String order_str = null;
		JSONObject q_json = null;
		JSONArray Sort = null;
		JSONArray jSONArray = new JSONArray();
		JSONObject json = new JSONObject();
		json.put("action", "getRtuVList");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			address = q_json.has("address")?q_json.getString("address"):null;
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			clzt = q_json.has("clzt")?q_json.getString("clzt"):null;
			COMMSTATUS = q_json.has("COMMSTATUS")?q_json.getString("COMMSTATUS"):null;
			if(q_json.has("company_code")) {
				if((q_json.optJSONObject("company_code")!=null)
						&&(q_json.optJSONObject("company_code").isArray())) {
					JSONArray j_tmp = q_json.getJSONArray("company_code");
					for(int i=0;i<j_tmp.size();i++) {
						String tmp = j_tmp.getString(i);
						if(i==0)
							company_code_list = tmp;
						else
							company_code_list += ","+tmp;
					}
				}else
					company_code = q_json.getString("company_code");
			}
			company_name = q_json.has("company_name")?q_json.getString("company_name"):null;
			if(q_json.has("device_code")) {
				if((q_json.optJSONObject("device_code")!=null)
						&&(q_json.optJSONObject("device_code").isArray())){
					JSONArray j_tmp = q_json.getJSONArray("device_code");
					for(int i=0;i<j_tmp.size();i++) {
						String tmp = j_tmp.getString(i);
						if(i==0)
							device_code_list = tmp;
						else
							device_code_list += ","+tmp;
					}
				}else
					device_code = q_json.getString("device_code");
			}
			time_start = q_json.has("time_start")?q_json.getString("time_start"):null;
			time_end = q_json.has("time_end")?q_json.getString("time_end"):null;
		}
		if(V_LOGINNAME.equals("ypsgec")) {
			return json.toString();
		}else {
			if(sort!=null) {
				Sort = JSONArray.fromObject(sort);
				if((Sort.isArray())&&(Sort.size()>0)) {
					JSONObject s_json = Sort.getJSONObject(0);
					order = s_json.has("property")?s_json.getString("property"):order;
					dir = s_json.has("direction")?s_json.getString("direction"):dir;
				}
				json.put("sort", sort);
			}
			Start = start;
			Limit = limit;
			Page = page;
			if((V_LOGINNAME!=null)&&(company_code==null)&&(company_code_list==null)) {
				String where = " where u.id.agentid='"+V_LOGINNAME+"' ";
				List list = ytiotVUserCompanyDao.query(where, null, null, null, null);
				if(list.size()>0) {
					for(int i=0;i<list.size();i++) {
						YtiotVUsercompany o = (YtiotVUsercompany)list.get(i);
						YtiotVUsercompanyId oid = o.getId();
						if(i==0)
							Company_Code_List = oid.getOwnerCode();
						else
							Company_Code_List += ","+oid.getOwnerCode();
					}
				}
			}
			if(address!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("address")+" like '%"+address+"' ";
			if((clzt!=null)&&(clzt.length()>0))
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("clzt")+" = "+clzt+" ";
			if(Company_Code_List!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+Company_Code_List+") ";
			else {
				if(company_code!=null)
					hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+"  =  "+company_code+" ";
				if(company_code_list!=null)
					hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+company_code_list+") ";
			}
//			if(company_code!=null)
//				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" like '%"+company_code+"%' ";
//			if(company_code_list!=null)
//				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+company_code_list+") ";
			if(company_name!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_name")+" like '%"+company_name+"%' ";
			if(device_code!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("device_code")+" like '%"+device_code+"%' ";
			if(device_code_list!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("device_code")+" in ("+device_code_list+") ";
			if(time_start!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("time")+" >= '"+time_start+"' ";
			if(time_end!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("time")+" <= '"+time_end+"' ";
			if(COMMSTATUS!=null) {
				if(COMMSTATUS.equals("NO"))
					hqlwhere = chkhw(hqlwhere)+" u.id.status <> '44' ";
				else if(COMMSTATUS.equals("ONLY"))
					hqlwhere = chkhw(hqlwhere)+" u.id.status = '44' ";
			}
			if(order!=null)
				order_str = " order by u.id."+fieldname(order);
			else
				order_str = " order by u.id.id ";
			System.out.println(hqlwhere);
			int totalCount = ytiotVAlarmDao.getRTUCount(hqlwhere);
			json.put("totalCount", totalCount);
			if(Start!=null){
				if(Integer.parseInt(Start)>totalCount){
					Start = "0";
					Page = "0";
				}else if(page==null)
					Page="0";
			}else{
				Start = "0";
				Page = "0";
			}
			json.put("page", Page);
			json.put("start", Start);
			json.put("limit", Limit);
			if(totalCount>0) {
				List<?> ulist = ytiotVUserphoneDao.query(null, null, null, null, null);
				List<?> list = ytiotVAlarmDao.RTUQuery(hqlwhere, order_str, dir, Start, Limit);
				SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				if(list.size()>0) {
					for(int i=0;i<list.size();i++) {
						YtiotVRtu hj = (YtiotVRtu)list.get(i);
						YtiotVRtuId id = hj.getId();
						String cl_name = "";
						if((company_code!=null)&&(i==0))
							json.put("company_name", id.getCompanyName());
						Map<String, Comparable> map = new HashMap<String, Comparable>();
						map.put("orderIdx", Integer.parseInt(Start)+i+1);
						map.put("address", id.getAddress());
						map.put("cldh", id.getCldh());
						map.put("cllx", id.getCllx());
						map.put("cllxr", id.getCllxr());
						map.put("clnr", id.getClnr());
						map.put("clr", id.getClr());
						map.put("clwb", id.getClwb());
						map.put("clzt", id.getClzt()==0?"未处理":"已处理");
						if(id.getClzt()==1)
							map.put("clsj", df.format(id.getClsj()));
						else
							map.put("clsj", "");
						map.put("company_code", id.getCompanyCode());
						map.put("company_name", id.getCompanyName());
						map.put("data1", id.getData1());
						map.put("data2", id.getData2());
						map.put("data3", id.getData3());
						map.put("data4", id.getData4());
						map.put("data5", id.getData5());
						map.put("device_code", id.getDeviceCode());
						map.put("id", id.getId());
						map.put("name", id.getName());
						map.put("ncmd", id.getNcmd());
						map.put("port", id.getPort());
						map.put("position", id.getPosition());
						map.put("status", id.getStatus());
						map.put("time", df.format(id.getTime()));
						map.put("vidoe", id.getVideo());
						map.put("fullname", id.getName()+","+((id.getPort().equals("E6")) ?"模拟量":"开关量")+","+((id.getNcmd().length()>0) ?("端口号:"+id.getNcmd()):"")
								+((id.getPort().equals("E3")) ?"":(id.getData2().equals("高压")?(","+"告警值:"+id.getData1()+"MPa")
								:(id.getData2().equals("低压")?(","+"告警值:"+id.getData1()+"MPa")
								:(id.getData2().equals("高温")?(","+"告警值:"+id.getData1()+"℃")
								:(id.getData2().equals("低温")?(","+"告警值:"+id.getData1()+"℃")
								:(id.getData2().equals("高水位")?(","+"告警值:"+id.getData1()+"m")
								:(id.getData2().equals("低水位")?(","+"告警值:"+id.getData1()+"m")
								:(id.getData2().equals("高湿度")?(","+"告警值:"+id.getData1()+"%")
								:(id.getData2().equals("低湿度")?(","+"告警值:"+id.getData1()+"%")
								:""))))))))));
						map.put("data", id.getData2());
						if((id.getClr().length()>0)
								&&(ulist.size()>0)){
							for(int j=0;j<ulist.size();j++) {
								YtiotVUserphone po = (YtiotVUserphone)ulist.get(j);
								YtiotVUserphoneId poid = po.getId();
								if(id.getClr().equals(poid.getPhone())) {
									cl_name = poid.getUsername();
									break;
								}
							}
						}
						map.put("clr_name", cl_name.length()>0?cl_name:id.getClr());
						JSONObject jSONObject = JSONObject.fromObject(map);
						jSONArray.add(jSONObject);
					}
					json.put("RESULT", jSONArray);
				}
			}
			return json.toString();
		}
	}

	@Override
	public String getConfirmStatus(String queryJson) throws Exception {
		// TODO Auto-generated method stub
		String company_code = null;
		String company_code_list = null;
		String company_name = null;
		String device_code = null;
		String device_code_list = null;
		String time_start = null;
		String time_end = null;
		String clzt = null;
		String COMMSTATUS = null;
		String V_LOGINNAME = null;
		String V_PASSWORD = null;
		String hqlwhere = null;
		String sqlwhere = null;
		int E_STATUS=-1;
		JSONObject q_json = null;
		JSONArray jSONArray = new JSONArray();
		JSONArray jSONArray2 = new JSONArray();
		JSONObject json = new JSONObject();
		List list2 = null,list3 = null,list4 = null;
		json.put("action", "getConfirmStatus");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			company_name = q_json.has("company_name")?q_json.getString("company_name"):null;
			time_start = q_json.has("time_start")?q_json.getString("time_start"):null;
			time_end = q_json.has("time_end")?q_json.getString("time_end"):null;
			COMMSTATUS = q_json.has("COMMSTATUS")?q_json.getString("COMMSTATUS"):null;
			clzt = q_json.has("clzt")?q_json.getString("clzt"):null;
			if(q_json.has("company_code")) {
				if((q_json.optJSONObject("company_code")!=null)&&(q_json.optJSONObject("company_code").isArray())) {
					JSONArray j_tmp = q_json.getJSONArray("company_code");
					for(int i=0;i<j_tmp.size();i++) {
						if(i==0)
							company_code_list = j_tmp.getString(i);
						else
							company_code_list += ","+j_tmp.getString(i);
					}
				}else
					company_code = q_json.getString("company_code");
			}
			if(q_json.has("device_code")) {
				if(q_json.getJSONObject("device_code").isArray()) {
					JSONArray j_tmp = q_json.getJSONArray("device_code");
					for(int i=0;i<j_tmp.size();i++) {
						if(i==0)
							device_code_list = j_tmp.getString(i);
						else
							device_code_list += ","+j_tmp.getString(i);
					}
				}else
					device_code = q_json.getString("device_code");
			}
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			V_PASSWORD = q_json.has("V_PASSWORD")?q_json.getString("V_PASSWORD"):null;
		}
		if((V_LOGINNAME!=null)&&(V_PASSWORD!=null)) {
			List list = ytiotTAdminDao.query(" where MD5(u.VLoginname)='"+MD5Util.EncoderByMd5(V_LOGINNAME)+"' and u.VPassword='"
					+MD5Util.EncoderByMd5(MD5Util.EncoderByMd5(V_PASSWORD))+"' ", null, null, null, null);
			if(list.size()>0) {
				YtiotTAdmin o = (YtiotTAdmin)list.get(0);
				E_STATUS = Integer.parseInt(o.getEStatus());
			}
		}
		if(E_STATUS==1) {
			if(company_name!=null) {
				sqlwhere = chkhw(sqlwhere)+" company_name like '%"+company_name+"%' ";
				hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("company_name")+" like '%"+company_name+"%' ";
			}
			if(time_start!=null) {
				sqlwhere = chkhw(sqlwhere)+" time >= '"+time_start+"' ";
				hqlwhere = chkhw(hqlwhere)+" u.id."+" time >= '"+time_start+"' ";
			}
			if(time_end!=null) {
				sqlwhere = chkhw(sqlwhere)+" time <= '"+time_end+"' ";
				hqlwhere = chkhw(hqlwhere)+" u.id."+" time <= '"+time_end+"' ";
			}
			if(company_code!=null) {
				sqlwhere = chkhw(sqlwhere)+" company_code like '%"+company_code+"%' ";
				hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("company_code")+" like '%"+company_code+"%' ";
			}
			if(company_code_list!=null) {
				sqlwhere = chkhw(sqlwhere)+" company_code in ("+company_code_list+") ";
				hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("company_code")+" in ("+company_code_list+") ";
			}
			if(device_code!=null) {
				sqlwhere = chkhw(sqlwhere)+" device_code like '%"+device_code+"%' ";
				hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("device_code")+" like '%"+device_code+"%' ";
			}
			if(device_code_list!=null) {
				sqlwhere = chkhw(sqlwhere)+" device_code in ("+device_code_list+") ";
				hqlwhere = chkhw(hqlwhere)+" u.id."+fieldname("device_code")+" in ("+device_code_list+") ";
			}
			if(clzt!=null) {
				sqlwhere = chkhw(sqlwhere)+" clzt="+clzt+" ";
				hqlwhere = chkhw(hqlwhere)+" u.id.clzt = "+clzt+" ";
			}
			String wheresql = null;
			if(COMMSTATUS!=null) {
				if(COMMSTATUS.equals("NO"))
					wheresql = chkhw(sqlwhere)+" data1<>'U44' ";
				else if(COMMSTATUS.equals("ONLY"))
					wheresql = chkhw(sqlwhere)+" data1='U44' ";
				else
					wheresql = sqlwhere;
			}else
				wheresql = sqlwhere;
			List list = ytiotVAlarmDao.queryBySQL(" select count(*) as count, sum(clzt) as sum from ytiot_v_hj "+((wheresql!=null)?wheresql:""));
			if(list.size()>0) {
				int NCount = 0;
				for(Iterator iterator = list.iterator();iterator.hasNext();){
					if(NCount==0) {
						Object[] objects = (Object[]) iterator.next();
						Map map = new HashMap();
						map.put("count", objects[0].toString());
						map.put("sum", objects[1]==null?"0":objects[1].toString());
						map.put("id", "fire_alarm");
						list2 = ytiotVAlarmDao.HJQuery(hqlwhere, "order by u.id.id", "desc", "0", "1");
						JSONObject jSONObject = JSONObject.fromObject(map);
						jSONArray.add(jSONObject);
						break;
					}
					NCount++;
				}
			}
			wheresql = null;
			if(COMMSTATUS!=null) {
				if(COMMSTATUS.equals("NO"))
					wheresql = chkhw(sqlwhere)+" ( data1<>'WP4' and data1<>'LL4' ) ";
				else if(COMMSTATUS.equals("ONLY"))
					wheresql = chkhw(sqlwhere)+" (data1='WP4' or data1='LL4' ) ";
				else
					wheresql = sqlwhere;
			}else
				wheresql = sqlwhere;
//			System.out.println(" select count(*) as count, sum(clzt) as sum from ytiot_v_sj "+((wheresql!=null)?wheresql:""));
			list = ytiotVAlarmDao.queryBySQL(" select count(*) as count, sum(clzt) as sum from ytiot_v_sj "+((wheresql!=null)?wheresql:""));
			if(list.size()>0) {
				int NCount = 0;
				for(Iterator iterator = list.iterator();iterator.hasNext();){
					if(NCount==0) {
						Object[] objects = (Object[]) iterator.next();
						Map map = new HashMap();
						map.put("count", objects[0].toString());
						map.put("sum", objects[1]==null?"0":objects[1].toString());
						map.put("id", "water_alarm");
						list3 = ytiotVAlarmDao.SJQuery(hqlwhere, "order by u.id.id", "desc", "0", "1");
						JSONObject jSONObject = JSONObject.fromObject(map);
						jSONArray.add(jSONObject);
						break;
					}
					NCount++;
				}
			}
			wheresql = null;
			if(COMMSTATUS!=null) {
				if(COMMSTATUS.equals("NO"))
					wheresql = chkhw(sqlwhere)+" status<>'44' ";
				else if(COMMSTATUS.equals("ONLY"))
					wheresql = chkhw(sqlwhere)+" status='44' ";
				else
					wheresql = sqlwhere;
			}else
				wheresql = sqlwhere;
			list = ytiotVAlarmDao.queryBySQL(" select count(*) as count, sum(clzt) as sum from ytiot_v_rtu "+((wheresql!=null)?wheresql:""));
			if(list.size()>0) {
				int NCount = 0;
				for(Iterator iterator = list.iterator();iterator.hasNext();){
					if(NCount==0) {
						Object[] objects = (Object[]) iterator.next();
						Map map = new HashMap();
						map.put("count", objects[0].toString());
						map.put("sum", objects[1]==null?"0":objects[1].toString());
						map.put("id", "rtu_alarm");
						list4 = ytiotVAlarmDao.RTUQuery(hqlwhere, "order by u.id.id", "desc", "0", "1");
						JSONObject jSONObject = JSONObject.fromObject(map);
						jSONArray.add(jSONObject);
						break;
					}
					NCount++;
				}
			}
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			for(int i=0;i<1;i++) {
				YtiotVHjId HJid = new YtiotVHjId();
				HJid.setTime(df.parse("1970-01-01 00:00:00"));
				if(list2.size()>0) {
					YtiotVHj hj = (YtiotVHj)list2.get(0);
					HJid = hj.getId();
				}
				YtiotVSjId SJid = new YtiotVSjId();
				SJid.setTime(df.parse("1970-01-01 00:00:00"));
				if(list3.size()>0) {
					YtiotVSj sj = (YtiotVSj)list3.get(0);
					SJid = sj.getId();
				}
				YtiotVRtuId RTUid = new YtiotVRtuId();
				RTUid.setTime(df.parse("1970-01-01 00:00:00"));
				if(list4.size()>0) {
					YtiotVRtu rtu = (YtiotVRtu)list4.get(0);
					RTUid = rtu.getId();
				}
				if(HJid.getTime().getTime()>=SJid.getTime().getTime()) {
					if(HJid.getTime().getTime()>=RTUid.getTime().getTime()) {
						if(HJid.getTime().getTime()>0) {
							Map map = new HashMap();
							map.put("id", i+1);
							map.put("company", HJid.getCompanyName());
							map.put("name", HJid.getName()+((HJid.getData4().length()>0) ?("，"+HJid.getData4()):""));
							map.put("data", HJid.getData2());
							map.put("time", df.format(HJid.getTime()));
							map.put("clzt", HJid.getClzt()==1?"已处理":"未处理");
							JSONObject jSONObject = JSONObject.fromObject(map);
							jSONArray2.add(jSONObject);
						}
						//					list2.remove(0);
					}else {
						if(RTUid.getTime().getTime()>0) {
							Map map = new HashMap();
							map.put("id", i+1);
							map.put("company", RTUid.getCompanyName());
							map.put("name", RTUid.getName());
							map.put("data", RTUid.getData2());
							map.put("time", df.format(RTUid.getTime()));
							map.put("clzt", RTUid.getClzt()==1?"已处理":"未处理");
							JSONObject jSONObject = JSONObject.fromObject(map);
							jSONArray2.add(jSONObject);
						}
						//					list4.remove(0);
					}
				}else {
					if(SJid.getTime().getTime()>=RTUid.getTime().getTime()) {
						if(SJid.getTime().getTime()>0) {
							Map map = new HashMap();
							map.put("id", i+1);
							map.put("company", SJid.getCompanyName());
							map.put("name", SJid.getName());
							map.put("data", SJid.getData1().equals("WP1")?"低压"
									:(SJid.getData1().equals("WP2")?"高压"
									:(SJid.getData1().equals("WP3")?"故障"
									:(SJid.getData1().equals("WP4")?"离线"
									:(SJid.getData1().equals("WP0")?"正常"
									:(SJid.getData1().equals("LL1")?"低压"
									:(SJid.getData1().equals("LL2")?"高压"
									:(SJid.getData1().equals("LL3")?"故障"
									:(SJid.getData1().equals("LL0")?"正常":SJid.getData1())))))))));
							map.put("time", df.format(SJid.getTime()));
							map.put("clzt", SJid.getClzt()==1?"已处理":"未处理");
							JSONObject jSONObject = JSONObject.fromObject(map);
							jSONArray2.add(jSONObject);
						}
						//					list3.remove(0);
					}else {
						if(RTUid.getTime().getTime()>0) {
							Map map = new HashMap();
							map.put("id", i+1);
							map.put("company", RTUid.getCompanyName());
							map.put("name", RTUid.getName());
							map.put("data", RTUid.getData2());
							map.put("time", df.format(RTUid.getTime()));
							map.put("clzt", RTUid.getClzt()==1?"已处理":"未处理");
							JSONObject jSONObject = JSONObject.fromObject(map);
							jSONArray2.add(jSONObject);
						}
						//					list4.remove(0);
					}
				}
			}
			json.put("ALARM_LIST", jSONArray2);
			json.put("RESULT", jSONArray);
			json.put("check", "true");
		}else
			json.put("check", "false");
		return json.toString();
	}

	@Override
	public String getConfirmStatusByDays(String queryJson) throws Exception {
		// TODO Auto-generated method stub
		String company_code = null;
		String company_code_list = null;
		String company_name = null;
		String device_code = null;
		String dwtype = null;
		String device_code_list = null;
		String time_start = null;
		String time_end = null;
		String COMMSTATUS = null;
		String V_LOGINNAME = null;
		String V_PASSWORD = null;
		int E_STATUS=-1;
		String sqlwhere = null;
		JSONObject q_json = null;
		JSONArray jSONArray = new JSONArray();
		JSONObject json = new JSONObject();
		List list2 = null,list3 = null,list4 = null;
		json.put("action", "getConfirmStatusByDays");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			company_name = q_json.has("company_name")?q_json.getString("company_name"):null;
			dwtype = q_json.has("dwtype")?q_json.getString("dwtype"):null;
			time_start = q_json.has("time_start")?q_json.getString("time_start"):null;
			time_end = q_json.has("time_end")?q_json.getString("time_end"):null;
			COMMSTATUS = q_json.has("COMMSTATUS")?q_json.getString("COMMSTATUS"):null;
			if(q_json.has("company_code")) {
				if((q_json.optJSONObject("company_code")!=null)&&(q_json.optJSONObject("company_code").isArray())) {
					JSONArray j_tmp = q_json.getJSONArray("company_code");
					for(int i=0;i<j_tmp.size();i++) {
						if(i==0)
							company_code_list = j_tmp.getString(i);
						else
							company_code_list += ","+j_tmp.getString(i);
					}
				}else
					company_code = q_json.getString("company_code");
			}
			if(q_json.has("device_code")) {
				if(q_json.getJSONObject("device_code").isArray()) {
					JSONArray j_tmp = q_json.getJSONArray("device_code");
					for(int i=0;i<j_tmp.size();i++) {
						if(i==0)
							device_code_list = j_tmp.getString(i);
						else
							device_code_list += ","+j_tmp.getString(i);
					}
				}else
					device_code = q_json.getString("device_code");
			}
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			V_PASSWORD = q_json.has("V_PASSWORD")?q_json.getString("V_PASSWORD"):null;
		}
		if((V_LOGINNAME!=null)&&(V_PASSWORD!=null)) {
			List list = ytiotTAdminDao.query(" where MD5(u.VLoginname)='"+MD5Util.EncoderByMd5(V_LOGINNAME)+"' and u.VPassword='"
					+MD5Util.EncoderByMd5(MD5Util.EncoderByMd5(V_PASSWORD))+"' ", null, null, null, null);
			if(list.size()>0) {
				YtiotTAdmin o = (YtiotTAdmin)list.get(0);
				E_STATUS = Integer.parseInt(o.getEStatus());
			}
		}
		if((V_LOGINNAME!=null)&&(company_code==null)&&(company_code_list==null)) {
			String where = " where u.id.agentid='"+V_LOGINNAME+"' ";
			List list = ytiotVUserCompanyDao.query(where, null, null, null, null);
			if(list.size()>0) {
				for(int i=0;i<list.size();i++) {
					YtiotVUsercompany o = (YtiotVUsercompany)list.get(i);
					YtiotVUsercompanyId oid = o.getId();
					if(i==0)
						company_code_list = oid.getOwnerCode();
					else
						company_code_list += ","+oid.getOwnerCode();
				}
			}
		}
		if(E_STATUS==1) {
			if(company_name!=null) {
				sqlwhere = chkhw(sqlwhere)+" company_name like '%"+company_name+"%' ";
			}
			if(time_start!=null) {
				sqlwhere = chkhw(sqlwhere)+" time >= '"+time_start+"' ";
			}
			if(time_end!=null) {
				sqlwhere = chkhw(sqlwhere)+" time <= '"+time_end+"' ";
			}
			if(company_code!=null) {
				sqlwhere = chkhw(sqlwhere)+" company_code like '%"+company_code+"%' ";
			}
			if(company_code_list!=null) {
				sqlwhere = chkhw(sqlwhere)+" company_code in ("+company_code_list+") ";
			}
			if(device_code!=null) {
				sqlwhere = chkhw(sqlwhere)+" device_code like '%"+device_code+"%' ";
			}
			if(device_code_list!=null) {
				sqlwhere = chkhw(sqlwhere)+" device_code in ("+device_code_list+") ";
			}
			String wheresql = null;
			JSONArray daylist = new JSONArray();
			JSONArray countlist = new JSONArray();
			JSONArray sumlist = new JSONArray();
			JSONObject jSONObject2;
			List list;
			Map map2;
			int count=0,sum=0;
			if((dwtype==null)||(dwtype.equals("1"))) {
				wheresql = null;
				if(COMMSTATUS!=null) {
					if(COMMSTATUS.equals("NO"))
						wheresql = chkhw(sqlwhere)+" data1 <> 'U44' ";
					else if(COMMSTATUS.equals("ONLY"))
						wheresql = chkhw(sqlwhere)+" data1 = 'U44' ";
				}
				list = ytiotVAlarmDao.queryBySQL(" select DATE_FORMAT(ytiot_v_hj.time, \"%Y-%m-%d\") as days, count(*) as count, sum(clzt) as sum, company_name from ytiot_v_hj "+((wheresql!=null)?wheresql:"")+" group by days order by days desc");
				if(list.size()>0) {
					int Nrow = 0;
					for(Iterator iterator = list.iterator();iterator.hasNext();){
						Object[] objects = (Object[]) iterator.next();
						daylist.add(objects[0].toString());
						String s_count = objects[1]==null?"0":objects[1].toString();
						String s_sum = objects[2]==null?"0":objects[2].toString();
						countlist.add(Integer.parseInt(s_count));
						sumlist.add(Integer.parseInt(s_sum));
						count += Integer.parseInt(s_count);
						sum += Integer.parseInt(s_sum);
						if((company_code!=null)&&(Nrow==0))
							json.put("company_name", objects[3].toString());
						Nrow++;
					}
				}
				map2 = new HashMap();
				map2.put("day_list", daylist);
				map2.put("count_list", countlist);
				map2.put("sum_list", sumlist);
				map2.put("count", count);
				map2.put("sum", sum);
				map2.put("id", "fire_alarm");
				jSONObject2 = JSONObject.fromObject(map2);
				jSONArray.add(jSONObject2);
			}
			if((dwtype==null)||(dwtype.equals("2"))) {
				wheresql = null;
				if(COMMSTATUS!=null) {
					if(COMMSTATUS.equals("NO"))
						wheresql = chkhw(sqlwhere)+" ( data1<>'WP4' and data1<>'LL4' ) ";
					else if(COMMSTATUS.equals("ONLY"))
						wheresql = chkhw(sqlwhere)+" ( data1='WP4' or data1='LL4') ";
					else
						wheresql = sqlwhere;
				}
				list = ytiotVAlarmDao.queryBySQL(" select DATE_FORMAT(ytiot_v_sj.time, \"%Y-%m-%d\") as days, count(*) as count, sum(clzt) as sum, company_name from ytiot_v_sj "+((wheresql!=null)?wheresql:"")+" group by days order by days desc");
				count=0;
				sum=0;
				daylist = new JSONArray();
				countlist = new JSONArray();
				sumlist = new JSONArray();
				if(list.size()>0) {
					int Nrow = 0;
					for(Iterator iterator = list.iterator();iterator.hasNext();){
						Object[] objects = (Object[]) iterator.next();
						daylist.add(objects[0].toString());
						String s_count = objects[1]==null?"0":objects[1].toString();
						String s_sum = objects[2]==null?"0":objects[2].toString();
						countlist.add(Integer.parseInt(s_count));
						sumlist.add(Integer.parseInt(s_sum));
						count += Integer.parseInt(s_count);
						sum += Integer.parseInt(s_sum);
						if((company_code!=null)&&(Nrow==0))
							json.put("company_name", objects[3].toString());
						Nrow++;
					}
				}
				map2 = new HashMap();
				map2.put("day_list", daylist);
				map2.put("count_list", countlist);
				map2.put("sum_list", sumlist);
				map2.put("count", count);
				map2.put("sum", sum);
				map2.put("id", "water_alarm");
				jSONObject2 = JSONObject.fromObject(map2);
				jSONArray.add(jSONObject2);
			}
			if((dwtype==null)||(dwtype.equals("6"))) {
				wheresql = null;
				if(COMMSTATUS!=null) {
					if(COMMSTATUS.equals("NO"))
						wheresql = chkhw(sqlwhere)+" status<>'44' ";
					else if(COMMSTATUS.equals("ONLY"))
						wheresql = chkhw(sqlwhere)+" status='44' ";
					else
						wheresql = sqlwhere;
				}
				list = ytiotVAlarmDao.queryBySQL(" select DATE_FORMAT(ytiot_v_rtu.time, \"%Y-%m-%d\") as days, count(*) as count, sum(clzt) as sum, company_name from ytiot_v_rtu "+((wheresql!=null)?wheresql:"")+" group by days order by days desc");
				count=0;
				sum=0;
				daylist = new JSONArray();
				countlist = new JSONArray();
				sumlist = new JSONArray();
				if(list.size()>0) {
					int Nrow = 0;
					for(Iterator iterator = list.iterator();iterator.hasNext();){
						Object[] objects = (Object[]) iterator.next();
						daylist.add(objects[0].toString());
						String s_count = objects[1]==null?"0":objects[1].toString();
						String s_sum = objects[2]==null?"0":objects[2].toString();
						countlist.add(Integer.parseInt(s_count));
						sumlist.add(Integer.parseInt(s_sum));
						count += Integer.parseInt(s_count);
						sum += Integer.parseInt(s_sum);
						if((company_code!=null)&&(Nrow==0))
							json.put("company_name", objects[3].toString());
						Nrow++;
					}
				}
				map2 = new HashMap();
				map2.put("day_list", daylist);
				map2.put("count_list", countlist);
				map2.put("sum_list", sumlist);
				map2.put("count", count);
				map2.put("sum", sum);
				map2.put("id", "rtu_alarm");
				jSONObject2 = JSONObject.fromObject(map2);
				jSONArray.add(jSONObject2);
			}





//视频监控统计数据
			if((dwtype==null)||(dwtype.equals("16"))) {
				wheresql = null;
				if(COMMSTATUS!=null) {
					if(COMMSTATUS.equals("NO"))
						wheresql = chkhw(sqlwhere)+" status<>'44' ";
					else if(COMMSTATUS.equals("ONLY"))
						wheresql = chkhw(sqlwhere)+" status='44' ";
					else
						wheresql = sqlwhere;
				}
				list = ytiotVAlarmDao.queryBySQL(" select DATE_FORMAT(ytiot_v_video2017.time, \"%Y-%m-%d\") as days, count(*) as count, sum(clzt) as sum, company_name from ytiot_v_video2017 "+((wheresql!=null)?wheresql:"")+" group by days order by days desc");
				count=0;
				sum=0;
				daylist = new JSONArray();
				countlist = new JSONArray();
				sumlist = new JSONArray();
				if(list.size()>0) {
					int Nrow = 0;
					for(Iterator iterator = list.iterator();iterator.hasNext();){
						Object[] objects = (Object[]) iterator.next();
						daylist.add(objects[0].toString());
						String s_count = objects[1]==null?"0":objects[1].toString();
						String s_sum = objects[2]==null?"0":objects[2].toString();
						countlist.add(Integer.parseInt(s_count));
						sumlist.add(Integer.parseInt(s_sum));
						count += Integer.parseInt(s_count);
						sum += Integer.parseInt(s_sum);
						if((company_code!=null)&&(Nrow==0))
							json.put("company_name", objects[3].toString());
						Nrow++;
					}
				}
				map2 = new HashMap();
				map2.put("day_list", daylist);
				map2.put("count_list", countlist);
				map2.put("sum_list", sumlist);
				map2.put("count", count);
				map2.put("sum", sum);
				map2.put("id", "rtu_alarm");
				jSONObject2 = JSONObject.fromObject(map2);
				jSONArray.add(jSONObject2);
			}

			//视频设备离线统计
			if((dwtype==null)||(dwtype.equals("18"))) {
				wheresql = null;
				if(COMMSTATUS!=null) {
					if(COMMSTATUS.equals("NO"))
						wheresql = chkhw(sqlwhere)+" status<>'上线' ";
					else if(COMMSTATUS.equals("ONLY"))
						wheresql = chkhw(sqlwhere)+" status='离线' ";
					else
						wheresql = sqlwhere;
				}
				list = ytiotVAlarmDao.queryBySQL(" select DATE_FORMAT(ytiot_v_video2017s.time, \"%Y-%m-%d\") as days, count(*) as count, sum(clzt=1) as sum, company_name from ytiot_v_video2017s "+((wheresql!=null)?wheresql:"")+" group by days order by device_code desc");
				count=0;
				sum=0;
				daylist = new JSONArray();
				countlist = new JSONArray();
				sumlist = new JSONArray();
				if(list.size()>0) {
					int Nrow = 0;
					for(Iterator iterator = list.iterator();iterator.hasNext();){
						Object[] objects = (Object[]) iterator.next();
						daylist.add(objects[0].toString());
						String s_count = objects[1]==null?"0":objects[1].toString();
						String s_sum = objects[2]==null?"0":objects[2].toString();
						countlist.add(Integer.parseInt(s_count));
						sumlist.add(Integer.parseInt(s_sum));
						count += Integer.parseInt(s_count);
						sum += Integer.parseInt(s_sum);
						if((company_code!=null)&&(Nrow==0))
							json.put("company_name", objects[3].toString());
						Nrow++;
					}
				}
				map2 = new HashMap();
				map2.put("day_list", daylist);
				map2.put("count_list", countlist);
				map2.put("sum_list", sumlist);
				map2.put("count", count);
				map2.put("sum", sum);
				map2.put("id", "rtu_alarm");
				jSONObject2 = JSONObject.fromObject(map2);
				jSONArray.add(jSONObject2);
			}




			//电梯监控统计数据
			if((dwtype==null)||(dwtype.equals("17"))) {
				wheresql = null;
				if(COMMSTATUS!=null) {
					if(COMMSTATUS.equals("NO"))
						wheresql = chkhw(sqlwhere)+" ncmd<>'0' ";
					else if(COMMSTATUS.equals("ONLY"))
						wheresql = chkhw(sqlwhere)+" ncmd='0' ";
					else
						wheresql = sqlwhere;
				}
				list = ytiotVAlarmDao.queryBySQL(" select DATE_FORMAT(ytiot_v_lift.time, \"%Y-%m-%d\") as days, count(*) as count, sum(clzt) as sum, company_name from ytiot_v_lift "+((wheresql!=null)?wheresql:"")+" group by days order by days desc");
				count=0;
				sum=0;
				daylist = new JSONArray();
				countlist = new JSONArray();
				sumlist = new JSONArray();
				if(list.size()>0) {
					int Nrow = 0;
					for(Iterator iterator = list.iterator();iterator.hasNext();){
						Object[] objects = (Object[]) iterator.next();
						daylist.add(objects[0].toString());
						String s_count = objects[1]==null?"0":objects[1].toString();
						String s_sum = objects[2]==null?"0":objects[2].toString();
						countlist.add(Integer.parseInt(s_count));
						sumlist.add(Integer.parseInt(s_sum));
						count += Integer.parseInt(s_count);
						sum += Integer.parseInt(s_sum);
						if((company_code!=null)&&(Nrow==0))
							json.put("company_name", objects[3].toString());
						Nrow++;
					}
				}
				map2 = new HashMap();
				map2.put("day_list", daylist);
				map2.put("count_list", countlist);
				map2.put("sum_list", sumlist);
				map2.put("count", count);
				map2.put("sum", sum);
				map2.put("id", "lift_alarm");
				jSONObject2 = JSONObject.fromObject(map2);
				jSONArray.add(jSONObject2);
			}





			if((dwtype==null)||(dwtype.equals("7"))) {
				wheresql = null;
				if(COMMSTATUS!=null) {
					if(COMMSTATUS.equals("NO"))
						wheresql = chkhw(sqlwhere)+" data1<>'EF9' ";
					else if(COMMSTATUS.equals("ONLY"))
						wheresql = chkhw(sqlwhere)+" data1='EF9' ";
					else
						wheresql = sqlwhere;
				}
				list = ytiotVAlarmDao.queryBySQL(" select DATE_FORMAT(ytiot_v_efire.time, \"%Y-%m-%d\") as days, count(*) as count, sum(clzt) as sum, company_name from ytiot_v_efire "+((wheresql!=null)?wheresql:"")+" group by days order by days desc");
				count=0;
				sum=0;
				daylist = new JSONArray();
				countlist = new JSONArray();
				sumlist = new JSONArray();
				if(list.size()>0) {
					int Nrow = 0;
					for(Iterator iterator = list.iterator();iterator.hasNext();){
						Object[] objects = (Object[]) iterator.next();
						daylist.add(objects[0].toString());
						String s_count = objects[1]==null?"0":objects[1].toString();
						String s_sum = objects[2]==null?"0":objects[2].toString();
						countlist.add(Integer.parseInt(s_count));
						sumlist.add(Integer.parseInt(s_sum));
						count += Integer.parseInt(s_count);
						sum += Integer.parseInt(s_sum);
						if((company_code!=null)&&(Nrow==0))
							json.put("company_name", objects[3].toString());
						Nrow++;
					}
				}
				map2 = new HashMap();
				map2.put("day_list", daylist);
				map2.put("count_list", countlist);
				map2.put("sum_list", sumlist);
				map2.put("count", count);
				map2.put("sum", sum);
				map2.put("id", "efire_alarm");
				jSONObject2 = JSONObject.fromObject(map2);
				jSONArray.add(jSONObject2);
			}
			json.put("RESULT", jSONArray);
			json.put("check", "true");
		}else {
			json.put("check", "false");
		}
		return json.toString();
	}

	@Override
	public String updateHj(String queryJson) throws Exception {
		// TODO Auto-generated method stub
		String V_LOGINNAME = null;
		String V_PASSWORD = null;
		int E_STATUS=-1;
		String clwb = null;
		String clnr = null;
		String id = null;
		String status = null;
		String device_code = null;
		String name = null;
		String confirmAll = null;
		String data4 = null;
		String data2 = null;
		String sql = null;
		List list1 = null;
		JSONObject q_json = null;
		JSONObject json = new JSONObject();
		json.put("action", "updateHj");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			clwb = q_json.has("clwb")?q_json.getString("clwb"):null;
			clnr = q_json.has("clnr")?q_json.getString("clnr"):null;
			id = q_json.has("id")?q_json.getString("id"):null;
			status = q_json.has("status")?q_json.getString("status"):null;
			device_code = q_json.has("device_code")?q_json.getString("device_code"):null;
			name = q_json.has("name")?q_json.getString("name"):null;
			confirmAll = q_json.has("confirmAll")?q_json.getString("confirmAll"):null;
			data4 = q_json.has("data4")?q_json.getString("data4"):null;
			data2 = q_json.has("data2")?q_json.getString("data2"):null;
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			V_PASSWORD = q_json.has("V_PASSWORD")?q_json.getString("V_PASSWORD"):null;
		}
		if((V_LOGINNAME!=null)&&(V_PASSWORD!=null)) {
			List list = ytiotTAdminDao.query(" where MD5(u.VLoginname)='"+MD5Util.EncoderByMd5(V_LOGINNAME)+"' and u.VPassword='"
					+MD5Util.EncoderByMd5(MD5Util.EncoderByMd5(V_PASSWORD))+"' ", null, null, null, null);
			if(list.size()>0) {
				YtiotTAdmin o = (YtiotTAdmin)list.get(0);
				E_STATUS = Integer.parseInt(o.getEStatus());
			}
		}
		System.out.println("用户测试"+V_LOGINNAME+V_PASSWORD);
		System.out.println("接口火警测试"+E_STATUS);
		if(E_STATUS==1) {
			if((clwb!=null)&&(clnr!=null)&&(id!=null)&&(status!=null)&&(device_code!=null)&&(name!=null)&&(confirmAll!=null)) {
				String sqlwhere=null;
				String hqlwhere=null;
				if(Integer.parseInt(confirmAll)==1) {
					hqlwhere = " where u.id.deviceCode='"+device_code+"' and u.id.name='"+name+"' and u.id.status='"+status+"' and u.id.data4='"+data4+"' and u.id.data2='"+data2+"' and u.id.clzt=0";
					sqlwhere = " where device_code='"+device_code+"' and name='"+name+"' and status='"+status+"' and data4='"+data4+"' and data2='"+data2+"' and clzt=0";
				}else {
					hqlwhere = " where u.id.id="+id+" ";
					sqlwhere = " where id="+id+" ";
				}
				int RowCount = ytiotVAlarmDao.getHJCount(hqlwhere);
				System.out.println("火警测试1"+hqlwhere);
//				System.out.println("火警测试2"+sqlwhere);
				if(RowCount>0) {
					ytiotVAlarmDao.execSQL(" update ytiot_v_hj2 set clwb='"+clwb+"', clnr='"+clnr+"', clzt=1 , clsj=now(), clr='"+V_LOGINNAME+"' "+sqlwhere);
					if (Integer.parseInt(confirmAll)==0){
						HashMap<String, Object> map = new HashMap<>();
						if(V_LOGINNAME.equals("ypxy")) {
							map.put("SubType",3);
						}else {
							map.put("SubType",1);
						}
						map.put("DeviceId",device_code);
						map.put("InsertId",id);
						map.put("Confirmed",true);
						com.alibaba.fastjson.JSONObject json1 = new com.alibaba.fastjson.JSONObject(map);

						com.alibaba.fastjson.JSONObject jsonObject = HttpClientUtils.doPost("http://47.98.201.187:55335/report", null,json1);
//					System.out.println("jsonObject = " + jsonObject);
					}else {
						sql = "select id,company_code from ytiot_v_hj where device_code='"+device_code+"' and name='"+name+"' and status='"+status+"' and data4='"+data4+"' and data2='"+data2+"' and clzt=1 order by time desc LIMIT 1";
						list1 = ytiotVAlarmDao.queryBySQL(sql);
						System.out.println("ceshi19950802"+sql);
						if(list1.size()>0) {
							System.out.println("ceshi1995");
							for(int i=0;i<list1.size();i++) {
								Object [] row = (Object [])list1.get(i);
								HashMap<String, Object> map = new HashMap<>();
								if(V_LOGINNAME.equals("ypxy")) {
									map.put("SubType",3);
								}else {
									map.put("SubType",1);
								}
								map.put("DeviceId",device_code);
								map.put("InsertId",row[0].toString());
								map.put("Confirmed",true);
								com.alibaba.fastjson.JSONObject json1 = new com.alibaba.fastjson.JSONObject(map);
								System.out.println("ceshi19950802"+row[0].toString());

								com.alibaba.fastjson.JSONObject jsonObject = HttpClientUtils.doPost("http://47.98.201.187:55335/report", null,json1);
							}
						}
					}
					json.put("activerow", RowCount);
					json.put("success", "true");


//					DefaultHttpClient httpclient = new DefaultHttpClient();
//					HttpPost httppost = new HttpPost("http://localhost:8011/testServlet");
//					List<BasicNameValuePair> nvps = new ArrayList<BasicNameValuePair>();
//			        nvps.add(new BasicNameValuePair("content", "11111111")); // 参数
//			        nvps.add(new BasicNameValuePair("path", "D:/file")); // 参数
//			        nvps.add(new BasicNameValuePair("name", "8")); // 参数
//			        nvps.add(new BasicNameValuePair("age", "9")); // 参数
//			        nvps.add(new BasicNameValuePair("username", "wzt")); // 参数
//
//			        httppost.setEntity((HttpEntity) new UrlEncodedFormEntity(nvps, HTTP.UTF_8)); // 设置参数给Post
//			        HttpResponse response = httpclient.execute(httppost);
//			        HttpEntity entity = response.getEntity();
//			        System.out.println(response.getStatusLine());
//			        if (entity != null) {
//			            System.out.println("Response content length: "
//			                    + entity.getContentLength());
//			        }
//
//			        BufferedReader reader = new BufferedReader(new InputStreamReader(
//			                entity.getContent(), "UTF-8"));
//
//			        String line = null;
//			        while ((line = reader.readLine()) != null) {
//			            System.out.println(line);
//			        }
//			        if (entity != null) {
//			            entity.consumeContent();
//			        }

				}else {
					json.put("success", "false");
					json.put("MSG", "参数传递错误，请联系系统管理员。");
				}
			}else {
				json.put("success", "false");
				json.put("MSG", "参数传递错误，请联系系统管理员。");
			}
		}else {
			json.put("success", "false");
			json.put("MSG", "用户权限错误，请重新登录后再试。");
		}
		return json.toString();
	}

	@Override
	public String updateEf(String queryJson) throws Exception {
		// TODO Auto-generated method stub
		String V_LOGINNAME = null;
		String V_PASSWORD = null;
		int E_STATUS=-1;
		String clwb = null;
		String clnr = null;
		String id = null;
		String status = null;
		String device_code = null;
		String name = null;
		String confirmAll = null;
		String data4 = null;
		String data2 = null;
		JSONObject q_json = null;
		JSONObject json = new JSONObject();
		json.put("action", "updateEf");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			clwb = q_json.has("clwb")?q_json.getString("clwb"):null;
			clnr = q_json.has("clnr")?q_json.getString("clnr"):null;
			id = q_json.has("id")?q_json.getString("id"):null;
			status = q_json.has("status")?q_json.getString("status"):null;
			device_code = q_json.has("device_code")?q_json.getString("device_code"):null;
			name = q_json.has("name")?q_json.getString("name"):null;
			confirmAll = q_json.has("confirmAll")?q_json.getString("confirmAll"):null;
			data4 = q_json.has("data4")?q_json.getString("data4"):null;
			data2 = q_json.has("data2")?q_json.getString("data2"):null;
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			V_PASSWORD = q_json.has("V_PASSWORD")?q_json.getString("V_PASSWORD"):null;
		}
		if((V_LOGINNAME!=null)&&(V_PASSWORD!=null)) {
			List list = ytiotTAdminDao.query(" where MD5(u.VLoginname)='"+MD5Util.EncoderByMd5(V_LOGINNAME)+"' and u.VPassword='"
					+MD5Util.EncoderByMd5(MD5Util.EncoderByMd5(V_PASSWORD))+"' ", null, null, null, null);
			if(list.size()>0) {
				YtiotTAdmin o = (YtiotTAdmin)list.get(0);
				E_STATUS = Integer.parseInt(o.getEStatus());
			}
		}
		if(E_STATUS==1) {
			if((clwb!=null)&&(clnr!=null)&&(id!=null)&&(status!=null)&&(device_code!=null)&&(name!=null)&&(confirmAll!=null)) {
				String sqlwhere=null;
				String hqlwhere=null;
				if(Integer.parseInt(confirmAll)==1) {
					hqlwhere = " where u.id.deviceCode='"+device_code+"' and u.id.name='"+name+"' and u.id.clzt=0";
					sqlwhere = " where device_code='"+device_code+"' and name='"+name+"' and clzt=0";
				}else {
					hqlwhere = " where u.id.id="+id+" ";
					sqlwhere = " where id="+id+" ";
				}
				int RowCount = ytiotVAlarmDao.getEFireCount(hqlwhere);
//				System.out.println(sqlwhere);
				if(RowCount>0) {
					ytiotVAlarmDao.execSQL(" update ytiot_v_efire2 set clwb='"+clwb+"', clnr='"+clnr+"', clzt=1 , clsj=now(), clr='"+V_LOGINNAME+"' "+sqlwhere);
					if (Integer.parseInt(confirmAll)==0){
						HashMap<String, Object> map = new HashMap<>();
						map.put("SubType",7);
						map.put("DeviceId",device_code);
						map.put("InsertId",id);
						map.put("Confirmed",true);
						com.alibaba.fastjson.JSONObject json1 = new com.alibaba.fastjson.JSONObject(map);

						com.alibaba.fastjson.JSONObject jsonObject = HttpClientUtils.doPost("http://47.98.201.187:55335/report", null,json1);
//					System.out.println("jsonObject = " + jsonObject);
					}else {
						String sql = "select id,company_code from ytiot_v_efire where device_code='"+device_code+"' and name='"+name+"' and clzt=1 order by time desc LIMIT 1";
						List list1 = ytiotVAlarmDao.queryBySQL(sql);
						if(list1.size()>0) {
							for(int i=0;i<list1.size();i++) {
								Object [] row = (Object [])list1.get(i);
								HashMap<String, Object> map = new HashMap<>();
								map.put("SubType",7);
								map.put("DeviceId",device_code);
								map.put("InsertId",row[0].toString());
								map.put("Confirmed",true);
								com.alibaba.fastjson.JSONObject json1 = new com.alibaba.fastjson.JSONObject(map);
								System.out.println("ceshi19950802"+row[0].toString());

								com.alibaba.fastjson.JSONObject jsonObject = HttpClientUtils.doPost("http://47.98.201.187:55335/report", null,json1);
							}
						}
					}
					json.put("activerow", RowCount);
					json.put("success", "true");
				}else {
					json.put("success", "false");
					json.put("MSG", "参数传递错误，请联系系统管理员。");
				}
			}else {
				json.put("success", "false");
				json.put("MSG", "参数传递错误，请联系系统管理员。");
			}
		}else {
			json.put("success", "false");
			json.put("MSG", "用户权限错误，请重新登录后再试。");
		}
		return json.toString();
	}

	@Override
	public String updateSj(String queryJson) throws Exception {
		// TODO Auto-generated method stub
		String V_LOGINNAME = null;
		String V_PASSWORD = null;
		int E_STATUS=-1;
		String clwb = null;
		String clnr = null;
		String id = null;
		String status = null;
		String device_code = null;
		String name = null;
		String confirmAll = null;
		JSONObject q_json = null;
		JSONObject json = new JSONObject();
		json.put("action", "updateSj");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			clwb = q_json.has("clwb")?q_json.getString("clwb"):null;
			clnr = q_json.has("clnr")?q_json.getString("clnr"):null;
			id = q_json.has("id")?q_json.getString("id"):null;
			status = q_json.has("status")?q_json.getString("status"):null;
			device_code = q_json.has("device_code")?q_json.getString("device_code"):null;
			name = q_json.has("name")?q_json.getString("name"):null;
			confirmAll = q_json.has("confirmAll")?q_json.getString("confirmAll"):null;
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			V_PASSWORD = q_json.has("V_PASSWORD")?q_json.getString("V_PASSWORD"):null;
		}
		if((V_LOGINNAME!=null)&&(V_PASSWORD!=null)) {
			List list = ytiotTAdminDao.query(" where MD5(u.VLoginname)='"+MD5Util.EncoderByMd5(V_LOGINNAME)+"' and u.VPassword='"
					+MD5Util.EncoderByMd5(MD5Util.EncoderByMd5(V_PASSWORD))+"' ", null, null, null, null);
			if(list.size()>0) {
				YtiotTAdmin o = (YtiotTAdmin)list.get(0);
				E_STATUS = Integer.parseInt(o.getEStatus());
			}
		}
		if(E_STATUS==1) {
			if((clwb!=null)&&(clnr!=null)&&(id!=null)&&(status!=null)&&(device_code!=null)&&(name!=null)&&(confirmAll!=null)) {
				String sqlwhere=null;
				String hqlwhere=null;
				if(Integer.parseInt(confirmAll)==1) {
					hqlwhere = " where u.id.deviceCode='"+device_code+"' and u.id.name='"+name+"' and u.id.status='"+status+"' and u.id.clzt=0";
					sqlwhere = " where device_code='"+device_code+"' and name='"+name+"' and status='"+status+"' and clzt=0";
				}else {
					hqlwhere = " where u.id.id="+id+" ";
					sqlwhere = " where id="+id+" ";
				}
				int RowCount = ytiotVAlarmDao.getSJCount(hqlwhere);
//				System.out.println(sqlwhere);
				if(RowCount>0) {
					ytiotVAlarmDao.execSQL(" update ytiot_v_sj2 set clwb='"+clwb+"', clnr='"+clnr+"', clzt=1 , clsj=now(), clr='"+V_LOGINNAME+"' "+sqlwhere);
					if (Integer.parseInt(confirmAll)==0){
						HashMap<String, Object> map = new HashMap<>();
						map.put("SubType",2);
						map.put("DeviceId",device_code);
						map.put("InsertId",id);
						map.put("Confirmed",true);
						com.alibaba.fastjson.JSONObject json1 = new com.alibaba.fastjson.JSONObject(map);

						com.alibaba.fastjson.JSONObject jsonObject = HttpClientUtils.doPost("http://47.98.201.187:55335/report", null,json1);
//					System.out.println("jsonObject = " + jsonObject);
					}else {
						String sql = "select id,company_code from ytiot_v_sj where device_code='"+device_code+"' and name='"+name+"' and status='"+status+"' and clzt=1 order by time desc LIMIT 1";
						List list1 = ytiotVAlarmDao.queryBySQL(sql);
						if(list1.size()>0) {
							for(int i=0;i<list1.size();i++) {
								Object [] row = (Object [])list1.get(i);
								HashMap<String, Object> map = new HashMap<>();
								map.put("SubType",2);
								map.put("DeviceId",device_code);
								map.put("InsertId",row[0].toString());
								map.put("Confirmed",true);
								com.alibaba.fastjson.JSONObject json1 = new com.alibaba.fastjson.JSONObject(map);
								System.out.println("ceshi19950802"+row[0].toString());

								com.alibaba.fastjson.JSONObject jsonObject = HttpClientUtils.doPost("http://47.98.201.187:55335/report", null,json1);
							}
						}
					}
					json.put("activerow", RowCount);
					json.put("success", "true");
				}else {
					json.put("success", "false");
					json.put("MSG", "参数传递错误，请联系系统管理员。");
				}
			}else {
				json.put("success", "false");
				json.put("MSG", "参数传递错误，请联系系统管理员。");
			}
		}else {
			json.put("success", "false");
			json.put("MSG", "用户权限错误，请重新登录后再试。");
		}
		return json.toString();
	}


	@Override
	public String updateRtu(String queryJson) throws Exception {
		// TODO Auto-generated method stub
		String V_LOGINNAME = null;
		String V_PASSWORD = null;
		int E_STATUS=-1;
		String clwb = null;
		String clnr = null;
		String id = null;
		String status = null;
		String device_code = null;
		String name = null;
		String confirmAll = null;
		JSONObject q_json = null;
		JSONObject json = new JSONObject();
		json.put("action", "updateSj");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			clwb = q_json.has("clwb")?q_json.getString("clwb"):null;
			clnr = q_json.has("clnr")?q_json.getString("clnr"):null;
			id = q_json.has("id")?q_json.getString("id"):null;
			status = q_json.has("status")?q_json.getString("status"):null;
			device_code = q_json.has("device_code")?q_json.getString("device_code"):null;
			name = q_json.has("name")?q_json.getString("name"):null;
			confirmAll = q_json.has("confirmAll")?q_json.getString("confirmAll"):null;
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			V_PASSWORD = q_json.has("V_PASSWORD")?q_json.getString("V_PASSWORD"):null;
		}
		if((V_LOGINNAME!=null)&&(V_PASSWORD!=null)) {
			List list = ytiotTAdminDao.query(" where MD5(u.VLoginname)='"+MD5Util.EncoderByMd5(V_LOGINNAME)+"' and u.VPassword='"
					+MD5Util.EncoderByMd5(MD5Util.EncoderByMd5(V_PASSWORD))+"' ", null, null, null, null);
			if(list.size()>0) {
				YtiotTAdmin o = (YtiotTAdmin)list.get(0);
				E_STATUS = Integer.parseInt(o.getEStatus());
			}
		}
		if(E_STATUS==1) {
			if((clwb!=null)&&(clnr!=null)&&(id!=null)&&(status!=null)&&(device_code!=null)&&(name!=null)&&(confirmAll!=null)) {
				String sqlwhere=null;
				String hqlwhere=null;
				if(Integer.parseInt(confirmAll)==1) {
					hqlwhere = " where u.id.deviceCode='"+device_code+"' and u.id.name='"+name+"' and u.id.status='"+status+"' and u.id.clzt=0";
					sqlwhere = " where device_code='"+device_code+"' and name='"+name+"' and status='"+status+"' and clzt=0";
				}else {
					hqlwhere = " where u.id.id="+id+" ";
					sqlwhere = " where id="+id+" ";
				}
				int RowCount = ytiotVAlarmDao.getRTUCount(hqlwhere);
//				System.out.println(sqlwhere);
				if(RowCount>0) {
					ytiotVAlarmDao.execSQL(" update ytiot_v_rtu2 set clwb='"+clwb+"', clnr='"+clnr+"', clzt=1 , clsj=now(), clr='"+V_LOGINNAME+"' "+sqlwhere);
					json.put("activerow", RowCount);
					json.put("success", "true");
				}else {
					json.put("success", "false");
					json.put("MSG", "参数传递错误，请联系系统管理员。");
				}
			}else {
				json.put("success", "false");
				json.put("MSG", "参数传递错误，请联系系统管理员。");
			}
		}else {
			json.put("success", "false");
			json.put("MSG", "用户权限错误，请重新登录后再试。");
		}
		return json.toString();
	}

	@Override
	public String getVideoList(String queryJson) throws Exception {
		// TODO Auto-generated method stub
		String company_code = null;
		String sql = null;
		JSONObject q_json = null;
		JSONArray jSONArray = new JSONArray();
		JSONObject json = new JSONObject();
		List list = null;
		json.put("action", "getVideoList");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			company_code = q_json.has("company_code")?q_json.getString("company_code"):null;
		}
		if(company_code!=null) {
			sql = "select device_code, dev_name, company, rtsp_path, comm_type from ytiot_v_video where company_code='"+company_code+"'";
			list = ytiotVAlarmDao.queryBySQL(sql);
			if(list.size()>0) {
				for(int i=0;i<list.size();i++) {
					Object [] row = (Object [])list.get(i);
					Map map = new HashMap();
					if(i==0)
						json.put("company", row[2].toString());
					map.put("device_code", row[0].toString());
					map.put("dev_name", row[1].toString());
					map.put("rtsp_path", row[3].toString());
					map.put("comm_type", row[4].toString());
					JSONObject jSONObject = JSONObject.fromObject(map);
					jSONArray.add(jSONObject);
				}
			}else
				json.put("company", "");
			json.put("RESULT", jSONArray);
		}
		return json.toString();
	}

	/**
	 * 视频状态修改
	 * @param queryJson
	 * @return
	 * @throws Exception
	 */
	@Override
	public String updateVideo(String queryJson) throws Exception {
		String V_LOGINNAME = null;
		String V_PASSWORD = null;
		int E_STATUS=-1;
		String clwb = null;
		String clnr = null;
		String id = null;
		String status = null;
		String device_code = null;
		String name = null;
		String confirmAll = null;
		JSONObject q_json = null;
		JSONObject json = new JSONObject();
		json.put("action", "updateSj");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			clwb = q_json.has("clwb")?q_json.getString("clwb"):null;
			clnr = q_json.has("clnr")?q_json.getString("clnr"):null;
			id = q_json.has("id")?q_json.getString("id"):null;
			status = q_json.has("status")?q_json.getString("status"):null;
			device_code = q_json.has("device_code")?q_json.getString("device_code"):null;
			name = q_json.has("name")?q_json.getString("name"):null;
			confirmAll = q_json.has("confirmAll")?q_json.getString("confirmAll"):null;
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			V_PASSWORD = q_json.has("V_PASSWORD")?q_json.getString("V_PASSWORD"):null;
		}
		if((V_LOGINNAME!=null)&&(V_PASSWORD!=null)) {
			List list = ytiotTAdminDao.query(" where MD5(u.VLoginname)='"+MD5Util.EncoderByMd5(V_LOGINNAME)+"' and u.VPassword='"
					+MD5Util.EncoderByMd5(MD5Util.EncoderByMd5(V_PASSWORD))+"' ", null, null, null, null);
			if(list.size()>0) {
				YtiotTAdmin o = (YtiotTAdmin)list.get(0);
				E_STATUS = Integer.parseInt(o.getEStatus());
			}
		}
		if(E_STATUS==1) {
			if((clwb!=null)&&(clnr!=null)&&(id!=null)&&(status!=null)&&(device_code!=null)&&(name!=null)&&(confirmAll!=null)) {
				String sqlwhere=null;
				String hqlwhere=null;
				if(Integer.parseInt(confirmAll)==1) {
					hqlwhere = " where u.id.deviceCode='"+device_code+"' and u.id.name='"+name+"' and u.id.status='"+status+"' ";
					sqlwhere = " where device_code='"+device_code+"' and name='"+name+"' and status='"+status+"' ";
				}else {
					hqlwhere = " where u.id.id="+id+" ";
					sqlwhere = " where id="+id+" ";
				}
				int RowCount = ytiotVAlarmDao.getVideoCount(hqlwhere);
//				System.out.println(sqlwhere);
				if(RowCount>0) {
					ytiotVAlarmDao.execSQL(" update ytiot_v_video20172 set clwb='"+clwb+"', clnr='"+clnr+"', clzt=1 , clsj=now(), clr='"+V_LOGINNAME+"' "+sqlwhere);
					json.put("activerow", RowCount);
					json.put("success", "true");
				}else {
					json.put("success", "false");
					json.put("MSG", "参数传递错误，请联系系统管理员。");
				}
			}else {
				json.put("success", "false");
				json.put("MSG", "参数传递错误，请联系系统管理员。");
			}
		}else {
			json.put("success", "false");
			json.put("MSG", "用户权限错误，请重新登录后再试。");
		}
		return json.toString();
	}


	/**
	 * 视频设备状态处理
	 * @param queryJson
	 * @return
	 * @throws Exception
	 */
	@Override
	public String updateVideoOffline(String queryJson) throws Exception {
		String V_LOGINNAME = null;
		String V_PASSWORD = null;
		int E_STATUS=-1;
		String clwb = null;
		String clnr = null;
		String id = null;
		String status = null;
		String device_code = null;
		String name = null;
		String confirmAll = null;
		JSONObject q_json = null;
		JSONObject json = new JSONObject();
		json.put("action", "updateSj");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			clwb = q_json.has("clwb")?q_json.getString("clwb"):null;
			clnr = q_json.has("clnr")?q_json.getString("clnr"):null;
			id = q_json.has("id")?q_json.getString("id"):null;
			status = q_json.has("status")?q_json.getString("status"):null;
			device_code = q_json.has("device_code")?q_json.getString("device_code"):null;
			name = q_json.has("name")?q_json.getString("name"):null;
			confirmAll = q_json.has("confirmAll")?q_json.getString("confirmAll"):null;
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			V_PASSWORD = q_json.has("V_PASSWORD")?q_json.getString("V_PASSWORD"):null;
		}
		if((V_LOGINNAME!=null)&&(V_PASSWORD!=null)) {
			List list = ytiotTAdminDao.query(" where MD5(u.VLoginname)='"+MD5Util.EncoderByMd5(V_LOGINNAME)+"' and u.VPassword='"
					+MD5Util.EncoderByMd5(MD5Util.EncoderByMd5(V_PASSWORD))+"' ", null, null, null, null);
			if(list.size()>0) {
				YtiotTAdmin o = (YtiotTAdmin)list.get(0);
				E_STATUS = Integer.parseInt(o.getEStatus());
			}
		}
		if(E_STATUS==1) {
			if((clwb!=null)&&(clnr!=null)&&(id!=null)&&(status!=null)&&(device_code!=null)&&(name!=null)&&(confirmAll!=null)) {
				String sqlwhere=null;
				String hqlwhere=null;
				if(Integer.parseInt(confirmAll)==1) {
					hqlwhere = " where u.id.deviceCode='"+device_code+"' and u.id.name='"+name+"' and u.id.status='"+status+"' ";
					sqlwhere = " where device_code='"+device_code+"' and name='"+name+"' and status='"+status+"' ";
				}else {
					hqlwhere = " where u.id.id="+id+" ";
					sqlwhere = " where id="+id+" ";
				}
				int RowCount = ytiotVAlarmDao.getVideoCount(hqlwhere);
				if(RowCount>0) {
					ytiotVAlarmDao.execSQL(" update ytiot_v_video2017s2 set clwb='"+clwb+"', clnr='"+clnr+"', clzt=1 , clsj=now(), clr='"+V_LOGINNAME+"' "+sqlwhere);
					json.put("activerow", RowCount);
					json.put("success", "true");
				}else {
					json.put("success", "false");
					json.put("MSG", "参数传递错误，请联系系统管理员。");
				}
			}else {
				json.put("success", "false");
				json.put("MSG", "参数传递错误，请联系系统管理员。");
			}
		}else {
			json.put("success", "false");
			json.put("MSG", "用户权限错误，请重新登录后再试。");
		}
		return json.toString();
	}



	/**
	 * 获取电梯信息
	 */
	@Override
	public String getLiftVList(String queryJson, String page, String start, String limit, String sort) throws Exception {
		// TODO Auto-generated method stub
		String address = null;
		String clzt = null;
		String company_code = null;
		String company_code_list = null;
		String Company_Code_List = null;
		String company_name = null;
		String device_code = null;
		String device_code_list = null;
		String time_start = null;
		String time_end = null;
		String COMMSTATUS = null;
		String V_LOGINNAME = null;
		String hqlwhere = null;
		String order = null;
		String dir = null;
		String Start = null;
		String Limit = null;
		String Page = null;
		String order_str = null;
		JSONObject q_json = null;
		JSONArray Sort = null;
		JSONArray jSONArray = new JSONArray();
		JSONObject json = new JSONObject();
		json.put("action", "getLiftVList");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			address = q_json.has("address")?q_json.getString("address"):null;
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			clzt = q_json.has("clzt")?q_json.getString("clzt"):null;
			COMMSTATUS = q_json.has("COMMSTATUS")?q_json.getString("COMMSTATUS"):null;
			if(q_json.has("company_code")) {
				if((q_json.optJSONObject("company_code")!=null)
						&&(q_json.optJSONObject("company_code").isArray())) {
					JSONArray j_tmp = q_json.getJSONArray("company_code");
					for(int i=0;i<j_tmp.size();i++) {
						String tmp = j_tmp.getString(i);
						if(i==0)
							company_code_list = tmp;
						else
							company_code_list += ","+tmp;
					}
				}else
					company_code = q_json.getString("company_code");
			}
			company_name = q_json.has("company_name")?q_json.getString("company_name"):null;
			if(q_json.has("device_code")) {
				if((q_json.optJSONObject("device_code")!=null)
						&&(q_json.optJSONObject("device_code").isArray())){
					JSONArray j_tmp = q_json.getJSONArray("device_code");
					for(int i=0;i<j_tmp.size();i++) {
						String tmp = j_tmp.getString(i);
						if(i==0)
							device_code_list = tmp;
						else
							device_code_list += ","+tmp;
					}
				}else
					device_code = q_json.getString("device_code");
			}
			time_start = q_json.has("time_start")?q_json.getString("time_start"):null;
			time_end = q_json.has("time_end")?q_json.getString("time_end"):null;
		}
		if(sort!=null) {
			Sort = JSONArray.fromObject(sort);
			if((Sort.isArray())&&(Sort.size()>0)) {
				JSONObject s_json = Sort.getJSONObject(0);
				order = s_json.has("property")?s_json.getString("property"):order;
				dir = s_json.has("direction")?s_json.getString("direction"):dir;
			}
			json.put("sort", sort);
		}
		Start = start;
		Limit = limit;
		Page = page;
		if((V_LOGINNAME!=null)&&(company_code==null)&&(company_code_list==null)) {
			String where = " where u.id.agentid='"+V_LOGINNAME+"' ";
			List list = ytiotVUserCompanyDao.query(where, null, null, null, null);
			if(list.size()>0) {
				for(int i=0;i<list.size();i++) {
					YtiotVUsercompany o = (YtiotVUsercompany)list.get(i);
					YtiotVUsercompanyId oid = o.getId();
					if(i==0)
						Company_Code_List = oid.getOwnerCode();
					else
						Company_Code_List += ","+oid.getOwnerCode();
				}
			}
		}
		if(address!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("address")+" like '%"+address+"' ";
		if((clzt!=null)&&(clzt.length()>0))
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("clzt")+" = "+clzt+" ";
		if(Company_Code_List!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+Company_Code_List+") ";
		else {
			if(company_code!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+"  =  "+company_code+" ";
			if(company_code_list!=null)
				hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+company_code_list+") ";
		}
//		if(company_code!=null)
//			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" = '"+company_code+"' ";
//		if(company_code_list!=null)
//			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_code")+" in ("+company_code_list+") ";
		if(company_name!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("company_name")+" like '%"+company_name+"%' ";
		if(device_code!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("device_code")+" = '"+device_code+"' ";
		if(device_code_list!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("device_code")+" in ("+device_code_list+") ";
		if(time_start!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("time")+" >= '"+time_start+"' ";
		if(time_end!=null)
			hqlwhere = chkhw(hqlwhere) + " u.id."+fieldname("time")+" <= '"+time_end+"' ";
		if(COMMSTATUS!=null) {
			if(COMMSTATUS.equals("NO"))
				hqlwhere = chkhw(hqlwhere)+"( u.id.ncmd <> '0' ) ";
			else if(COMMSTATUS.equals("ONLY"))
				hqlwhere = chkhw(hqlwhere)+" ( u.id.ncmd = '0'  ) ";
		}
		if(order!=null)
			order_str = " order by u.id."+fieldname(order);
		else
			order_str = " order by u.id.id ";
		int totalCount = ytiotVAlarmDao.getLiftCount(hqlwhere);
		json.put("totalCount", totalCount);
		if(Start!=null){
			if(Integer.parseInt(Start)>totalCount){
				Start = "0";
				Page = "0";
			}else if(page==null)
				Page="0";
		}else{
			Start = "0";
			Page = "0";
		}
		json.put("page", Page);
		json.put("start", Start);
		json.put("limit", Limit);
		if(totalCount>0) {
			List<?> ulist = ytiotVUserphoneDao.query(null, null, null, null, null);
			List<?> list = ytiotVAlarmDao.LiftQuery(hqlwhere, order_str, dir, Start, Limit);
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			if(list.size()>0) {
				for(int i=0;i<list.size();i++) {
					YtiotVLift hj = (YtiotVLift)list.get(i);
					YtiotVLiftId id = hj.getId();
					String cl_name = "";
					if((company_code!=null)&&(i==0))
						json.put("company_name", id.getCompanyName());
					Map<String, Comparable> map = new HashMap<String, Comparable>();
					map.put("orderIdx", Integer.parseInt(Start)+i+1);
					map.put("address", id.getAddress());
					map.put("cldh", id.getCldh());
					map.put("cllx", id.getCllx());
					map.put("cllxr", id.getCllxr());
					map.put("clnr", id.getClnr());
					map.put("clr", id.getClr());
					map.put("clwb", id.getClwb());
					map.put("clzt", id.getClzt()==0?"未处理":"已处理");
					map.put("clsj", df.format(id.getClsj()));
					map.put("company_code", id.getCompanyCode());
					map.put("company_name", id.getCompanyName());
					map.put("data1", id.getData1());
					map.put("data2", id.getData2());
					map.put("data3", id.getData3());
					map.put("data4", id.getData4());
					map.put("data5", id.getData5());
					if(id.getClzt()==1)
						map.put("clsj", df.format(id.getClsj()));
					else
						map.put("clsj", "");
					map.put("device_code", id.getDeviceCode());
					map.put("id", id.getId());
					map.put("name", id.getName());
					map.put("ncmd", id.getNcmd());
					map.put("port", id.getPort());
					map.put("position", id.getPosition());
					map.put("status", id.getStatus());
					map.put("time", df.format(id.getTime()));
					map.put("vidoe", id.getVideo());
					//报告内容
					map.put("fullname", id.getName()+","+id.getData4());
					map.put("data", id.getNcmd().equals("0")?"离线":"在线" );


					if((id.getClr().length()>0)
							&&(ulist.size()>0)){
						for(int j=0;j<ulist.size();j++) {
							YtiotVUserphone po = (YtiotVUserphone)ulist.get(j);
							YtiotVUserphoneId poid = po.getId();
							if(id.getClr().equals(poid.getPhone())) {
								cl_name = poid.getUsername();
								break;
							}
						}
					}
					map.put("clr_name", cl_name.length()>0?cl_name:id.getClr());
					JSONObject jSONObject = JSONObject.fromObject(map);
					jSONArray.add(jSONObject);
				}
				json.put("RESULT", jSONArray);
			}
		}
		return json.toString();
	}




	/**
	 * 处理电梯
	 */
	@Override
	public String updateLift(String queryJson) throws Exception {
		// TODO Auto-generated method stub
		String V_LOGINNAME = null;
		String V_PASSWORD = null;
		int E_STATUS=-1;
		String clwb = null;
		String clnr = null;
		String id = null;
		String status = null;
		String ncmd = null;
		String device_code = null;
		String name = null;
		String confirmAll = null;
		JSONObject q_json = null;
		JSONObject json = new JSONObject();
		json.put("action", "updateSj");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			clwb = q_json.has("clwb")?q_json.getString("clwb"):null;
			clnr = q_json.has("clnr")?q_json.getString("clnr"):null;
			id = q_json.has("id")?q_json.getString("id"):null;
			status = q_json.has("status")?q_json.getString("status"):null;
			ncmd = q_json.has("ncmd")?q_json.getString("ncmd"):null;
			device_code = q_json.has("device_code")?q_json.getString("device_code"):null;
			name = q_json.has("name")?q_json.getString("name"):null;
			confirmAll = q_json.has("confirmAll")?q_json.getString("confirmAll"):null;
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			V_PASSWORD = q_json.has("V_PASSWORD")?q_json.getString("V_PASSWORD"):null;
			System.out.println("ncmb+++"+ncmd);
		}
		if((V_LOGINNAME!=null)&&(V_PASSWORD!=null)) {
			List list = ytiotTAdminDao.query(" where MD5(u.VLoginname)='"+MD5Util.EncoderByMd5(V_LOGINNAME)+"' and u.VPassword='"
					+MD5Util.EncoderByMd5(MD5Util.EncoderByMd5(V_PASSWORD))+"' ", null, null, null, null);
			if(list.size()>0) {
				YtiotTAdmin o = (YtiotTAdmin)list.get(0);
				E_STATUS = Integer.parseInt(o.getEStatus());
			}
		}
		if(E_STATUS==1) {
			if((clwb!=null)&&(clnr!=null)&&(id!=null)&&(ncmd!=null)&&(device_code!=null)&&(name!=null)&&(confirmAll!=null)) {

				String sqlwhere=null;
				String hqlwhere=null;
				//是否离线状态      and     批量

				if(Integer.parseInt(confirmAll)==1) {
					if (Integer.parseInt(ncmd) == 0) {
						//离线
						hqlwhere = " where u.id.deviceCode='"+device_code+"' and u.id.name='"+name+"' and u.id.ncmd='"+ncmd+"' and clzt='0' ";
						//根据设备编号    状态     名称      进行批量修改
						sqlwhere = " where device_code='"+device_code+"' and name='"+name+"' and ncmd='"+ncmd+"'    and clzt='0'    ";
						System.out.println("hqlwhere==="+hqlwhere);
						System.out.println("sqlwhere===="+sqlwhere);
					}else	{
						//在线

						hqlwhere = " where u.id.deviceCode='"+device_code+"' and u.id.name='"+name+"' and u.id.ncmd<>'0' and clzt='0' ";
						//根据设备编号    状态     名称      进行批量修改
						sqlwhere = " where device_code='"+device_code+"' and name='"+name+"' and ncmd<> '0'  and clzt='0'    ";
						System.out.println("hqlwhere222==="+hqlwhere);
						System.out.println("sqlwhere222===="+sqlwhere);
					}
				}else {
					hqlwhere = " where u.id.id="+id+" ";
					sqlwhere = " where id="+id+" ";
				}
				int RowCount = ytiotVAlarmDao.getLiftCount(hqlwhere);
//				System.out.println(sqlwhere);
				if(RowCount>0) {
					ytiotVAlarmDao.execSQL(" update ytiot_v_lift2 set clwb='"+clwb+"', clnr='"+clnr+"', clzt=1 , clsj=now(), clr='"+V_LOGINNAME+"' "+sqlwhere);
					json.put("activerow", RowCount);
					json.put("success", "true");
				}else {
					json.put("success", "false");
					json.put("MSG", "参数传递错误，请联系系统管理员。");
				}
			}else {
				json.put("success", "false");
				json.put("MSG", "参数传递错误，请联系系统管理员。");
			}
		}else {
			json.put("success", "false");
			json.put("MSG", "用户权限错误，请重新登录后再试。");
		}
		return json.toString();
	}
	
	@Override
	public String updateIndexAlarm(String queryJson) throws Exception {
		// TODO Auto-generated method stub
		String V_LOGINNAME = null;
		String V_PASSWORD = null;
		int E_STATUS=-1;
		String clwb = null;
		String clnr = null;
		String id = null;
		String data5 = null;
		String dwtype = null;
		String device_code = null;
		String name = null;
		String confirmAll = null;
		String data4 = null;
		String data2 = null;
		String sql = null;
		List list1 = null;
		JSONObject q_json = null;
		JSONObject json = new JSONObject();
		json.put("action", "updateHj");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			clwb = q_json.has("clwb")?q_json.getString("clwb"):null;
			clnr = q_json.has("clnr")?q_json.getString("clnr"):null;
			id = q_json.has("id")?q_json.getString("id"):null;
			data5 = q_json.has("data5")?q_json.getString("data5"):null;
			dwtype = q_json.has("dwtype")?q_json.getString("dwtype"):null;
			device_code = q_json.has("device_code")?q_json.getString("device_code"):null;
			name = q_json.has("name")?q_json.getString("name"):null;
			confirmAll = q_json.has("confirmAll")?q_json.getString("confirmAll"):null;
			data4 = q_json.has("data4")?q_json.getString("data4"):null;
			data2 = q_json.has("data2")?q_json.getString("data2"):null;
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			V_PASSWORD = q_json.has("V_PASSWORD")?q_json.getString("V_PASSWORD"):null;
		}
		if((V_LOGINNAME!=null)&&(V_PASSWORD!=null)) {
			List list = ytiotTAdminDao.query(" where MD5(u.VLoginname)='"+MD5Util.EncoderByMd5(V_LOGINNAME)+"' and u.VPassword='"
					+MD5Util.EncoderByMd5(MD5Util.EncoderByMd5(V_PASSWORD))+"' ", null, null, null, null);
			if(list.size()>0) {
				YtiotTAdmin o = (YtiotTAdmin)list.get(0);
				E_STATUS = Integer.parseInt(o.getEStatus());
			}
		}
		if(E_STATUS==1) {
			if((clwb!=null)&&(clnr!=null)&&(id!=null)&&(data5!=null)&&(device_code!=null)&&(name!=null)&&(confirmAll!=null)) {
				String sqlwhere=null;
				String hqlwhere=null;
				if(Integer.parseInt(confirmAll)==1) {
					if(Integer.parseInt(dwtype)==1||Integer.parseInt(dwtype)==3) {
						hqlwhere = " where u.id.deviceCode='"+device_code+"' and u.id.name='"+name+"' and u.id.data5='"+data5+"' and u.id.data4='"+data4+"' and u.id.data2='"+data2+"' and u.id.clzt=0";
						sqlwhere = " where device_code='"+device_code+"' and name='"+name+"' and status='"+data5+"' and data4='"+data4+"' and data2='"+data2+"' and clzt=0";
					}else if(Integer.parseInt(dwtype)==2||Integer.parseInt(dwtype)==5) {
						hqlwhere = " where u.id.deviceCode='"+device_code+"' and u.id.name='"+name+"' and u.id.clzt=0";
						sqlwhere = " where device_code='"+device_code+"' and name='"+name+"' and clzt=0";
					}else if(Integer.parseInt(dwtype)==6) {
						hqlwhere = " where u.id.deviceCode='"+device_code+"' and u.id.name='"+name+"' and u.id.clzt=0";
						sqlwhere = " where device_code='"+device_code+"' and name='"+name+"' and clzt=0";
					}else if(Integer.parseInt(dwtype)==7) {
						hqlwhere = " where u.id.deviceCode='"+device_code+"' and u.id.name='"+name+"' and u.id.clzt=0";
						sqlwhere = " where device_code='"+device_code+"' and name='"+name+"' and clzt=0";
					}else if(Integer.parseInt(dwtype)==16) {
						hqlwhere = " where u.id.deviceCode='"+device_code+"' and u.id.name='"+name+"' ";
						sqlwhere = " where device_code='"+device_code+"' and name='"+name+"' ";
					}
				}else {
					hqlwhere = " where u.id.id="+id+" ";
					sqlwhere = " where id="+id+" ";
				}
				int RowCount = 0;
				if(Integer.parseInt(dwtype)==1||Integer.parseInt(dwtype)==3) {
					RowCount = ytiotVAlarmDao.getHJCount(hqlwhere);
				}else if(Integer.parseInt(dwtype)==2||Integer.parseInt(dwtype)==5) {
					RowCount = ytiotVAlarmDao.getSJCount(hqlwhere);
				}else if(Integer.parseInt(dwtype)==6) {
					RowCount = ytiotVAlarmDao.getRTUCount(hqlwhere);
				}else if(Integer.parseInt(dwtype)==7) {
					RowCount = ytiotVAlarmDao.getEFireCount(hqlwhere);
				}else if(Integer.parseInt(dwtype)==16) {
					RowCount = ytiotVAlarmDao.getVideoCount(hqlwhere);
				}
				
				if(RowCount>0) {
					if(Integer.parseInt(dwtype)==1||Integer.parseInt(dwtype)==3) {
						ytiotVAlarmDao.execSQL(" update ytiot_v_hj2 set clwb='"+clwb+"', clnr='"+clnr+"', clzt=1 , clsj=now(), clr='"+V_LOGINNAME+"' "+sqlwhere);
						if (Integer.parseInt(confirmAll)==0){
							HashMap<String, Object> map = new HashMap<>();
							map.put("SubType",1);
							map.put("DeviceId",device_code);
							map.put("InsertId",id);
							map.put("Confirmed",true);
							com.alibaba.fastjson.JSONObject json1 = new com.alibaba.fastjson.JSONObject(map);

							com.alibaba.fastjson.JSONObject jsonObject = HttpClientUtils.doPost("http://47.98.201.187:55335/report", null,json1);
//						System.out.println("jsonObject = " + jsonObject);
						}else {
							sql = "select id,company_code from ytiot_v_hj where device_code='"+device_code+"' and name='"+name+"' and data5='"+data5+"' and data4='"+data4+"' and data2='"+data2+"' and clzt=1 order by time desc LIMIT 1";
							list1 = ytiotVAlarmDao.queryBySQL(sql);
							System.out.println("ceshi19950802"+sql);
							if(list1.size()>0) {
								System.out.println("ceshi1995");
								for(int i=0;i<list1.size();i++) {
									Object [] row = (Object [])list1.get(i);
									HashMap<String, Object> map = new HashMap<>();
									map.put("SubType",1);
									map.put("DeviceId",device_code);
									map.put("InsertId",row[0].toString());
									map.put("Confirmed",true);
									com.alibaba.fastjson.JSONObject json1 = new com.alibaba.fastjson.JSONObject(map);
									System.out.println("ceshi19950802"+row[0].toString());
									com.alibaba.fastjson.JSONObject jsonObject = HttpClientUtils.doPost("http://47.98.201.187:55335/report", null,json1);
								}
							}
						}
					}else if(Integer.parseInt(dwtype)==2||Integer.parseInt(dwtype)==5) {
						ytiotVAlarmDao.execSQL(" update ytiot_v_sj2 set clwb='"+clwb+"', clnr='"+clnr+"', clzt=1 , clsj=now(), clr='"+V_LOGINNAME+"' "+sqlwhere);
					}else if(Integer.parseInt(dwtype)==6) {
						ytiotVAlarmDao.execSQL(" update ytiot_v_rtu2 set clwb='"+clwb+"', clnr='"+clnr+"', clzt=1 , clsj=now(), clr='"+V_LOGINNAME+"' "+sqlwhere);
					}else if(Integer.parseInt(dwtype)==7) {
						ytiotVAlarmDao.execSQL(" update ytiot_v_efire2 set clwb='"+clwb+"', clnr='"+clnr+"', clzt=1 , clsj=now(), clr='"+V_LOGINNAME+"' "+sqlwhere);
					}else if(Integer.parseInt(dwtype)==16) {
						ytiotVAlarmDao.execSQL(" update ytiot_v_video20172 set clwb='"+clwb+"', clnr='"+clnr+"', clzt=1 , clsj=now(), clr='"+V_LOGINNAME+"' "+sqlwhere);
					}
					json.put("activerow", RowCount);
					json.put("success", "true");

				}else {
					json.put("success", "false");
					json.put("MSG", "参数传递错误，请联系系统管理员。");
				}
			}else {
				json.put("success", "false");
				json.put("MSG", "参数传递错误，请联系系统管理员。");
			}
		}else {
			json.put("success", "false");
			json.put("MSG", "用户权限错误，请重新登录后再试。");
		}
		return json.toString();
	}
	
	@Override
	public String getHjOfflineList(String queryJson, String page, String start, String limit, String sort) throws Exception {
		// TODO Auto-generated method stub
		String company_code = null;
		String company_code_list = null;
		String Company_Code_List = null;
		int dwtype = 0;
		String status = "在线";
		String V_LOGINNAME = null;
		String hql = null;
		String hjhql = null;
		String sonhql = null;
		String order = null;
		String dir = null;
		String Start = null;
		String Limit = null;
		String Page = null;
		String order_str = null;
		JSONObject q_json = null;
		JSONArray Sort = null;
		JSONArray jSONArray = new JSONArray();
		JSONObject json = new JSONObject();
		json.put("action", "getHjOfflineList");
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			dwtype = q_json.has("dwtype")?q_json.getInt("dwtype"):0;
			if(q_json.has("company_code")) {
				if((q_json.optJSONObject("company_code")!=null)
						&&(q_json.optJSONObject("company_code").isArray())) {
					JSONArray j_tmp = q_json.getJSONArray("company_code");
					for(int i=0;i<j_tmp.size();i++) {
						String tmp = j_tmp.getString(i);
						if(i==0)
							company_code_list = tmp;
						else
							company_code_list += ","+tmp;
					}
				}else {
					company_code = q_json.getString("company_code");
				}
			}
		if((V_LOGINNAME!=null)&&(company_code==null)&&(company_code_list==null)) {
			String where = " where u.id.agentid='"+V_LOGINNAME+"' ";
			List list = ytiotVUserCompanyDao.query(where, null, null, null, null);
			if(list.size()>0) {
				for(int i=0;i<list.size();i++) {
					YtiotVUsercompany o = (YtiotVUsercompany)list.get(i);
					YtiotVUsercompanyId oid = o.getId();
					if(i==0)
						Company_Code_List = oid.getOwnerCode();
					else
						Company_Code_List += ","+oid.getOwnerCode();
				}
			}
		}
		if(dwtype==1) {
			if(Company_Code_List!=null) {
				hql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +" in ("+Company_Code_List+") "+ "AND dwtype !='火系统' AND `status`>24";
				hjhql = "SELECT COUNT(*) FROM ytiot_v_userinfocondition WHERE company_code" +" in ("+Company_Code_List+") "+ "AND `status` ='离线'";
				
			}else {
				if(company_code!=null) {
					hql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +"  =  '"+company_code+ "' AND dwtype !='火系统' AND `status`>24";
					hjhql = "SELECT COUNT(*) FROM ytiot_v_userinfocondition WHERE company_code" +"  =  '"+company_code+ "' AND `status` ='离线'";
				}
				if(company_code_list!=null) {
					hql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +" in ("+company_code_list+") "+ "AND dwtype !='火系统' AND `status`>24";
					hjhql = "SELECT COUNT(*) FROM ytiot_v_userinfocondition WHERE company_code" +" in ("+company_code_list+") "+ "AND `status` ='离线'";
				}
			}
		}else {
			if(Company_Code_List!=null) {
				hjhql = "SELECT COUNT(*) FROM ytiot_v_userinfocondition WHERE company_code" +" in ("+Company_Code_List+") "+ "AND `status` ='离线'";
				hql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +" in ("+Company_Code_List+") "+ "AND dwtype !='火系统' AND `status`>24";
				if(dwtype==6) {
					sonhql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +" in ("+Company_Code_List+") "+ "AND dwtype ='rtu' AND `status`>24";
				}else if(dwtype==2) {
					sonhql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +" in ("+Company_Code_List+") "+ "AND dwtype IN ('液位','水系统') AND `status`>24";
				}else if(dwtype==7) {
					sonhql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +" in ("+Company_Code_List+") "+ "AND dwtype ='电气火灾' AND `status`>24";
				}else if(dwtype==16) {
					sonhql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +" in ("+Company_Code_List+") "+ "AND dwtype ='视频监测' AND `status`>24";
				}else if(dwtype==128) {
					sonhql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +" in ("+Company_Code_List+") "+ "AND dwtype ='井盖监测' AND `status`>24";
				}else if(dwtype==17) {
					sonhql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +" in ("+Company_Code_List+") "+ "AND dwtype ='电梯监测' AND `status`>24";
				}
				
			}else {
				if(company_code!=null) {
					hjhql = "SELECT COUNT(*) FROM ytiot_v_userinfocondition WHERE company_code" +" = '"+company_code+ "' AND `status` ='离线'";
					hql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +" =  '"+company_code+ "' AND dwtype !='火系统' AND `status`>24";
					if(dwtype==6) {
						sonhql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +" =  '"+company_code+ "' AND dwtype ='rtu' AND `status`>24";
					}else if(dwtype==2) {
						sonhql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +"  =  '"+company_code+ "' AND dwtype IN ('液位','水系统') AND `status`>24";
					}else if(dwtype==7) {
						sonhql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +"  =  '"+company_code+ "' AND dwtype ='电气火灾' AND `status`>24";
					}else if(dwtype==16) {
						sonhql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +"  =  '"+company_code+ "' AND dwtype ='视频监测' AND `status`>24";
					}else if(dwtype==128) {
						sonhql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +"  =  '"+company_code+ "' AND dwtype ='井盖监测' AND `status`>24";
					}else if(dwtype==17) {
						sonhql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +"  =  '"+company_code+ "' AND dwtype ='电梯监测' AND `status`>24";
					}
				}
				if(company_code_list!=null) {
					hjhql = "SELECT COUNT(*) FROM ytiot_v_userinfocondition WHERE company_code" +" in ("+company_code_list+") "+ "AND `status` ='离线'";
					hql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +" in ("+company_code_list+") "+ "AND dwtype !='火系统' AND `status`>24";
					if(dwtype==6) {
						sonhql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +" in ("+company_code_list+") "+ "AND dwtype ='rtu' AND `status`>24";
					}else if(dwtype==2) {
						sonhql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +" in ("+company_code_list+") "+ "AND dwtype IN ('液位','水系统') AND `status`>24";
					}else if(dwtype==7) {
						sonhql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +" in ("+company_code_list+") "+ "AND dwtype ='电气火灾' AND `status`>24";
					}else if(dwtype==16) {
						sonhql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +" in ("+company_code_list+") "+ "AND dwtype ='视频监测' AND `status`>24";
					}else if(dwtype==128) {
						sonhql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +" in ("+company_code_list+") "+ "AND dwtype ='井盖监测' AND `status`>24";
					}else if(dwtype==17) {
						sonhql = "SELECT COUNT(*) FROM ytiot_v_device_condition WHERE company_code" +" in ("+company_code_list+") "+ "AND dwtype ='电梯监测' AND `status`>24";
					}
				}
			}
		}
		System.out.println("hjhql = " + hjhql);
		String hjsql = hjhql;
		Integer hjtotalCount = 0;
		hjtotalCount = (Integer) hibernateTemplate.execute(new HibernateCallback() {
		    @Override
		    public Object doInHibernate(Session session) throws HibernateException, SQLException {

		        return Integer.valueOf(session.createSQLQuery(hjsql).uniqueResult().toString());


		    }
		});
		String sonsql = sonhql;
		Integer sontotalCount =0;
		Integer totalCount = 0;
		if(dwtype!=1) {
			sontotalCount = (Integer) hibernateTemplate.execute(new HibernateCallback() {
			    @Override
			    public Object doInHibernate(Session session) throws HibernateException, SQLException {

			        return Integer.valueOf(session.createSQLQuery(sonsql).uniqueResult().toString());


			    }
			});
			json.put("sontotalCount", sontotalCount);
		}
		
		String sql = hql;
		totalCount = (Integer) hibernateTemplate.execute(new HibernateCallback() {
		    @Override
		    public Object doInHibernate(Session session) throws HibernateException, SQLException {

		        return Integer.valueOf(session.createSQLQuery(sql).uniqueResult().toString());


		    }
		});
		NumberFormat numberFormat = NumberFormat.getInstance();
		String hjresult = numberFormat.format((float)hjtotalCount/(float)(totalCount+hjtotalCount)*100);
		if(dwtype!=1) {
			String sonresult = numberFormat.format((float)sontotalCount/(float)(totalCount+hjtotalCount)*100);
			json.put("sonresult", sonresult);
		}
//		int totalCount = ytiotVAlarmDao.getHjOfflineCount(hqlwhere);
		json.put("hjtotalCount", hjtotalCount);
		json.put("hjresult", hjresult);
		json.put("limit", Limit);
		}
		return json.toString();
	}
		
	/**
	 * 伍继告警信息
	 */
	@Override
	public String getWjAlarmList(String queryJson, String page, String start, String limit, String sort) throws Exception {
		// TODO Auto-generated method stub
		String address = null;
		String clzt = null;
		String company_code = null;
		String company_code_list = null;
		String Company_Code_List = null;
		String company_name = null;
		String digitalValue = null;
		String device_code_list = null;
		String time_start = null;
		String time_end = null;
		String COMMSTATUS = null;
		String V_LOGINNAME = null;
		String hqlwhere = null;
		String order = " order by id";
		String dir = " desc";
		String Start = null;
		String Limit = null;
		String Page = null;
		String order_str = " order by id";
		JSONObject q_json = null;
		JSONArray Sort = null;
		JSONArray jSONArray = new JSONArray();
		JSONObject json = new JSONObject();
		json.put("action", "getLiftVList");
		NumberFormat numberFormat = NumberFormat.getInstance();
		if(queryJson!=null) {
			q_json = JSONObject.fromObject(queryJson);
			V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null;
			digitalValue = q_json.has("digitalValue")?q_json.getString("digitalValue"):null;
			time_start = q_json.has("startTime")?q_json.getString("startTime"):null;
			time_end = q_json.has("endTime")?q_json.getString("endTime"):null;
			if(digitalValue!=null) {
				if(digitalValue.equals("复归")) {
					hqlwhere = chkhw(hqlwhere) + " u.digitalValue"+" = "+0+"";
				}else if(digitalValue.equals("动作")) {
					hqlwhere = chkhw(hqlwhere) + " u.digitalValue"+" = "+1+"";
				}
			}
			if((time_start!=null)&&(time_start.length()>0)) {
				hqlwhere = chkhw(hqlwhere) + " u.sendingTime >= '"+time_start+"' ";
			}
			if((time_end!=null)&&(time_start.length()>0)) {
				hqlwhere = chkhw(hqlwhere) + " u.sendingTime <= '"+time_end+"' ";
			}
		int totalCount = ytiotVAlarmDao.getWjAlarmCount(hqlwhere);
		json.put("totalCount", totalCount);
		if(Start!=null){
			if(Integer.parseInt(Start)>totalCount){
				Start = "0";
				Page = "0";
			}else if(page==null)
				Page="0";
		}else{
			Start = "0";
			Page = "0";
		}
		json.put("page", Page);
		json.put("start", Start);
		json.put("limit", Limit);
		if(totalCount>0) {
			json.put("code", 200);
			List<?> list = ytiotVAlarmDao.wjAlarmQuery(hqlwhere, order_str, dir, Start, Limit);
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			if(list.size()>0) {
				for(int i=0;i<list.size();i++) {
					WjPowerMonitoringAlarm o = (WjPowerMonitoringAlarm)list.get(i);
					Map map = new HashMap();
					String deviceName=o.getDeviceName();
					map.put("alarmId", o.getId());
					if(deviceName.equals("DA00012784")) {
						map.put("companyName", "宝辉冶金");
						map.put("userName", "韩正义");
						map.put("userPhone", "15122423833");
						map.put("siteName", "测试站点一");
						map.put("companyAdress", "沪太路8786弄155号");
						map.put("lineName", "进线一");
						map.put("measDesc", "进线一，"+o.getMeasDesc());
					}else if(deviceName.equals("DA00013596")) {
						map.put("companyName", "永鑫汽车配件");
						map.put("userName", "韩锐");
						map.put("userPhone", "17630065224");
						map.put("siteName", "测试站点二");
						map.put("companyAdress", "上海市嘉定区宝安公路2442号");
						map.put("lineName", "进线一");
						map.put("measDesc", "进线一，"+o.getMeasDesc());
					}else if(deviceName.equals("DA00013433")) {
						map.put("companyName", "宝辉冶金");
						map.put("userName", "韩正义");
						map.put("userPhone", "15122423833");
						map.put("siteName", "测试站点三");
						map.put("companyAdress", "沪太路8786弄155号");
						map.put("lineName", "进线二");
						map.put("measDesc", "进线二，"+o.getMeasDesc());
					}else if(deviceName.equals("DA00012827")) {
						map.put("companyName", "永鑫汽车配件");
						map.put("userName", "韩锐");
						map.put("userPhone", "17630065224");
						map.put("siteName", "测试站点四");
						map.put("companyAdress", "上海市嘉定区宝安公路2442号");
						map.put("lineName", "进线三");
						map.put("measDesc", "进线三，"+o.getMeasDesc());
					}else if(deviceName.equals("DA00013948")) {
						map.put("companyName", "永鑫汽车配件");
						map.put("userName", "韩锐");
						map.put("userPhone", "17630065224");
						map.put("siteName", "测试站点五");
						map.put("companyAdress", "上海市嘉定区宝安公路2442号");
						map.put("lineName", "进线四");
						map.put("measDesc", "进线四，"+o.getMeasDesc());
					}
					
	                switch (o.getMeasName()) {
                    case "DI1":
                        map.put("measName", "开入1");
                        break;
                    case "DI2":
                    	map.put("measName", "开入2");
                        break;
                    case "DI3":
                    	map.put("measName", "开入3");
                        break;
                    case "FireAlarm":
                    	map.put("measName", "火灾预警总");
                        break;
                    case "EleAlarm":
                        map.put("measName", "线路电气故障总");
                        break;
                    case "PhaseLoss":
                        map.put("measName", "缺相");
                        break;
                    case "LoadLive":
                        map.put("measName", "线路带电");
                        break;
                    case "LoadBrkState":
                        map.put("measName", "线路开关状态");
                        break;
                    case "OverV":
                        map.put("measName", "过压");
                        break;
                    case "UnderV":
                        map.put("measName", "低压");
                        break;
                    case "OverI":
                        map.put("measName", "电流越限");
                        break;
                    case "Trip":
                        map.put("measName", "过流跳闸");
                        break;
                    case "BusOutage":
                        map.put("measName", "母线停电");
                        break;
                    case "OverIr":
                        map.put("measName", "剩余电流越限");
                        break;
                    case "OverT1":
                        map.put("measName", "测温点1超温");
                        break;
                    case "OverT2":
                        map.put("measName", "测温点2超温");
                        break;
                    case "OverT3":
                        map.put("measName", "测温点3超温");
                        break;
                    case "OverT4":
                        map.put("measName", "测温点4超温");
                        break;
                    case "OverEvT":
                        map.put("measName", "环境温度越限");
                        break;
                    case "ArcA":
                        map.put("measName", "A相燃弧");
                        break;
                    case "ArcB":
                        map.put("measName", "B相燃弧");
                        break;
                    case "ArcC":
                        map.put("measName", "C相燃弧");
                        break;
                    case "OverUH":
                        map.put("measName", "电压谐波越限");
                        break;
                    case "OverIH":
                        map.put("measName", "电流谐波越限");
                        break;
                    case "OverDemandP":
                        map.put("measName", "有功需量超限");
                        break;
                    case "OverDemandS":
                        map.put("measName", "视在需量超限");
                        break;
                    case "MeasFailure":
                        map.put("measName", "测量通道故障");
                        break;
                    case "DevAbnormal":
                        map.put("measName", "设备异常");
                        break;
                    case "Mute":
                        map.put("measName", "消音");
                        break;
                    case "DO1":
                        map.put("measName", "开出1");
                        break;
                    case "DO2":
                        map.put("measName", "开出2");
                        break;
                    case "ResDI1":
                        map.put("measName", "备用遥信1");
                        break;
                    case "ResDI2":
                        map.put("measName", "备用遥信2");
                        break;
                    case "ResDI3":
                        map.put("measName", "备用遥信3");
                        break;
                    case "ResDI4":
                        map.put("measName", "备用遥信4");
                        break;
                    default:
                    	map.put("measName", "未知");
                        break;
                    }
					int alarmStatus=o.getDigitalValue();
					if(alarmStatus==0) {
						map.put("digitalValue", "复归");
					}else if(alarmStatus==1) {
						map.put("digitalValue", "动作");
					}
					map.put("deviceCode", o.getDeviceName());
					map.put("handleContent", o.getHandleContent());
					map.put("handleMisinformation", o.getHandleMisinformation());
					map.put("sendingTime", df.format(o.getSendingTime()));
					map.put("pictureUrl", o.getPictureUrl());
					int handleState = o.getHandleState();
					if(handleState==0) {
						map.put("timeConsuming", "--");
						map.put("handleState", "未处理");
					}else if(handleState==1) {
						String endTime = df.format(o.getHandleTime());
						String startTime = df.format(o.getSendingTime());
						long diff = df.parse(endTime).getTime() - df.parse(startTime).getTime();
						long nh = 1000*60*60;
						long nd = 1000*24*60*60;
						long hour = diff/nh;
						map.put("timeConsuming", hour);
