|
@@ -1673,3 +1673,178 @@ public class YtiotVAlarmServiceImpl implements YtiotVAlarmService {
|
|
|
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);
|
|
|
+ }
|
|
|
+ }
|