From 77a3b6e855b7550170dc7434a524be9213a0162f Mon Sep 17 00:00:00 2001 From: zq Date: Wed, 7 Jan 2026 11:27:02 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=9C=A8=E7=BA=BF=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E5=92=8C=E5=B7=A5=E4=BD=9C=E7=8A=B6=E6=80=81=E5=8F=96?= =?UTF-8?q?=E5=80=BC=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ems/EmsSiteConfigController.java | 3 + .../common/core/modbus/ModbusProcessor.java | 3 +- .../common/enums/DeviceRunningStatus.java | 19 +----- .../com/xzzn/common/enums/WorkStatus.java | 2 +- .../com/xzzn/quartz/task/ModbusPoller.java | 2 +- .../xzzn/ems/domain/EmsBatteryCluster.java | 13 ++-- .../com/xzzn/ems/domain/EmsBatteryStack.java | 11 ++-- .../xzzn/ems/domain/EmsDevicesSetting.java | 10 +-- .../java/com/xzzn/ems/domain/EmsPcsData.java | 8 +-- .../ems/domain/vo/DeviceUpdateRequest.java | 13 ++-- .../impl/DDSDataProcessServiceImpl.java | 59 +++++++++++++---- .../impl/DeviceDataProcessServiceImpl.java | 11 ++-- .../impl/EmsDeviceSettingServiceImpl.java | 23 ++----- .../impl/EmsStrategyTempServiceImpl.java | 3 +- .../impl/FXXDataProcessServiceImpl.java | 65 ++++++++++++++----- 15 files changed, 147 insertions(+), 98 deletions(-) diff --git a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteConfigController.java b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteConfigController.java index 342ad9e..8eb0b08 100644 --- a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteConfigController.java +++ b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteConfigController.java @@ -1,9 +1,11 @@ package com.xzzn.web.controller.ems; +import com.xzzn.common.annotation.Log; import com.xzzn.common.config.RuoYiConfig; import com.xzzn.common.core.controller.BaseController; import com.xzzn.common.core.domain.AjaxResult; import com.xzzn.common.core.page.TableDataInfo; +import com.xzzn.common.enums.BusinessType; import com.xzzn.common.utils.file.FileUploadUtils; import com.xzzn.common.utils.file.MimeTypeUtils; import com.xzzn.ems.domain.EmsSiteSetting; @@ -192,6 +194,7 @@ public class EmsSiteConfigController extends BaseController{ /** * PCS设备开关机 */ + @Log(title = "开关机", businessType = BusinessType.UPDATE) @PostMapping("/updateDeviceStatus") public AjaxResult updateDeviceStatus(@Valid @RequestBody DeviceUpdateRequest request) { diff --git a/ems-common/src/main/java/com/xzzn/common/core/modbus/ModbusProcessor.java b/ems-common/src/main/java/com/xzzn/common/core/modbus/ModbusProcessor.java index 4cf3c4d..18d1378 100644 --- a/ems-common/src/main/java/com/xzzn/common/core/modbus/ModbusProcessor.java +++ b/ems-common/src/main/java/com/xzzn/common/core/modbus/ModbusProcessor.java @@ -80,7 +80,8 @@ public class ModbusProcessor { break; } case HOLDING_REGISTER: { - writeRegisterRequest(master, config.getSlaveId(), address, Integer.parseInt(String.valueOf(tag.getValue()))); + double doubleValue = Double.parseDouble(String.valueOf(tag.getValue())); + writeRegisterRequest(master, config.getSlaveId(), address, (int) doubleValue); break; } default: diff --git a/ems-common/src/main/java/com/xzzn/common/enums/DeviceRunningStatus.java b/ems-common/src/main/java/com/xzzn/common/enums/DeviceRunningStatus.java index aa91496..299bcf1 100644 --- a/ems-common/src/main/java/com/xzzn/common/enums/DeviceRunningStatus.java +++ b/ems-common/src/main/java/com/xzzn/common/enums/DeviceRunningStatus.java @@ -1,8 +1,5 @@ package com.xzzn.common.enums; -import java.util.Arrays; -import java.util.List; - /** * device-通信状态 * @@ -11,10 +8,7 @@ import java.util.List; public enum DeviceRunningStatus { OFFLINE("0", "离线"), - STANDBY("1", "待机") , - RUNNING("2", "运行"), - FAULT("3", "故障"), - SHUTDOWN("4", "停机"); + ONLINE("1", "在线"); private final String code; private final String info; @@ -35,15 +29,4 @@ public enum DeviceRunningStatus return info; } - /** 停机状态 */ - public static List getShutdownCodeList() - { - return Arrays.asList(SHUTDOWN.getCode()); - } - - /** 运行状态 */ - public static List getRunningCodeList() - { - return Arrays.asList(STANDBY.getCode(), RUNNING.getCode(), FAULT.getCode()); - } } diff --git a/ems-common/src/main/java/com/xzzn/common/enums/WorkStatus.java b/ems-common/src/main/java/com/xzzn/common/enums/WorkStatus.java index e16999f..155d915 100644 --- a/ems-common/src/main/java/com/xzzn/common/enums/WorkStatus.java +++ b/ems-common/src/main/java/com/xzzn/common/enums/WorkStatus.java @@ -7,7 +7,7 @@ package com.xzzn.common.enums; */ public enum WorkStatus { - NORMAL("0", "正常"), ABNORMAL("1", "异常"), STOP("2", "停止"); + NORMAL("0", "运行"), STOP("1", "停机"), ABNORMAL("2", "故障"); private final String code; private final String info; diff --git a/ems-quartz/src/main/java/com/xzzn/quartz/task/ModbusPoller.java b/ems-quartz/src/main/java/com/xzzn/quartz/task/ModbusPoller.java index 6e54173..e534010 100644 --- a/ems-quartz/src/main/java/com/xzzn/quartz/task/ModbusPoller.java +++ b/ems-quartz/src/main/java/com/xzzn/quartz/task/ModbusPoller.java @@ -196,7 +196,7 @@ public class ModbusPoller { // 数据读取成功,重置计数器 deviceFailureCounts.remove(deviceNumber); - updateDeviceStatus(siteId, deviceNumber, DeviceRunningStatus.RUNNING.getCode()); + updateDeviceStatus(siteId, deviceNumber, DeviceRunningStatus.ONLINE.getCode()); // 发送MQTT消息、保存Redis数据和数据入库 Long timestamp = System.currentTimeMillis(); diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/EmsBatteryCluster.java b/ems-system/src/main/java/com/xzzn/ems/domain/EmsBatteryCluster.java index 2bc12c1..5ebe921 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/EmsBatteryCluster.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/EmsBatteryCluster.java @@ -1,14 +1,15 @@ package com.xzzn.ems.domain; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.xzzn.common.annotation.Excel; +import com.xzzn.common.core.domain.BaseEntity; +import com.xzzn.common.utils.StringUtils; + import java.math.BigDecimal; import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.xzzn.common.core.domain.BaseEntity; -import com.xzzn.common.utils.StringUtils; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -import com.xzzn.common.annotation.Excel; /** * 电池簇数据对象 ems_battery_cluster @@ -28,8 +29,8 @@ public class EmsBatteryCluster extends BaseEntity @Excel(name = "数据更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date dataUpdateTime; - /** 工作状态:0-正常 1-异常 2-停止 */ - @Excel(name = "工作状态:0-正常 1-异常 2-停止") + /** 工作状态:0-运行 1-停机 2-故障 */ + @Excel(name = "工作状态:0-运行 1-停机 2-故障") private String workStatus; /** 与PCS通信状态:0-正常 1-通信中断 2-异常 */ diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/EmsBatteryStack.java b/ems-system/src/main/java/com/xzzn/ems/domain/EmsBatteryStack.java index 3240398..c15d912 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/EmsBatteryStack.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/EmsBatteryStack.java @@ -1,13 +1,14 @@ package com.xzzn.ems.domain; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.xzzn.common.annotation.Excel; +import com.xzzn.common.core.domain.BaseEntity; + import java.math.BigDecimal; import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.xzzn.common.core.domain.BaseEntity; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -import com.xzzn.common.annotation.Excel; /** * 电池堆数据对象 ems_battery_stack @@ -27,8 +28,8 @@ public class EmsBatteryStack extends BaseEntity @Excel(name = "数据更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date dataUpdateTime; - /** 工作状态:0-正常 1-异常 2-停止 */ - @Excel(name = "工作状态:0-正常 1-异常 2-停止") + /** 工作状态:0-运行 1-停机 2-故障 */ + @Excel(name = "工作状态:0-运行 1-停机 2-故障") private String workStatus; /** 与PCS通信状态:0-正常 1-通信中断 2-异常 */ diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/EmsDevicesSetting.java b/ems-system/src/main/java/com/xzzn/ems/domain/EmsDevicesSetting.java index 13a9d98..17641c8 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/EmsDevicesSetting.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/EmsDevicesSetting.java @@ -1,11 +1,13 @@ package com.xzzn.ems.domain; -import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; +import com.xzzn.common.annotation.Excel; import com.xzzn.common.core.domain.BaseEntity; + +import java.util.Date; + import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -import com.xzzn.common.annotation.Excel; /** * Modbus设备配置对象 ems_devices_setting @@ -102,8 +104,8 @@ public class EmsDevicesSetting extends BaseEntity @Excel(name = "设备类别,例如“STACK/CLUSTER/PCS等”") private String deviceCategory; - /** 设备运行状态:0-离线、1-待机、2-运行、3-故障、4-停机 */ - @Excel(name = "设备运行状态:0-离线、1-待机、2-运行、3-故障、4-停机") + /** 设备运行状态:0-离线、1-在线 */ + @Excel(name = "设备运行状态:0-离线、1-在线") private String deviceStatus; /** 设备图像地址 */ diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/EmsPcsData.java b/ems-system/src/main/java/com/xzzn/ems/domain/EmsPcsData.java index 0b654e0..bd39327 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/EmsPcsData.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/EmsPcsData.java @@ -28,16 +28,16 @@ public class EmsPcsData extends BaseEntity @Excel(name = "数据更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date dataUpdateTime; - /** 工作状态:0-正常 1-异常 2-停止 */ - @Excel(name = "工作状态:0-正常 1-异常 2-停止") + /** 工作状态:0-运行 1-停机 2-故障 */ + @Excel(name = "工作状态:0-运行 1-停机 2-故障") private String workStatus; /** 并网状态:0-并网 1-未并网 */ @Excel(name = "并网状态:0-并网 1-未并网") private String gridStatus; - /** 设备运行状态:0-离线、1-待机、2-运行、3-故障、4-停机 */ - @Excel(name = "设备运行状态:0-离线、1-待机、2-运行、3-故障、4-停机") + /** 设备运行状态:0-离线、1-在线 */ + @Excel(name = "设备运行状态:0-离线、1-在线") private String deviceStatus; /** 控制模式:0-远程 1-本地 */ diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/vo/DeviceUpdateRequest.java b/ems-system/src/main/java/com/xzzn/ems/domain/vo/DeviceUpdateRequest.java index 4e9ed94..24f582f 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/vo/DeviceUpdateRequest.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/vo/DeviceUpdateRequest.java @@ -16,8 +16,9 @@ public class DeviceUpdateRequest { @NotBlank(message = "设备ID不能为空") private String deviceId; - /** 设备状态:0-离线、1-待机、2-运行、3-故障、4-停机 */ - private String deviceStatus; + /** 工作状态:0-运行 1-停机 2-故障 */ + @NotBlank(message = "工作状态状态不能为空") + private String workStatus; /** 设备类型 */ private String deviceCategory; @@ -38,12 +39,12 @@ public class DeviceUpdateRequest { this.deviceId = deviceId; } - public String getDeviceStatus() { - return deviceStatus; + public String getWorkStatus() { + return workStatus; } - public void setDeviceStatus(String deviceStatus) { - this.deviceStatus = deviceStatus; + public void setWorkStatus(String workStatus) { + this.workStatus = workStatus; } public String getDeviceCategory() { diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/DDSDataProcessServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/DDSDataProcessServiceImpl.java index 0e67719..ba48224 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/DDSDataProcessServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/DDSDataProcessServiceImpl.java @@ -9,33 +9,70 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.xzzn.common.constant.Constants; import com.xzzn.common.constant.RedisKeyConstants; import com.xzzn.common.core.redis.RedisCache; -import com.xzzn.common.enums.*; +import com.xzzn.common.enums.BranchStatus; +import com.xzzn.common.enums.ChargeStatus; +import com.xzzn.common.enums.CommunicationStatus; +import com.xzzn.common.enums.ControlModeStatus; +import com.xzzn.common.enums.DeviceRunningStatus; +import com.xzzn.common.enums.GridStatus; +import com.xzzn.common.enums.SwitchStatus; +import com.xzzn.common.enums.WorkStatus; import com.xzzn.common.utils.DateUtils; import com.xzzn.common.utils.StringUtils; -import com.xzzn.ems.domain.*; +import com.xzzn.ems.domain.EmsAmmeterData; +import com.xzzn.ems.domain.EmsBatteryCluster; +import com.xzzn.ems.domain.EmsBatteryData; +import com.xzzn.ems.domain.EmsBatteryDataDailyLatest; +import com.xzzn.ems.domain.EmsBatteryDataMinutes; +import com.xzzn.ems.domain.EmsBatteryGroup; +import com.xzzn.ems.domain.EmsBatteryStack; +import com.xzzn.ems.domain.EmsDailyChargeData; +import com.xzzn.ems.domain.EmsDailyEnergyData; +import com.xzzn.ems.domain.EmsDevicesSetting; +import com.xzzn.ems.domain.EmsDhData; +import com.xzzn.ems.domain.EmsPcsBranchData; +import com.xzzn.ems.domain.EmsPcsData; +import com.xzzn.ems.domain.EmsXfData; import com.xzzn.ems.domain.vo.EnergyPriceVo; -import com.xzzn.ems.mapper.*; +import com.xzzn.ems.mapper.EmsAmmeterDataMapper; +import com.xzzn.ems.mapper.EmsBatteryClusterMapper; +import com.xzzn.ems.mapper.EmsBatteryDataMapper; +import com.xzzn.ems.mapper.EmsBatteryDataMinutesMapper; +import com.xzzn.ems.mapper.EmsBatteryGroupMapper; +import com.xzzn.ems.mapper.EmsBatteryStackMapper; +import com.xzzn.ems.mapper.EmsDailyChargeDataMapper; +import com.xzzn.ems.mapper.EmsDailyEnergyDataMapper; +import com.xzzn.ems.mapper.EmsDevicesSettingMapper; +import com.xzzn.ems.mapper.EmsDhDataMapper; +import com.xzzn.ems.mapper.EmsPcsBranchDataMapper; +import com.xzzn.ems.mapper.EmsPcsDataMapper; +import com.xzzn.ems.mapper.EmsXfDataMapper; import com.xzzn.ems.service.IDDSDataProcessService; import com.xzzn.ems.service.IEmsAlarmRecordsService; import com.xzzn.ems.service.IEmsDeviceSettingService; import com.xzzn.ems.utils.AbstractBatteryDataProcessor; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + @Service public class DDSDataProcessServiceImpl extends AbstractBatteryDataProcessor implements IDDSDataProcessService { private static final Log log = LogFactory.getLog(DDSDataProcessServiceImpl.class); @@ -633,7 +670,7 @@ public class DDSDataProcessServiceImpl extends AbstractBatteryDataProcessor impl pcsData.setDataUpdateTime(new Date()); pcsData.setWorkStatus(WorkStatus.NORMAL.getCode()); pcsData.setGridStatus(GridStatus.GRID.getCode()); - pcsData.setDeviceStatus(DeviceRunningStatus.RUNNING.getCode()); + pcsData.setDeviceStatus(DeviceRunningStatus.ONLINE.getCode()); pcsData.setControlMode(ControlModeStatus.REMOTE.getCode()); // 电流 diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/DeviceDataProcessServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/DeviceDataProcessServiceImpl.java index dc92587..0459534 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/DeviceDataProcessServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/DeviceDataProcessServiceImpl.java @@ -23,7 +23,6 @@ import com.xzzn.common.enums.GridStatus; import com.xzzn.common.enums.SiteDevice; import com.xzzn.common.enums.SiteEnum; import com.xzzn.common.enums.SwitchStatus; -import com.xzzn.common.enums.WorkStatus; import com.xzzn.common.utils.DateUtils; import com.xzzn.common.utils.MapUtils; import com.xzzn.common.utils.StringUtils; @@ -379,7 +378,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i // 其他非 BigDecimal 字段 dataStack.setDataUpdateTime(dataUpdateTime); - dataStack.setWorkStatus(WorkStatus.NORMAL.getCode()); // 或其他默认值 +// dataStack.setWorkStatus(WorkStatus.NORMAL.getCode()); // 或其他默认值 dataStack.setPcsCommunicationStatus(CommunicationStatus.OK.getCode()); dataStack.setEmsCommunicationStatus(CommunicationStatus.OK.getCode()); @@ -669,7 +668,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i saveDeviceData(pointMatchList, obj, data, pointEnumMatchMap); data.setDataUpdateTime(dataUpdateTime); - data.setWorkStatus(WorkStatus.NORMAL.getCode()); // 或其他默认值 +// data.setWorkStatus(WorkStatus.NORMAL.getCode()); // 或其他默认值 data.setPcsCommunicationStatus(CommunicationStatus.OK.getCode()); data.setEmsCommunicationStatus(CommunicationStatus.OK.getCode()); data.setCreateBy("system"); @@ -812,9 +811,9 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i // 时间与状态类字段 pcsData.setDataUpdateTime(dataUpdateTime); - pcsData.setWorkStatus(WorkStatus.NORMAL.getCode()); +// pcsData.setWorkStatus(WorkStatus.NORMAL.getCode()); pcsData.setGridStatus(GridStatus.GRID.getCode()); - pcsData.setDeviceStatus(DeviceRunningStatus.RUNNING.getCode()); + pcsData.setDeviceStatus(DeviceRunningStatus.ONLINE.getCode()); pcsData.setControlMode(ControlModeStatus.REMOTE.getCode()); // 系统管理字段 @@ -936,7 +935,7 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i EmsBatteryCluster data = new EmsBatteryCluster(); // 其他非 BigDecimal 字段 data.setDataUpdateTime(dataUpdateTime); - data.setWorkStatus(WorkStatus.NORMAL.getCode()); // 或其他默认值 +// data.setWorkStatus(WorkStatus.NORMAL.getCode()); // 或其他默认值 data.setPcsCommunicationStatus(CommunicationStatus.OK.getCode()); data.setEmsCommunicationStatus(CommunicationStatus.OK.getCode()); data.setCreateBy("system"); diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsDeviceSettingServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsDeviceSettingServiceImpl.java index d9f4cc2..cc19d4b 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsDeviceSettingServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsDeviceSettingServiceImpl.java @@ -10,9 +10,9 @@ import com.xzzn.common.core.modbus.domain.DeviceConfig; import com.xzzn.common.core.modbus.domain.WriteTagConfig; import com.xzzn.common.core.redis.RedisCache; import com.xzzn.common.enums.DeviceCategory; -import com.xzzn.common.enums.DeviceRunningStatus; import com.xzzn.common.enums.PointType; import com.xzzn.common.enums.SiteEnum; +import com.xzzn.common.enums.WorkStatus; import com.xzzn.common.exception.ServiceException; import com.xzzn.common.utils.DateUtils; import com.xzzn.common.utils.StringUtils; @@ -528,25 +528,14 @@ public class EmsDeviceSettingServiceImpl implements IEmsDeviceSettingService if (pcsSetting == null) { throw new ServiceException("未找到对应PCS配置信息"); } - if (DeviceRunningStatus.getShutdownCodeList().contains(request.getDeviceStatus())) { - // 开机逻辑 - device.setDeviceStatus(DeviceRunningStatus.RUNNING.getCode()); - } else if (DeviceRunningStatus.getRunningCodeList().contains(request.getDeviceStatus())) { - // 关机逻辑 - device.setDeviceStatus(DeviceRunningStatus.SHUTDOWN.getCode()); - } else { - return false; - } // 调用Modbus向设备发送指令 DeviceConfig deviceConfig = getDeviceConfig(device); - deviceConfig.setWriteTags(getWriteTags(device.getDeviceStatus(), pcsSetting)); + deviceConfig.setWriteTags(getWriteTags(request.getWorkStatus(), pcsSetting)); log.info("设备控制指令发送数据: {}", JSON.toJSONString(deviceConfig)); boolean result = modbusProcessor.writeDataToDevice(deviceConfig); if (!result) { throw new ServiceException("设备控制指令发送失败"); } - device.setUpdatedAt(DateUtils.getNowDate()); - emsDevicesMapper.updateEmsDevicesSetting(device); return true; } @@ -563,19 +552,21 @@ public class EmsDeviceSettingServiceImpl implements IEmsDeviceSettingService return deviceConfig; } - public List getWriteTags(String deviceStatus, EmsPcsSetting pcsSetting) { + public List getWriteTags(String workStatus, EmsPcsSetting pcsSetting) { List writeTags = new ArrayList<>(); BigDecimal power; WriteTagConfig writeTag = new WriteTagConfig(); writeTag.setAddress(pcsSetting.getPointAddress()); - if (DeviceRunningStatus.RUNNING.getCode().equals(deviceStatus)) { + if (WorkStatus.NORMAL.getCode().equals(workStatus)) { // 开机 writeTag.setValue(pcsSetting.getStartCommand()); power = pcsSetting.getStartPower(); - } else { + } else if (WorkStatus.STOP.getCode().equals(workStatus)) { // 关机 writeTag.setValue(pcsSetting.getStopCommand()); power = pcsSetting.getStopPower(); + } else { + throw new ServiceException("工作状态不合法"); } writeTags.add(writeTag); JSONArray array = JSON.parseArray(pcsSetting.getClusterPointAddress()); diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java index d7a806f..640cc91 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java @@ -173,8 +173,7 @@ public class EmsStrategyTempServiceImpl implements IEmsStrategyTempService } private void convertStringToDate(String content, SyncStrategyTempVo syncVo) throws JsonProcessingException { - ObjectMapper mapper = new ObjectMapper(); - JsonNode rootNode = mapper.readTree(content); + JsonNode rootNode = objectMapper.readTree(content); String startTime = rootNode.path("startTime").asText(); String endTime = rootNode.path("endTime").asText(); if (startTime != null && !"null".equals(startTime)) { diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java index 8f9d2bd..e95ac48 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java @@ -9,42 +9,73 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.xzzn.common.constant.RedisKeyConstants; import com.xzzn.common.core.redis.RedisCache; -import com.xzzn.common.enums.*; +import com.xzzn.common.enums.BranchStatus; +import com.xzzn.common.enums.ChargeStatus; +import com.xzzn.common.enums.CommunicationStatus; +import com.xzzn.common.enums.ControlModeStatus; +import com.xzzn.common.enums.DeviceRunningStatus; +import com.xzzn.common.enums.GridStatus; +import com.xzzn.common.enums.SwitchStatus; +import com.xzzn.common.enums.WorkStatus; import com.xzzn.common.utils.DateUtils; import com.xzzn.common.utils.StringUtils; -import com.xzzn.ems.domain.*; +import com.xzzn.ems.domain.EmsAmmeterData; +import com.xzzn.ems.domain.EmsBatteryCluster; +import com.xzzn.ems.domain.EmsBatteryData; +import com.xzzn.ems.domain.EmsBatteryDataDailyLatest; +import com.xzzn.ems.domain.EmsBatteryDataMinutes; +import com.xzzn.ems.domain.EmsBatteryStack; +import com.xzzn.ems.domain.EmsCoolingData; +import com.xzzn.ems.domain.EmsDailyChargeData; +import com.xzzn.ems.domain.EmsDailyEnergyData; +import com.xzzn.ems.domain.EmsDevicesSetting; +import com.xzzn.ems.domain.EmsDhData; +import com.xzzn.ems.domain.EmsPcsBranchData; +import com.xzzn.ems.domain.EmsPcsData; +import com.xzzn.ems.domain.EmsPointMatch; import com.xzzn.ems.domain.vo.EnergyPriceTimeRange; import com.xzzn.ems.domain.vo.EnergyPriceVo; import com.xzzn.ems.enums.DeviceMatchTable; -import com.xzzn.ems.mapper.*; +import com.xzzn.ems.mapper.EmsAmmeterDataMapper; +import com.xzzn.ems.mapper.EmsBatteryClusterMapper; +import com.xzzn.ems.mapper.EmsBatteryDataMapper; +import com.xzzn.ems.mapper.EmsBatteryDataMinutesMapper; +import com.xzzn.ems.mapper.EmsBatteryStackMapper; +import com.xzzn.ems.mapper.EmsCoolingDataMapper; +import com.xzzn.ems.mapper.EmsDailyChargeDataMapper; +import com.xzzn.ems.mapper.EmsDailyEnergyDataMapper; +import com.xzzn.ems.mapper.EmsDevicesSettingMapper; +import com.xzzn.ems.mapper.EmsDhDataMapper; +import com.xzzn.ems.mapper.EmsEnergyPriceConfigMapper; +import com.xzzn.ems.mapper.EmsPcsBranchDataMapper; +import com.xzzn.ems.mapper.EmsPcsDataMapper; import com.xzzn.ems.service.IEmsAlarmRecordsService; import com.xzzn.ems.service.IEmsEnergyPriceConfigService; import com.xzzn.ems.service.IFXXDataProcessService; import com.xzzn.ems.utils.AbstractBatteryDataProcessor; import com.xzzn.ems.utils.DevicePointMatchDataProcessor; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.ArrayUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.poi.ss.formula.functions.T; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.yaml.snakeyaml.introspector.PropertyUtils; - import java.lang.reflect.Field; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; -import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.concurrent.TimeUnit; -import java.util.function.Function; import java.util.stream.Collectors; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + @Service public class FXXDataProcessServiceImpl extends AbstractBatteryDataProcessor implements IFXXDataProcessService { private static final Log log = LogFactory.getLog(FXXDataProcessServiceImpl.class); @@ -539,7 +570,7 @@ public class FXXDataProcessServiceImpl extends AbstractBatteryDataProcessor impl pcsData.setDataUpdateTime(dataUpdateTime); pcsData.setWorkStatus(WorkStatus.NORMAL.getCode()); pcsData.setGridStatus(GridStatus.GRID.getCode()); - pcsData.setDeviceStatus(DeviceRunningStatus.RUNNING.getCode()); + pcsData.setDeviceStatus(DeviceRunningStatus.ONLINE.getCode()); pcsData.setControlMode(ControlModeStatus.REMOTE.getCode()); // 系统管理字段