Browse Source

1、每周项目优化数据处理;

dev
mh 2 weeks ago
parent
commit
3d89d82252
  1. 7
      mh-admin/src/main/java/com/mh/web/controller/device/ChillersParamsController.java
  2. 14
      mh-admin/src/main/resources/application-prod.yml
  3. 2
      mh-admin/src/main/resources/logback.xml
  4. 23
      mh-framework/src/main/java/com/mh/framework/dealdata/impl/DataProcessServiceImpl.java
  5. 2
      mh-system/src/main/java/com/mh/system/service/device/impl/CollectionParamsManageServiceImpl.java
  6. 14
      mh-system/src/main/java/com/mh/system/service/device/impl/CoolingSystemMonitorServiceImpl.java
  7. 2
      mh-system/src/main/java/com/mh/system/service/operation/impl/AlarmRecordsServiceImpl.java

7
mh-admin/src/main/java/com/mh/web/controller/device/ChillersParamsController.java

@ -47,6 +47,13 @@ public class ChillersParamsController extends BaseController {
public TableDataInfo list(CollectionParamsManage collectionParamsManage)
{
List<CollectionParamsManage> list = iCollectionParamsManageService.selectCollectionParamsManageList(collectionParamsManage);
// list中的CollectionParamsManage中的other_name去掉“号主机”之前数据
list.forEach(item -> {
String otherName = item.getOtherName();
// 使用正则表达式去掉“号主机”及之前的内容
String result = otherName != null ? otherName.replaceFirst(".*号主机", "") : otherName;
item.setOtherName(result);
});
// 再根据mtType进行分组
Map<String, List<CollectionParamsManage>> collect = list.stream().collect(Collectors.groupingBy(CollectionParamsManage::getMtType));
// map转list

14
mh-admin/src/main/resources/application-prod.yml

@ -1,7 +1,7 @@
# 项目相关配置
mh:
# 名称
name: MH
name: mz
# 版本
version: 1.0.0
# 版权年份
@ -16,7 +16,7 @@ mh:
# 开发环境配置
server:
# 服务器的HTTP端口,默认为8080
port: 8090
port: 8091
servlet:
# 应用的访问路径
context-path: /
@ -63,7 +63,7 @@ spring:
# 端口,默认为6379
port: 6379
# 数据库索引
database: 0
database: 14
# 密码
password:
# 连接超时时间
@ -82,9 +82,9 @@ spring:
rabbitmq:
host: 127.0.0.1
port: 5672
username: eemcs
username: eemcs_mz
password: mh@803
virtual-host: /eemcs
virtual-host: /eemcs_mz
listener:
direct:
prefetch: 2
@ -98,7 +98,7 @@ spring:
# 主库数据源
master:
#添加allowMultiQueries=true 在批量更新时才不会出错
url: jdbc:postgresql://127.0.0.1:5505/eemcs_hw
url: jdbc:postgresql://127.0.0.1:5505/eemcs
# url: jdbc:postgresql://127.0.0.1:5505/eemcs
username: postgres
password: mhtech@803
@ -195,7 +195,7 @@ mqttSpring:
port: 1883
username: sa
password: sa123
client-id: eemcs_hw_mqtt_pro
client-id: eemcs_mz_mqtt_pro
# If the protocol is ws/wss, this value is required.
path:
# Topics that need to be subscribed when initially connecting to mqtt, multiple topics are divided by ",".

2
mh-admin/src/main/resources/logback.xml

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 日志存放路径 -->
<property name="log.path" value="/home/mh/logs" />
<property name="log.path" value="/home/mh/mz/logs" />
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />

23
mh-framework/src/main/java/com/mh/framework/dealdata/impl/DataProcessServiceImpl.java

@ -153,9 +153,18 @@ public class DataProcessServiceImpl implements DataProcessService {
String timeString = data.getTs();
OffsetDateTime utcDateTime;
try {
utcDateTime = OffsetDateTime.parse(timeString, DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ"));
// 尝试多种常见的时间格式
try {
utcDateTime = OffsetDateTime.parse(timeString, DateTimeFormatter.ISO_OFFSET_DATE_TIME);
} catch (DateTimeParseException e1) {
try {
utcDateTime = OffsetDateTime.parse(timeString, DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss[XXX][XX][X]"));
} catch (DateTimeParseException e2) {
utcDateTime = OffsetDateTime.parse(timeString, DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS[XXX][XX][X]"));
}
}
} catch (DateTimeParseException e) {
log.error("时间格式解析异常", e);
log.error("时间格式解析异常,时间字符串: {}", timeString, e);
return;
}
// 2. 转换为中国时区(UTC+8)
@ -167,9 +176,13 @@ public class DataProcessServiceImpl implements DataProcessService {
String formattedTime = chinaDateTime.format(
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
);
String dString = data.getD().toString();
// 替换掉inf
if (dString.contains("inf")) {
dString = dString.replace("inf", "0");
}
// 假设 data 是一个包含 JSON 数据的对象
List<AdvantechDatas> list = JSON.parseObject(data.getD().toString(), new TypeReference<List<AdvantechDatas>>() {});
List<AdvantechDatas> list = JSON.parseObject(dString, new TypeReference<List<AdvantechDatas>>() {});
for (AdvantechDatas advantechDatas : list) {
String tag = advantechDatas.getTag();
String value = String.valueOf(advantechDatas.getValue());
@ -494,7 +507,7 @@ public class DataProcessServiceImpl implements DataProcessService {
DeviceReport deviceReport = new DeviceReport();
deviceReport.setDeviceNum(collectionParamsManage.getMtNum());
deviceReport.setCurTime(collectionParamsManage.getCurTime());
if (null == dataProcessMapper.isHaveData(deviceReport, tableName)) {
if (null != dataProcessMapper.isHaveData(deviceReport, tableName)) {
continue;
}
dataProcessMapper.batchInsertChiller(List.of(collectionParamsManage), tableName);

2
mh-system/src/main/java/com/mh/system/service/device/impl/CollectionParamsManageServiceImpl.java

@ -249,7 +249,7 @@ public class CollectionParamsManageServiceImpl implements ICollectionParamsManag
// 判断如果是压力,放大1000倍,并保留一位小数
if (param.getParamType().equals("13")) {
BigDecimal bigDecimal = param.getCurValue();
bigDecimal = bigDecimal.multiply(new BigDecimal(1000));
// bigDecimal = bigDecimal.multiply(new BigDecimal(1000));
param.setCurValue(bigDecimal.setScale(1, RoundingMode.HALF_UP));
}
deviceMonitorVO.setCollectValue(String.valueOf(param.getCurValue().setScale(1, RoundingMode.HALF_UP)));

14
mh-system/src/main/java/com/mh/system/service/device/impl/CoolingSystemMonitorServiceImpl.java

@ -51,7 +51,14 @@ public class CoolingSystemMonitorServiceImpl implements ICoolingSystemMonitorSer
List<CollectionParamsManage> collectionParamsManages = collectionParamsManageMapper.selectList(new QueryWrapper<CollectionParamsManage>().eq("system_type", systemType).eq("param_type", "30"));
if (null != collectionParamsManage && null != collectionParamsManage.getCurValue()) {
// 判断启动模式是什么
if (collectionParamsManage.getCurValue().compareTo(new BigDecimal("1")) == 0) {
if (collectionParamsManage.getCurValue().compareTo(new BigDecimal("0")) == 0) {
// 如果是1,说明是"单机运行模式"
result.put("autoType", "单机运行模式");
// 获取一键启动标识
CollectionParamsManage collectionParamsManage1 = collectionParamsManageMapper.selectOne(new QueryWrapper<CollectionParamsManage>().eq("system_type", systemType).eq("param_type", "41"));
// 判断当前是开还是关闭
getStartOrStopStatus(result, collectionParamsManages, collectionParamsManage1);
} else if (collectionParamsManage.getCurValue().compareTo(new BigDecimal("1")) == 0) {
// 如果是1,说明是"一键开关模式"
result.put("autoType", "一键开关模式");
// 获取一键启动标识
@ -144,7 +151,10 @@ public class CoolingSystemMonitorServiceImpl implements ICoolingSystemMonitorSer
// 判断启动模式是什么
if (null != collectionParamsManage && null != collectionParamsManage.getCurValue()) {
// 判断启动模式是什么
if (collectionParamsManage.getCurValue().compareTo(new BigDecimal("1")) == 0) {
if (collectionParamsManage.getCurValue().compareTo(new BigDecimal("0")) == 0) {
// 如果是0,说明是"单机模式"
return collectionParamsManageMapper.selectOne(new QueryWrapper<CollectionParamsManage>().eq("system_type", systemType).eq("param_type", "41"));
} else if (collectionParamsManage.getCurValue().compareTo(new BigDecimal("1")) == 0) {
// 如果是1,说明是"一键开关模式"
return collectionParamsManageMapper.selectOne(new QueryWrapper<CollectionParamsManage>().eq("system_type", systemType).eq("param_type", "23"));
} else if (collectionParamsManage.getCurValue().compareTo(new BigDecimal("2")) == 0) {

2
mh-system/src/main/java/com/mh/system/service/operation/impl/AlarmRecordsServiceImpl.java

@ -82,7 +82,7 @@ public class AlarmRecordsServiceImpl implements IAlarmRecordsService {
if (StringUtils.isNotEmpty(beginTimeStr) && StringUtils.isNotEmpty(endTimeStr)) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate beginTime = LocalDate.parse(beginTimeStr, formatter);
LocalDate endTime = LocalDate.parse(endTimeStr, formatter);
LocalDate endTime = LocalDate.parse(endTimeStr, formatter).plusDays(1);
queryWrapper.between("create_time", java.sql.Date.valueOf(beginTime), java.sql.Date.valueOf(endTime));
}

Loading…
Cancel
Save