| | |
| | | package com.iailab.module.model.mcs.sche.service.impl; |
| | | |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.date.format.DateParser; |
| | | import com.baomidou.dynamic.datasource.annotation.DSTransactional; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.iailab.framework.common.service.impl.BaseServiceImpl; |
| | | import com.iailab.framework.common.util.object.BeanUtils; |
| | | import com.iailab.framework.common.util.object.ConvertUtils; |
| | |
| | | import com.iailab.module.model.mcs.sche.vo.StSuggestSnapshotConfDetRespVO; |
| | | import com.iailab.module.model.mcs.sche.vo.StSuggestSnapshotConfMainRespVO; |
| | | import com.iailab.module.model.mcs.sche.vo.StSuggestSnapshotRecordSaveReqVO; |
| | | import org.apache.commons.lang.time.DateFormatUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | import java.time.ZoneId; |
| | | import java.util.ArrayList; |
| | |
| | | |
| | | @Override |
| | | public List<StSuggestSnapshotRecordRespVO> getListBySuggestId(String suggestId) { |
| | | return ConvertUtils.sourceToTarget(baseDao.selectList("suggest_id", suggestId), StSuggestSnapshotRecordRespVO.class); |
| | | QueryWrapper<StSuggestSnapshotRecordEntity> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("suggest_id", suggestId); |
| | | queryWrapper.orderByAsc("sort"); |
| | | return ConvertUtils.sourceToTarget(baseDao.selectList(queryWrapper), StSuggestSnapshotRecordRespVO.class); |
| | | } |
| | | |
| | | @Override |
| | |
| | | snapshotRecordSaveReqVO.setDataType(confDet.getDataType()); |
| | | snapshotRecordSaveReqVO.setDataName(confDet.getDataName()); |
| | | snapshotRecordSaveReqVO.setScheduleTime(scheduleTime); |
| | | snapshotRecordSaveReqVO.setSort(confDet.getSort()); |
| | | snapshotRecordSaveReqVO.setLimitH(confDet.getLimitH()); |
| | | snapshotRecordSaveReqVO.setLimitL(confDet.getLimitL()); |
| | | snapshotRecordSaveReqVO.setSort(confDet.getSort()); |
| | | //计算开始时间,开始时间为当前调度时间减去快照配置表配置的左侧时间长度 |
| | | LocalDateTime localStartDateTime = scheduleTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().minusMinutes(confDet.getLeftLength() == null ? 60 : confDet.getLeftLength()); |
| | | Date startTime = Date.from(localStartDateTime.atZone(ZoneId.systemDefault()).toInstant()); |
| | |
| | | if (valueList != null && !valueList.isEmpty()){ |
| | | for (ApiPointValueDTO apiPointValueDTO : valueList) { |
| | | Object[] data = new Object[2]; |
| | | data[0] = DateUtils.format(new Date(String.valueOf(apiPointValueDTO.getT())), DATE_TIME_PATTERN); |
| | | data[0] = DateUtils.format(apiPointValueDTO.getT(), DATE_TIME_PATTERN); |
| | | data[1] = apiPointValueDTO.getV(); |
| | | dataList.add(data); |
| | | } |
| | |
| | | if (valueList != null && !valueList.isEmpty()){ |
| | | for (ApiIndItemValueDTO apiIndItemValueDTO : valueList) { |
| | | Object[] data = new Object[2]; |
| | | data[0] = DateUtils.format(new Date(apiIndItemValueDTO.getDataTime()), DATE_TIME_PATTERN); |
| | | data[0] = apiIndItemValueDTO.getDataTime(); |
| | | data[1] = apiIndItemValueDTO.getDataValue(); |
| | | dataList.add(data); |
| | | } |
| | |
| | | } |
| | | item.setDataList(dataList); |
| | | |
| | | if (!CollectionUtils.isEmpty(dataList)) { |
| | | List<String> overLimitTimes = new ArrayList<>(); |
| | | dataList.forEach(data -> { |
| | | BigDecimal value = new BigDecimal(data[1].toString()); |
| | | if (value.compareTo(item.getLimitH()) >= 0 || value.compareTo(item.getLimitL()) <= 0) { |
| | | overLimitTimes.add(data[0].toString()); |
| | | } |
| | | }); |
| | | item.setOverLimitTimes(overLimitTimes); |
| | | } |
| | | |
| | | }); |
| | | return reqList; |
| | | } |