| | |
| | | calendar.set(Calendar.SECOND, 0); |
| | | calendar.set(Calendar.MILLISECOND, 0); |
| | | Date start = calendar.getTime(); |
| | | calendar.add(Calendar.MONTH, 1); |
| | | Date end = calendar.getTime(); |
| | | ApiPointValueQueryDTO apiPointValueQueryDTO = new ApiPointValueQueryDTO(); |
| | | apiPointValueQueryDTO.setStart(start); |
| | | apiPointValueQueryDTO.setEnd(end); |
| | | apiPointValueQueryDTO.setEnd(new Date()); |
| | | apiPointValueQueryDTO.setPointNo(dto.getMaxDemand()); |
| | | |
| | | List<ApiPointValueDTO> monthValues = dataPointApi.queryPointHistoryValue(apiPointValueQueryDTO); |
| | |
| | | return success(result); |
| | | } |
| | | |
| | | @GetMapping("/power/historyData") |
| | | @GetMapping("/net-factor/historyData") |
| | | @Operation(summary = "功率因数-根据nodeName获取最近1440min历史数据,月最大,最小值") |
| | | public CommonResult<PowerHistoryDTO> getPowerHistoryData(@RequestParam Map<String, Object> params) { |
| | | |
| | |
| | | case "cos": |
| | | pointNo = powerNetFactor.getCurCos(); |
| | | } |
| | | |
| | | //查询图表 |
| | | apiPointValueQueryDTO.setPointNo(pointNo); |
| | | SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | if (params.get("startTime") != null) { |
| | |
| | | List<String> categories = DateUtils.getTimeScale(start, end, 5); |
| | | result.setCategories(categories); |
| | | result.setDataList(dataList); |
| | | result.setMax(getMax(dataList)); |
| | | result.setMin(getMin(dataList)); |
| | | |
| | | //查询月最大最小值 |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.set(Calendar.DAY_OF_MONTH, 1); |
| | | calendar.set(Calendar.HOUR_OF_DAY, 0); |
| | | calendar.set(Calendar.MINUTE, 0); |
| | | calendar.set(Calendar.SECOND, 0); |
| | | calendar.set(Calendar.MILLISECOND, 0); |
| | | start = calendar.getTime(); |
| | | apiPointValueQueryDTO.setStart(start); |
| | | apiPointValueQueryDTO.setEnd(new Date()); |
| | | List<ApiPointValueDTO> monthChartData = dataPointApi.queryPointHistoryValue(apiPointValueQueryDTO); |
| | | List<List<Object>> monthDataList = new ArrayList<>(); |
| | | for (ApiPointValueDTO dto : monthChartData) { |
| | | List<Object> data = new ArrayList<>(); |
| | | String time = ft.format(dto.getT()); |
| | | double value = dto.getV(); |
| | | data.add(time); |
| | | data.add(value); |
| | | monthDataList.add(data); |
| | | } |
| | | result.setMax(getMax(monthDataList)); |
| | | result.setMin(getMin(monthDataList)); |
| | | return success(result); |
| | | } |
| | | |
| | | private double getMax(List<List<Object>> dataList) { |
| | | double result = 0; |
| | | private double getMin(List<List<Object>> dataList) { |
| | | double result = Double.parseDouble(dataList.get(0).get(1).toString()); |
| | | for (int i = 0; i < dataList.size() - 1; i++) { |
| | | if (result > Double.parseDouble(dataList.get(i).get(1).toString())) { |
| | | result = Double.parseDouble(dataList.get(i).get(1).toString()); |
| | |
| | | return result; |
| | | } |
| | | |
| | | private double getMin(List<List<Object>> dataList) { |
| | | private double getMax(List<List<Object>> dataList) { |
| | | double result = 0; |
| | | for (int i = 0; i < dataList.size() - 1; i++) { |
| | | if (result < Double.parseDouble(dataList.get(i).get(1).toString())) { |