From 3fa4371a1b425963c2a0a7f5e3fee08749e5b148 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期三, 18 六月 2025 17:39:33 +0800 Subject: [PATCH] 折线图时间格式华 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/DataServiceImpl.java | 24 ++++++++++++++++++++---- 1 files changed, 20 insertions(+), 4 deletions(-) diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/DataServiceImpl.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/DataServiceImpl.java index 61824d5..a94fd15 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/DataServiceImpl.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/DataServiceImpl.java @@ -175,7 +175,7 @@ if (predictItem == null || predictItem.getLastTime() == null) { return null; } - String timeFormat = StringUtils.isBlank(reqVO.getTimeFormat()) ? DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND : reqVO.getTimeFormat(); + int lengthLeft = tMap.get(CommonConstant.LENGTH_LEFT) == null ? predictItem.getPredictLength() : new BigDecimal(tMap.get(CommonConstant.LENGTH_LEFT)).intValue(); int lengthRight = tMap.get(CommonConstant.LENGTH_RIGHT) == null ? predictItem.getPredictLength() : new BigDecimal(tMap.get(CommonConstant.LENGTH_RIGHT)).intValue(); String trendsDataH = tMap.get(CommonConstant.TRENDSDATA_H) == null ? null : tMap.get(CommonConstant.TRENDSDATA_H); @@ -186,10 +186,24 @@ Date[] timeArray = calResultTime(predictItem, reqVO.getStartTime(), reqVO.getEndTime(), lengthLeft, lengthRight); Date startTime = timeArray[1]; Date endTime = timeArray[2]; + String timeFormat = null; + if (StringUtils.isNotBlank(reqVO.getTimeFormat())) { + timeFormat = reqVO.getTimeFormat(); + } else if ((endTime.getTime() - startTime.getTime()) < 1000 * 60 * 60 * 24 ) { + // 时间范围短,默认使用短时间格式 "HH:mm" + timeFormat = DateUtils.FORMAT_SIMPLE_TIME; + } else { + timeFormat = DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + } + final String finalTimeFormat = timeFormat; + reqVO.setTimeFormat(finalTimeFormat); PreDataSingleChartRespVO resultOld = mcsApi.getPreDataSingleChart(reqVO); PreDataChartRespVO result = ConvertUtils.sourceToTarget(resultOld, PreDataChartRespVO.class); + result.setPredictTime(DateUtils.format(resultOld.getPredictTime(), finalTimeFormat)); PreDataViewDTO preDataView = ConvertUtils.sourceToTarget(resultOld.getDataView(), PreDataViewDTO.class); + preDataView.setPredictTime(DateUtils.format(resultOld.getDataView().getPredictTime(), finalTimeFormat)); + if (StringUtils.isNotBlank(trendsDataH)) { // 动态上限 ApiPointValueQueryDTO pointValueQueryDTO = new ApiPointValueQueryDTO(); @@ -200,7 +214,7 @@ List<Object[]> newList = new ArrayList<>(); trendsDataHList.forEach(item -> { Object[] dataItem = new Object[2]; - dataItem[0] = DateUtils.format(item.getT(), "yyyy-MM-dd HH:mm:00"); + dataItem[0] = DateUtils.format(item.getT(), finalTimeFormat); dataItem[1] = item.getV(); newList.add(dataItem); }); @@ -216,7 +230,7 @@ List<Object[]> newList = new ArrayList<>(); trendsDataLList.forEach(item -> { Object[] dataItem = new Object[2]; - dataItem[0] = DateUtils.format(item.getT(), "yyyy-MM-dd HH:mm:00"); + dataItem[0] = DateUtils.format(item.getT(), finalTimeFormat); dataItem[1] = item.getV(); newList.add(dataItem); }); @@ -478,11 +492,13 @@ @Override public List<PreDataViewSimpleDTO> getPreDataByOutIds(PreDataBarLineReqVO reqVO) { PreDataBarLineRespVO preDataBarLineRespVO = mcsApi.getPreDataCharts(reqVO); + String predictTime = DateUtils.format(preDataBarLineRespVO.getPredictTime(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND); + List<PreDataViewSimpleDTO> preDataViewSimpleDTOList = new ArrayList<>(); preDataBarLineRespVO.getDataViewList().forEach(item -> { PreDataViewSimpleDTO preDataViewSimpleDTO = new PreDataViewSimpleDTO(); preDataViewSimpleDTO.setItemName(item.getResultName()); - preDataViewSimpleDTO.setPredictTime(preDataBarLineRespVO.getPredictTime()); + preDataViewSimpleDTO.setPredictTime(predictTime); preDataViewSimpleDTO.setCurData(item.getCurData()); preDataViewSimpleDTO.setRealData(item.getRealData()); preDataViewSimpleDTO.setPreDataN(item.getPreDataN().stream() -- Gitblit v1.9.3