Compare commits

...

2 Commits

11 changed files with 100 additions and 25 deletions

View File

@ -8,6 +8,7 @@ import com.xzzn.common.utils.file.FileUploadUtils;
import com.xzzn.common.utils.file.MimeTypeUtils; import com.xzzn.common.utils.file.MimeTypeUtils;
import com.xzzn.ems.domain.EmsDevicesSetting; import com.xzzn.ems.domain.EmsDevicesSetting;
import com.xzzn.ems.domain.EmsSiteSetting; import com.xzzn.ems.domain.EmsSiteSetting;
import com.xzzn.ems.domain.vo.DeviceUpdateRequest;
import com.xzzn.ems.domain.vo.PointDataRequest; import com.xzzn.ems.domain.vo.PointDataRequest;
import com.xzzn.ems.domain.vo.PointQueryResponse; import com.xzzn.ems.domain.vo.PointQueryResponse;
import com.xzzn.ems.domain.vo.SiteDeviceListVo; import com.xzzn.ems.domain.vo.SiteDeviceListVo;
@ -21,6 +22,8 @@ import org.springframework.web.multipart.MultipartFile;
import java.util.List; import java.util.List;
import javax.validation.Valid;
/** /**
* *
* 站点配置 * 站点配置
@ -177,4 +180,13 @@ public class EmsSiteConfigController extends BaseController{
{ {
return success(iEmsDeviceSettingService.getDeviceListBySiteAndCategory(siteId, deviceCategory)); return success(iEmsDeviceSettingService.getDeviceListBySiteAndCategory(siteId, deviceCategory));
} }
/**
* PCS设备开关机
*/
@PostMapping("/updateDeviceStatus")
public AjaxResult updateDeviceStatus(@Valid DeviceUpdateRequest request)
{
return success(iEmsDeviceSettingService.updateDeviceStatus(request));
}
} }

View File

