节能发电调度技术支持系统(原煤耗模块)
一、实时监控数据
页面jsp代码:
<div style="color:#CDE2F7;height: 30px;line-height:30px;font-size:14px;margin: 10px 20px;">
<span style="float:left;">实时监测数据:</span>
<img class="refresh" style="float:right;margin-top: 7px;margin-left: 10px;cursor:pointer;"
src="${staticPath }/static/style/images/refresh.png"/>
<span id="dataTime" style="float:right;">2018-06-12 13:30:00</span>
</div>
<div id="dataContainer"> </div>
<div style="color:#CDE2F7;height: 30px;line-height:30px;font-size:14px;margin: 25px 20px;text-align:center;"> 实时监测数据将在<span id="timeNotes" style="color: orange">1分00秒</span>后刷新
</div>
js代码:
//动态添加文本与控件(实时监测数据)
function getRealData(houseId, beltId) {
// console.log("beltId="+beltId)
$.ajax({
type: "post",
cache: false,
url: '${path}/hisData/getymhRealData',
dataType: "json",
data: {
beltId: beltId,
factId:facId,
differ:differ
},
success: function (result) {
$("#dataTime").html(result['rec_date']);
var RelTDatas = null;
var unitDatas = null;
var dataNames = ["瞬时流量", "累计流量", "皮带秤转速", "启停状态", "实验状态"];
RelTDatas = ["SIGNAL_1", "SIGNAL_2", "SIGNAL_3", "SIGNAL_4", "SIGNAL_5"];
unitDatas = ["(t/h)", "(t)", "(m/s)"];
var divContainer = document.getElementById("dataContainer");
while (divContainer.hasChildNodes()) //当div下还存在子节点时 循环继续
{
divContainer.removeChild(divContainer.firstChild);
}
for (var i = 0; i < RelTDatas.length; i++) {
for (var key in result) {
// console.log(result[key]+"---"+key)
// console.log(key)
// if(result[key] == null){
//
// }
if (key == RelTDatas[i]) {
var dataDiv = document.createElement("div");
var icon = document.createElement("i");
var dataName = document.createElement("span");
var dataValue = document.createElement("span");
var dataUnit = document.createElement("span");
dataDiv.setAttribute('class', 'dataDiv');
icon.setAttribute('class', 'layui-icon layui-icon-notice');
dataName.setAttribute('class', 'dataName');
dataValue.setAttribute('class', 'dataValue');
dataUnit.setAttribute('class', 'dataUnit');
var data = key;
var value = result[key];
//alert(value)
if (RelTDatas[i] == 'SIGNAL_1') {
$("#flow").html(value == '无数据' ? '无数据' : parseFloat(value).toFixed(2))
} else if (RelTDatas[i] == 'SIGNAL_2') {
$("#pressure").html(value == '无数据' ? '无数据' : parseFloat(value).toFixed(2))
} else if (RelTDatas[i] == 'SIGNAL_3') {
$("#temp").html(value == '无数据' ? '无数据' : parseFloat(value).toFixed(2))
}
if (value == null) {
// alert("value為空")
dataValue.innerHTML = '无数据';
} else {
dataValue.innerHTML = parseFloat(value).toFixed(2);
//判断启停状态
if (RelTDatas[i] == 'SIGNAL_4') {
// console.log(value)
if (value == "0") {
dataValue.innerHTML = "关闭"
} else if (value == "1") {
dataValue.innerHTML = "启动"
} else {
dataValue.innerHTML = '无数据'
}
}
//判断实验状态 0计量,1定次
if (RelTDatas[i] == 'SIGNAL_5') {
// console.log(value)
if (value == "0") {
dataValue.innerHTML = "计量"
} else if (value == "1") {
dataValue.innerHTML = "定次"
} else {
dataValue.innerHTML = '无数据'
}
// dataValue.innerHTML=parseFloat(value).toFixed(0);
}
}
dataUnit.innerHTML = unitDatas[i];
if (unitDatas[i] == null || unitDatas[i] == '') {
dataUnit.innerHTML = '';
}
dataName.innerHTML = dataNames[i];
dataDiv.appendChild(icon);
dataDiv.appendChild(dataName);
dataDiv.appendChild(dataValue);
dataDiv.appendChild(dataUnit);
// if(beltId==''){
divContainer.appendChild(dataDiv);
// }else{
// if(beltId.split(",")[0] == 1){
// divContainer.appendChild(dataDiv);
// }
// }
}
}
}
// }
resetTime(60);
},
error: function (XMLHttpRequest, textStatus) {
}
});
}
Controller代码:
@PostMapping("/getymhRealData")
@ResponseBody
public Map<String, Object> getymhRealData(String beltId,FactoryVo factoryVo,String differ) {
System.out.println(beltId);
if (beltId == null) {
return null;
}
RealData realData = new RealData();
realData.setBeltId(Integer.parseInt(beltId.split(",")[0]));
Map<String, Object> condition = new HashMap<String, Object>();
if (realData.getBeltId() != null && !"".equals(realData.getBeltId())) {
condition.put("beltId", realData.getBeltId());
}
if(factoryVo.getFactId()!=null){
condition.put("facId",factoryVo.getFactId());
}
Map<String, Object> map = hisDataService.getymhRealDataMQ(condition);
System.out.println("检查++++++++++++++++"+map.toString());
Map<String, Object> result = new HashMap<String, Object>();
if(differ.equals("0")){
result.put("rec_date",map.get("rec_date"));
result.put("SIGNAL_1",map.get("signal_1"));
result.put("SIGNAL_2",map.get("signal_2"));
result.put("SIGNAL_3",map.get("signal_3"));
result.put("SIGNAL_4",map.get("signal_4"));
result.put("SIGNAL_5",map.get("signal_5"));
}else{
result.put("rec_date",map.get("rec_date"));
result.put("SIGNAL_1",map.get("signal_6"));
result.put("SIGNAL_2",map.get("signal_7"));
result.put("SIGNAL_3",map.get("signal_8"));
result.put("SIGNAL_4",map.get("signal_9"));
result.put("SIGNAL_5",map.get("signal_10"));
}
return result;
}
mapping.xml代码:
t MAX(rec_date) from ymh_real_data)
<if test=" facId != null">
AND fac_id= #{facId}
</if>
</where>
GROUP BY rec_date
ORDER BY rec_date DESC
</select>