From 4dad3683f9b4a7d4c09b1a3bbbbc00fd1e2ca45e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=B7=E6=88=90=E4=BC=9F?= Date: Fri, 6 Dec 2024 09:43:40 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BC=98=E5=8C=96import?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/das/modules/cache/domain/IotModelInfoCache.java | 2 -- .../das/modules/cache/service/impl/IotModelCacheImpl.java | 1 - .../java/com/das/modules/calc/controller/CalcController.java | 4 ---- .../java/com/das/modules/calc/domain/entity/CalcModule.java | 1 - .../com/das/modules/calc/functions/FunctionAvgValue.java | 2 -- .../com/das/modules/calc/functions/FunctionCacheValue.java | 1 - .../com/das/modules/calc/functions/FunctionRealData.java | 3 ++- .../com/das/modules/calc/functions/FunctionSaveCalcData.java | 5 ++++- .../com/das/modules/calc/functions/FunctionSumValue.java | 3 --- .../com/das/modules/calc/functions/FunctionTopValue.java | 4 ---- .../das/modules/calc/functions/FunctionWindSpeedFactor.java | 1 - das/src/main/java/com/das/modules/calc/service/CalcJob.java | 1 - .../java/com/das/modules/node/command/HeartbeatCommand.java | 2 +- 13 files changed, 7 insertions(+), 23 deletions(-) diff --git a/das/src/main/java/com/das/modules/cache/domain/IotModelInfoCache.java b/das/src/main/java/com/das/modules/cache/domain/IotModelInfoCache.java index 00e20474..574d550f 100644 --- a/das/src/main/java/com/das/modules/cache/domain/IotModelInfoCache.java +++ b/das/src/main/java/com/das/modules/cache/domain/IotModelInfoCache.java @@ -2,8 +2,6 @@ package com.das.modules.cache.domain; import lombok.Data; -import java.util.concurrent.ConcurrentHashMap; - @Data public class IotModelInfoCache { private Long iotModelId; diff --git a/das/src/main/java/com/das/modules/cache/service/impl/IotModelCacheImpl.java b/das/src/main/java/com/das/modules/cache/service/impl/IotModelCacheImpl.java index be670f65..d548237e 100644 --- a/das/src/main/java/com/das/modules/cache/service/impl/IotModelCacheImpl.java +++ b/das/src/main/java/com/das/modules/cache/service/impl/IotModelCacheImpl.java @@ -10,7 +10,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArraySet; @Service public class IotModelCacheImpl implements IotModelCache { diff --git a/das/src/main/java/com/das/modules/calc/controller/CalcController.java b/das/src/main/java/com/das/modules/calc/controller/CalcController.java index 15b74bb6..a9463bf0 100644 --- a/das/src/main/java/com/das/modules/calc/controller/CalcController.java +++ b/das/src/main/java/com/das/modules/calc/controller/CalcController.java @@ -1,11 +1,9 @@ package com.das.modules.calc.controller; -import cn.hutool.core.io.FileUtil; import com.das.common.result.R; import com.das.modules.calc.domain.vo.CalcModuleVo; import com.das.modules.calc.service.CalcService; import lombok.extern.slf4j.Slf4j; -import org.quartz.SchedulerException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -13,9 +11,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; -import java.io.BufferedReader; import java.io.IOException; -import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import java.util.List; import java.util.Map; diff --git a/das/src/main/java/com/das/modules/calc/domain/entity/CalcModule.java b/das/src/main/java/com/das/modules/calc/domain/entity/CalcModule.java index c5d5149a..fa4e9bdd 100644 --- a/das/src/main/java/com/das/modules/calc/domain/entity/CalcModule.java +++ b/das/src/main/java/com/das/modules/calc/domain/entity/CalcModule.java @@ -10,7 +10,6 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.StringReader; import java.util.Date; -import java.util.concurrent.atomic.AtomicInteger; @Slf4j @TableName("sys_calc_module") diff --git a/das/src/main/java/com/das/modules/calc/functions/FunctionAvgValue.java b/das/src/main/java/com/das/modules/calc/functions/FunctionAvgValue.java index 68742ee6..94b2359f 100644 --- a/das/src/main/java/com/das/modules/calc/functions/FunctionAvgValue.java +++ b/das/src/main/java/com/das/modules/calc/functions/FunctionAvgValue.java @@ -1,7 +1,5 @@ package com.das.modules.calc.functions; -import cn.hutool.core.date.DateField; -import cn.hutool.core.date.DateUtil; import com.das.modules.cache.domain.DeviceInfoCache; import com.das.modules.cache.service.CacheService; import com.das.modules.data.service.DataService; diff --git a/das/src/main/java/com/das/modules/calc/functions/FunctionCacheValue.java b/das/src/main/java/com/das/modules/calc/functions/FunctionCacheValue.java index 178c6af7..e89662d9 100644 --- a/das/src/main/java/com/das/modules/calc/functions/FunctionCacheValue.java +++ b/das/src/main/java/com/das/modules/calc/functions/FunctionCacheValue.java @@ -9,7 +9,6 @@ import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; /** * Aviator扩展函数 - 获取设备实时数据 diff --git a/das/src/main/java/com/das/modules/calc/functions/FunctionRealData.java b/das/src/main/java/com/das/modules/calc/functions/FunctionRealData.java index 8615b8e3..918f6393 100644 --- a/das/src/main/java/com/das/modules/calc/functions/FunctionRealData.java +++ b/das/src/main/java/com/das/modules/calc/functions/FunctionRealData.java @@ -5,7 +5,8 @@ import com.das.modules.cache.service.CacheService; import com.das.modules.data.domain.SnapshotValueQueryParam; import com.das.modules.data.service.DataService; import com.googlecode.aviator.runtime.function.AbstractFunction; -import com.googlecode.aviator.runtime.type.*; +import com.googlecode.aviator.runtime.type.AviatorObject; +import com.googlecode.aviator.runtime.type.AviatorRuntimeJavaType; import lombok.extern.slf4j.Slf4j; import java.util.HashMap; diff --git a/das/src/main/java/com/das/modules/calc/functions/FunctionSaveCalcData.java b/das/src/main/java/com/das/modules/calc/functions/FunctionSaveCalcData.java index cd88c7ee..2117dd10 100644 --- a/das/src/main/java/com/das/modules/calc/functions/FunctionSaveCalcData.java +++ b/das/src/main/java/com/das/modules/calc/functions/FunctionSaveCalcData.java @@ -12,7 +12,10 @@ import com.googlecode.aviator.runtime.type.AviatorRuntimeJavaType; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; /** * Aviator扩展函数 - 获取设备实时数据 diff --git a/das/src/main/java/com/das/modules/calc/functions/FunctionSumValue.java b/das/src/main/java/com/das/modules/calc/functions/FunctionSumValue.java index a2d518b9..45d9bfb1 100644 --- a/das/src/main/java/com/das/modules/calc/functions/FunctionSumValue.java +++ b/das/src/main/java/com/das/modules/calc/functions/FunctionSumValue.java @@ -1,6 +1,5 @@ package com.das.modules.calc.functions; -import cn.hutool.core.date.DateUtil; import com.das.modules.cache.domain.DeviceInfoCache; import com.das.modules.cache.service.CacheService; import com.das.modules.data.service.DataService; @@ -8,12 +7,10 @@ import com.googlecode.aviator.runtime.function.AbstractFunction; import com.googlecode.aviator.runtime.type.AviatorNil; import com.googlecode.aviator.runtime.type.AviatorObject; import com.googlecode.aviator.runtime.type.AviatorRuntimeJavaType; -import lombok.Data; import lombok.extern.slf4j.Slf4j; import java.util.Date; import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; /** * Aviator扩展函数 - 获取时间维度内最早的一条数据 diff --git a/das/src/main/java/com/das/modules/calc/functions/FunctionTopValue.java b/das/src/main/java/com/das/modules/calc/functions/FunctionTopValue.java index eedd5860..b505f15b 100644 --- a/das/src/main/java/com/das/modules/calc/functions/FunctionTopValue.java +++ b/das/src/main/java/com/das/modules/calc/functions/FunctionTopValue.java @@ -1,10 +1,8 @@ package com.das.modules.calc.functions; -import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import com.das.modules.cache.domain.DeviceInfoCache; import com.das.modules.cache.service.CacheService; -import com.das.modules.data.domain.SnapshotValueQueryParam; import com.das.modules.data.service.DataService; import com.googlecode.aviator.runtime.function.AbstractFunction; import com.googlecode.aviator.runtime.type.AviatorNil; @@ -14,8 +12,6 @@ import lombok.Data; import lombok.extern.slf4j.Slf4j; import java.util.Date; -import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; diff --git a/das/src/main/java/com/das/modules/calc/functions/FunctionWindSpeedFactor.java b/das/src/main/java/com/das/modules/calc/functions/FunctionWindSpeedFactor.java index 2765024b..ed108544 100644 --- a/das/src/main/java/com/das/modules/calc/functions/FunctionWindSpeedFactor.java +++ b/das/src/main/java/com/das/modules/calc/functions/FunctionWindSpeedFactor.java @@ -11,7 +11,6 @@ import com.googlecode.aviator.runtime.type.AviatorObject; import com.googlecode.aviator.runtime.type.AviatorRuntimeJavaType; import lombok.extern.slf4j.Slf4j; -import java.util.Date; import java.util.List; import java.util.Map; diff --git a/das/src/main/java/com/das/modules/calc/service/CalcJob.java b/das/src/main/java/com/das/modules/calc/service/CalcJob.java index 310e7717..1f307a5c 100644 --- a/das/src/main/java/com/das/modules/calc/service/CalcJob.java +++ b/das/src/main/java/com/das/modules/calc/service/CalcJob.java @@ -6,7 +6,6 @@ import com.das.modules.cache.service.CacheService; import com.das.modules.calc.domain.entity.CalcModule; import com.googlecode.aviator.AviatorEvaluatorInstance; import com.googlecode.aviator.Expression; -import com.googlecode.aviator.runtime.type.AviatorRuntimeJavaType; import lombok.extern.slf4j.Slf4j; import org.quartz.Job; import org.quartz.JobDataMap; diff --git a/das/src/main/java/com/das/modules/node/command/HeartbeatCommand.java b/das/src/main/java/com/das/modules/node/command/HeartbeatCommand.java index e29915c9..22be0b41 100644 --- a/das/src/main/java/com/das/modules/node/command/HeartbeatCommand.java +++ b/das/src/main/java/com/das/modules/node/command/HeartbeatCommand.java @@ -56,7 +56,7 @@ public class HeartbeatCommand implements BaseCommand{ } //判断是不是风机 String keyPLCDeviceStatus = String.format("RT:%d:iturbineoperationmode", deviceId); - String keyCommFaultState = String.format("RT:%d:commfaultstate"); + String keyCommFaultState = String.format("RT:%d:commfaultstate",deviceId); Integer plcDeviceStatus = adminRedisTemplate.get(keyPLCDeviceStatus); if (plcDeviceStatus == null){ adminRedisTemplate.set(keyCommFaultState, online ? 0 : 1); From ea7be8e943c9b64cf4bca0ee49f9a82182f64802 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=B7=E6=88=90=E4=BC=9F?= Date: Fri, 6 Dec 2024 09:49:45 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=A3=8E=E9=80=9F?= =?UTF-8?q?=E7=B3=BB=E6=95=B0=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/das/modules/calc/service/CalcService.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/das/src/main/java/com/das/modules/calc/service/CalcService.java b/das/src/main/java/com/das/modules/calc/service/CalcService.java index 0e291a3b..6872e1c4 100644 --- a/das/src/main/java/com/das/modules/calc/service/CalcService.java +++ b/das/src/main/java/com/das/modules/calc/service/CalcService.java @@ -134,6 +134,9 @@ public class CalcService { FunctionOffsetDate offsetDate = new FunctionOffsetDate(); aviator.addFunction(offsetDate); + + FunctionWindSpeedFactor windSpeedFactor = new FunctionWindSpeedFactor(dataService,cacheService); + aviator.addFunction(windSpeedFactor); } /** From 0d16618250d10fbdc1c125c03bdc3c7e7ef48b0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=B7=E6=88=90=E4=BC=9F?= Date: Fri, 6 Dec 2024 10:32:52 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E8=AE=A1=E7=AE=97=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E6=8C=89=E5=90=8D=E7=A7=B0=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/das/modules/calc/service/CalcService.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/das/src/main/java/com/das/modules/calc/service/CalcService.java b/das/src/main/java/com/das/modules/calc/service/CalcService.java index 6872e1c4..c9669f0e 100644 --- a/das/src/main/java/com/das/modules/calc/service/CalcService.java +++ b/das/src/main/java/com/das/modules/calc/service/CalcService.java @@ -2,6 +2,7 @@ package com.das.modules.calc.service; import cn.hutool.core.codec.Base64Encoder; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.das.common.utils.AdminRedisTemplate; import com.das.modules.cache.service.CacheService; import com.das.modules.calc.domain.entity.CalcModule; @@ -179,7 +180,9 @@ public class CalcService { * @return */ public List queryCalcModules() { - List scriptModules = calcModuleMapper.selectList(null); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.orderByAsc(CalcModule::getLocalName); + List scriptModules = calcModuleMapper.selectList(queryWrapper); return scriptModules.stream().map(CalcModuleVo::of).toList(); } From 2b01ac09a2f4e9aa58d0f5ea3480ffd88ce411fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=B7=E6=88=90=E4=BC=9F?= Date: Fri, 6 Dec 2024 10:45:25 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=AE=9E=E6=97=B6?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E4=B8=8A=E6=8A=A5=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/datacollect/README.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/datacollect/README.md b/docs/datacollect/README.md index 591cb3b0..5b440a43 100644 --- a/docs/datacollect/README.md +++ b/docs/datacollect/README.md @@ -376,13 +376,16 @@ PS: 同一节点只允许建立一条连接。 "dataTime": 123123123123, //设备ID "deviceId": "1123451235464", - //是否存储历史数据 - "isStore": true, "values": { //key为属性名 "Ia": 123.1, "Ib": 122.1, "Ic": 123.1 + }, + //需要归档的数据 + "archiveValues":{ + "P": 1234.12, + "Q": 12 } } ``` @@ -402,11 +405,13 @@ PS: 同一节点只允许建立一条连接。 "dataTime": 123123123123, //设备ID "deviceId": "1123451235464", - //是否存储历史数据 - "isStore": true, "values": { //key为属性名 "Switch01": 1 + }, + //需要归档的数据 + "archiveValues":{ + "Fault001": 0 } } ``` From 1eb1e39c81c1c95d7b543dbaec93d5c1a4f6e6f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=B7=E6=88=90=E4=BC=9F?= Date: Fri, 6 Dec 2024 10:54:10 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9offsetDate=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/calc/functions/FunctionOffsetDate.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/das/src/main/java/com/das/modules/calc/functions/FunctionOffsetDate.java b/das/src/main/java/com/das/modules/calc/functions/FunctionOffsetDate.java index 67582de4..100ef18d 100644 --- a/das/src/main/java/com/das/modules/calc/functions/FunctionOffsetDate.java +++ b/das/src/main/java/com/das/modules/calc/functions/FunctionOffsetDate.java @@ -30,27 +30,27 @@ public class FunctionOffsetDate extends AbstractFunction { public AviatorObject call(Map env, AviatorObject dateData, AviatorObject dimData, AviatorObject offsetData) { Date date = (Date) dateData.getValue(env); String dim = (String) dimData.getValue(env); - Integer offset = (Integer) offsetData.getValue(env); + Long offset = (Long) offsetData.getValue(env); Date result = null; switch (dim) { case "day": - result = DateUtil.offset(date, DateField.DAY_OF_MONTH, offset); + result = DateUtil.offset(date, DateField.DAY_OF_MONTH, offset.intValue()); break; case "month": - result = DateUtil.offset(date, DateField.MONTH, offset); + result = DateUtil.offset(date, DateField.MONTH, offset.intValue()); break; case "year": - result = DateUtil.offset(date, DateField.YEAR, offset); + result = DateUtil.offset(date, DateField.YEAR, offset.intValue()); break; case "hour": - result = DateUtil.offset(date, DateField.HOUR, offset); + result = DateUtil.offset(date, DateField.HOUR, offset.intValue()); break; case "minute": - result = DateUtil.offset(date, DateField.MINUTE, offset); + result = DateUtil.offset(date, DateField.MINUTE, offset.intValue()); break; case "second": - result = DateUtil.offset(date, DateField.SECOND, offset); + result = DateUtil.offset(date, DateField.SECOND, offset.intValue()); break; default: log.error("不支持的维度: {}", dim);