@ -51,7 +51,7 @@ public class ModbusPoller {
public void pollAllDevices() { public void pollAllDevices() {
logger.info("开始执行Modbus设备轮询..."); logger.info("开始执行Modbus设备轮询...");
EmsDevicesSetting selectEntity = new EmsDevicesSetting(); EmsDevicesSetting selectEntity = new EmsDevicesSetting();
selectEntity.setRunningStatus(DeviceRunningStatus.RUNNING.getCode()); selectEntity.setDeviceStatus(DeviceRunningStatus.RUNNING.getCode());
List<EmsDevicesSetting> activeDevices = deviceRepo.selectEmsDevicesSettingList(selectEntity); List<EmsDevicesSetting> activeDevices = deviceRepo.selectEmsDevicesSettingList(selectEntity);
EmsDevicesSetting device = activeDevices.get(0); EmsDevicesSetting device = activeDevices.get(0);
@ -103,8 +103,8 @@ public class ModbusPoller {
} }
// 设备轮询不到修改运行状态 // 设备轮询不到修改运行状态
String beforeStatus = device.getRunningStatus(); String beforeStatus = device.getDeviceStatus();
device.setRunningStatus(DeviceRunningStatus.SHUTDOWN.getCode()); device.setDeviceStatus(DeviceRunningStatus.SHUTDOWN.getCode());
emsDeviceSettingServiceImpl.updateDevice(device); emsDeviceSettingServiceImpl.updateDevice(device);
// 轮询设备,设备状态变更日志 // 轮询设备,设备状态变更日志
@ -117,16 +117,16 @@ public class ModbusPoller {
// 处理获取到的数据 // 处理获取到的数据
private void processData(EmsDevicesSetting device, int[] data) throws MqttException { private void processData(EmsDevicesSetting device, int[] data) throws MqttException {
String beforeStatus = device.getRunningStatus(); String beforeStatus = device.getDeviceStatus();
Boolean error = true; Boolean error = true;
if (data == null || data.length == 0) { if (data == null || data.length == 0) {
logger.warn("设备{}返回空数据", device.getId()); logger.warn("设备{}返回空数据", device.getId());
// 设备读取不到-设置设备故障 // 设备读取不到-设置设备故障
device.setRunningStatus(DeviceRunningStatus.FAULT.getCode()); device.setDeviceStatus(DeviceRunningStatus.FAULT.getCode());
error = false; error = false;
} else { } else {
// 恢复设备状态 - 运行 // 恢复设备状态 - 运行
device.setRunningStatus(DeviceRunningStatus.RUNNING.getCode()); device.setDeviceStatus(DeviceRunningStatus.RUNNING.getCode());
} }
emsDeviceSettingServiceImpl.updateDevice(device); emsDeviceSettingServiceImpl.updateDevice(device);
// 轮询设备,设备状态变更日志 // 轮询设备,设备状态变更日志
@ -171,7 +171,7 @@ public class ModbusPoller {
log.setSiteId(device.getSiteId()); log.setSiteId(device.getSiteId());
log.setDeviceId(device.getDeviceId()); log.setDeviceId(device.getDeviceId());
log.setBeforeStatus(beforeStatus); log.setBeforeStatus(beforeStatus);
log.setAfterStatus(device.getRunningStatus()); log.setAfterStatus(device.getDeviceStatus());
log.setCreateBy("sys"); log.setCreateBy("sys");
log.setCreateTime(new Date()); log.setCreateTime(new Date());
return log; return log;

View File

@ -104,7 +104,7 @@ public class EmsDevicesSetting extends BaseEntity
/** 设备运行状态0-离线、1-待机、2-运行、3-故障、4-停机 */ /** 设备运行状态0-离线、1-待机、2-运行、3-故障、4-停机 */
@Excel(name = "设备运行状态0-离线、1-待机、2-运行、3-故障、4-停机") @Excel(name = "设备运行状态0-离线、1-待机、2-运行、3-故障、4-停机")
private String runningStatus; private String deviceStatus;
/** 设备图像地址 */ /** 设备图像地址 */
@Excel(name = "设备图像地址") @Excel(name = "设备图像地址")
@ -320,12 +320,12 @@ public class EmsDevicesSetting extends BaseEntity
return deviceCategory; return deviceCategory;
} }
public String getRunningStatus() { public String getDeviceStatus() {
return runningStatus; return deviceStatus;
} }
public void setRunningStatus(String runningStatus) { public void setDeviceStatus(String deviceStatus) {
this.runningStatus = runningStatus; this.deviceStatus = deviceStatus;
} }
public void setPictureUrl(String pictureUrl) public void setPictureUrl(String pictureUrl)
@ -362,7 +362,7 @@ public class EmsDevicesSetting extends BaseEntity
.append("deviceId", getDeviceId()) .append("deviceId", getDeviceId())
.append("parentId", getParentId()) .append("parentId", getParentId())
.append("deviceCategory", getDeviceCategory()) .append("deviceCategory", getDeviceCategory())
.append("runningStatus", getRunningStatus()) .append("deviceStatus", getDeviceStatus())
.append("pictureUrl", getPictureUrl()) .append("pictureUrl", getPictureUrl())
.toString(); .toString();
} }

View File

@ -0,0 +1,46 @@
package com.xzzn.ems.domain.vo;
import javax.validation.constraints.NotBlank;
/**
* 设备信息更新入参
*
*/
public class DeviceUpdateRequest {
/** 站点id */
@NotBlank(message = "站点ID不能为空")
private String siteId;
/** 设备id */
@NotBlank(message = "设备ID不能为空")
private String deviceId;
/** 设备状态0-离线、1-待机、2-运行、3-故障、4-停机 */
private String deviceStatus;
public String getSiteId() {
return siteId;
}
public void setSiteId(String siteId) {
this.siteId = siteId;
}
public String getDeviceId() {
return deviceId;
}
public void setDeviceId(String deviceId) {
this.deviceId = deviceId;
}
public String getDeviceStatus() {
return deviceStatus;
}
public void setDeviceStatus(String deviceStatus) {
this.deviceStatus = deviceStatus;
}
}

View File

@ -16,7 +16,7 @@ public class SiteDeviceListVo {
/** 设备类型 */ /** 设备类型 */
private String deviceType; private String deviceType;
/** 运行状态 */ /** 运行状态 */
private String runningStatus; private String deviceStatus;
/** 设备类型 */ /** 设备类型 */
private String deviceCategory; private String deviceCategory;
/** 设备类型 */ /** 设备类型 */
@ -78,12 +78,12 @@ public class SiteDeviceListVo {
this.deviceType = deviceType; this.deviceType = deviceType;
} }
public String getRunningStatus() { public String getDeviceStatus() {
return runningStatus; return deviceStatus;
} }
public void setRunningStatus(String runningStatus) { public void setDeviceStatus(String deviceStatus) {
this.runningStatus = runningStatus; this.deviceStatus = deviceStatus;
} }
public String getDeviceCategory() { public String getDeviceCategory() {

View File

@ -3,6 +3,7 @@ package com.xzzn.ems.service;
import com.xzzn.common.enums.DeviceCategory; import com.xzzn.common.enums.DeviceCategory;
import com.xzzn.ems.domain.EmsDevicesSetting; import com.xzzn.ems.domain.EmsDevicesSetting;
import com.xzzn.ems.domain.EmsPointMatch; 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.PointDataRequest;
import com.xzzn.ems.domain.vo.PointQueryResponse; import com.xzzn.ems.domain.vo.PointQueryResponse;
@ -33,4 +34,6 @@ public interface IEmsDeviceSettingService
public Map<String, List<EmsDevicesSetting>> initDeviceInfo(); public Map<String, List<EmsDevicesSetting>> initDeviceInfo();
public List<Map<String, Object>> getDeviceListBySiteAndCategory(String siteId, String deviceCategory); public List<Map<String, Object>> getDeviceListBySiteAndCategory(String siteId, String deviceCategory);
public boolean updateDeviceStatus(DeviceUpdateRequest request);
} }

View File

@ -774,6 +774,12 @@ public class DeviceDataProcessServiceImpl extends AbstractBatteryDataProcessor i
emsPcsDataMapper.insertEmsPcsData(pcsData); emsPcsDataMapper.insertEmsPcsData(pcsData);
redisCache.setCacheObject(RedisKeyConstants.PCS + siteId + "_" + deviceId, pcsData); redisCache.setCacheObject(RedisKeyConstants.PCS + siteId + "_" + deviceId, pcsData);
// 同步更新PCS设备状态
// EmsDevicesSetting emsDevicesSetting = emsDevicesSettingMapper.getDeviceBySiteAndDeviceId(deviceId, siteId);
// emsDevicesSetting.setDeviceStatus(pcsData.getDeviceStatus());
// emsDevicesSetting.setUpdatedAt(DateUtils.getNowDate());
// emsDevicesSettingMapper.updateEmsDevicesSetting(emsDevicesSetting);
if (SiteEnum.FX.getCode().equals(siteId)) { if (SiteEnum.FX.getCode().equals(siteId)) {
//更新每日充放电数据 //更新每日充放电数据
dealFXXDailyChargeDate(siteId, deviceId, pcsData); dealFXXDailyChargeDate(siteId, deviceId, pcsData);

View File

@ -11,6 +11,7 @@ import com.xzzn.common.enums.SiteEnum;
import com.xzzn.common.utils.DateUtils; import com.xzzn.common.utils.DateUtils;
import com.xzzn.common.utils.StringUtils; import com.xzzn.common.utils.StringUtils;
import com.xzzn.ems.domain.EmsDevicesSetting; import com.xzzn.ems.domain.EmsDevicesSetting;
import com.xzzn.ems.domain.vo.DeviceUpdateRequest;
import com.xzzn.ems.domain.vo.PointDataRequest; import com.xzzn.ems.domain.vo.PointDataRequest;
import com.xzzn.ems.domain.vo.PointQueryResponse; import com.xzzn.ems.domain.vo.PointQueryResponse;
import com.xzzn.ems.mapper.EmsBatteryDataMinutesMapper; import com.xzzn.ems.mapper.EmsBatteryDataMinutesMapper;
@ -468,4 +469,9 @@ public class EmsDeviceSettingServiceImpl implements IEmsDeviceSettingService
public List<Map<String, Object>> getDeviceListBySiteAndCategory(String siteId, String deviceCategory) { public List<Map<String, Object>> getDeviceListBySiteAndCategory(String siteId, String deviceCategory) {
return emsDevicesMapper.getDeviceInfosBySiteIdAndCategory(siteId, deviceCategory); return emsDevicesMapper.getDeviceInfosBySiteIdAndCategory(siteId, deviceCategory);
} }
@Override
public boolean updateDeviceStatus(DeviceUpdateRequest request) {
return false;
}
} }

View File

@ -438,6 +438,7 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
// // 报警个数 // // 报警个数
// int alarmNum = emsAlarmRecordsMapper.getDeviceAlarmNum(siteId,pcsId); // int alarmNum = emsAlarmRecordsMapper.getDeviceAlarmNum(siteId,pcsId);
pcsDetailInfoVo.setAlarmNum(alarmNum); pcsDetailInfoVo.setAlarmNum(alarmNum);
pcsDetailInfoVo.setDeviceStatus(pcsDevice.get("deviceStatus") == null ? "" : pcsDevice.get("deviceStatus").toString());
pcsDetailInfoVoList.add(pcsDetailInfoVo); pcsDetailInfoVoList.add(pcsDetailInfoVo);
} }

