| | |
| | | package com.iailab.module.data.api.point; |
| | | |
| | | import com.iailab.framework.common.pojo.PageResult; |
| | | import com.iailab.framework.common.util.date.DateUtils; |
| | | import com.iailab.framework.common.util.object.ConvertUtils; |
| | | import com.iailab.module.data.api.point.dto.*; |
| | |
| | | import com.iailab.module.data.influxdb.service.InfluxDBService; |
| | | import com.iailab.module.data.influxdb.service.impl.InfluxDBServiceImpl; |
| | | import com.iailab.module.data.point.collection.PointCollector; |
| | | import com.iailab.module.data.point.dto.DaMathPointDTO; |
| | | import com.iailab.module.data.point.dto.DaPointDTO; |
| | | import com.iailab.module.data.point.dto.DaPointWriteValueDTO; |
| | | import com.iailab.module.data.point.service.DaMathPointService; |
| | | import com.iailab.module.data.point.service.DaPointService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.util.CollectionUtils; |
| | |
| | | |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | import java.util.stream.IntStream; |
| | | |
| | | /** |
| | | * @author PanZhibao |
| | |
| | | |
| | | @Autowired |
| | | private InfluxDBService influxDBService; |
| | | |
| | | @Autowired |
| | | private DaMathPointService daMathPointService; |
| | | |
| | | @Override |
| | | public ApiPointDTO getInfoById(String pointId) { |
| | |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public PageResult<ApiPointDTO> getPageByNo(ApiPointPageReqVO reqVO) { |
| | | DaPointDTO daPointDTO = daPointService.getSimpleInfoByNo(reqVO.getPointNo()); |
| | | DaMathPointDTO daMathPointDTO = daMathPointService.getByPoint(daPointDTO.getId()); |
| | | String[] pointNos = daMathPointDTO.getExpression().split("[-+]+"); |
| | | HashMap<Integer, String> map = new HashMap<>(); |
| | | IntStream.range(0, pointNos.length).forEach(i -> map.put(i, pointNos[i])); |
| | | List<String> pointNosL = new ArrayList<>(); |
| | | for (String value : map.values()) { |
| | | pointNosL.add(value); |
| | | } |
| | | PageResult<ApiPointDTO> pageResult = daPointService.getPointPage(map); |
| | | Map<String, Object> CurrentValueMap = pointCollector.getCurrentValue(pointNosL); |
| | | pageResult.getList().stream().map(item -> { |
| | | item.setCurrentValue(CurrentValueMap.get(item.getPointNo())); |
| | | return item; |
| | | }).collect(Collectors.toList()); |
| | | return pageResult; |
| | | } |
| | | } |