123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474 |
- 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);
|