View File

@ -26,12 +26,12 @@
<result property="deviceId" column="device_id" /> <result property="deviceId" column="device_id" />
<result property="parentId" column="parent_id" /> <result property="parentId" column="parent_id" />
<result property="deviceCategory" column="device_category" /> <result property="deviceCategory" column="device_category" />
<result property="runningStatus" column="running_status" /> <result property="deviceStatus" column="device_status" />
<result property="pictureUrl" column="picture_url" /> <result property="pictureUrl" column="picture_url" />
</resultMap> </resultMap>
<sql id="selectEmsDevicesSettingVo"> <sql id="selectEmsDevicesSettingVo">
select id, device_name, device_type, slave_id, timeout_ms, retries, ip_address, ip_port, serial_port, baud_rate, data_bits, stop_bits, parity, description, created_at, updated_at, site_id, communication_status, device_id, parent_id, device_category, running_status, picture_url from ems_devices_setting select id, device_name, device_type, slave_id, timeout_ms, retries, ip_address, ip_port, serial_port, baud_rate, data_bits, stop_bits, parity, description, created_at, updated_at, site_id, communication_status, device_id, parent_id, device_category,device_status, picture_url from ems_devices_setting
</sql> </sql>
<select id="selectEmsDevicesSettingList" parameterType="EmsDevicesSetting" resultMap="EmsDevicesSettingResult"> <select id="selectEmsDevicesSettingList" parameterType="EmsDevicesSetting" resultMap="EmsDevicesSettingResult">
@ -57,7 +57,7 @@
<if test="deviceId != null and deviceId != ''"> and device_id = #{deviceId}</if> <if test="deviceId != null and deviceId != ''"> and device_id = #{deviceId}</if>
<if test="parentId != null and parentId != ''"> and parent_id = #{parentId}</if> <if test="parentId != null and parentId != ''"> and parent_id = #{parentId}</if>
<if test="deviceCategory != null and deviceCategory != ''"> and device_category = #{deviceCategory}</if> <if test="deviceCategory != null and deviceCategory != ''"> and device_category = #{deviceCategory}</if>
<if test="runningStatus != null and runningStatus != ''"> and running_status = #{runningStatus}</if> <if test="deviceStatus != null and deviceStatus != ''"> and device_status = #{deviceStatus}</if>
<if test="pictureUrl != null and pictureUrl != ''"> and picture_url = #{pictureUrl}</if> <if test="pictureUrl != null and pictureUrl != ''"> and picture_url = #{pictureUrl}</if>
</where> </where>
</select> </select>
@ -90,7 +90,7 @@
<if test="deviceId != null and deviceId != ''">device_id,</if> <if test="deviceId != null and deviceId != ''">device_id,</if>
<if test="parentId != null">parent_id,</if> <if test="parentId != null">parent_id,</if>
<if test="deviceCategory != null">device_category,</if> <if test="deviceCategory != null">device_category,</if>
<if test="runningStatus != null">running_status,</if> <if test="deviceStatus != null">device_status,</if>
<if test="pictureUrl != null">picture_url,</if> <if test="pictureUrl != null">picture_url,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
@ -114,7 +114,7 @@
<if test="deviceId != null and deviceId != ''">#{deviceId},</if> <if test="deviceId != null and deviceId != ''">#{deviceId},</if>
<if test="parentId != null">#{parentId},</if> <if test="parentId != null">#{parentId},</if>
<if test="deviceCategory != null">#{deviceCategory},</if> <if test="deviceCategory != null">#{deviceCategory},</if>
<if test="runningStatus != null">#{runningStatus},</if> <if test="deviceStatus != null">#{deviceStatus},</if>
<if test="pictureUrl != null">#{pictureUrl},</if> <if test="pictureUrl != null">#{pictureUrl},</if>
</trim> </trim>
</insert> </insert>
@ -142,7 +142,7 @@
<if test="deviceId != null and deviceId != ''">device_id = #{deviceId},</if> <if test="deviceId != null and deviceId != ''">device_id = #{deviceId},</if>
<if test="parentId != null">parent_id = #{parentId},</if> <if test="parentId != null">parent_id = #{parentId},</if>
<if test="deviceCategory != null">device_category = #{deviceCategory},</if> <if test="deviceCategory != null">device_category = #{deviceCategory},</if>
<if test="runningStatus != null">running_status = #{runningStatus},</if> <if test="deviceStatus != null">device_status = #{deviceStatus},</if>
<if test="pictureUrl != null">picture_url = #{pictureUrl},</if> <if test="pictureUrl != null">picture_url = #{pictureUrl},</if>
</trim> </trim>
where id = #{id} where id = #{id}
@ -190,6 +190,7 @@
select DISTINCT t1.device_id as id, select DISTINCT t1.device_id as id,
t1.device_name as deviceName, t1.device_name as deviceName,
t1.communication_status as communicationStatus, t1.communication_status as communicationStatus,
t1.device_status as deviceStatus,
t1.parent_id as parentDeviceId, t1.parent_id as parentDeviceId,
t2.device_name as parentDeviceName t2.device_name as parentDeviceName
from ems_devices_setting t1 from ems_devices_setting t1

View File

@ -136,7 +136,7 @@
<select id="getAllSiteDeviceList" parameterType="String" resultType="com.xzzn.ems.domain.vo.SiteDeviceListVo"> <select id="getAllSiteDeviceList" parameterType="String" resultType="com.xzzn.ems.domain.vo.SiteDeviceListVo">
select es.site_id as siteId,es.site_name as siteName, select es.site_id as siteId,es.site_name as siteName,
ed.device_id as deviceId,ed.device_name as deviceName, ed.device_id as deviceId,ed.device_name as deviceName,
ed.device_type as deviceType,ed.running_status as runningStatus, ed.device_type as deviceType,ed.device_status as deviceStatus,
ed.device_category as deviceCategory, ed.device_category as deviceCategory,
ed.picture_url as pictureUrl, ed.picture_url as pictureUrl,
ed.id, ed.id,