From db8472b9471de96a68c7fcdb2e66124b2f16854b Mon Sep 17 00:00:00 2001 From: liriming <1343021927@qq.com> Date: 星期三, 02 四月 2025 17:14:56 +0800 Subject: [PATCH] 采纳建议接口 --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java | 39 ++++++++++++++++++++++++++++++++------- 1 files changed, 32 insertions(+), 7 deletions(-) diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java index 40e0d25..d54714e 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java @@ -28,7 +28,6 @@ import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmConfigSaveReqVO; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmMessageSaveReqVO; import com.iailab.module.model.mcs.pre.vo.MmPredictItemRespVO; -import com.iailab.module.model.mcs.sche.entity.StAdjustConfigDetEntity; import com.iailab.module.model.mcs.sche.entity.StScheduleModelEntity; import com.iailab.module.model.mcs.sche.entity.StScheduleSuggestEntity; import com.iailab.module.model.mcs.sche.service.*; @@ -216,7 +215,7 @@ viewDto.setOutId(outId); viewDto.setResultstr(output.getResultstr()); viewDto.setResultName(output.getResultName()); - viewDto.setRealData(getHisData(output.getPointid(), startTime, endTime)); + viewDto.setRealData(getHisData(output.getPointid(), startTime, endTime, reqVO.getPrec())); viewDto.setPreDataN(mmItemResultService.getData(output.getId(), startTime, endTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)); viewDto.setPreDataL(mmItemResultLastPointService.getData(output.getId(), startTime, endTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)); viewDto.setCurData(mmItemResultJsonService.getData(output.getId(), predictTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)); @@ -272,7 +271,7 @@ //处理预测累计 if (output.getIscumulant() == 1) { if (StringUtils.isNotBlank(output.getCumulpoint())) { - viewDto.setCumulantRealData(getHisData(output.getCumulpoint(), startTime, endTime)); + viewDto.setCumulantRealData(getHisData(output.getCumulpoint(), startTime, endTime, reqVO.getPrec())); } viewDto.setCumulantPreData(mmItemResultService.getData(output.getId() + CommonDict.CUMULANT_SUFFIX, startTime, endTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)); } @@ -331,13 +330,13 @@ legend.add(out.getResultName()); PreDataSampleViewRespDTO viewDto = new PreDataSampleViewRespDTO(); if (StringUtils.isNotBlank(out.getPointid())) { - viewDto.setRealData(getHisData(out.getPointid(), startTime, endTime)); + viewDto.setRealData(getHisData(out.getPointid(), startTime, endTime, reqVO.getPrec())); } viewDto.setPreDataN(mmItemResultService.getData(out.getId(), startTime, endTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)); //处理预测累计 if (out.getIscumulant() == 1) { if (StringUtils.isNotBlank(out.getCumulpoint())) { - viewDto.setCumulantRealData(getHisData(out.getCumulpoint(), startTime, endTime)); + viewDto.setCumulantRealData(getHisData(out.getCumulpoint(), startTime, endTime, reqVO.getPrec())); } viewDto.setCumulantPreData(mmItemResultService.getData(out.getId() + CommonDict.CUMULANT_SUFFIX, startTime, endTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)); } @@ -422,6 +421,19 @@ default: break; } + + //处理预测累计 + if (outPut.getIscumulant() != null && outPut.getIscumulant() == 1) { + /*if (StringUtils.isNotBlank(outPut.getCumulpoint())) { + dataView.setCumulantRealData(getHisData(outPut.getCumulpoint(), startTime, endTime)); + }*/ + List<Object[]> cumulantPreList = mmItemResultService.getData(outPut.getId() + CommonDict.CUMULANT_SUFFIX, startTime, endTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND); + dataView.setCumulantPreData(cumulantPreList); + if (!CollectionUtils.isEmpty(cumulantPreList)) { + dataView.setCumulantPreLast(new BigDecimal(cumulantPreList.get(cumulantPreList.size() - 1)[1].toString()).setScale(2, BigDecimal.ROUND_HALF_UP)); + } + } + if (!CollectionUtils.isEmpty(dataView.getRealData())) { Object[] rdo = dataView.getRealData().get(dataView.getRealData().size() - 1); dataView.setCurrValue(new BigDecimal(rdo[1].toString())); @@ -549,9 +561,10 @@ * @param pointId * @param startTime * @param endTime + * @param prec * @return */ - private List<Object[]> getHisData(String pointId, Date startTime, Date endTime) { + private List<Object[]> getHisData(String pointId, Date startTime, Date endTime, Integer prec) { List<Object[]> result = new ArrayList<>(); if (StringUtils.isBlank(pointId)) { return result; @@ -565,10 +578,17 @@ if (CollectionUtils.isEmpty(valueDTOS)) { return result; } + int defaultPrec = 3; valueDTOS.forEach(item -> { Object[] values = new Object[2]; values[0] = DateUtils.format(item.getT(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND); - values[1] = new BigDecimal(item.getV()).setScale(3, BigDecimal.ROUND_HALF_UP); + if (prec != null && prec < 0) { + values[1] = item.getV(); + } else if (prec != null && prec > 0) { + values[1] = new BigDecimal(item.getV()).setScale(prec, BigDecimal.ROUND_HALF_UP); + } else { + values[1] = new BigDecimal(item.getV()).setScale(defaultPrec, BigDecimal.ROUND_HALF_UP); + } result.add(values); }); return result; @@ -865,6 +885,11 @@ return mmItemResultLastPointService.getData(reqVO.getOutputid(),reqVO.getStartTime(),reqVO.getEndTime(),reqVO.getTimeFormat()); } + @Override + public Boolean useSuggest(StAlarmAndSuggestReqVO reqVO) { + return stScheduleSuggestService.useSuggest(reqVO); + } + private Date[] calResultTime(ItemVO predictItem, Date startTimeReq, Date endTimeReq, int lengthLeft, int lengthRight) { Date[] result = new Date[3]; Date predictTime = predictItem.getLastTime(); -- Gitblit v1.9.3