配电室监控可以说是我做的比较杰出的一个功能了,貌似是去年7月份左右做完的,至今也有一年了,要不是今天看到,我都忘了我曾写过这样一个功能。好的东西还是应该记录一下的,今天花点时间简单写个备忘吧。
首先介绍对象,以及对象的增删改,然后介绍监控页面,最后总结开发经验。
配电室有1-3个变压器
一个进线一个出线,进线是一定有的,而出线则可有可无
新增页面
列表页面
变压器可以添加1-3个
每个变压器有默认的18个检测项目(新增变压器的时候,后台默认添加18个检测项目)
进线、出线也有固定的检测项目
进线有固定的8个检测项目
出线有固定的4个检测项目
列表页面会列出一个配电室的所有检测项目
由于(莫斯配电室)添加了3个变压器,且有(出线),此处检测项目会有3个变压器和一个进线一个出线的所有检测项目
配电室监控的时候,由于用代码临时画线路图页面加载效率会比较低,所以采用的是先画好线路图,监控的时候动态的选择线路图展示的方案,线路图一共有6张,分一个变压器有出线和无出线两张图、两个变压器有出线和无出线两张图、三个变压器有出线和无出线两张图
道闸的开关由两张道闸的图片切换
监控页面
值得一说的有已下三点
一、首先要说的是,如何动态匹配底图图纸?
配电室对象根据自己是否有出线及有几个变压器给出对应的类型,js写json,配置不同的类型对应不同的图纸url
public String getRoomJson() { JSONObject data = new JSONObject(); try { data.put("name", "[" + area.getName() + "]" + name); data.put("id", this.getId()); data.put("inlinename", this.getIncomingLine().getName()); int num = voltageTransformerList.size(); if (num == 0) { data.put("msg", "配电室结构异常,没有变压器!"); } else if (num > 3) { data.put("msg", "配电室结构异常,有[" + num + "]个变压器!"); } if (haveOutgoingLine) { data.put("type", num + "out"); } else { data.put("type", num + "v"); } } catch (JSONException e) { e.printStackTrace(); } roomJson = data.toString(); return roomJson; }