From b3b4ebbd615d96a2c3833a740692fc3777b50079 Mon Sep 17 00:00:00 2001 From: huangfeng Date: Thu, 27 Feb 2025 15:49:17 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20=E9=A1=BA=E5=B8=A6=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/xydl/cac/task/I2syncTask.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/xydl/cac/task/I2syncTask.java b/src/main/java/com/xydl/cac/task/I2syncTask.java index cf359b9..7e20204 100644 --- a/src/main/java/com/xydl/cac/task/I2syncTask.java +++ b/src/main/java/com/xydl/cac/task/I2syncTask.java @@ -116,6 +116,7 @@ public class I2syncTask { record.setModevtypeId(sensor.getTypeId()); } else { record = recordList.get(0); + record.setModevtypeId(sensor.getTypeId()); } // 查询最新数据 From b7285a7de5663c9ee6d1221d2bcd82b89ea1597d Mon Sep 17 00:00:00 2001 From: huangfeng Date: Fri, 28 Feb 2025 16:15:20 +0800 Subject: [PATCH 2/4] =?UTF-8?q?fix:=20=E6=94=B9=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/{upgrade1015.sql => upgrade20241015.sql} | 0 db/{upgrade1128.sql => upgrade20241128.sql} | 0 db/{upgrade1210.sql => upgrade20241210.sql} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename db/{upgrade1015.sql => upgrade20241015.sql} (100%) rename db/{upgrade1128.sql => upgrade20241128.sql} (100%) rename db/{upgrade1210.sql => upgrade20241210.sql} (100%) diff --git a/db/upgrade1015.sql b/db/upgrade20241015.sql similarity index 100% rename from db/upgrade1015.sql rename to db/upgrade20241015.sql diff --git a/db/upgrade1128.sql b/db/upgrade20241128.sql similarity index 100% rename from db/upgrade1128.sql rename to db/upgrade20241128.sql diff --git a/db/upgrade1210.sql b/db/upgrade20241210.sql similarity index 100% rename from db/upgrade1210.sql rename to db/upgrade20241210.sql From b2cbcfa90579d9b6fc9b62105a9d5d828b2b176c Mon Sep 17 00:00:00 2001 From: huangfeng Date: Fri, 28 Feb 2025 17:13:57 +0800 Subject: [PATCH 3/4] =?UTF-8?q?fix:=20=E9=98=B2=E6=AD=A2=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E8=B6=85=E9=95=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/xydl/cac/iec/IEDCollectService.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/com/xydl/cac/iec/IEDCollectService.java b/src/main/java/com/xydl/cac/iec/IEDCollectService.java index 3d1009c..fb9e108 100644 --- a/src/main/java/com/xydl/cac/iec/IEDCollectService.java +++ b/src/main/java/com/xydl/cac/iec/IEDCollectService.java @@ -99,6 +99,9 @@ public class IEDCollectService { } private void saveWarning(String err) { + if (err.length() > 254) { + err = err.substring(0, 254); + } Warning warning = Warning.builder() .zsbName("61850采集数据") .dTime(new Date()) From 0a337daa20259b95c5a396b2596671690e497cf2 Mon Sep 17 00:00:00 2001 From: huangfeng Date: Mon, 3 Mar 2025 10:53:39 +0800 Subject: [PATCH 4/4] =?UTF-8?q?perf:=20=E5=A2=9E=E5=8A=A061850=E9=87=87?= =?UTF-8?q?=E9=9B=86=E7=9A=84=E6=95=B0=E6=8D=AE=E8=BD=AC=E6=8D=A2=E5=88=B0?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=E5=9E=8B=E5=92=8C=E6=97=A5=E6=9C=9F=E5=9E=8B?= =?UTF-8?q?=E7=9A=84=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cac/controller/WarnRuleController.java | 18 +++++------ .../java/com/xydl/cac/entity/WarnRule.java | 8 ++--- .../xydl/cac/entity/constants/Constants.java | 9 ++++-- .../com/xydl/cac/service/DataService.java | 2 +- .../cac/service/impl/DataServiceImpl.java | 31 ++++++++++++++++++- 5 files changed, 50 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/xydl/cac/controller/WarnRuleController.java b/src/main/java/com/xydl/cac/controller/WarnRuleController.java index 63ee4e8..b012ab5 100644 --- a/src/main/java/com/xydl/cac/controller/WarnRuleController.java +++ b/src/main/java/com/xydl/cac/controller/WarnRuleController.java @@ -38,15 +38,15 @@ public class WarnRuleController extends BasicController { public Response> listComparator() throws Exception { List result = new ArrayList<>(); ColumnModel item = new ColumnModel(); - item.setType(Constants.FloatCompare); + item.setType(Constants.Float); item.setComment("浮点型数据比较器"); result.add(item); item = new ColumnModel(); - item.setType(Constants.IntCompare); + item.setType(Constants.Int); item.setComment("整型数据比较器"); result.add(item); item = new ColumnModel(); - item.setType(Constants.MissCompare); + item.setType(Constants.Miss); item.setComment("数据缺失比较器"); result.add(item); return Response.success(result); @@ -60,11 +60,11 @@ public class WarnRuleController extends BasicController { } private Comparator getComparator(String name) throws BusinessException { - if (Constants.FloatCompare.equalsIgnoreCase(name)) { + if (Constants.Float.equalsIgnoreCase(name)) { return floatCompare; - } else if (Constants.IntCompare.equalsIgnoreCase(name)) { + } else if (Constants.Int.equalsIgnoreCase(name)) { return intCompare; - } else if (Constants.MissCompare.equalsIgnoreCase(name)) { + } else if (Constants.Miss.equalsIgnoreCase(name)) { return missCompare; } else { throw new BusinessException("未找到该比较器"); @@ -76,15 +76,15 @@ public class WarnRuleController extends BasicController { public Response> listAll(Integer sensorId) throws Exception { List result = service.listAll(sensorId); for (WarnRule item : result) { - if (Constants.FloatCompare.equalsIgnoreCase(item.getComparator())) { + if (Constants.Float.equalsIgnoreCase(item.getComparator())) { item.setComparatorDesc("浮点型数据比较器"); String name = floatCompare.supportedOperator().get(item.getOperator()); item.setOperatorDesc(name); - } else if (Constants.IntCompare.equalsIgnoreCase(item.getComparator())) { + } else if (Constants.Int.equalsIgnoreCase(item.getComparator())) { item.setComparatorDesc("整型数据比较器"); String name = intCompare.supportedOperator().get(item.getOperator()); item.setOperatorDesc(name); - } else if (Constants.MissCompare.equalsIgnoreCase(item.getComparator())) { + } else if (Constants.Miss.equalsIgnoreCase(item.getComparator())) { item.setComparatorDesc("数据缺失比较器"); String name = missCompare.supportedOperator().get(item.getOperator()); item.setOperatorDesc(name); diff --git a/src/main/java/com/xydl/cac/entity/WarnRule.java b/src/main/java/com/xydl/cac/entity/WarnRule.java index 9bfac57..7612483 100644 --- a/src/main/java/com/xydl/cac/entity/WarnRule.java +++ b/src/main/java/com/xydl/cac/entity/WarnRule.java @@ -105,13 +105,13 @@ public class WarnRule { } else { this.comparator = comparator; this.operator = operator; - if (Constants.FloatCompare.equalsIgnoreCase(comparator)) { + if (Constants.Float.equalsIgnoreCase(comparator)) { actualComp = new FloatCompare(); actualComp.setOperator(operator); - } else if (Constants.IntCompare.equalsIgnoreCase(comparator)) { + } else if (Constants.Int.equalsIgnoreCase(comparator)) { actualComp = new IntCompare(); actualComp.setOperator(operator); - } else if (Constants.MissCompare.equalsIgnoreCase(comparator)) { + } else if (Constants.Miss.equalsIgnoreCase(comparator)) { actualComp = new MissCompare(); actualComp.setOperator(operator); } else { @@ -141,7 +141,7 @@ public class WarnRule { public List checkData(List> list) throws Exception { List result = null; if (CollectionUtils.isEmpty(list)) { - if (Constants.MissCompare.equalsIgnoreCase(comparator)) { + if (Constants.Miss.equalsIgnoreCase(comparator)) { boolean r = this.triggerRule(null); if (r) { result = new ArrayList<>(); diff --git a/src/main/java/com/xydl/cac/entity/constants/Constants.java b/src/main/java/com/xydl/cac/entity/constants/Constants.java index 8e32afc..a5f3c6d 100644 --- a/src/main/java/com/xydl/cac/entity/constants/Constants.java +++ b/src/main/java/com/xydl/cac/entity/constants/Constants.java @@ -13,7 +13,10 @@ public class Constants { public static final Integer Server = 1; public static final Integer Client = 0; - public static String FloatCompare = "float"; - public static String IntCompare = "int"; - public static String MissCompare = "miss"; + public static String Float = "float"; + public static String Int = "int"; + public static String Varchar = "varchar"; + public static String Text = "text"; + public static String DateTime = "datetime"; + public static String Miss = "miss"; } diff --git a/src/main/java/com/xydl/cac/service/DataService.java b/src/main/java/com/xydl/cac/service/DataService.java index 8f981d5..0965e83 100644 --- a/src/main/java/com/xydl/cac/service/DataService.java +++ b/src/main/java/com/xydl/cac/service/DataService.java @@ -12,7 +12,7 @@ public interface DataService { List getDataTables() throws Exception; - List getDataTableColumns(String tableName) throws Exception; + List getDataTableColumns(String tableName); OnePage> getData(String tableName, Integer devId, List points, ConditionModel model) throws Exception; diff --git a/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java index 29fa793..356eb29 100644 --- a/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java @@ -1,6 +1,7 @@ package com.xydl.cac.service.impl; import com.xydl.cac.entity.*; +import com.xydl.cac.entity.constants.Constants; import com.xydl.cac.model.ColumnModel; import com.xydl.cac.model.ConditionModel; import com.xydl.cac.model.OnePage; @@ -59,7 +60,7 @@ public class DataServiceImpl implements DataService { } @Override - public List getDataTableColumns(String tableName) throws Exception { + public List getDataTableColumns(String tableName) { if (StringUtils.isBlank(schema)) { this.getDatabase(); } @@ -100,6 +101,19 @@ public class DataServiceImpl implements DataService { return field; } + @Cacheable(value = "fieldType", key = "#tableName + '-' + #field") + public String getFieldType(String tableName, String field) { + String type = ""; + List columnList = this.getDataTableColumns(tableName); + for (ColumnModel col : columnList) { + if (col.getName().equals(field)) { + type = col.getType(); + break; + } + } + return type; + } + private void getDatabase() { String sql = "select database()"; List list = jdbcTemplate.queryForList(sql, String.class); @@ -281,6 +295,21 @@ public class DataServiceImpl implements DataService { String sqlCount = "SELECT count(*)" + sqlFrom + sqlWhere; Long count = jdbcTemplate.queryForObject(sqlCount, Long.class); + String type = this.getFieldType(tableName, colname); + if (Constants.Varchar.equalsIgnoreCase(type)) { + value = "'" + value + "'"; + } else if (Constants.Text.equalsIgnoreCase(type)) { + value = "'" + value + "'"; + } else if (Constants.DateTime.equalsIgnoreCase(type)) { + if (value.length() == 10) { + value = value + "000"; + } + if (value.length() == 13) { + Date date = new Date(Long.parseLong(value)); + value = DateUtil.format(date); + } + value = "'" + value + "'"; + } if (count > 0) { String sql = "UPDATE " + tableName + " set " + colname + "=" + value + sqlWhere;