暂态模块格式化时间处理
This commit is contained in:
@@ -121,37 +121,6 @@ public class EventDetailServiceImpl extends ServiceImpl<EventDetailMapper, RmpEv
|
||||
|
||||
return BeanUtil.copyToList(pageInfo.getRecords(), EventDetail.class);
|
||||
|
||||
// //组装sql语句
|
||||
// StringBuilder stringBuilder = new StringBuilder();
|
||||
// stringBuilder.append("time >= '").append(DateUtil.beginOfDay(DateUtil.parse(startTime))).append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(endTime))).append("' and (");
|
||||
// for (int i = 0; i < lineIndexes.size(); i++) {
|
||||
// if (lineIndexes.size() - i != 1) {
|
||||
// stringBuilder.append("line_id ='").append(lineIndexes.get(i)).append("' or ");
|
||||
// } else {
|
||||
// stringBuilder.append("line_id ='").append(lineIndexes.get(i)).append("' ");
|
||||
// }
|
||||
// }
|
||||
// stringBuilder.append(") and (");
|
||||
// for (int i = 0; i < waveType.size(); i++) {
|
||||
// if (waveType.size() - i != 1) {
|
||||
// stringBuilder.append("wave_type ='").append(waveType.get(i)).append("' or ");
|
||||
// } else {
|
||||
// stringBuilder.append("wave_type ='").append(waveType.get(i)).append("' ");
|
||||
// }
|
||||
// }
|
||||
// stringBuilder.append(") order by time desc");
|
||||
// int i = (pageNum - 1)*pageSize;
|
||||
// stringBuilder.append(" LIMIT ").append(pageSize).append(" OFFSET ").append(i).append(" tz('Asia/Shanghai')");
|
||||
// //sql语句
|
||||
// String sql = "SELECT * FROM pqs_eventdetail WHERE " + stringBuilder;
|
||||
// System.out.println(sql);
|
||||
// //结果集
|
||||
// QueryResult result = influxDbUtils.query(sql);
|
||||
// //结果集映射到对象中
|
||||
// InfluxDBResultMapper influxDBResultMapper = new InfluxDBResultMapper();
|
||||
// List<EventDetail> eventDetailList = influxDBResultMapper.toPOJO(result, EventDetail.class);
|
||||
//
|
||||
// return eventDetailList;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -110,13 +110,7 @@ public class TransientServiceImpl implements TransientService {
|
||||
List<String> LineIndexes = deviceList.stream().flatMap(list -> list.getLineIndexes().stream()).collect(Collectors.toList());
|
||||
|
||||
if (!CollectionUtils.isEmpty(LineIndexes)) {
|
||||
//influxDB查询待分页数据总量
|
||||
/* List<EventDetail> data = eventDetailService.getEventDetail(LineIndexes, transientParam.getSearchBeginTime(), transientParam.getSearchEndTime(),transientParam.getWaveType());
|
||||
page.setTotal(data.size());
|
||||
//分页总页数
|
||||
int pages = (int) Math.ceil(data.size() * 1.0 / transientParam.getPageSize());
|
||||
page.setPages(pages);*/
|
||||
//influxDB分页查询
|
||||
|
||||
List<EventDetail> eventDetailData = eventDetailService.getEventDetailLimit(LineIndexes, transientParam.getSearchBeginTime(), transientParam.getSearchEndTime(), transientParam.getPageSize(), transientParam.getPageNum(), transientParam.getWaveType());
|
||||
|
||||
if (!CollectionUtils.isEmpty(eventDetailData)) {
|
||||
@@ -331,14 +325,11 @@ public class TransientServiceImpl implements TransientService {
|
||||
page= BeanUtil.copyProperties(pageInfo,Page.class);
|
||||
|
||||
if (CollUtil.isNotEmpty(eventDetailData)) {
|
||||
List<String> lineIds = eventDetailData.stream().map(EventDetailNew::getLineId).collect(Collectors.toList());
|
||||
lineIds = lineIds.stream().distinct().collect(Collectors.toList());
|
||||
|
||||
List<String> lineIds = eventDetailData.stream().map(EventDetailNew::getLineId).distinct().collect(Collectors.toList());
|
||||
List<AreaLineInfoVO> r = lineFeignClient.getBaseLineAreaInfo(lineIds).getData();
|
||||
List<DictData> reasonList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_REASON.getName()).getData();
|
||||
List<DictData> typeList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_TYPE.getName()).getData();
|
||||
|
||||
|
||||
for (EventDetailNew eventDetail : eventDetailData) {
|
||||
for (AreaLineInfoVO areaLineInfoVO : r) {
|
||||
if (eventDetail.getLineId().equals(areaLineInfoVO.getLineId())) {
|
||||
@@ -383,114 +374,7 @@ public class TransientServiceImpl implements TransientService {
|
||||
return page;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询数据库
|
||||
*/
|
||||
private Long getTransientDetail(StringBuilder stringBuilder, TransientParam transientParam) {
|
||||
Long total = 0L;
|
||||
//组装sql语句
|
||||
stringBuilder.append(" and time >= '").append(DateUtil.beginOfDay(DateUtil.parse(transientParam.getSearchBeginTime()))).append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(transientParam.getSearchEndTime()))).append("'").append(InfluxDBPublicParam.TIME_ZONE);
|
||||
//sql语句
|
||||
String sql = "SELECT count(wave_type) FROM pqs_eventdetail WHERE " + stringBuilder;
|
||||
System.out.println("sql------------->>>" + sql);
|
||||
//结果集
|
||||
QueryResult result = influxDbUtils.query(sql);
|
||||
//结果集映射到对象中
|
||||
List<QueryResult.Series> series = result.getResults().get(0).getSeries();
|
||||
if (CollUtil.isNotEmpty(series)) {
|
||||
Double tem = (Double) series.get(0).getValues().get(0).get(1);
|
||||
total = tem.longValue();
|
||||
}
|
||||
return total;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据条件拼接sql语句
|
||||
*/
|
||||
private List<EventDetailNew> getTransientDetailLimit(List<String> lineIndexes, TransientParam transientParam) {
|
||||
//查询数据是否为空,不为空拼接sql语句
|
||||
StringBuilder querySql = new StringBuilder();
|
||||
if (Objects.nonNull(transientParam.getEventValueMin())) {
|
||||
querySql.append(" and event_value >=").append(transientParam.getEventValueMin());
|
||||
}
|
||||
if (Objects.nonNull(transientParam.getEventValueMax())) {
|
||||
querySql.append(" and event_value <=").append(transientParam.getEventValueMax());
|
||||
}
|
||||
|
||||
if (Objects.nonNull(transientParam.getPersistMin())) {
|
||||
querySql.append(" and persist_time >=").append(transientParam.getPersistMin());
|
||||
}
|
||||
if (Objects.nonNull(transientParam.getEventValueMax())) {
|
||||
querySql.append(" and persist_time <=").append(transientParam.getPersistMax());
|
||||
}
|
||||
|
||||
if (Objects.nonNull(transientParam.getSeverityMin())) {
|
||||
querySql.append(" and severity >=").append(transientParam.getSeverityMin());
|
||||
}
|
||||
if (Objects.nonNull(transientParam.getSeverityMax())) {
|
||||
querySql.append(" and severity <=").append(transientParam.getSeverityMax());
|
||||
}
|
||||
if (Objects.nonNull(transientParam.getFileFlag())) {
|
||||
querySql.append(" and file_flag = ").append(transientParam.getFileFlag());
|
||||
}
|
||||
|
||||
if (CollUtil.isNotEmpty(transientParam.getWaveType())) {
|
||||
querySql.append(" and ( ");
|
||||
for (int i = 0; i < transientParam.getWaveType().size(); i++) {
|
||||
if (transientParam.getWaveType().size() - i != 1) {
|
||||
querySql.append("wave_type =").append(transientParam.getWaveType().get(i)).append(" or ");
|
||||
} else {
|
||||
querySql.append("wave_type =").append(transientParam.getWaveType().get(i)).append(") ");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (CollUtil.isNotEmpty(transientParam.getEventReason())) {
|
||||
querySql.append(" and ( ");
|
||||
for (int i = 0; i < transientParam.getEventReason().size(); i++) {
|
||||
if (transientParam.getWaveType().size() - i != 1) {
|
||||
querySql.append("event_reason =").append(transientParam.getEventReason().get(i)).append(" or ");
|
||||
} else {
|
||||
querySql.append("event_reason =").append(transientParam.getEventReason().get(i)).append(") ");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (CollUtil.isNotEmpty(transientParam.getEventType())) {
|
||||
querySql.append(" and ( ");
|
||||
for (int i = 0; i < transientParam.getEventType().size(); i++) {
|
||||
if (transientParam.getEventType().size() - i != 1) {
|
||||
querySql.append("event_type =").append(transientParam.getEventType().get(i)).append(" or ");
|
||||
} else {
|
||||
querySql.append("event_type =").append(transientParam.getEventType().get(i)).append(") ");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//组装sql语句
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
stringBuilder.append("time >= '").append(DateUtil.beginOfDay(DateUtil.parse(transientParam.getSearchBeginTime())))
|
||||
.append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(transientParam.getSearchEndTime()))).append("'")
|
||||
.append(querySql);
|
||||
stringBuilder.append(" and (");
|
||||
for (int i = 0; i < lineIndexes.size(); i++) {
|
||||
if (lineIndexes.size() - i != 1) {
|
||||
stringBuilder.append("line_id ='").append(lineIndexes.get(i)).append("' or ");
|
||||
} else {
|
||||
stringBuilder.append("line_id ='").append(lineIndexes.get(i)).append("') ");
|
||||
}
|
||||
}
|
||||
int i = (transientParam.getPageNum() - 1) * transientParam.getPageSize();
|
||||
stringBuilder.append(" LIMIT ").append(transientParam.getPageSize()).append(" OFFSET ").append(i).append(" tz('Asia/Shanghai')");
|
||||
//sql语句
|
||||
String sql = "SELECT * FROM pqs_eventdetail WHERE " + stringBuilder;
|
||||
|
||||
//结果集
|
||||
QueryResult queryresult = influxDbUtils.query(sql);
|
||||
//结果集映射到对象中
|
||||
InfluxDBResultMapperCn influxDBResultMapper = new InfluxDBResultMapperCn();
|
||||
List<EventDetailNew> eventDetailList = influxDBResultMapper.toPOJO(queryresult, EventDetailNew.class);
|
||||
|
||||
return eventDetailList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 复制保存文件
|
||||
|
||||
Reference in New Issue
Block a user