iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/DataPointApi.java
@@ -51,7 +51,7 @@ @Operation(summary = "写入单个测点值") Boolean writePointRealValue(@RequestBody ApiPointValueWriteDTO queryDto); @GetMapping(PREFIX + "/info/nos/{pointNo}") @GetMapping(PREFIX + "/query-math-point/current-value") @Operation(summary = "根据计算点编号查询测点集合") PageResult<ApiPointDTO> getPageByNo(@RequestBody ApiPointPageReqVO reqVO); PageResult<ApiPointDTO> queryMathPointCurrentValue(@RequestBody ApiPointPageReqVO reqVO); } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java
@@ -327,10 +327,10 @@ } @PermitAll @PostMapping("/query-points/info") @PostMapping("/query-math-point/current-value") @Operation(summary = "根据计算点编号查询测点集合") public CommonResult<PageResult<ApiPointDTO>> queryPageByNo(@RequestBody ApiPointPageReqVO reqVO) { PageResult<ApiPointDTO> data = dataPointApi.getPageByNo(reqVO); public CommonResult<PageResult<ApiPointDTO>> queryMathPointCurrentValue(@RequestBody ApiPointPageReqVO reqVO) { PageResult<ApiPointDTO> data = dataPointApi.queryMathPointCurrentValue(reqVO); return success(data); } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/point/DataPointApiImpl.java
@@ -13,6 +13,7 @@ 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 com.iailab.module.data.point.vo.DaPointPageReqVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; @@ -139,22 +140,27 @@ } @Override public PageResult<ApiPointDTO> getPageByNo(ApiPointPageReqVO reqVO) { public PageResult<ApiPointDTO> queryMathPointCurrentValue(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; DaPointPageReqVO pageReqVO = new DaPointPageReqVO(); pageReqVO.setPageNo(reqVO.getPageNo()); pageReqVO.setPageSize(reqVO.getPageSize()); pageReqVO.setPointNos(Arrays.asList(pointNos)); PageResult<DaPointDTO> pageResult = daPointService.queryPage(pageReqVO); List<String> pointNosL = pageResult.getList().stream().map(item -> { return item.getPointNo(); }).collect(Collectors.toList()); return pageResult; Map<String, Object> currentValueMap = pointCollector.getCurrentValue(pointNosL); List<ApiPointDTO> dataList = new ArrayList<>(); pageResult.getList().forEach(item -> { ApiPointDTO dto = new ApiPointDTO(); dto.setPointNo(item.getPointNo()); dto.setPointName(item.getPointName()); dto.setCurrentValue(currentValueMap.get(item.getPointNo()).toString()); }); return new PageResult<>(dataList, pageResult.getTotal()); } } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointDao.java
@@ -40,8 +40,6 @@ return getPageList(getPage(reqVO), reqVO); } IPage<ApiPointDTO> getPointPage(IPage<DaPointEntity> page, @Param("paramsMap") HashMap map); default DaPointEntity selectByPointName(String pointName) { return selectOne("point_name", pointName); } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaPointService.java
@@ -71,6 +71,4 @@ List<DaPointDTO> getMeasurePoint(DaPointPageReqVO reqVO); List<DaPointDTO> getMathPoint(DaPointPageReqVO reqVO); PageResult<ApiPointDTO> getPointPage(HashMap map); } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java
@@ -308,12 +308,6 @@ } @Override public PageResult<ApiPointDTO> getPointPage(HashMap map) { IPage<ApiPointDTO> page = daPointDao.getPointPage(getPage(map, Constant.CREATE_TIME, false),map); return new PageResult<>(page.getRecords(), page.getTotal()); } @Override public List<DaPointDTO> getMathPoint(String freq) { Map<String, Object> params = new HashMap<>(); params.put("pointType", PointTypeEnum.CALCULATE_POINT.getCode()); iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/vo/DaPointPageReqVO.java
@@ -6,6 +6,8 @@ import lombok.EqualsAndHashCode; import lombok.ToString; import java.util.List; /** * @author lirm * @Description @@ -32,4 +34,6 @@ private Integer isEnable; private String collectQuality; private List<String> pointNos; } iailab-module-data/iailab-module-data-biz/src/main/resources/mapper/point/DaPointDao.xml
@@ -71,6 +71,12 @@ <if test="params.collectQuality != null and params.collectQuality != ''"> and t6.collect_quality = #{params.collectQuality} </if> <if test="params.pointNos != null"> AND t1.point_no in <foreach collection="pointNos" item="item" index="item" open="(" close=")" separator=","> #{item} </foreach> </if> </where> order by t1.create_time desc, t1.point_no desc </select>