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