diff --git a/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java index 1973e8e..5da5f50 100644 --- a/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java @@ -74,13 +74,32 @@ public class DataServiceImpl implements DataService { if (!col.equals("id") && !col.equals("eqmid") && !col.equals("acquisitionTime") && !col.equals("d_time") && !col.equals("create_time") && !col.equals("update_time") - && !col.equals("isupload")) { + && !col.equals("isupload") && !col.equals("capturetime")) { result.add(item); } } return result; } + private String getTimeField(String tableName) { + if (StringUtils.isBlank(schema)) { + this.getDatabase(); + } + String field = "d_time"; + String sql = "SELECT COLUMN_NAME name, COLUMN_COMMENT comment, DATA_TYPE type FROM information_schema.columns WHERE TABLE_NAME='" + + tableName + "' AND TABLE_SCHEMA='" + schema + "' ORDER BY name desc"; + List list = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(ColumnModel.class)); + for (ColumnModel item : list) { + String col = item.getName(); + if (col.equals("acquisitionTime") || col.equals("d_time") + || col.equals("capturetime")) { + field = col; + break; + } + } + return field; + } + private void getDatabase() { String sql = "select database()"; List list = jdbcTemplate.queryForList(sql, String.class); @@ -170,7 +189,7 @@ public class DataServiceImpl implements DataService { private OnePage> doSqlData(NSensor sensor, List points, ConditionModel model) { String devField = DataTable.getDevidField(sensor.getTableName()); - String timeField = DataTable.getTimeField(sensor.getTableName()); + String timeField = this.getTimeField(sensor.getTableName()); OnePage result = new OnePage(); String sqlFrom = " FROM " + sensor.getTableName();