From 85988421613383c029a25f1e21dfe8dd09cc562c Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期二, 14 一月 2025 15:29:14 +0800
Subject: [PATCH] queryMathPointCurrentValue

---
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/point/DataPointApiImpl.java             |   32 +++++++++------
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java |    6 +-
 iailab-module-data/iailab-module-data-biz/src/main/resources/mapper/point/DaPointDao.xml                                   |    6 +++
 iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/DataPointApi.java                 |    4 +-
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaPointService.java           |    2 -
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java  |    6 ---
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointDao.java                   |    2 -
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/vo/DaPointPageReqVO.java              |    4 ++
 8 files changed, 34 insertions(+), 28 deletions(-)

diff --git a/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/DataPointApi.java b/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/DataPointApi.java
index 3f820a6..f15fbdc 100644
--- a/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/DataPointApi.java
+++ b/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);
 }
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java
index 77e2bd1..7e1029f 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java
+++ b/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);
     }
 
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/point/DataPointApiImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/point/DataPointApiImpl.java
index 758b8b9..ec00fd4 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/point/DataPointApiImpl.java
+++ b/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());
     }
 }
\ No newline at end of file
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointDao.java
index 60d66ba..e5589c2 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointDao.java
+++ b/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);
     }
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaPointService.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaPointService.java
index 66ebb95..f2d0dec 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaPointService.java
+++ b/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);
 }
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java
index cf84ff1..beada3c 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java
+++ b/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());
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/vo/DaPointPageReqVO.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/vo/DaPointPageReqVO.java
index 7c7d21d..cf2fb6e 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/vo/DaPointPageReqVO.java
+++ b/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;
 }
\ No newline at end of file
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/resources/mapper/point/DaPointDao.xml b/iailab-module-data/iailab-module-data-biz/src/main/resources/mapper/point/DaPointDao.xml
index bacf39d..5bd85b9 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/resources/mapper/point/DaPointDao.xml
+++ b/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>

--
Gitblit v1.9.3