|
|
|
@ -110,7 +110,7 @@ public class DataServiceImpl implements DataService {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@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) {
|
|
|
|
|
OnePage<Map<String, Object>> page;
|
|
|
|
|
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());
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
// 全量
|
|
|
|
|
page = this.doSqlData(sensor, points, model);
|
|
|
|
|
page = this.doSqlData(tableName, devId, points, model);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 从数据里每天抽取num条
|
|
|
|
@ -184,18 +184,18 @@ public class DataServiceImpl implements DataService {
|
|
|
|
|
return page;
|
|
|
|
|
} else {
|
|
|
|
|
// 不抽取数据
|
|
|
|
|
OnePage<Map<String, Object>> page = this.doSqlData(sensor, points, model);
|
|
|
|
|
OnePage<Map<String, Object>> page = this.doSqlData(tableName, devId, points, model);
|
|
|
|
|
return page;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private OnePage<Map<String, Object>> doSqlData(NSensor sensor, List<ModevTypePoint> points, ConditionModel model) {
|
|
|
|
|
String devField = DataTable.getDevidField(sensor.getTableName());
|
|
|
|
|
String timeField = this.getTimeField(sensor.getTableName());
|
|
|
|
|
private OnePage<Map<String, Object>> doSqlData(String tableName, Integer devId, List<ModevTypePoint> points, ConditionModel model) {
|
|
|
|
|
String devField = DataTable.getDevidField(tableName);
|
|
|
|
|
String timeField = this.getTimeField(tableName);
|
|
|
|
|
OnePage result = new OnePage();
|
|
|
|
|
|
|
|
|
|
String sqlFrom = " FROM " + sensor.getTableName();
|
|
|
|
|
String sqlWhere = " WHERE " + devField + "=" + sensor.getDevId();
|
|
|
|
|
String sqlFrom = " FROM " + tableName;
|
|
|
|
|
String sqlWhere = " WHERE " + devField + "=" + devId;
|
|
|
|
|
if (model.getStartTime() != null) {
|
|
|
|
|
if (model.isExcludeStartTime()) {
|
|
|
|
|
sqlWhere = sqlWhere + " AND " + timeField + " > '" + DateUtil.format(model.getStartTime()) + "'";
|
|
|
|
@ -244,7 +244,7 @@ public class DataServiceImpl implements DataService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@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();
|
|
|
|
|
model.setPageSize(1000);
|
|
|
|
|
model.setPageNum(1);
|
|
|
|
@ -252,12 +252,12 @@ public class DataServiceImpl implements DataService {
|
|
|
|
|
model.setExcludeStartTime(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();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@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<>();
|
|
|
|
|
points.add(point);
|
|
|
|
|
|
|
|
|
@ -265,7 +265,7 @@ public class DataServiceImpl implements DataService {
|
|
|
|
|
model.setPageSize(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())) {
|
|
|
|
|
return null;
|
|
|
|
|
} else {
|
|
|
|
@ -275,11 +275,11 @@ public class DataServiceImpl implements DataService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@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 timeField = this.getTimeField(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;
|
|
|
|
|
Long count = jdbcTemplate.queryForObject(sqlCount, Long.class);
|
|
|
|
|
|
|
|
|
@ -289,7 +289,7 @@ public class DataServiceImpl implements DataService {
|
|
|
|
|
jdbcTemplate.execute(sql);
|
|
|
|
|
} else {
|
|
|
|
|
String sql = "INSERT INTO " + tableName + " (" + devField + ", " + timeField + "," + colname
|
|
|
|
|
+ ") VALUES (" + eqmid + ", '" + time + "', " + value + ")";
|
|
|
|
|
+ ") VALUES (" + devId + ", '" + time + "', " + value + ")";
|
|
|
|
|
jdbcTemplate.execute(sql);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|