From 56e254f4c6a3eab1218a4fbea3f60609d209ff95 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期五, 27 六月 2025 14:19:26 +0800 Subject: [PATCH] 鞍信平均值 --- iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/asdb/HttpCollectorForAsag.java | 89 ++++++++++++++ /dev/null | 118 ------------------- iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/HttpCollector.java | 13 - iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/asdb/HttpCollectorForAsMediaType.java | 37 ++++- iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/collection/handler/MeasureHandle.java | 26 ++- iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/SourceApiEnum.java | 1 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/asdb/HttpCollectorForAsdb.java | 24 +++ iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/common/MeasurePointValueType.java | 32 +++++ 8 files changed, 190 insertions(+), 150 deletions(-) diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/HttpCollector.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/HttpCollector.java index 378df11..3728ef9 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/HttpCollector.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/HttpCollector.java @@ -8,8 +8,7 @@ import com.iailab.framework.common.constant.CommonConstant; import com.iailab.module.data.channel.http.collector.asdb.HttpCollectorForAsdb; -import com.iailab.module.data.channel.http.collector.asdb.HttpCollectorForAsdc; -import com.iailab.module.data.channel.http.collector.asdb.HttpCollectorForAsde; +import com.iailab.module.data.channel.http.collector.asdb.HttpCollectorForAsMediaType; import com.iailab.module.data.channel.http.collector.asdb.HttpCollectorForAsdy; import com.iailab.module.data.channel.http.collector.ihdb.HttpCollectorForIhd; import com.iailab.module.data.channel.http.entity.HttpApiEntity; @@ -37,10 +36,7 @@ private HttpCollectorForAsdb httpCollectorForAsdb; @Autowired - private HttpCollectorForAsde httpCollectorForAsde; - - @Autowired - private HttpCollectorForAsdc httpCollectorForAsdc; + private HttpCollectorForAsMediaType httpCollectorForAsMediaType; @Autowired private HttpCollectorForAsdy httpCollectorForAsdy; @@ -64,10 +60,9 @@ valueMap = httpCollectorForAsdy.getTagValues(apiId, tagNames); break; case ASDC: - valueMap = httpCollectorForAsdc.getTagValues(apiId, tagNames); - break; case ASDE: - valueMap = httpCollectorForAsde.getTagValues(apiId, tagNames); + case ASDM: + valueMap = httpCollectorForAsMediaType.getTagValues(apiId, tagNames); break; default: break; diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/SourceApiEnum.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/SourceApiEnum.java index 64193e1..133fd4c 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/SourceApiEnum.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/SourceApiEnum.java @@ -1,6 +1,5 @@ package com.iailab.module.data.channel.http.collector; -import com.iailab.module.data.point.common.ExtremalTypeEnum; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/asdb/HttpCollectorForAsde.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/asdb/HttpCollectorForAsMediaType.java similarity index 73% rename from iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/asdb/HttpCollectorForAsde.java rename to iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/asdb/HttpCollectorForAsMediaType.java index 8b7a77f..9e087bc 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/asdb/HttpCollectorForAsde.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/asdb/HttpCollectorForAsMediaType.java @@ -9,6 +9,7 @@ import com.iailab.module.data.channel.http.service.HttpApiService; import com.iailab.module.data.common.enums.DataSourceType; import com.iailab.module.data.common.utils.TagUtils; +import com.iailab.module.data.point.common.MeasurePointValueType; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; @@ -16,10 +17,7 @@ import org.springframework.util.CollectionUtils; import java.math.BigDecimal; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.TimeUnit; /** @@ -29,13 +27,16 @@ */ @Slf4j @Component -public class HttpCollectorForAsde { +public class HttpCollectorForAsMediaType { @Autowired private HttpApiService httpApiService; @Autowired private RedisTemplate redisTemplate; + + @Autowired + private HttpCollectorForAsag httpCollectorForAsag; public static final long offset = 10; @@ -90,8 +91,24 @@ return new HashMap<>(); } try { - HttpApiEntity httpApi = this.getHttpApi(params.get(0)[0].toString()); - this.getByHtp(httpApi.getUrl(), httpApi.getCode(), result, params); + List<Object[]> paramsDig = new ArrayList<>(); + List<Object[]> paramsSim = new ArrayList<>(); + for (Object[] param : params) { + if (((String) param[3]).equals(MeasurePointValueType.DIGITAL.getCode()) || (Integer) param[2] == 0) { + paramsDig.add(param); + } else { + paramsSim.add(param); + } + } + if (!CollectionUtils.isEmpty(paramsDig)) { + log.info("查询数字量,paramsDig.size(): " + paramsDig.size()); + HttpApiEntity httpApi = this.getHttpApi(params.get(0)[0].toString()); + this.getByHtp(httpApi.getUrl(), httpApi.getCode(), result, paramsDig); + } + if (!CollectionUtils.isEmpty(paramsSim)) { + log.info("查询模拟量,paramsSim.size(): " + paramsSim.size()); + httpCollectorForAsag.getTagValues(paramsSim, collectTime, result); + } } catch (Exception ex) { ex.printStackTrace(); } @@ -99,10 +116,10 @@ } private void getByHtp(String url, String sourceName, Map<String, Object> result, List<Object[]> params) { - log.info("HttpCollectorForAsde.getByHtp:url=" + url); - log.info("HttpCollectorForAsde.getByHtp:params=" + JSONArray.toJSONString(params)); + log.info("HttpCollectorForAsMediaType.getByHtp:url=" + url); + log.info("HttpCollectorForAsMediaType.getByHtp:params=" + JSONArray.toJSONString(params)); String responseStr = HttpUtils.sendGet(url, null, ""); - log.info("HttpCollectorForAsde.getByHtp:responseStr=" + responseStr); + log.info("HttpCollectorForAsMediaType.getByHtp:responseStr=" + responseStr); List<HttpAsdbRespDataVO> dataList = JSON.parseArray(responseStr, HttpAsdbRespDataVO.class); Map<String, HttpAsdbRespDataVO> valueGroup = new HashMap<>(); for (HttpAsdbRespDataVO data : dataList) { diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/asdb/HttpCollectorForAsag.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/asdb/HttpCollectorForAsag.java new file mode 100644 index 0000000..a912427 --- /dev/null +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/asdb/HttpCollectorForAsag.java @@ -0,0 +1,89 @@ +package com.iailab.module.data.channel.http.collector.asdb; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.iailab.framework.common.util.http.HttpUtils; +import com.iailab.module.data.channel.http.entity.HttpApiEntity; +import com.iailab.module.data.channel.http.service.HttpApiService; +import com.iailab.module.data.common.enums.DataSourceType; +import com.iailab.module.data.common.utils.DateUtils; +import com.iailab.module.data.common.utils.TagUtils; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; + +import java.util.*; + +/** + * 鞍信平均值接口 + * GET + * http://10.50.37.1:8806/batch/xxb/getDagongHistoryPointAvg?point=E1Q00001001&startTime=2025-06-25 09:16:00&endTime=2025-06-25 09:17:00 + * { + * "E1Q00001001": 16.747500000000002 + * } + * + * @author PanZhibao + * @Description + * @createTime 2025年06月27日 + */ +@Slf4j +@Component +public class HttpCollectorForAsag { + + @Autowired + private HttpApiService httpApiService; + + @Autowired + private RedisTemplate redisTemplate; + + public static final long offset = 10; + + private final static String API_CODE = "ASAG"; + + private static String api_url; + + private HttpApiEntity getHttpApi(String id) { + return httpApiService.getFromCatch(id); + } + + public Map<String, Object> getTagValues(List<Object[]> params, Date collectTime, Map<String, Object> result) { + try { + this.getByHtp(result, params, collectTime); + } catch (Exception ex) { + log.info("getCurrentValue异常"); + ex.printStackTrace(); + throw ex; + } + return result; + } + + private void getByHtp(Map<String, Object> result, List<Object[]> params, Date collectTime) { + if (StringUtils.isBlank(api_url)) { + HttpApiEntity apiEntity = httpApiService.getByCode(API_CODE); + api_url = apiEntity.getUrl(); + } + for (Object[] item : params) { + HttpApiEntity httpApi = this.getHttpApi(item[0].toString()); + String sourceName = httpApi.getCode(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(collectTime); + Date endTime = calendar.getTime(); + calendar.add(Calendar.MINUTE, (Integer) item[2] * -1); + Date startTime = calendar.getTime(); + + Map<String, String> queryMap = new HashMap<>(); + String point = item[1].toString(); + queryMap.put("point", point); + queryMap.put("startTime", DateUtils.format(startTime, "yyyy-MM-dd HH:mm:ss")); + queryMap.put("endTime", DateUtils.format(endTime, "yyyy-MM-dd HH:mm:ss")); + String responseStr = HttpUtils.sendGet(api_url, queryMap, ""); + JSONObject obj = JSON.parseObject(responseStr); + if (obj.containsKey(point)) { + Double value = obj.getDouble(point); + result.put(TagUtils.genTagId(DataSourceType.HTTP.getCode(), sourceName, point), value); + } + } + } +} \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/asdb/HttpCollectorForAsdb.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/asdb/HttpCollectorForAsdb.java index 7c5e119..f8fc261 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/asdb/HttpCollectorForAsdb.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/asdb/HttpCollectorForAsdb.java @@ -8,6 +8,7 @@ import com.iailab.module.data.channel.http.service.HttpApiService; import com.iailab.module.data.common.enums.DataSourceType; import com.iailab.module.data.common.utils.TagUtils; +import com.iailab.module.data.point.common.MeasurePointValueType; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; @@ -32,6 +33,9 @@ @Autowired private RedisTemplate redisTemplate; + + @Autowired + private HttpCollectorForAsag httpCollectorForAsag; public static final long offset = 10; @@ -86,8 +90,24 @@ return new HashMap<>(); } try { - HttpApiEntity httpApi = this.getHttpApi(params.get(0)[0].toString()); - this.getByHtp(httpApi.getUrl(), httpApi.getCode(), result, params); + List<Object[]> paramsSim = new ArrayList<>(); + List<Object[]> paramsDig = new ArrayList<>(); + for (Object[] param : params) { + if (((String) param[3]).equals(MeasurePointValueType.DIGITAL.getCode()) || (Integer) param[2] == 0) { + paramsDig.add(param); + } else { + paramsSim.add(param); + } + } + if (!CollectionUtils.isEmpty(paramsDig)) { + log.info("查询数字量,paramsDig.size(): " + paramsDig.size()); + HttpApiEntity httpApi = this.getHttpApi(params.get(0)[0].toString()); + this.getByHtp(httpApi.getUrl(), httpApi.getCode(), result, params); + } + if (!CollectionUtils.isEmpty(paramsSim)) { + log.info("查询模拟量,paramsSim.size(): " + paramsSim.size()); + httpCollectorForAsag.getTagValues(paramsSim, collectTime, result); + } } catch (Exception ex) { ex.printStackTrace(); } diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/asdb/HttpCollectorForAsdc.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/asdb/HttpCollectorForAsdc.java deleted file mode 100644 index c17331c..0000000 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/asdb/HttpCollectorForAsdc.java +++ /dev/null @@ -1,118 +0,0 @@ -package com.iailab.module.data.channel.http.collector.asdb; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.iailab.framework.common.constant.CommonConstant; -import com.iailab.framework.common.util.http.HttpUtils; -import com.iailab.module.data.channel.http.collector.asdb.vo.HttpAsdbRespDataVO; -import com.iailab.module.data.channel.http.entity.HttpApiEntity; -import com.iailab.module.data.channel.http.service.HttpApiService; -import com.iailab.module.data.common.enums.DataSourceType; -import com.iailab.module.data.common.utils.TagUtils; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.stereotype.Component; -import org.springframework.util.CollectionUtils; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.TimeUnit; - -/** - * @author PanZhibao - * @Description - * @createTime 2025年03月28日 - */ -@Slf4j -@Component -public class HttpCollectorForAsdc { - - @Autowired - private HttpApiService httpApiService; - - @Autowired - private RedisTemplate redisTemplate; - - public static final long offset = 10; - - private HttpApiEntity getHttpApi(String id) { - return httpApiService.getFromCatch(id); - } - - public BigDecimal getTagValue(String sourceId, String tagNo) { - BigDecimal value = CommonConstant.BAD_VALUE; - HttpApiEntity httpApi = this.getHttpApi(sourceId); - //先查缓存 - String catchKey = "IailabData:" + httpApi.getCode() + ":" + tagNo; - if (redisTemplate.hasKey(catchKey)) { - log.info("查找IailabData缓存: " + catchKey); - return new BigDecimal(redisTemplate.opsForValue().get(catchKey).toString()); - } - String responseStr = HttpUtils.sendGet(httpApi.getUrl(), null, ""); - List<HttpAsdbRespDataVO> dataList = JSON.parseArray(responseStr, HttpAsdbRespDataVO.class); - log.info("存入IailabData缓存: " + catchKey); - dataList.forEach(item -> { - redisTemplate.opsForValue().set("IailabData:" + httpApi.getCode() + ":" + item.getPoint(), item.getValue().toString(), offset, TimeUnit.SECONDS); - }); - for (HttpAsdbRespDataVO data : dataList){ - if (tagNo.equals(data.getPoint())){ - value = data.getValue(); - break; - } - } - return value; - } - - public Map<String, Object> getTagValues(String sourceId, List<String> tagNames) { - Map<String, Object> result = new HashMap<>(); - try { - if (CollectionUtils.isEmpty(tagNames)) { - return result; - } - for (String tagName : tagNames) { - result.put(tagName, getTagValue(sourceId, tagName)); - } - } catch (Exception ex) { - log.info("getCurrentValue异常"); - ex.printStackTrace(); - throw ex; - } - return result; - } - - public Map<String, Object> getTagValues(List<Object[]> params, Date collectTime) { - Map<String, Object> result = new HashMap<>(); - if (CollectionUtils.isEmpty(params)) { - return new HashMap<>(); - } - try { - HttpApiEntity httpApi = this.getHttpApi(params.get(0)[0].toString()); - this.getByHtp(httpApi.getUrl(), httpApi.getCode(), result, params); - } catch (Exception ex) { - ex.printStackTrace(); - } - return result; - } - - private void getByHtp(String url, String sourceName, Map<String, Object> result, List<Object[]> params) { - log.info("HttpCollectorForAsdc.getByHtp:url=" + url); - log.info("HttpCollectorForAsdc.getByHtp:params=" + JSONArray.toJSONString(params)); - String responseStr = HttpUtils.sendGet(url, null, ""); - log.info("HttpCollectorForAsdc.getByHtp:responseStr=" + responseStr); - List<HttpAsdbRespDataVO> dataList = JSON.parseArray(responseStr, HttpAsdbRespDataVO.class); - Map<String, HttpAsdbRespDataVO> valueGroup = new HashMap<>(); - for (HttpAsdbRespDataVO data : dataList) { - valueGroup.put(data.getPoint(), data); - } - for (Object[] item : params) { - if (valueGroup.containsKey(item[1].toString())) { - HttpAsdbRespDataVO data = valueGroup.get(item[1].toString()); - result.put(TagUtils.genTagId(DataSourceType.HTTP.getCode(), sourceName, data.getPoint()), data.getValue()); - } - } - } -} \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/collection/handler/MeasureHandle.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/collection/handler/MeasureHandle.java index 7fb4a6f..68e9cbc 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/collection/handler/MeasureHandle.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/collection/handler/MeasureHandle.java @@ -3,8 +3,7 @@ import com.iailab.framework.common.util.string.StrUtils; import com.iailab.module.data.channel.http.collector.SourceApiEnum; import com.iailab.module.data.channel.http.collector.asdb.HttpCollectorForAsdb; -import com.iailab.module.data.channel.http.collector.asdb.HttpCollectorForAsdc; -import com.iailab.module.data.channel.http.collector.asdb.HttpCollectorForAsde; +import com.iailab.module.data.channel.http.collector.asdb.HttpCollectorForAsMediaType; import com.iailab.module.data.channel.http.collector.asdb.HttpCollectorForAsdy; import com.iailab.module.data.channel.http.collector.ihdb.HttpCollectorForIhd; import com.iailab.module.data.channel.opcda.collector.OpcDACollector; @@ -64,10 +63,7 @@ private HttpCollectorForAsdb httpCollectorForAsdb; @Autowired - private HttpCollectorForAsde httpCollectorForAsde; - - @Autowired - private HttpCollectorForAsdc httpCollectorForAsdc; + private HttpCollectorForAsMediaType httpCollectorForAsMediaType; @Autowired private HttpCollectorForAsdy httpCollectorForAsdy; @@ -94,6 +90,7 @@ List<Object[]> httpTagAsde = new ArrayList<>(); List<Object[]> httpTagAsdc = new ArrayList<>(); List<Object[]> httpTagAsdy = new ArrayList<>(); + List<Object[]> httpTagAsdm = new ArrayList<>(); dtos.stream().forEach(item -> { if (DataSourceType.OPCUA.getCode().equals(item.getSourceType())) { @@ -125,6 +122,10 @@ if (item.getTagNo() != null && item.getDimension() != null && item.getValueType() != null) { httpTagAsdy.add(new Object[]{item.getSourceId(), item.getTagNo(), item.getDimension(), item.getValueType()}); } + } else if (SourceApiEnum.ASDM.getCode().equals(item.getSourceName())) { + if (item.getTagNo() != null && item.getDimension() != null && item.getValueType() != null) { + httpTagAsdm.add(new Object[]{item.getSourceId(), item.getTagNo(), item.getDimension(), item.getValueType()}); + } } } }); @@ -149,10 +150,13 @@ tagValues.putAll(httpCollectorForAsdb.getTagValues(httpTagAsdb, collectTime)); } if (!CollectionUtils.isEmpty(httpTagAsde)) { - tagValues.putAll(httpCollectorForAsde.getTagValues(httpTagAsde, collectTime)); + tagValues.putAll(httpCollectorForAsMediaType.getTagValues(httpTagAsde, collectTime)); } if (!CollectionUtils.isEmpty(httpTagAsdc)) { - tagValues.putAll(httpCollectorForAsdc.getTagValues(httpTagAsdc, collectTime)); + tagValues.putAll(httpCollectorForAsMediaType.getTagValues(httpTagAsdc, collectTime)); + } + if (!CollectionUtils.isEmpty(httpTagAsdm)) { + tagValues.putAll(httpCollectorForAsMediaType.getTagValues(httpTagAsdm, collectTime)); } if (!CollectionUtils.isEmpty(httpTagAsdy)) { tagValues.putAll(httpCollectorForAsdy.getTagValues(httpTagAsdy, collectTime)); @@ -248,9 +252,11 @@ } else if (SourceApiEnum.ASDB.getCode().equals(item.getSourceName())) { value = httpCollectorForAsdb.getTagValue(item.getSourceId(), item.getTagNo()); } else if (SourceApiEnum.ASDE.getCode().equals(item.getSourceName())) { - value = httpCollectorForAsde.getTagValue(item.getSourceId(), item.getTagNo()); + value = httpCollectorForAsMediaType.getTagValue(item.getSourceId(), item.getTagNo()); } else if (SourceApiEnum.ASDC.getCode().equals(item.getSourceName())) { - value = httpCollectorForAsdc.getTagValue(item.getSourceId(), item.getTagNo()); + value = httpCollectorForAsMediaType.getTagValue(item.getSourceId(), item.getTagNo()); + } else if (SourceApiEnum.ASDM.getCode().equals(item.getSourceName())) { + value = httpCollectorForAsMediaType.getTagValue(item.getSourceId(), item.getTagNo()); } else if (SourceApiEnum.ASDY.getCode().equals(item.getSourceName())) { value = httpCollectorForAsdy.getTagValue(item.getSourceId(), item.getTagNo()); } diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/common/MeasurePointValueType.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/common/MeasurePointValueType.java new file mode 100644 index 0000000..6a9e096 --- /dev/null +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/common/MeasurePointValueType.java @@ -0,0 +1,32 @@ +package com.iailab.module.data.point.common; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author PanZhibao + * @Description + * @createTime 2025年06月27日 + */ +@Getter +@AllArgsConstructor +public enum MeasurePointValueType { + SIMULATE("SIMULATE", "模拟量"), + DIGITAL("DIGITAL", "数字量"); + + private String code; + private String desc; + + public static MeasurePointValueType getEumByCode(String code) { + if (code == null) { + return null; + } + + for (MeasurePointValueType statusEnum : MeasurePointValueType.values()) { + if (statusEnum.getCode().equals(code)) { + return statusEnum; + } + } + return null; + } +} \ No newline at end of file -- Gitblit v1.9.3