From 013fa08f64639a4a722dbb709a746a4561a02964 Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期日, 08 六月 2025 14:45:33 +0800 Subject: [PATCH] feat(service): 添加压缩空气和水表数据模拟器 --- src/main/java/com/zhitan/service/impl/DataServiceImpl.java | 29 +++++++++++++++++++++++++++++ 1 files changed, 29 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zhitan/service/impl/DataServiceImpl.java b/src/main/java/com/zhitan/service/impl/DataServiceImpl.java index 18d8376..e977412 100644 --- a/src/main/java/com/zhitan/service/impl/DataServiceImpl.java +++ b/src/main/java/com/zhitan/service/impl/DataServiceImpl.java @@ -129,6 +129,35 @@ @Override public void writeTimeSeriesData(@NotNull PowerEntity powerEntity) { List<IndexTemplate> templates = getIndexTemplate(); + // 鍒ゆ柇鎬绘湁鍔熸槸鍚︿负绌猴紝濡傛灉涓虹┖鍒ゆ柇姝e悜鏈夊姛鍜屽弽鍚戞湁鍔熸槸鍚︿负绌猴紝濡傛灉鍚庝袱涓换鎰忎竴涓笉涓虹┖锛屽垯浠庢椂搴忔暟鎹簱涓幏鍙栦负绌虹殑閭d竴涓紝鐒跺悗灏嗘�绘湁鍔熻兘鐢佃兘璧嬪�间负姝e悜鏈夊姛鑳界數鑳藉噺鍘诲弽鍚戞湁鍔熻兘鐢佃兘 + if (powerEntity.getEps() == null) { + if (powerEntity.getEpsp() != null && powerEntity.getEpsn() != null) { + powerEntity.setEps(powerEntity.getEpsp() - powerEntity.getEpsn()); + } else if (powerEntity.getEpsp() != null) { + double lastValue = repository.getLastPoint(influxdbConfig.getMeasurement(), + TAG, powerEntity.getSn() + "_" + "Exp"); + powerEntity.setEps(powerEntity.getEpsp() - lastValue); + + } else if (powerEntity.getEpsn() != null) { + double lastValue = repository.getLastPoint(influxdbConfig.getMeasurement(), + TAG, powerEntity.getSn() + "_" + "ActiveZT"); + powerEntity.setEps(lastValue - powerEntity.getEpsn()); + } + } + // 鍒ゆ柇鎬绘棤鍔熸槸鍚︿负绌猴紝濡傛灉涓虹┖鍒ゆ柇姝e悜鏃犲姛鍜屽弽鍚戞棤鍔熸槸鍚︿负绌猴紝濡傛灉鍚庝袱涓换鎰忎竴涓笉涓虹┖锛屽垯浠庢椂搴忔暟鎹簱涓幏鍙栦负绌虹殑閭d竴涓紝鐒跺悗灏嗘�绘棤鍔熺數鑳借祴鍊间负姝e悜鏃犲姛鐢佃兘鍜屽弽鍚戞棤鍔熺數鑳界殑缁濆鍊间箣鍜� + if (powerEntity.getEqs() == null) { + if (powerEntity.getEqsp() != null && powerEntity.getEqsn() != null) { + powerEntity.setEqs(Math.abs(powerEntity.getEqsp()) + Math.abs(powerEntity.getEqsn())); + } else if (powerEntity.getEqsp() != null) { + double lastValue = repository.getLastPoint(influxdbConfig.getMeasurement(), + TAG, powerEntity.getSn() + "_" + "ExpZN"); + powerEntity.setEqs(Math.abs(lastValue) + Math.abs(powerEntity.getEqsp())); + } else if (powerEntity.getEqsn() != null) { + double lastValue = repository.getLastPoint(influxdbConfig.getMeasurement(), + TAG, powerEntity.getSn() + "_" + "ActiveZN"); + powerEntity.setEqs(Math.abs(lastValue) + Math.abs(powerEntity.getEqsn())); + } + } // 鑾峰彇绫讳腑鎵�鏈夊0鏄庣殑瀛楁 Field[] fields = powerEntity.getClass().getDeclaredFields(); List<Point> points = new ArrayList<>(); -- Gitblit v1.9.3