Explorar o código

3dDisplayEngine YtiotVAlarmServiceImpl.java 吉超博 commit at 2020-11-11

吉超博 %!s(int64=4) %!d(string=hai) anos
pai
achega
f93d980e53
Modificáronse 1 ficheiros con 180 adicións e 0 borrados
  1. 180 0
      3dDisplayEngine/buildingService/YtiotVAlarmServiceImpl.java

+ 180 - 0
3dDisplayEngine/buildingService/YtiotVAlarmServiceImpl.java

@@ -1344,3 +1344,183 @@ public class YtiotVAlarmServiceImpl implements YtiotVAlarmService {
 		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+"' ";