From ea438fbb1c8b2df9bbe3bdff99fe6831fdd64853 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E4=BA=91=E9=B9=8F?= Date: Fri, 6 Dec 2024 09:32:57 +0800 Subject: [PATCH 01/19] =?UTF-8?q?=E9=87=8F=E6=B5=8B=EF=BC=9Amodbus?= =?UTF-8?q?=E5=92=8Cads=E6=B7=BB=E5=8A=A0=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui/dasadmin/src/views/backend/node/utils.ts | 24 +++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/ui/dasadmin/src/views/backend/node/utils.ts b/ui/dasadmin/src/views/backend/node/utils.ts index 00b10f9f..9b43f74d 100644 --- a/ui/dasadmin/src/views/backend/node/utils.ts +++ b/ui/dasadmin/src/views/backend/node/utils.ts @@ -119,6 +119,10 @@ export const excelDefaultConfig: any = { { label: '限值2下限', code: 'limit2Low' + }, + { + label:'强制归档', + code:'forceArchive', } ], R0C4: ['03', '04'], @@ -233,6 +237,10 @@ export const excelDefaultConfig: any = { label: '寄存器地址', code: 'col3', }, + { + label:'强制归档', + code:'forceArchive', + } ], R0C4: ['03', '04'], R0C5: [ @@ -262,6 +270,10 @@ export const excelDefaultConfig: any = { label: '寄存器', code: 'col3', }, + { + label:'强制归档', + code:'forceArchive', + } ], R0C4: ['01', '02', '03', '04'], }, @@ -335,6 +347,10 @@ export const excelDefaultConfig: any = { { label: '限值2下限', code: 'limit2Low' + }, + { + label:'强制归档', + code:'forceArchive', } ], R0C4: [ @@ -394,6 +410,10 @@ export const excelDefaultConfig: any = { 139: { name: '累计量', head: [ + { + label:'强制归档', + code:'forceArchive', + } ], }, //遥信140 DISCRETE @@ -412,6 +432,10 @@ export const excelDefaultConfig: any = { label: '寄存器地址', code: 'registerAddr', }, + { + label:'强制归档', + code:'forceArchive', + } ], R0C4: [ "8位归一化值", 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 02/19] =?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 03/19] =?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 04/19] =?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 05/19] =?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 06/19] =?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); From 8d2a8f1c9d83ed194125862633bcce389e6aede7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E4=BA=91=E9=B9=8F?= Date: Fri, 6 Dec 2024 10:56:13 +0800 Subject: [PATCH 07/19] =?UTF-8?q?=E5=8D=95=E9=A3=8E=E6=9C=BA=EF=BC=9A?= =?UTF-8?q?=E5=AE=9E=E6=97=B6=E9=A2=84=E8=A7=88=E9=A1=B5=E7=A0=81=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E8=B0=83=E6=95=B4=20=E8=AE=BE=E5=A4=87=EF=BC=9A?= =?UTF-8?q?=E7=82=B9=E5=87=BB=E9=87=8F=E6=B5=8B=E5=BD=93=E6=9E=9A=E4=B8=BE?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=8A=A5=E9=94=99=E5=8F=96=E6=B6=88=E5=85=A8?= =?UTF-8?q?=E5=B1=80=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/backend/WindBlower/overview.vue | 2 +- .../equipmentManagement/measurement.vue | 25 +++++++++++-------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/ui/dasadmin/src/views/backend/WindBlower/overview.vue b/ui/dasadmin/src/views/backend/WindBlower/overview.vue index 3d457c46..b1c15fa9 100644 --- a/ui/dasadmin/src/views/backend/WindBlower/overview.vue +++ b/ui/dasadmin/src/views/backend/WindBlower/overview.vue @@ -21,7 +21,7 @@ :total="pageSetting.total" :page-sizes="pageSetting.pageSizes" background - :pager-count="7" + :pager-count="4" layout="prev, pager, next, jumper,sizes,total" @size-change="sizeChangePage" > diff --git a/ui/dasadmin/src/views/backend/equipment/equipmentManagement/measurement.vue b/ui/dasadmin/src/views/backend/equipment/equipmentManagement/measurement.vue index 0f31f27b..df8e6e37 100644 --- a/ui/dasadmin/src/views/backend/equipment/equipmentManagement/measurement.vue +++ b/ui/dasadmin/src/views/backend/equipment/equipmentManagement/measurement.vue @@ -85,25 +85,31 @@ import { reactive, ref, watch, onMounted } from 'vue' import { ElMessage, FormInstance, dayjs } from 'element-plus' import type { ModelAttributeFieldsEnums, GetModelAttributeType } from '/@/views/backend/auth/model/type' import { ModelAttributeType } from '/@/views/backend/auth/model/type' -import { getModelAttributeListReq, getRealValueListReq } from '/@/api/backend/deviceModel/request' +import { getModelAttributeListReq, getRealValueListReq, getRealValueRangeReq, queryfaultCodeDict } from '/@/api/backend/deviceModel/request' import * as echarts from 'echarts' -import { getRealValueRangeReq } from '/@/api/backend/deviceModel/request' import { useEnumStore } from '/@/stores/enums' -import { queryfaultCodeDict } from '/@/api/backend/theoreticalpowerCurve/request' -import { malFunctionKeys} from '/@/views/backend/equipment/airBlower/utils' +import { malFunctionKeys } from '/@/views/backend/equipment/airBlower/utils' const enumStore = useEnumStore() const props = withDefaults( - defineProps<{ iotModelId: string; deviceId: string; show: boolean; autoUpdate: boolean; attributeType: ModelAttributeType;model:string;madeinFactory:string }>(), + defineProps<{ + iotModelId: string + deviceId: string + show: boolean + autoUpdate: boolean + attributeType: ModelAttributeType + model: string + madeinFactory: string + }>(), { iotModelId: '', deviceId: '', show: false, autoUpdate: false, attributeType: 138, - model:'', - madeinFactory:'' + model: '', + madeinFactory: '', } ) @@ -214,7 +220,7 @@ const getMalfunctionEnums = () => { queryfaultCodeDict({ madeinfactory: props.madeinFactory, model: props.model }).then((res) => { if (res.code == 200) { const data: any = {} - res.data.forEach((item: any) => { + res.data.forEach((item: any) => { data[item.code] = item.description }) malFunctionEnums = data @@ -222,7 +228,6 @@ const getMalfunctionEnums = () => { }) } - const getCompleteData = () => { getAttributeList() .then(({ data, codeList }: any) => { @@ -236,7 +241,7 @@ const getCompleteData = () => { if (enumStore.keys.includes(item.attributeCode)) { realValItem = enumStore.data[item.attributeCode][realValItem] } - if(malFunctionKeys.includes(item.attributeCode)){ + if (malFunctionKeys.includes(item.attributeCode)) { realValItem = malFunctionEnums?.[realValItem] ?? realValItem } return { From 72d467736fdb6fd1a5e96a89123c34ce4beb4cd8 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 11:03:24 +0800 Subject: [PATCH 08/19] =?UTF-8?q?=E4=BF=AE=E6=94=B9avgv=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/das/modules/calc/functions/FunctionAvgValue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 94b2359f..508c5f4a 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 @@ -63,7 +63,7 @@ public class FunctionAvgValue extends AbstractFunction { if (deviceInfoCache == null) { return AviatorNil.NIL; } - Double value = dataService.getTimeSumValue(deviceInfoCache.getDeviceId(), attrName, startTime.getTime(), endTime.getTime()); + Double value = dataService.getTimeAvgValue(deviceInfoCache.getDeviceId(), attrName, startTime.getTime(), endTime.getTime()); if (value == null){ return AviatorNil.NIL; } From 41d3be9e1a2928a79da02358ff083cad4183f430 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 11:50:07 +0800 Subject: [PATCH 09/19] =?UTF-8?q?=E4=BF=AE=E6=94=B9avgv=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/service/impl/DataServiceImpl.java | 39 ++++++++++--------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/das/src/main/java/com/das/modules/data/service/impl/DataServiceImpl.java b/das/src/main/java/com/das/modules/data/service/impl/DataServiceImpl.java index 2b9995d6..43fc2235 100644 --- a/das/src/main/java/com/das/modules/data/service/impl/DataServiceImpl.java +++ b/das/src/main/java/com/das/modules/data/service/impl/DataServiceImpl.java @@ -274,12 +274,13 @@ public class DataServiceImpl implements DataService { return null; } String tableName = ""; - if (cacheService.getIotModelCache().isHighSpeed(deviceInfoCache.getIotModelId(), attr)){ - tableName = String.format("h_%s", deviceInfoCache.getDeviceId()); + if (cacheService.getIotModelCache().isCalculate(deviceInfoCache.getIotModelId(), attr)){ + tableName = String.format("c_%d_%s", deviceInfoCache.getDeviceId(), attr.toLowerCase()); + return tdEngineService.getTimeSumCalcValue(tableName, attr.toLowerCase(), startTime, endTime); + } else if (cacheService.getIotModelCache().isHighSpeed(deviceInfoCache.getIotModelId(), attr)){ + tableName = String.format("h%d", deviceInfoCache.getDeviceId()); } else if (cacheService.getIotModelCache().isLowSpeed(deviceInfoCache.getIotModelId(), attr)){ - tableName = String.format("l_%s", deviceInfoCache.getDeviceId()); - } else if (cacheService.getIotModelCache().isCalculate(deviceInfoCache.getIotModelId(), attr)){ - tableName = String.format("c_%s", deviceInfoCache.getDeviceId()); + tableName = String.format("l%d", deviceInfoCache.getDeviceId()); } return tdEngineService.getTimeTopValue(tableName, attr, startTime, endTime); } @@ -292,14 +293,14 @@ public class DataServiceImpl implements DataService { } String tableName = ""; if (cacheService.getIotModelCache().isCalculate(deviceInfoCache.getIotModelId(), attr)){ - tableName = String.format("c_%s_%s", deviceInfoCache.getDeviceId(), attr.toLowerCase()); - return tdEngineService.getTimeSumCalcValue(tableName, attr, startTime, endTime); - } else if (cacheService.getIotModelCache().isHighSpeed(deviceInfoCache.getIotModelId(), attr.toLowerCase())){ - tableName = String.format("h_%s", deviceInfoCache.getDeviceId()); - } else if (cacheService.getIotModelCache().isLowSpeed(deviceInfoCache.getIotModelId(), attr.toLowerCase())){ - tableName = String.format("l_%s", deviceInfoCache.getDeviceId(), attr.toLowerCase()); + tableName = String.format("c_%d_%s", deviceInfoCache.getDeviceId(), attr.toLowerCase()); + return tdEngineService.getTimeSumCalcValue(tableName, attr.toLowerCase(), startTime, endTime); + } else if (cacheService.getIotModelCache().isHighSpeed(deviceInfoCache.getIotModelId(), attr)){ + tableName = String.format("h%d", deviceInfoCache.getDeviceId()); + } else if (cacheService.getIotModelCache().isLowSpeed(deviceInfoCache.getIotModelId(), attr)){ + tableName = String.format("l%d", deviceInfoCache.getDeviceId()); } - return tdEngineService.getTimeSumValue(tableName, attr, startTime, endTime); + return tdEngineService.getTimeSumValue(tableName, attr.toLowerCase(), startTime, endTime); } @Override @@ -310,13 +311,13 @@ public class DataServiceImpl implements DataService { } String tableName = ""; if (cacheService.getIotModelCache().isCalculate(deviceInfoCache.getIotModelId(), attr)){ - tableName = String.format("c_%s_%s", deviceInfoCache.getDeviceId(), attr.toLowerCase()); - return tdEngineService.getTimeAvgCalcValue(tableName, attr, startTime, endTime); - } else if (cacheService.getIotModelCache().isHighSpeed(deviceInfoCache.getIotModelId(), attr.toLowerCase())){ - tableName = String.format("h_%s", deviceInfoCache.getDeviceId()); - } else if (cacheService.getIotModelCache().isLowSpeed(deviceInfoCache.getIotModelId(), attr.toLowerCase())){ - tableName = String.format("l_%s", deviceInfoCache.getDeviceId(), attr.toLowerCase()); + tableName = String.format("c_%d_%s", deviceInfoCache.getDeviceId(), attr.toLowerCase()); + return tdEngineService.getTimeAvgCalcValue(tableName, attr.toLowerCase(), startTime, endTime); + } else if (cacheService.getIotModelCache().isHighSpeed(deviceInfoCache.getIotModelId(), attr)){ + tableName = String.format("h%d", deviceInfoCache.getDeviceId()); + } else if (cacheService.getIotModelCache().isLowSpeed(deviceInfoCache.getIotModelId(), attr)){ + tableName = String.format("l%d", deviceInfoCache.getDeviceId()); } - return tdEngineService.getTimeAvgValue(tableName, attr, startTime, endTime); + return tdEngineService.getTimeAvgValue(tableName, attr.toLowerCase(), startTime, endTime); } } From 4dce76070f57af17b4573210cd74eb783080c706 Mon Sep 17 00:00:00 2001 From: huguanghan Date: Fri, 6 Dec 2024 14:02:38 +0800 Subject: [PATCH 10/19] =?UTF-8?q?=E6=A8=A1=E6=8B=9F=E9=87=8F=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E4=B8=8A=E6=8A=A5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../node/service/impl/NodeMessageServiceImpl.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java b/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java index 1ad634f1..01dcd83c 100644 --- a/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java +++ b/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java @@ -240,6 +240,7 @@ public class NodeMessageServiceImpl extends TextWebSocketHandler implements Node JsonNode jsonNode = data.getData(); String deviceId = jsonNode.get("deviceId").asText(); JsonNode values = jsonNode.get("values"); + JsonNode archiveValues = jsonNode.get("archiveValues"); Long dataTime = jsonNode.get("dataTime").asLong(); Map keyValueMap = new HashMap<>(); String modelCode = dataService.deviceModelMap.get(deviceId); @@ -254,18 +255,19 @@ public class NodeMessageServiceImpl extends TextWebSocketHandler implements Node String fieldName = keysHigh.next(); String key = String.format("RT:%s:%s", deviceId, fieldName.toLowerCase()); keyValueMap.put(key, values.get(fieldName)); - if(fieldName.toLowerCase().equals("iwindspeed")){ - log.info("风速更新redis数据key:{},value:{}",key,values.get(fieldName)); - } + } + adminRedisTemplate.mSet(keyValueMap); + Iterator archiveKeys = archiveValues.fieldNames(); + while (archiveKeys.hasNext()) { + String fieldName = keysHigh.next(); + String key = String.format("RT:%s:%s", deviceId, fieldName.toLowerCase()); + keyValueMap.put(key, values.get(fieldName)); if (highKey.contains(fieldName)){ highSpeedValueMap.put(fieldName,values.get(fieldName)); } if (lowKey.contains(fieldName)){ lowSpeedValueMap.put(fieldName,values.get(fieldName)); } - } - adminRedisTemplate.mSet(keyValueMap); - if (jsonNode.get("isStore") != null && jsonNode.get("isStore").asBoolean()) { //更新td if (!highSpeedValueMap.isEmpty()){ List highSpeedData = new ArrayList<>(); From d8de6271991f6ded89c54b358cf1a96e442e98cc Mon Sep 17 00:00:00 2001 From: huguanghan Date: Fri, 6 Dec 2024 16:11:38 +0800 Subject: [PATCH 11/19] =?UTF-8?q?=E6=A8=A1=E6=8B=9F=E9=87=8F=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E4=B8=8A=E6=8A=A5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/node/service/impl/NodeMessageServiceImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java b/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java index 01dcd83c..290e977e 100644 --- a/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java +++ b/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java @@ -256,7 +256,9 @@ public class NodeMessageServiceImpl extends TextWebSocketHandler implements Node String key = String.format("RT:%s:%s", deviceId, fieldName.toLowerCase()); keyValueMap.put(key, values.get(fieldName)); } - adminRedisTemplate.mSet(keyValueMap); + if (jsonNode.get("isStore") != null && jsonNode.get("isStore").asBoolean()) { + archiveValues = values; + } Iterator archiveKeys = archiveValues.fieldNames(); while (archiveKeys.hasNext()) { String fieldName = keysHigh.next(); @@ -283,6 +285,7 @@ public class NodeMessageServiceImpl extends TextWebSocketHandler implements Node tdEngineService.updateYCLowValues(lowSpeedData,modelCode); } } + adminRedisTemplate.mSet(keyValueMap); } @Override From 6bfe1d92825116fe85db305ef58883b7c782aeae Mon Sep 17 00:00:00 2001 From: huguanghan Date: Fri, 6 Dec 2024 16:42:29 +0800 Subject: [PATCH 12/19] =?UTF-8?q?=E6=A8=A1=E6=8B=9F=E9=87=8F=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E4=B8=8A=E6=8A=A5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../das/modules/node/service/impl/NodeMessageServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java b/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java index 290e977e..a7cb163f 100644 --- a/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java +++ b/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java @@ -261,7 +261,7 @@ public class NodeMessageServiceImpl extends TextWebSocketHandler implements Node } Iterator archiveKeys = archiveValues.fieldNames(); while (archiveKeys.hasNext()) { - String fieldName = keysHigh.next(); + String fieldName = archiveKeys.next(); String key = String.format("RT:%s:%s", deviceId, fieldName.toLowerCase()); keyValueMap.put(key, values.get(fieldName)); if (highKey.contains(fieldName)){ From edc2e6f69b3c28cccbc88495f18870fc5ddef707 Mon Sep 17 00:00:00 2001 From: huguanghan Date: Fri, 6 Dec 2024 16:47:17 +0800 Subject: [PATCH 13/19] =?UTF-8?q?=E6=A8=A1=E6=8B=9F=E9=87=8F=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E4=B8=8A=E6=8A=A5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../node/service/impl/NodeMessageServiceImpl.java | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java b/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java index a7cb163f..1c458a88 100644 --- a/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java +++ b/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java @@ -240,7 +240,6 @@ public class NodeMessageServiceImpl extends TextWebSocketHandler implements Node JsonNode jsonNode = data.getData(); String deviceId = jsonNode.get("deviceId").asText(); JsonNode values = jsonNode.get("values"); - JsonNode archiveValues = jsonNode.get("archiveValues"); Long dataTime = jsonNode.get("dataTime").asLong(); Map keyValueMap = new HashMap<>(); String modelCode = dataService.deviceModelMap.get(deviceId); @@ -255,21 +254,15 @@ public class NodeMessageServiceImpl extends TextWebSocketHandler implements Node String fieldName = keysHigh.next(); String key = String.format("RT:%s:%s", deviceId, fieldName.toLowerCase()); keyValueMap.put(key, values.get(fieldName)); - } - if (jsonNode.get("isStore") != null && jsonNode.get("isStore").asBoolean()) { - archiveValues = values; - } - Iterator archiveKeys = archiveValues.fieldNames(); - while (archiveKeys.hasNext()) { - String fieldName = archiveKeys.next(); - String key = String.format("RT:%s:%s", deviceId, fieldName.toLowerCase()); - keyValueMap.put(key, values.get(fieldName)); if (highKey.contains(fieldName)){ highSpeedValueMap.put(fieldName,values.get(fieldName)); } if (lowKey.contains(fieldName)){ lowSpeedValueMap.put(fieldName,values.get(fieldName)); } + } + adminRedisTemplate.mSet(keyValueMap); + if (jsonNode.get("isStore") != null && jsonNode.get("isStore").asBoolean()) { //更新td if (!highSpeedValueMap.isEmpty()){ List highSpeedData = new ArrayList<>(); @@ -285,7 +278,6 @@ public class NodeMessageServiceImpl extends TextWebSocketHandler implements Node tdEngineService.updateYCLowValues(lowSpeedData,modelCode); } } - adminRedisTemplate.mSet(keyValueMap); } @Override From 0eb1ebe35a01f002b985c5fbdc8f5ddf0a2e8d3b Mon Sep 17 00:00:00 2001 From: geting <13585118195@163.com> Date: Fri, 6 Dec 2024 17:07:42 +0800 Subject: [PATCH 14/19] =?UTF-8?q?=E5=8A=9F=E7=8E=87=E6=9B=B2=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../statAnalysis/powerCurveAnalysis.vue | 43 +++++++++---------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/ui/dasadmin/src/views/backend/statAnalysis/powerCurveAnalysis.vue b/ui/dasadmin/src/views/backend/statAnalysis/powerCurveAnalysis.vue index 79da17a2..5bb94d49 100644 --- a/ui/dasadmin/src/views/backend/statAnalysis/powerCurveAnalysis.vue +++ b/ui/dasadmin/src/views/backend/statAnalysis/powerCurveAnalysis.vue @@ -22,17 +22,22 @@
- {{ t('statAnalysis.interval') }} - - + 风速来源 + +
@@ -73,17 +78,12 @@ const { t } = useI18n() const statAnalysisFatory = ref('') const statAnalysisFatoryList: any = ref([]) -const statAnalysisInterval = ref('1h') +const statAnalysisSpeedSource = ref('AvgWindSpeed_10min') const statAnalysisDeviceId = ref('') const statAnalysisSelectOptions: any = reactive({ - interval: [ - { label: '一分钟', value: '1m' }, - { label: '五分钟', value: '5m' }, - { label: '十分钟', value: '10m' }, - { label: '十五分钟', value: '15m' }, - { label: '一小时', value: '1h' }, - { label: '一天', value: '1d' }, - { label: '原始', value: 'NONE' }, + speedSource: [ + { label: '原始风速', value: 'AvgWindSpeed_10min' }, + { label: '处理后风速', value: 'AvgWindSpeedCal_10min' }, ], deviceId: [], }) @@ -278,10 +278,9 @@ const statAnalysisOperate = () => { devices: [ { deviceId: deviceId, - attributes: ['iGenPower', 'iWindSpeed'], + attributes: [statAnalysisSpeedSource.value, 'AvgActivePower_10min'], }, ], - interval: statAnalysisInterval.value || '5m', startTime: new Date(statAnalysisTime.value[0]).getTime(), endTime: new Date(statAnalysisTime.value[1]).getTime(), } @@ -323,8 +322,8 @@ const statAnalysisOperate = () => { const resData0 = results[1][statAnalysisDeviceId.value.split(':')[2]] const resData1 = results[0] if (resData0) { - const iGenPower = resData0['iGenPower']['values'] - const iWindSpeed = resData0['iWindSpeed']['values'] + const iGenPower = resData0['AvgActivePower_10min']['values'] + const iWindSpeed = resData0[statAnalysisSpeedSource.value]['values'] if (!iWindSpeed.length) { ElMessage.info(`实时值数据为空`) } else { @@ -336,7 +335,7 @@ const statAnalysisOperate = () => { }) const series = { - type: 'line', + type: 'scatter', data: seriesData, name: '实际值', smooth: true, @@ -356,6 +355,8 @@ const statAnalysisOperate = () => { name: '理论值', smooth: true, animation: false, + symbolSize: 0.1, + symbol: 'circle', } option.series.push(series) option.legend.data.push('理论值') @@ -374,16 +375,14 @@ const statAnalysisExport = () => { devices: [ { deviceId: statAnalysisDeviceId.value.split(':')[2], - attributes: ['iGenPower', 'iWindSpeed'], + attributes: [statAnalysisSpeedSource.value, 'AvgActivePower_10min'], }, ], - interval: statAnalysisInterval.value || '5m', startTime: new Date(statAnalysisTime.value[0]).getTime(), endTime: new Date(statAnalysisTime.value[1]).getTime(), madeinfactory: params.split(':')[0], model: params.split(':')[1], } - console.log(requestData) powerCurveExport(requestData).then((res: any) => { const downloadUrl = window.URL.createObjectURL(res) const a = document.createElement('a') From 17c50ddba229ec98c0cf6d977f1389eef01a685d Mon Sep 17 00:00:00 2001 From: geting <13585118195@163.com> Date: Fri, 6 Dec 2024 17:17:50 +0800 Subject: [PATCH 15/19] =?UTF-8?q?=E5=8A=9F=E7=8E=87=E6=9B=B2=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui/dasadmin/src/views/backend/statAnalysis/trendAnalysis.vue | 3 --- 1 file changed, 3 deletions(-) diff --git a/ui/dasadmin/src/views/backend/statAnalysis/trendAnalysis.vue b/ui/dasadmin/src/views/backend/statAnalysis/trendAnalysis.vue index 10b31131..cdb626da 100644 --- a/ui/dasadmin/src/views/backend/statAnalysis/trendAnalysis.vue +++ b/ui/dasadmin/src/views/backend/statAnalysis/trendAnalysis.vue @@ -399,9 +399,6 @@ const getTimeIntervals = (startTimestamp: number, endTimestamp: number) => { case '15m': count = Math.floor((endDate - startDate) / (15 * 60 * 1000)) break - case '15m': - count = Math.floor((endDate - startDate) / (15 * 60 * 1000)) - break case '1h': count = Math.floor((endDate - startDate) / (1 * 60 * 60 * 1000)) break From bd87a86addb08d389d9f14153311d215c626b126 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E4=BA=91=E9=B9=8F?= Date: Fri, 6 Dec 2024 17:19:36 +0800 Subject: [PATCH 16/19] =?UTF-8?q?=E8=AE=BE=E5=A4=87=EF=BC=9A=E9=87=8F?= =?UTF-8?q?=E6=B5=8B=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui/dasadmin/src/api/backend/deviceModel/request.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ui/dasadmin/src/api/backend/deviceModel/request.ts b/ui/dasadmin/src/api/backend/deviceModel/request.ts index 2f8b7bb8..207c1993 100644 --- a/ui/dasadmin/src/api/backend/deviceModel/request.ts +++ b/ui/dasadmin/src/api/backend/deviceModel/request.ts @@ -168,3 +168,14 @@ export const getRealValueRangeReq = (data: { startTime: number, endTime: number, timeout: 60 * 1000 }) } + +export function queryfaultCodeDict(params: object = {}) { + return createAxios({ + url: '/api/fdr/faultCodeDict/query', + method: 'POST', + data: params, + }, + { + showErrorMessage: false + }) +} \ No newline at end of file From dcc1dbac782177427da92765a1498d0e3dc58b2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E4=BA=91=E9=B9=8F?= Date: Fri, 6 Dec 2024 17:32:11 +0800 Subject: [PATCH 17/19] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E8=83=BD?= =?UTF-8?q?=E9=87=8F=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui/dasadmin/src/assets/energyManage/AGC.png | Bin 0 -> 2239 bytes ui/dasadmin/src/assets/energyManage/AVC.png | Bin 0 -> 2239 bytes .../src/assets/energyManage/defaultSave.png | Bin 0 -> 480 bytes .../src/assets/energyManage/noPower.png | Bin 0 -> 2072 bytes ui/dasadmin/src/assets/energyManage/power.png | Bin 0 -> 2072 bytes .../src/views/backend/energyManage/index.vue | 1072 +++++++++++++++++ 6 files changed, 1072 insertions(+) create mode 100644 ui/dasadmin/src/assets/energyManage/AGC.png create mode 100644 ui/dasadmin/src/assets/energyManage/AVC.png create mode 100644 ui/dasadmin/src/assets/energyManage/defaultSave.png create mode 100644 ui/dasadmin/src/assets/energyManage/noPower.png create mode 100644 ui/dasadmin/src/assets/energyManage/power.png create mode 100644 ui/dasadmin/src/views/backend/energyManage/index.vue diff --git a/ui/dasadmin/src/assets/energyManage/AGC.png b/ui/dasadmin/src/assets/energyManage/AGC.png new file mode 100644 index 0000000000000000000000000000000000000000..15ee6852dba4862aa0a3acd0ef2ce1d269efdb5c GIT binary patch literal 2239 zcmV;w2tfCVP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91B%lKT1ONa40RR91Bme*a04fgS`~Uz5DM>^@R9FeESZiz?R~0^YcGhuh zuN}up+PI2oi4t&WsVaf0IP^yljzCluX+(s06~qq|q$om>(qH_c5TZtO z$S#S^J~8%D%n3Qq;-UglZ5Et?gp|#g$XYub1m@_C2M10#;jQoQ38;JY_3co62-*i4 zRT&tEL3Af-ngKa*3Q|U_4GvB}yzNY*p8DsT13G>@w|2|M!x+3jjX?d(|A%)0JTi4@ z;(+YgQ(Z~Lih$OPo?at1JP!W{)4X7|j|M55!O!AHnh0F}yjBh)pL*m3*4QC2@t&E7 zcg(nnwY#61N(jbQ%?LXBQ(?k10`Oo+UGvtx+AN}m`4?<19%uv=WQ-zB63KC6Z9fas z#!#40@^KuijFcDqJSC3@l_{;~*;h9)YA zAjw-DpU`BklhyQiy-v3sq|G`!KKUYrv#)FqOz=j1XCt3Y0D2n)e#QGmS1TZw!loL8 zSc50=C+4>8)YX?p$XGe#BEwWUj~b~k3XB|6$%}|Q1+RSx4Pfc}_kB2{3lDBg5^W!0 z+V;*X^uow1yCD1nRO*T$Wn(8f=U8OdRc7oN^Tgc1&J()hN;Tf65Hy6~5(F{4 zx5!hQHp}ky8+Dimy;!Zv@2-wZ4nu#o)q&xh2UfSs=zLL@7RcnYCh_qq!bhs1Xu`zh>YE& z)y@%`Ppl$`7~^8FMjq@aNJlOw7Z&E^#{lDxj{Dm>WaqlOWFd;=+429#cQ^OTH}APu zelL>E(aPw=bU8F#+s-rsrY_2?|lLW~VC?$bSY$!j+zf+lN;v(`$caQ8?yH19uuVeo~%4o;ifL^d_nv@O2K|rxqiV84+ef1Hdyo};4g3eWz zwXcxRYdxKvxuF}~o1l-sbw);uGx9iA+4BI&wp@*626J@xrEUU3^HlNSIT0(zluck* zfdkpx6vzAfA^>r9@f56L_Ch66LtUs5YNPBFR?-)G`!u!Qp$fJJrh2kmR^XKTKXugY z_c+p|O)x_E4=h`~Btw&!{$pWYdRMKM^+?_2rIIYik-UYde5AcomH>7d0JpSvNGo>e z)7YDQ1l9oXEC7v{7Tu8nuwmn~;g}qNcqSn`b8gO)oFWm2ydIsIg`U#x+L~>9H^n za|%WH)ucy3r954LmN7=CrB#lPzTzPB>Wvo8+7~n{^baco9qBmYD z$vhSWn{F@ASHI2ZU?N3Btqp}`TRGVh2h<-@OsuZkDaI}?WeCq>g>6P!?m_A*Fg}f9 zk5;;ovwWD zi=Wgp%-HxSj^G`QHPnc0617moCRadlvu--VP}-r15mzSxqQor%Kxc7PA#_#fASs{9 zJRH_7b=ae{=SG6b|Nht+xQ=%(ic~%OvyEbOGsKJtUI39GE&|tha56If?@D&^EuO55 zRCa%5J4a}Q$e`vlln+uz?Q=&J)_pdgMG~KR8_VDfaxz5pq*F$2E)^ilqI3eyAF@{SQ00AT4krYs3Hm N002ovPDHLkV1j(z6IuWO literal 0 HcmV?d00001 diff --git a/ui/dasadmin/src/assets/energyManage/AVC.png b/ui/dasadmin/src/assets/energyManage/AVC.png new file mode 100644 index 0000000000000000000000000000000000000000..15ee6852dba4862aa0a3acd0ef2ce1d269efdb5c GIT binary patch literal 2239 zcmV;w2tfCVP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91B%lKT1ONa40RR91Bme*a04fgS`~Uz5DM>^@R9FeESZiz?R~0^YcGhuh zuN}up+PI2oi4t&WsVaf0IP^yljzCluX+(s06~qq|q$om>(qH_c5TZtO z$S#S^J~8%D%n3Qq;-UglZ5Et?gp|#g$XYub1m@_C2M10#;jQoQ38;JY_3co62-*i4 zRT&tEL3Af-ngKa*3Q|U_4GvB}yzNY*p8DsT13G>@w|2|M!x+3jjX?d(|A%)0JTi4@ z;(+YgQ(Z~Lih$OPo?at1JP!W{)4X7|j|M55!O!AHnh0F}yjBh)pL*m3*4QC2@t&E7 zcg(nnwY#61N(jbQ%?LXBQ(?k10`Oo+UGvtx+AN}m`4?<19%uv=WQ-zB63KC6Z9fas z#!#40@^KuijFcDqJSC3@l_{;~*;h9)YA zAjw-DpU`BklhyQiy-v3sq|G`!KKUYrv#)FqOz=j1XCt3Y0D2n)e#QGmS1TZw!loL8 zSc50=C+4>8)YX?p$XGe#BEwWUj~b~k3XB|6$%}|Q1+RSx4Pfc}_kB2{3lDBg5^W!0 z+V;*X^uow1yCD1nRO*T$Wn(8f=U8OdRc7oN^Tgc1&J()hN;Tf65Hy6~5(F{4 zx5!hQHp}ky8+Dimy;!Zv@2-wZ4nu#o)q&xh2UfSs=zLL@7RcnYCh_qq!bhs1Xu`zh>YE& z)y@%`Ppl$`7~^8FMjq@aNJlOw7Z&E^#{lDxj{Dm>WaqlOWFd;=+429#cQ^OTH}APu zelL>E(aPw=bU8F#+s-rsrY_2?|lLW~VC?$bSY$!j+zf+lN;v(`$caQ8?yH19uuVeo~%4o;ifL^d_nv@O2K|rxqiV84+ef1Hdyo};4g3eWz zwXcxRYdxKvxuF}~o1l-sbw);uGx9iA+4BI&wp@*626J@xrEUU3^HlNSIT0(zluck* zfdkpx6vzAfA^>r9@f56L_Ch66LtUs5YNPBFR?-)G`!u!Qp$fJJrh2kmR^XKTKXugY z_c+p|O)x_E4=h`~Btw&!{$pWYdRMKM^+?_2rIIYik-UYde5AcomH>7d0JpSvNGo>e z)7YDQ1l9oXEC7v{7Tu8nuwmn~;g}qNcqSn`b8gO)oFWm2ydIsIg`U#x+L~>9H^n za|%WH)ucy3r954LmN7=CrB#lPzTzPB>Wvo8+7~n{^baco9qBmYD z$vhSWn{F@ASHI2ZU?N3Btqp}`TRGVh2h<-@OsuZkDaI}?WeCq>g>6P!?m_A*Fg}f9 zk5;;ovwWD zi=Wgp%-HxSj^G`QHPnc0617moCRadlvu--VP}-r15mzSxqQor%Kxc7PA#_#fASs{9 zJRH_7b=ae{=SG6b|Nht+xQ=%(ic~%OvyEbOGsKJtUI39GE&|tha56If?@D&^EuO55 zRCa%5J4a}Q$e`vlln+uz?Q=&J)_pdgMG~KR8_VDfaxz5pq*F$2E)^ilqI3eyAF@{SQ00AT4krYs3Hm N002ovPDHLkV1j(z6IuWO literal 0 HcmV?d00001 diff --git a/ui/dasadmin/src/assets/energyManage/defaultSave.png b/ui/dasadmin/src/assets/energyManage/defaultSave.png new file mode 100644 index 0000000000000000000000000000000000000000..8e4f5630b033d26a6ee0487dc7a47e2fd448b0cc GIT binary patch literal 480 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(-uuz(rC1}QWNE&K#j=H=<)7-AuK zG-#t2v!lS=&UDSNrg#Bv|Kx`Ds6xK*r^aP#@}-kG@VX~%u*6$dCQu+ zMQG3Nk7svoj!gEMom=+)?4IrK)8sEM68D!D5X?J%Sk2hHbxF%EgO3swuU7=-F;1WG z+55pR;|TwZpItLnB~G^IE>-?zWodJx)^JS%``${unLmUNMc-Py_t7OT)@5)RHRft)5fSGIc+aLcPCF{Pn=Q|~xRV@}d|Eh}`lhbsr zL&t8OdL6WWM{#)fq%Uj%dAB(#`Hd3q|Feu~$a}u$2tRwI!-6a^jrR_Wyqr2EzJJfZ zYf4F3Tg`s$&72IiFOi=!AJ2C`knVP~qWkuK#*2B)y&1Dlii1Me)78&qol`;+0N=;C AEC2ui literal 0 HcmV?d00001 diff --git a/ui/dasadmin/src/assets/energyManage/noPower.png b/ui/dasadmin/src/assets/energyManage/noPower.png new file mode 100644 index 0000000000000000000000000000000000000000..29078a064e848ba0cd0c506427b1b9932db4c008 GIT binary patch literal 2072 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 +
+ + +
+
+
风机列表
+ + + + + +
+
+
+ 自动更新 + +
+
+
+
+
+
+
{{ item.label }}
+
{{ item.value }}
+
+
+
+
+
+ +
+
+
AGC总览
+
+
+
+
+
全场有功
+
+
+
33
+
MW
+
+
+
+
+
+
AGC目标值
+
+
+
6
+
MW
+
+
+
+
+
AGC投入/退出
+
+
+
+
+
+
+ +
+
+
+
+
AGC远程/就地
+
+ +
+
+
+ + + +
+
+
+
AGC增闭锁
+
+
+
+
+
+
AGC减闭锁
+
+
+
+
+
+
AGC可增有功
+
+
5
+
MW
+
+
+
+
AGC可减有功
+
+
5
+
MW
+
+
+
+
+
+
AGC记录
+
+ +
{{ item }}
+
+
+
+
+
+ +
+
+
AVC总览
+
+
+
+
+
全场无功
+
+
+
33
+
MW
+
+
+
+
+
+
AVC目标值
+
+
+
6
+
MW
+
+
+
+
+
AVC投入/退出
+
+
+
+
+
+
+ +
+
+
+
+
AVC远程/就地
+
+ +
+
+
+ + + +
+
+
+
AVC增闭锁
+
+
+
+
+
+
AVC减闭锁
+
+
+
+
+
+
AVC可增有功
+
+
5
+
MW
+
+
+
+
AVC可减有功
+
+
5
+
MW
+
+
+
+
+
+
AVC记录
+
+ +
{{ item }}
+
+
+
+
+
+
+
+ + + + + From e95e9745471909c84623e4f563c823832eb8f7fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E4=BA=91=E9=B9=8F?= Date: Fri, 6 Dec 2024 17:36:30 +0800 Subject: [PATCH 18/19] =?UTF-8?q?=E8=83=BD=E9=87=8F=E7=AE=A1=E7=90=86?= =?UTF-8?q?=EF=BC=9A=E5=88=9D=E5=A7=8B=E5=8C=96=E5=8A=A0=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui/dasadmin/src/views/backend/energyManage/index.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/ui/dasadmin/src/views/backend/energyManage/index.vue b/ui/dasadmin/src/views/backend/energyManage/index.vue index b5d36d1e..8bd860b1 100644 --- a/ui/dasadmin/src/views/backend/energyManage/index.vue +++ b/ui/dasadmin/src/views/backend/energyManage/index.vue @@ -389,6 +389,7 @@ const getAirBlowerList = () => { } let timer: any = null const autoUpdateAirBlower = () => { + getAirBlowerList() if (!timer) { timer = setInterval(() => { getAirBlowerList() From db87de1f5804c0f8c443047eaffecb5a531a357f Mon Sep 17 00:00:00 2001 From: geting <13585118195@163.com> Date: Mon, 9 Dec 2024 09:41:20 +0800 Subject: [PATCH 19/19] =?UTF-8?q?=E5=8A=9F=E7=8E=87=E6=9B=B2=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/backend/statAnalysis/powerCurveAnalysis.vue | 4 ++-- ui/dasadmin/src/views/backend/statAnalysis/trendAnalysis.vue | 4 ++-- .../src/views/backend/statAnalysis/trendComparison.vue | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/ui/dasadmin/src/views/backend/statAnalysis/powerCurveAnalysis.vue b/ui/dasadmin/src/views/backend/statAnalysis/powerCurveAnalysis.vue index 5bb94d49..8994d7be 100644 --- a/ui/dasadmin/src/views/backend/statAnalysis/powerCurveAnalysis.vue +++ b/ui/dasadmin/src/views/backend/statAnalysis/powerCurveAnalysis.vue @@ -339,7 +339,8 @@ const statAnalysisOperate = () => { data: seriesData, name: '实际值', smooth: true, - animation: false, + symbolSize: 5, + symbol: 'circle', } option.series.push(series) option.legend.data.push('实际值') @@ -354,7 +355,6 @@ const statAnalysisOperate = () => { data: seriesData, name: '理论值', smooth: true, - animation: false, symbolSize: 0.1, symbol: 'circle', } diff --git a/ui/dasadmin/src/views/backend/statAnalysis/trendAnalysis.vue b/ui/dasadmin/src/views/backend/statAnalysis/trendAnalysis.vue index cdb626da..f6da1260 100644 --- a/ui/dasadmin/src/views/backend/statAnalysis/trendAnalysis.vue +++ b/ui/dasadmin/src/views/backend/statAnalysis/trendAnalysis.vue @@ -512,8 +512,8 @@ const historyDataReq = (promises: any) => { data: yData.map((value: any) => ({ value: getCutDecimalsValue(value, 2), })), - showSymbol: true, - animation: false, + symbolSize: 5, + symbol: 'circle', } option.legend.data.push(customName[index]) option.series.push(seriesData) diff --git a/ui/dasadmin/src/views/backend/statAnalysis/trendComparison.vue b/ui/dasadmin/src/views/backend/statAnalysis/trendComparison.vue index d67fe79d..2705f4ef 100644 --- a/ui/dasadmin/src/views/backend/statAnalysis/trendComparison.vue +++ b/ui/dasadmin/src/views/backend/statAnalysis/trendComparison.vue @@ -459,7 +459,8 @@ const historyDataReq = (data: any) => { value: getCutDecimalsValue(value, 2), unit: unit, // 将单位添加到每个数据点 })), - animation: false, + symbolSize: 5, + symbol: 'circle', } option.tooltip = { show: true,