瀏覽代碼

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

吉超博 4 年之前
父節點
當前提交
3977a3d4f6
共有 1 個文件被更改,包括 149 次插入0 次删除
  1. 149 0
      3dDisplayEngine/buildingService/YtiotVAlarmServiceImpl.java

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

@@ -1524,3 +1524,152 @@ public class YtiotVAlarmServiceImpl implements YtiotVAlarmService {
 				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;