From c6fca8b9397c54dd5981214eb60aa3aed939bbca Mon Sep 17 00:00:00 2001 From: zq Date: Fri, 12 Dec 2025 13:25:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E4=BF=AE=E6=94=B9=E6=84=8F?= =?UTF-8?q?=E8=A7=8120251120-=E6=96=B0=E5=A2=9EPCS=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E5=BC=80=E5=85=B3=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ems/EmsSiteConfigController.java | 2 +- .../common/enums/DeviceRunningStatus.java | 15 ++++++++ .../ems/domain/vo/DeviceUpdateRequest.java | 10 ++++++ .../xzzn/ems/mapper/EmsPointMatchMapper.java | 3 ++ .../impl/EmsDeviceSettingServiceImpl.java | 34 ++++++++++++++++++- .../mapper/ems/EmsPointMatchMapper.xml | 7 ++++ 6 files changed, 69 insertions(+), 2 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 3f46464..41ec25b 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 @@ -185,7 +185,7 @@ public class EmsSiteConfigController extends BaseController{ * PCS设备开关机 */ @PostMapping("/updateDeviceStatus") - public AjaxResult updateDeviceStatus(@Valid DeviceUpdateRequest request) + public AjaxResult updateDeviceStatus(@Valid @RequestBody DeviceUpdateRequest request) { return success(iEmsDeviceSettingService.updateDeviceStatus(request)); } 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 c71850b..aa91496 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,5 +1,8 @@ package com.xzzn.common.enums; +import java.util.Arrays; +import java.util.List; + /** * device-通信状态 * @@ -31,4 +34,16 @@ 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-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 ba5db62..0666997 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 @@ -19,6 +19,8 @@ public class DeviceUpdateRequest { /** 设备状态:0-离线、1-待机、2-运行、3-故障、4-停机 */ private String deviceStatus; + /** 设备类型 */ + private String deviceCategory; public String getSiteId() { return siteId; @@ -43,4 +45,12 @@ public class DeviceUpdateRequest { public void setDeviceStatus(String deviceStatus) { this.deviceStatus = deviceStatus; } + + public String getDeviceCategory() { + return deviceCategory; + } + + public void setDeviceCategory(String deviceCategory) { + this.deviceCategory = deviceCategory; + } } diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsPointMatchMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsPointMatchMapper.java index e7b3795..2e08d80 100644 --- a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsPointMatchMapper.java +++ b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsPointMatchMapper.java @@ -7,6 +7,7 @@ import java.util.Map; import com.xzzn.ems.domain.EmsPointMatch; import com.xzzn.ems.domain.vo.DevicePointMatchExportVo; import com.xzzn.ems.domain.vo.DevicePointMatchVo; +import com.xzzn.ems.domain.vo.DeviceUpdateRequest; import com.xzzn.ems.domain.vo.GeneralQueryDataVo; import com.xzzn.ems.domain.vo.PointQueryResponse; import org.apache.ibatis.annotations.Param; @@ -169,4 +170,6 @@ public interface EmsPointMatchMapper List selectEmsPointMatchExportList(EmsPointMatch emsPointMatch); int getDevicePointAlarmNum(@Param("siteId") String siteId, @Param("deviceCategory") String deviceCategory); + + EmsPointMatch selectDeviceStatusPoint(@Param("request") DeviceUpdateRequest request); } 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 1f8ca96..2f279b9 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 @@ -6,11 +6,15 @@ import com.alibaba.fastjson2.TypeReference; import com.xzzn.common.constant.RedisKeyConstants; 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.exception.ServiceException; import com.xzzn.common.utils.DateUtils; import com.xzzn.common.utils.StringUtils; +import com.xzzn.common.utils.file.ImageUtils; import com.xzzn.ems.domain.EmsDevicesSetting; +import com.xzzn.ems.domain.EmsPointMatch; import com.xzzn.ems.domain.vo.DeviceUpdateRequest; import com.xzzn.ems.domain.vo.PointDataRequest; import com.xzzn.ems.domain.vo.PointQueryResponse; @@ -18,6 +22,9 @@ import com.xzzn.ems.mapper.EmsBatteryDataMinutesMapper; import com.xzzn.ems.mapper.EmsDevicesSettingMapper; import com.xzzn.ems.mapper.EmsPointMatchMapper; import com.xzzn.ems.service.IEmsDeviceSettingService; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -33,6 +40,8 @@ import java.util.stream.Collectors; @Service public class EmsDeviceSettingServiceImpl implements IEmsDeviceSettingService { + private static final Logger log = LoggerFactory.getLogger(EmsDeviceSettingServiceImpl.class); + private static final String DDS_SITE_ID = "021_DDS_01"; @Autowired @@ -472,6 +481,29 @@ public class EmsDeviceSettingServiceImpl implements IEmsDeviceSettingService @Override public boolean updateDeviceStatus(DeviceUpdateRequest request) { - return false; + EmsDevicesSetting device = emsDevicesMapper.getDeviceBySiteAndDeviceId(request.getDeviceId(), request.getSiteId()); + if (device == null) { + throw new ServiceException("未找到对应设备配置信息"); + } + // 查询设备配置的设备状态对应点位 +// request.setDeviceCategory(DeviceCategory.PCS.getCode()); +// EmsPointMatch pointMatch = emsPointMatchMapper.selectDeviceStatusPoint(request); +// if (pointMatch == null) { +// throw new ServiceException("未找到对应设备状态点位"); +// } + 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; + } + // TODO 调用Modbus向设备发送指令 + + device.setUpdatedAt(DateUtils.getNowDate()); + emsDevicesMapper.updateEmsDevicesSetting(device); + return true; } } diff --git a/ems-system/src/main/resources/mapper/ems/EmsPointMatchMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsPointMatchMapper.xml index 91eb980..33cb9da 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsPointMatchMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsPointMatchMapper.xml @@ -540,5 +540,12 @@ and device_id = #{deviceId} and device_category = #{deviceCategory} + \ No newline at end of file