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.ems.domain.EmsDevicesSetting;
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.PointQueryResponse;
import com.xzzn.ems.domain.vo.SiteDeviceListVo;
@ -21,6 +22,8 @@ import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import javax.validation.Valid;
/**
*
* 站点配置
@ -177,4 +180,13 @@ public class EmsSiteConfigController extends BaseController{
{
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() {
logger.info("开始执行Modbus设备轮询...");
EmsDevicesSetting selectEntity = new EmsDevicesSetting();
selectEntity.setRunningStatus(DeviceRunningStatus.RUNNING.getCode());
selectEntity.setDeviceStatus(DeviceRunningStatus.RUNNING.getCode());
List<EmsDevicesSetting> activeDevices = deviceRepo.selectEmsDevicesSettingList(selectEntity);
EmsDevicesSetting device = activeDevices.get(0);
@ -103,8 +103,8 @@ public class ModbusPoller {
}
// 设备轮询不到修改运行状态
String beforeStatus = device.getRunningStatus();
device.setRunningStatus(DeviceRunningStatus.SHUTDOWN.getCode());
String beforeStatus = device.getDeviceStatus();
device.setDeviceStatus(DeviceRunningStatus.SHUTDOWN.getCode());
emsDeviceSettingServiceImpl.updateDevice(device);
// 轮询设备,设备状态变更日志
@ -117,16 +117,16 @@ public class ModbusPoller {
// 处理获取到的数据
private void processData(EmsDevicesSetting device, int[] data) throws MqttException {
String beforeStatus = device.getRunningStatus();
String beforeStatus = device.getDeviceStatus();
Boolean error = true;
if (data == null || data.length == 0) {
logger.warn("设备{}返回空数据", device.getId());
// 设备读取不到-设置设备故障
device.setRunningStatus(DeviceRunningStatus.FAULT.getCode());
device.setDeviceStatus(DeviceRunningStatus.FAULT.getCode());
error = false;
} else {
// 恢复设备状态 - 运行
device.setRunningStatus(DeviceRunningStatus.RUNNING.getCode());
device.setDeviceStatus(DeviceRunningStatus.RUNNING.getCode());
}
emsDeviceSettingServiceImpl.updateDevice(device);
// 轮询设备,设备状态变更日志
@ -171,7 +171,7 @@ public class ModbusPoller {
log.setSiteId(device.getSiteId());
log.setDeviceId(device.getDeviceId());
log.setBeforeStatus(beforeStatus);
log.setAfterStatus(device.getRunningStatus());
log.setAfterStatus(device.getDeviceStatus());
log.setCreateBy("sys");
log.setCreateTime(new Date());
return log;

View File

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

View File

@ -3,6 +3,7 @@ package com.xzzn.ems.service;
import com.xzzn.common.enums.DeviceCategory;
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;
@ -33,4 +34,6 @@ public interface IEmsDeviceSettingService
public Map<String, List<EmsDevicesSetting>> initDeviceInfo();
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);
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)) {
//更新每日充放电数据
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.StringUtils;
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.PointQueryResponse;
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) {
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);
pcsDetailInfoVo.setAlarmNum(alarmNum);
pcsDetailInfoVo.setDeviceStatus(pcsDevice.get("deviceStatus") == null ? "" : pcsDevice.get("deviceStatus").toString());
pcsDetailInfoVoList.add(pcsDetailInfoVo);
}

View File

@ -26,12 +26,12 @@
<result property="deviceId" column="device_id" />
<result property="parentId" column="parent_id" />
<result property="deviceCategory" column="device_category" />
<result property="runningStatus" column="running_status" />
<result property="deviceStatus" column="device_status" />
<result property="pictureUrl" column="picture_url" />
</resultMap>
<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>
<select id="selectEmsDevicesSettingList" parameterType="EmsDevicesSetting" resultMap="EmsDevicesSettingResult">
@ -57,7 +57,7 @@
<if test="deviceId != null and deviceId != ''"> and device_id = #{deviceId}</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="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>
</where>
</select>
@ -90,7 +90,7 @@
<if test="deviceId != null and deviceId != ''">device_id,</if>
<if test="parentId != null">parent_id,</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>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
@ -114,7 +114,7 @@
<if test="deviceId != null and deviceId != ''">#{deviceId},</if>
<if test="parentId != null">#{parentId},</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>
</trim>
</insert>
@ -142,7 +142,7 @@
<if test="deviceId != null and deviceId != ''">device_id = #{deviceId},</if>
<if test="parentId != null">parent_id = #{parentId},</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>
</trim>
where id = #{id}
@ -190,6 +190,7 @@
select DISTINCT t1.device_id as id,
t1.device_name as deviceName,
t1.communication_status as communicationStatus,
t1.device_status as deviceStatus,
t1.parent_id as parentDeviceId,
t2.device_name as parentDeviceName
from ems_devices_setting t1

View File

@ -136,7 +136,7 @@
<select id="getAllSiteDeviceList" parameterType="String" resultType="com.xzzn.ems.domain.vo.SiteDeviceListVo">
select es.site_id as siteId,es.site_name as siteName,
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.picture_url as pictureUrl,
ed.id,