| | |
| | | |
| | | // 模型输出调整值 |
| | | String OUT_ADJUST_VALUES = "adjustValues"; |
| | | |
| | | String DECIMAL_PLACES = "DECIMAL_PLACES"; |
| | | } |
| | |
| | | BigDecimal limitL = chartParams.get(CommonConstant.LIMIT_L) == null ? null : new BigDecimal(chartParams.get(CommonConstant.LIMIT_L)); |
| | | int lengthLeft = chartParams.get(CommonConstant.LENGTH_LEFT) == null ? predictItem.getPredictLength() : new BigDecimal(chartParams.get(CommonConstant.LENGTH_LEFT)).intValue(); |
| | | int lengthRight = chartParams.get(CommonConstant.LENGTH_RIGHT) == null ? predictItem.getPredictLength() : new BigDecimal(chartParams.get(CommonConstant.LENGTH_RIGHT)).intValue(); |
| | | int decimalPlaces = chartParams.get(CommonConstant.DECIMAL_PLACES) == null ? 3 : new BigDecimal(chartParams.get(CommonConstant.DECIMAL_PLACES)).intValue(); |
| | | |
| | | Date[] timeArray = calResultTime(predictItem, reqVO.getStartTime(), reqVO.getEndTime(), lengthLeft, lengthRight); |
| | | Date predictTime = timeArray[0]; |
| | |
| | | dataView.setPreDataN(mmItemResultService.getData(outPut.getId(), startTime, endTime, timeFormat)); |
| | | break; |
| | | case TL: |
| | | dataView.setPreDataN(mmItemResultService.getData(outPut.getId(), predictTime, endTime, timeFormat)); |
| | | dataView.setPreDataL(mmItemResultLastPointService.getData(outPut.getId(), startTime, endTime, timeFormat)); |
| | | dataView.setPreDataN(mmItemResultService.getData(outPut.getId(), predictTime, endTime, timeFormat, decimalPlaces)); |
| | | dataView.setPreDataL(mmItemResultLastPointService.getData(outPut.getId(), startTime, endTime, timeFormat, decimalPlaces)); |
| | | break; |
| | | default: |
| | | break; |
| | |
| | | List<Object[]> getData(String outputid, Date startTime, Date endTime, String timeFormat); |
| | | |
| | | List<Object[]> getData(String outputid, Date startTime, Date endTime, String timeFormat, DataTypeEnum dataTypeEnum); |
| | | |
| | | List<Object[]> getData(String outputid, Date startTime, Date endTime, String timeFormat, int decimalPlaces); |
| | | } |
| | |
| | | List<DataValueVO> getPredictValueLast(String outputid, Date startTime, int mins); |
| | | |
| | | List<Object[]> getData(String outputid, Date startTime, Date endTime, String timeFormat); |
| | | |
| | | List<Object[]> getData(String outputid, Date startTime, Date endTime, String timeFormat, int decimalPlaces); |
| | | } |
| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | |
| | | }); |
| | | return result; |
| | | } |
| | | |
| | | public List<Object[]> getData(String outputid, Date startTime, Date endTime, String timeFormat, int decimalPlaces) { |
| | | List<Object[]> result = new ArrayList<>(); |
| | | InfluxModelResultPOJO pojo = new InfluxModelResultPOJO(); |
| | | pojo.setType(DataTypeEnum.FLOAT_LAST.getCode()); |
| | | pojo.setOutPutId(outputid); |
| | | List<InfluxModelResultVO> influxModelResultVOS = influxDBService.queryModelResults(pojo, startTime, endTime); |
| | | influxModelResultVOS.forEach(item -> { |
| | | Object[] dataItem = new Object[2]; |
| | | dataItem[0] = DateUtils.format(Date.from(item.getTimestamp()), timeFormat); |
| | | dataItem[1] = BigDecimal.valueOf(Double.parseDouble(item.getValue().toString())).setScale(decimalPlaces, RoundingMode.HALF_UP); |
| | | result.add(dataItem); |
| | | }); |
| | | return result; |
| | | } |
| | | } |
| | |
| | | }); |
| | | return result; |
| | | } |
| | | |
| | | @Override |
| | | public List<Object[]> getData(String outputid, Date startTime, Date endTime, String timeFormat, int decimalPlaces) { |
| | | List<Object[]> result = new ArrayList<>(); |
| | | InfluxModelResultPOJO pojo = new InfluxModelResultPOJO(); |
| | | pojo.setType(DataTypeEnum.FLOAT.getCode()); |
| | | pojo.setOutPutId(outputid); |
| | | List<InfluxModelResultVO> influxModelResultVOS = influxDBService.queryModelResults(pojo, startTime, endTime); |
| | | influxModelResultVOS.forEach(item -> { |
| | | Object[] dataItem = new Object[2]; |
| | | dataItem[0] = DateUtils.format(Date.from(item.getTimestamp()), timeFormat); |
| | | dataItem[1] = BigDecimal.valueOf(Double.valueOf(item.getValue().toString())).setScale(decimalPlaces, BigDecimal.ROUND_HALF_UP); |
| | | result.add(dataItem); |
| | | }); |
| | | return result; |
| | | } |
| | | } |