perf: 使用tableName和devId替换sensor

dev
huangfeng 8 months ago
parent e955f12817
commit 262f0dfcc4

@ -14,13 +14,13 @@ public interface DataService {
List<ColumnModel> getDataTableColumns(String tableName) throws Exception; List<ColumnModel> getDataTableColumns(String tableName) throws Exception;
OnePage<Map<String, Object>> getData(NSensor sensor, List<ModevTypePoint> points, ConditionModel model) throws Exception; OnePage<Map<String, Object>> getData(String tableName, Integer devId, List<ModevTypePoint> points, ConditionModel model) throws Exception;
void clearAllBind(); void clearAllBind();
List<Map<String, Object>> getLatestData(NSensor sensor, List<ModevTypePoint> points, Date start) throws Exception; List<Map<String, Object>> getLatestData(String tableName, Integer devId, List<ModevTypePoint> points, Date start) throws Exception;
Map<String, Object> getLastOneData(NSensor sensor, ModevTypePoint point) throws Exception; Map<String, Object> getLastOneData(String tableName, Integer devId, ModevTypePoint point) throws Exception;
void insertData(String tableName, Integer eqmid, String time, String colname, String value); void insertData(String tableName, Integer devId, String time, String colname, String value);
} }

@ -110,7 +110,7 @@ public class DataServiceImpl implements DataService {
@Override @Override
public OnePage<Map<String, Object>> getData(NSensor sensor, List<ModevTypePoint> points, ConditionModel model) throws Exception { public OnePage<Map<String, Object>> getData(String tableName, Integer devId, List<ModevTypePoint> points, ConditionModel model) throws Exception {
if (model.getNumPerDay() != null && model.getNumPerDay() > 0) { if (model.getNumPerDay() != null && model.getNumPerDay() > 0) {
OnePage<Map<String, Object>> page; OnePage<Map<String, Object>> page;
long totalDays = 0; long totalDays = 0;
@ -167,12 +167,12 @@ public class DataServiceImpl implements DataService {
} }
// 查询 // 查询
page = this.doSqlData(sensor, points, newmodel); page = this.doSqlData(tableName, devId, points, newmodel);
page.setTotal(totalDays * model.getNumPerDay()); page.setTotal(totalDays * model.getNumPerDay());
} else { } else {
// 全量 // 全量
page = this.doSqlData(sensor, points, model); page = this.doSqlData(tableName, devId, points, model);
} }
// 从数据里每天抽取num条 // 从数据里每天抽取num条
@ -184,18 +184,18 @@ public class DataServiceImpl implements DataService {
return page; return page;
} else { } else {
// 不抽取数据 // 不抽取数据
OnePage<Map<String, Object>> page = this.doSqlData(sensor, points, model); OnePage<Map<String, Object>> page = this.doSqlData(tableName, devId, points, model);
return page; return page;
} }
} }
private OnePage<Map<String, Object>> doSqlData(NSensor sensor, List<ModevTypePoint> points, ConditionModel model) { private OnePage<Map<String, Object>> doSqlData(String tableName, Integer devId, List<ModevTypePoint> points, ConditionModel model) {
String devField = DataTable.getDevidField(sensor.getTableName()); String devField = DataTable.getDevidField(tableName);
String timeField = this.getTimeField(sensor.getTableName()); String timeField = this.getTimeField(tableName);
OnePage result = new OnePage(); OnePage result = new OnePage();
String sqlFrom = " FROM " + sensor.getTableName(); String sqlFrom = " FROM " + tableName;
String sqlWhere = " WHERE " + devField + "=" + sensor.getDevId(); String sqlWhere = " WHERE " + devField + "=" + devId;
if (model.getStartTime() != null) { if (model.getStartTime() != null) {
if (model.isExcludeStartTime()) { if (model.isExcludeStartTime()) {
sqlWhere = sqlWhere + " AND " + timeField + " > '" + DateUtil.format(model.getStartTime()) + "'"; sqlWhere = sqlWhere + " AND " + timeField + " > '" + DateUtil.format(model.getStartTime()) + "'";
@ -244,7 +244,7 @@ public class DataServiceImpl implements DataService {
} }
@Override @Override
public List<Map<String, Object>> getLatestData(NSensor sensor, List<ModevTypePoint> points, Date start) throws Exception { public List<Map<String, Object>> getLatestData(String tableName, Integer devId, List<ModevTypePoint> points, Date start) throws Exception {
ConditionModel model = new ConditionModel(); ConditionModel model = new ConditionModel();
model.setPageSize(1000); model.setPageSize(1000);
model.setPageNum(1); model.setPageNum(1);
@ -252,12 +252,12 @@ public class DataServiceImpl implements DataService {
model.setExcludeStartTime(true); model.setExcludeStartTime(true);
model.setTimeAsc(true); model.setTimeAsc(true);
OnePage<Map<String, Object>> page = this.doSqlData(sensor, points, model); OnePage<Map<String, Object>> page = this.doSqlData(tableName, devId, points, model);
return page.getContent(); return page.getContent();
} }
@Override @Override
public Map<String, Object> getLastOneData(NSensor sensor, ModevTypePoint point) throws Exception { public Map<String, Object> getLastOneData(String tableName, Integer devId, ModevTypePoint point) throws Exception {
List<ModevTypePoint> points = new ArrayList<>(); List<ModevTypePoint> points = new ArrayList<>();
points.add(point); points.add(point);
@ -265,7 +265,7 @@ public class DataServiceImpl implements DataService {
model.setPageSize(1); model.setPageSize(1);
model.setPageNum(1); model.setPageNum(1);
OnePage<Map<String, Object>> page = this.doSqlData(sensor, points, model); OnePage<Map<String, Object>> page = this.doSqlData(tableName, devId, points, model);
if (CollectionUtils.isEmpty(page.getContent())) { if (CollectionUtils.isEmpty(page.getContent())) {
return null; return null;
} else { } else {
@ -275,11 +275,11 @@ public class DataServiceImpl implements DataService {
} }
@Override @Override
public void insertData(String tableName, Integer eqmid, String time, String colname, String value) { public void insertData(String tableName, Integer devId, String time, String colname, String value) {
String devField = DataTable.getDevidField(tableName); String devField = DataTable.getDevidField(tableName);
String timeField = this.getTimeField(tableName); String timeField = this.getTimeField(tableName);
String sqlFrom = " FROM " + tableName; String sqlFrom = " FROM " + tableName;
String sqlWhere = " WHERE " + devField + "=" + eqmid + " AND " + timeField + " = '" + time + "'"; String sqlWhere = " WHERE " + devField + "=" + devId + " AND " + timeField + " = '" + time + "'";
String sqlCount = "SELECT count(*)" + sqlFrom + sqlWhere; String sqlCount = "SELECT count(*)" + sqlFrom + sqlWhere;
Long count = jdbcTemplate.queryForObject(sqlCount, Long.class); Long count = jdbcTemplate.queryForObject(sqlCount, Long.class);
@ -289,7 +289,7 @@ public class DataServiceImpl implements DataService {
jdbcTemplate.execute(sql); jdbcTemplate.execute(sql);
} else { } else {
String sql = "INSERT INTO " + tableName + " (" + devField + ", " + timeField + "," + colname String sql = "INSERT INTO " + tableName + " (" + devField + ", " + timeField + "," + colname
+ ") VALUES (" + eqmid + ", '" + time + "', " + value + ")"; + ") VALUES (" + devId + ", '" + time + "', " + value + ")";
jdbcTemplate.execute(sql); jdbcTemplate.execute(sql);
} }
} }

@ -218,7 +218,7 @@ public class NSensorServiceImpl implements NSensorService {
SensorDetail<Map<String, Object>> result = new SensorDetail(); SensorDetail<Map<String, Object>> result = new SensorDetail();
result.setSensor(sensor); result.setSensor(sensor);
OnePage<Map<String, Object>> page = dataService.getData(sensor, pointList, model); OnePage<Map<String, Object>> page = dataService.getData(sensor.getTableName(), sensor.getDevId(), pointList, model);
result.initFrom(page); result.initFrom(page);
for (ModevTypePoint point : pointList) { for (ModevTypePoint point : pointList) {

@ -58,7 +58,7 @@ public class WarnRuleServiceImpl implements WarnRuleService {
item.setId(null); item.setId(null);
item.setLastDTime(null); item.setLastDTime(null);
NSensor sensor = sensorService.detail(item.getSensorId()); NSensor sensor = sensorService.detail(item.getSensorId());
if (sensor == null){ if (sensor == null) {
throw new BusinessException("未找到该装置id=" + item.getSensorId()); throw new BusinessException("未找到该装置id=" + item.getSensorId());
} }
Optional<ModevTypePoint> optionalModevTypePoint = typePointRepository.findById(item.getModevtypePointId()); Optional<ModevTypePoint> optionalModevTypePoint = typePointRepository.findById(item.getModevtypePointId());
@ -66,7 +66,7 @@ public class WarnRuleServiceImpl implements WarnRuleService {
throw new BusinessException("未找到该监测装置类型(" + sensor.getTypeName() + ")的属性点" + item.getModevtypePointId()); throw new BusinessException("未找到该监测装置类型(" + sensor.getTypeName() + ")的属性点" + item.getModevtypePointId());
} }
ModevTypePoint typePoint = optionalModevTypePoint.get(); ModevTypePoint typePoint = optionalModevTypePoint.get();
Map<String, Object> map = dataService.getLastOneData(sensor, typePoint); Map<String, Object> map = dataService.getLastOneData(sensor.getTableName(), sensor.getDevId(), typePoint);
if (map != null) { if (map != null) {
String str = (String) map.get("acquisitionTime"); String str = (String) map.get("acquisitionTime");
item.setLastDTime(DateUtil.parse(str)); item.setLastDTime(DateUtil.parse(str));

@ -114,7 +114,7 @@ public class I2syncTask {
} }
// 查询最新数据 // 查询最新数据
List<Map<String, Object>> dataList = dataService.getLatestData(sensor, points, record.getLastDTime()); List<Map<String, Object>> dataList = dataService.getLatestData(sensor.getTableName(), sensor.getDevId(), points, record.getLastDTime());
if (CollectionUtils.isEmpty(dataList)) { if (CollectionUtils.isEmpty(dataList)) {
return; return;
} }

@ -65,7 +65,7 @@ public class RuleCheckTask {
ModevTypePoint typePoint = rule.getTypePoint(); ModevTypePoint typePoint = rule.getTypePoint();
List<ModevTypePoint> points = new ArrayList<>(); List<ModevTypePoint> points = new ArrayList<>();
points.add(typePoint); points.add(typePoint);
List<Map<String, Object>> list = dataService.getLatestData(sensor, points, rule.getLastDTime()); List<Map<String, Object>> list = dataService.getLatestData(sensor.getTableName(), sensor.getDevId(), points, rule.getLastDTime());
List<TriggerModel> warnList = rule.checkData(list); List<TriggerModel> warnList = rule.checkData(list);
if (warnList != null) { if (warnList != null) {
ruleRepository.save(rule); ruleRepository.save(rule);

Loading…
Cancel
Save