Просмотр исходного кода

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

吉超博 4 лет назад
Родитель
Сommit
00ebc9848d
1 измененных файлов с 181 добавлено и 0 удалено
  1. 181 0
      3dDisplayEngine/buildingService/YtiotVAlarmServiceImpl.java

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

@@ -2116,3 +2116,184 @@ public class YtiotVAlarmServiceImpl implements YtiotVAlarmService {
 			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);
+						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 <> '44' ";
+				else if(COMMSTATUS.equals("ONLY"))
+					hqlwhere = chkhw(hqlwhere)+" u.id.status = '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);
+			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.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 = "";
+						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);
+				}
+			}