dengzedong
2025-05-19 60b9f21d937234d6c3465106111742997604c03c
Merge remote-tracking branch 'origin/master'
已修改5个文件
54 ■■■■■ 文件已修改
iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/DataPointApi.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/point/DataPointApiImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/influxdb/service/InfluxDBService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/influxdb/service/impl/InfluxDBServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-data/iailab-module-data-biz/src/main/resources/application-dev.yaml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/point/DataPointApi.java
@@ -51,6 +51,10 @@
    @Operation(summary = "查询最大值")
    Map<String, Object> queryPointMaxValue(@RequestBody ApiPointValueQueryDTO queryDto);
    @PostMapping(PREFIX + "/query-point/max-time-value")
    @Operation(summary = "查询最大值(带时间)")
    Map<String, Object> queryPointMaxTimeValue(@RequestBody ApiPointValueQueryDTO queryDto);
    @PostMapping(PREFIX + "/query-point/max-value-range")
    @Operation(summary = "查询最大值")
    Map<String, Object> queryPointMaxValueRange(@RequestBody ApiPointValueQueryDTO queryDto);
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/point/DataPointApiImpl.java
@@ -89,6 +89,26 @@
    }
    @Override
    public Map<String, Object> queryPointMaxTimeValue(ApiPointValueQueryDTO queryDto) {
        Map<String, Object> result = new HashMap<>();
        if (StringUtils.isEmpty(queryDto.getPointNo())) {
            return null;
        }
        if (queryDto.getStart() == null) {
            return null;
        }
        if (queryDto.getEnd() == null) {
            queryDto.setEnd(new Date());
        }
        DaPointDTO daPointDTO = daPointService.getByNo(queryDto.getPointNo());
        InfluxPointValuePOJO pojo = new InfluxPointValuePOJO();
        pojo.setPoint(queryDto.getPointNo());
        pojo.setType(daPointDTO.getDataType());
        result = influxDBService.queryPointMaxTimeValue(pojo, queryDto.getStart(), queryDto.getEnd());
        return result;
    }
    @Override
    public Map<String, Object> queryPointMaxValueRange(ApiPointValueQueryDTO queryDto) {
        Map<String, Object> result = new HashMap<>();
        if (StringUtils.isEmpty(queryDto.getPointNo())) {
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/influxdb/service/InfluxDBService.java
@@ -41,6 +41,8 @@
    Object queryPointMaxValue(InfluxPointValuePOJO point, Date startTime);
    Map<String, Object> queryPointMaxTimeValue(InfluxPointValuePOJO point, Date startTime, Date endTime);
    List<PointValueExportVO> exportPointValue(ApiPointValueQueryDTO queryDto);
    Object queryPointMaxValueRange(InfluxPointValuePOJO point, Date startTime, Date endTime);
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/influxdb/service/impl/InfluxDBServiceImpl.java
@@ -335,6 +335,30 @@
    }
    @Override
    public Map<String, Object> queryPointMaxTimeValue(InfluxPointValuePOJO point, Date startTime, Date endTime) {
        Map<String, Object> result = new HashMap<>(2);
        List<Map<String, Object>> valueList = this.queryPointValues(point, startTime, endTime);
        if (CollectionUtils.isEmpty(valueList)) {
            return null;
        }
        double valueL = new BigDecimal(valueList.get(0).get(VALUE).toString()).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
        String timeM = valueList.get(0).get(TIME).toString();
        double valueM = valueL;
        for (Map<String, Object> item : valueList) {
            double valueI = new BigDecimal(item.get(VALUE).toString()).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
            if (valueI >= valueL ) {
                valueM = valueI;
                timeM = item.get(TIME).toString();
            }
            valueL = valueI;
        }
        result.put(TIME, timeM);
        result.put(VALUE, valueM);
        return result;
    }
    @Override
    public Object queryPointMaxValueRange(InfluxPointValuePOJO point, Date startTime, Date endTime) {
        if (influxQLQueryApi == null) {
            influxQLQueryApi = influxDBInstance.getClient().getInfluxQLQueryApi();
iailab-module-data/iailab-module-data-biz/src/main/resources/application-dev.yaml
@@ -72,9 +72,9 @@
influx-db:
  org: iailab
  token: _338h4Kbu2KQaes5QwAyOz9pTUueXoSF9XmPi8N9oTS1SrhTZVj4J9JfSraUyWA0PfWMZOlf9QWax-USkJQR_A==
  url: http://172.16.8.200:8086
  url: http://172.16.1.221:8086
  username: iailab
  password: iailab2019
  password: eF7!gT6*rJ
iems:
  upload-dir: D:/DLUT/upload/