Map<String, Object> map = new HashMap<>();
for (IecData data : dataList) {
// 这里会将更新时间一直更新
data.setMxVal(dd);
data.setUpdateTime(new Date());
DataService.updateById(data);
List<IecData> list = iecDataService.findBtseStatus(data.getMenuPid());
for (IecData iecData : list) {
Integer mxVal = iecData.getVal().intValue();
if (mxVal != null) {
// 如果是1就添加到历史数据
if (mxVal == 1) {
// 状态为以下内容即保存一次时间,作为初始时间
map.put("updateTime", iecData.getUpdateTime());
// 存入influxDB中
// 更新时间一直在变导致这里的时间判断进不去
if (map.get("updateTime") != iecData.getUpdateTime()) {
// 时间不一样表示操作更新,记录一次
if (Connect.ping()) {
Connect.insert(
iecData.getLdName(),
iecData.getLnName(),
iecData.getFcName(),
iecData.getMxVal(),
iecData.getStVal(),
iecData.getIp(),
iecData.getName(), "", dd);
}
} else {
if (Connect.ping()) {
Connect.insert(
data.getLName(),
data.getnName(),
data.getcName(),
data.getxVal(),
data.gettVal(),
data.getIp(),
data.getName(), "", dd);
}
}
}
}
}
应该如何让这段代码在状态为1的时候存入数据库,并在状态更换的时候比如2,重新保存一次呢,这里只截取了部分代码