|
|
|
@ -2,12 +2,22 @@ package cn.iocoder.yudao.module.iot.framework.gateway.service.impl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|
|
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|
|
|
|
|
|
|
import cn.iocoder.yudao.module.iot.dal.dataobject.device.DeviceAttributeDO;
|
|
|
|
import cn.iocoder.yudao.module.iot.dal.dataobject.device.DeviceDO;
|
|
|
|
import cn.iocoder.yudao.module.iot.dal.dataobject.device.DeviceDO;
|
|
|
|
import cn.iocoder.yudao.module.iot.dal.dataobject.gateway.GatewayDO;
|
|
|
|
import cn.iocoder.yudao.module.iot.dal.dataobject.gateway.GatewayDO;
|
|
|
|
|
|
|
|
import cn.iocoder.yudao.module.iot.dal.mysql.device.DeviceAttributeMapper;
|
|
|
|
|
|
|
|
import cn.iocoder.yudao.module.iot.dal.mysql.device.DeviceMapper;
|
|
|
|
|
|
|
|
import cn.iocoder.yudao.module.iot.framework.constant.AddressDataType;
|
|
|
|
|
|
|
|
import cn.iocoder.yudao.module.iot.framework.gateway.bo.ChangeStatus;
|
|
|
|
import cn.iocoder.yudao.module.iot.framework.gateway.bo.HttpEntity;
|
|
|
|
import cn.iocoder.yudao.module.iot.framework.gateway.bo.HttpEntity;
|
|
|
|
import cn.iocoder.yudao.module.iot.framework.gateway.entity.DeviceVideoEntity;
|
|
|
|
import cn.iocoder.yudao.module.iot.framework.gateway.entity.*;
|
|
|
|
|
|
|
|
import cn.iocoder.yudao.module.iot.framework.gateway.service.GatewayMqttService;
|
|
|
|
|
|
|
|
import cn.iocoder.yudao.module.iot.framework.gateway.service.IModbusPointService;
|
|
|
|
|
|
|
|
import cn.iocoder.yudao.module.iot.framework.gateway.service.ISiemensPointService;
|
|
|
|
|
|
|
|
import cn.iocoder.yudao.module.iot.framework.gateway.service.IVideoService;
|
|
|
|
import cn.iocoder.yudao.module.iot.framework.gateway.util.HttpUtils;
|
|
|
|
import cn.iocoder.yudao.module.iot.framework.gateway.util.HttpUtils;
|
|
|
|
import cn.iocoder.yudao.module.iot.framework.gateway.util.UrlConstans;
|
|
|
|
import cn.iocoder.yudao.module.iot.framework.gateway.util.UrlConstans;
|
|
|
|
|
|
|
|
import cn.iocoder.yudao.module.iot.service.device.DeviceService;
|
|
|
|
import cn.iocoder.yudao.module.iot.service.gateway.GatewayService;
|
|
|
|
import cn.iocoder.yudao.module.iot.service.gateway.GatewayService;
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
|
import lombok.Data;
|
|
|
|
import lombok.Data;
|
|
|
|
@ -19,6 +29,7 @@ import org.apache.http.util.EntityUtils;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.List;
|
|
|
|
@ -26,17 +37,19 @@ import java.util.List;
|
|
|
|
|
|
|
|
|
|
|
|
@Service
|
|
|
|
@Service
|
|
|
|
public class TheGatewayServiceImpl {
|
|
|
|
public class TheGatewayServiceImpl {
|
|
|
|
@Autowired
|
|
|
|
@Resource
|
|
|
|
private IBeEquipmentsSiemensService beEquipmentsSiemensService;
|
|
|
|
private DeviceMapper deviceMapper;
|
|
|
|
@Autowired
|
|
|
|
@Resource
|
|
|
|
private IIoPointService ioPointService;
|
|
|
|
private DeviceAttributeMapper deviceAttributeMapper;
|
|
|
|
@Autowired
|
|
|
|
@Resource
|
|
|
|
private IVideoService videoService;
|
|
|
|
private IVideoService videoService;
|
|
|
|
@Autowired
|
|
|
|
@Resource
|
|
|
|
private ISiemensPointService siemensPointService;
|
|
|
|
private ISiemensPointService siemensPointService;
|
|
|
|
@Autowired
|
|
|
|
@Resource
|
|
|
|
private IMqttService mqttService;
|
|
|
|
private IModbusPointService modbusPointService;
|
|
|
|
@Autowired
|
|
|
|
@Resource
|
|
|
|
|
|
|
|
private GatewayMqttService gatewayMqttService;
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
private GatewayService gatewayService;
|
|
|
|
private GatewayService gatewayService;
|
|
|
|
|
|
|
|
|
|
|
|
//清除原本的西门子设备和点位数据
|
|
|
|
//清除原本的西门子设备和点位数据
|
|
|
|
@ -67,29 +80,30 @@ public class TheGatewayServiceImpl {
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
//清除指定原本的西门子设备和点位数据
|
|
|
|
//清除指定原本的西门子设备和点位数据
|
|
|
|
public void deleteSiemensEntity(GatewayDO gatewayDO, String deviceCode) {
|
|
|
|
public void deleteSiemensEntity(GatewayDO gatewayDO, DeviceDO deviceDO) {
|
|
|
|
siemensPointService.login(gatewaysMessage.getAdminIp(), gatewaysMessage.getUsername(), gatewaysMessage.getPassword());
|
|
|
|
|
|
|
|
List<DeviceSiemensEntity> list = siemensPointService.getSiemensList(gatewaysMessage.getAdminIp(),
|
|
|
|
siemensPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
|
|
|
|
gatewaysMessage.getUsername(), gatewaysMessage.getPassword(), deviceId);
|
|
|
|
List<DeviceSiemensEntity> list = siemensPointService.getSiemensList(gatewayDO.getAdminIp(),
|
|
|
|
|
|
|
|
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceDO.getDeviceCode());
|
|
|
|
if (null != list && list.size() > 0) {
|
|
|
|
if (null != list && list.size() > 0) {
|
|
|
|
//先清除点位数据
|
|
|
|
//先清除点位数据
|
|
|
|
String[] deviceIds = new String[list.size()];
|
|
|
|
String[] deviceIds = new String[list.size()];
|
|
|
|
for (int i = 0; i < list.size(); i++) {
|
|
|
|
for (int i = 0; i < list.size(); i++) {
|
|
|
|
deviceIds[i] = list.get(i).getDeviceConfigID();
|
|
|
|
deviceIds[i] = list.get(i).getDeviceConfigID();
|
|
|
|
//删除每个设备下的原有点位
|
|
|
|
//删除每个设备下的原有点位
|
|
|
|
List<SiemensPointEntity> pointList = siemensPointService.getPointListAll(gatewaysMessage.getAdminIp(),
|
|
|
|
List<SiemensPointEntity> pointList = siemensPointService.getPointListAll(gatewayDO.getAdminIp(),
|
|
|
|
list.get(i).getDeviceConfigID(), gatewaysMessage.getUsername(), gatewaysMessage.getPassword());
|
|
|
|
list.get(i).getDeviceConfigID(), gatewayDO.getUsername(), gatewayDO.getPassword());
|
|
|
|
if (pointList != null && pointList.size() > 0) {
|
|
|
|
if (pointList != null && pointList.size() > 0) {
|
|
|
|
String[] addressIds = new String[pointList.size()];
|
|
|
|
String[] addressIds = new String[pointList.size()];
|
|
|
|
for (int j = 0; j < pointList.size(); j++) {
|
|
|
|
for (int j = 0; j < pointList.size(); j++) {
|
|
|
|
addressIds[j] = pointList.get(j).getDeviceConfigContentID().toString();
|
|
|
|
addressIds[j] = pointList.get(j).getDeviceConfigContentID().toString();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//删除点位
|
|
|
|
//删除点位
|
|
|
|
siemensPointService.deletePoint(gatewaysMessage.getAdminIp(), String.join(",", addressIds));
|
|
|
|
siemensPointService.deletePoint(gatewayDO.getAdminIp(), String.join(",", addressIds));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//再清除设备数据
|
|
|
|
//再清除设备数据
|
|
|
|
siemensPointService.delete(gatewaysMessage.getAdminIp(), String.join(",", deviceIds));
|
|
|
|
siemensPointService.delete(gatewayDO.getAdminIp(), String.join(",", deviceIds));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -125,180 +139,126 @@ public class TheGatewayServiceImpl {
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
//新增西门子设备
|
|
|
|
//新增西门子设备
|
|
|
|
public void addSiemensEntity(GatewayDO gatewaysMessage, DeviceDO siemens) {
|
|
|
|
public void addSiemensEntity(GatewayDO gatewayDO, DeviceDO siemens) {
|
|
|
|
siemensPointService.login(gatewaysMessage.getAdminIp(), gatewaysMessage.getUsername(), gatewaysMessage.getPassword());
|
|
|
|
siemensPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
|
|
|
|
DeviceSiemensEntity deviceSiemensEntity = new DeviceSiemensEntity();
|
|
|
|
DeviceSiemensEntity deviceSiemensEntity = new DeviceSiemensEntity();
|
|
|
|
deviceSiemensEntity.setDeviceID(siemen.getDeviceId());
|
|
|
|
deviceSiemensEntity.setDeviceID(siemens.getDeviceCode());
|
|
|
|
deviceSiemensEntity.setDeviceName(siemen.getDeviceName());
|
|
|
|
deviceSiemensEntity.setDeviceName(siemens.getDeviceName());
|
|
|
|
deviceSiemensEntity.setSiemensSeries(siemen.getSiemensSeries());
|
|
|
|
deviceSiemensEntity.setSiemensSeries(siemens.getSiemensSeries());
|
|
|
|
deviceSiemensEntity.setSiemensConnectParam(siemen.getSiemensConnectParam());
|
|
|
|
deviceSiemensEntity.setSiemensConnectParam(siemens.getSiemensConnectParam());
|
|
|
|
deviceSiemensEntity.setReadCronType(siemen.getReadCronType());
|
|
|
|
deviceSiemensEntity.setReadCronType(siemens.getReadCronType());
|
|
|
|
deviceSiemensEntity.setReadRepeatValue(siemen.getReadRepeatValue());
|
|
|
|
deviceSiemensEntity.setReadRepeatValue(siemens.getReadRepeatValue());
|
|
|
|
deviceSiemensEntity.setReadRepeatUnit(siemen.getReadRepeatUnit());
|
|
|
|
deviceSiemensEntity.setReadRepeatUnit(siemens.getReadRepeatUnit());
|
|
|
|
deviceSiemensEntity.setReadCron(siemen.getReadCron());
|
|
|
|
deviceSiemensEntity.setReadCron(siemens.getReadCron());
|
|
|
|
deviceSiemensEntity.setWriteCronType(siemen.getWriteCronType());
|
|
|
|
deviceSiemensEntity.setWriteCronType(siemens.getWriteCronType());
|
|
|
|
deviceSiemensEntity.setWriteRepeatValue(siemen.getWriteRepeatValue());
|
|
|
|
deviceSiemensEntity.setWriteRepeatValue(siemens.getWriteRepeatValue());
|
|
|
|
deviceSiemensEntity.setWriteCron(siemen.getWriteCron());
|
|
|
|
deviceSiemensEntity.setWriteCron(siemens.getWriteCron());
|
|
|
|
deviceSiemensEntity.setLocalPersistent(siemen.getLocalPersistent());
|
|
|
|
deviceSiemensEntity.setLocalPersistent(siemens.getLocalPersistent());
|
|
|
|
deviceSiemensEntity.setUploadRate(siemen.getUploadRate());
|
|
|
|
deviceSiemensEntity.setUploadRate(siemens.getUploadRate());
|
|
|
|
deviceSiemensEntity.setRateCount(siemen.getRateCount());
|
|
|
|
deviceSiemensEntity.setRateCount(siemens.getRateCount());
|
|
|
|
siemensPointService.add(deviceSiemensEntity, gatewaysMessage.getAdminIp());
|
|
|
|
siemensPointService.add(deviceSiemensEntity, gatewayDO.getAdminIp());
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//下发完成西门子设备后 下发对应设备的点位
|
|
|
|
//下发完成西门子设备后 下发对应设备的点位
|
|
|
|
public void addDeviceSiemensEntity(BeGatewaysMessage gatewaysMessage,String equipmentsId, String deviceId) {
|
|
|
|
public void addDeviceSiemensEntity(GatewayDO gatewayDO,Long machineId, DeviceDO deviceDO) {
|
|
|
|
siemensPointService.login(gatewaysMessage.getAdminIp(), gatewaysMessage.getUsername(), gatewaysMessage.getPassword());
|
|
|
|
siemensPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
|
|
|
|
/*下发好设备后获取设备列表找点位*/
|
|
|
|
/*下发好设备后获取设备列表找点位*/
|
|
|
|
List<DeviceSiemensEntity> siemensList = siemensPointService.getSiemensList(gatewaysMessage.getAdminIp(),
|
|
|
|
List<DeviceSiemensEntity> siemensList = siemensPointService.getSiemensList(gatewayDO.getAdminIp(),
|
|
|
|
gatewaysMessage.getUsername(), gatewaysMessage.getPassword(), deviceId);
|
|
|
|
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceDO.getDeviceCode());
|
|
|
|
for (DeviceSiemensEntity deviceSiemensEntity : siemensList) {
|
|
|
|
for (DeviceSiemensEntity deviceSiemensEntity : siemensList) {
|
|
|
|
//根据deviceId 和机台编码查询sql数据库点位信息
|
|
|
|
//根据deviceId 和机台编码查询sql数据库点位信息
|
|
|
|
IoPoint bo = new IoPoint();
|
|
|
|
List<DeviceAttributeDO> points = deviceAttributeMapper.selectByDeviceId(deviceDO.getId());
|
|
|
|
bo.setDeviceId(deviceSiemensEntity.getDeviceID());
|
|
|
|
|
|
|
|
bo.setEquipmentsId(equipmentsId);
|
|
|
|
|
|
|
|
//检索
|
|
|
|
|
|
|
|
List<IoPoint> points = ioPointService.list(ioPointService.buildQueryWrapper(bo));
|
|
|
|
|
|
|
|
List<SiemensPointEntity> list = new ArrayList<>();
|
|
|
|
List<SiemensPointEntity> list = new ArrayList<>();
|
|
|
|
for (IoPoint point : points) {
|
|
|
|
for (DeviceAttributeDO point : points) {
|
|
|
|
//新增点位
|
|
|
|
|
|
|
|
SiemensPointEntity siemensPointEntity = new SiemensPointEntity();
|
|
|
|
|
|
|
|
siemensPointEntity.setSiemensFieldName(point.getPointCode());
|
|
|
|
|
|
|
|
siemensPointEntity.setSiemensFieldAddress(point.getAddress());
|
|
|
|
|
|
|
|
Integer dataType = AddressDataType.getGatewayDataTypeMap(point.getDataType());
|
|
|
|
Integer dataType = AddressDataType.getGatewayDataTypeMap(point.getDataType());
|
|
|
|
siemensPointEntity.setSiemensFieldDataType(dataType);
|
|
|
|
|
|
|
|
siemensPointEntity.setSiemensFieldPrecision(point.getSiemensFieldPrecision());
|
|
|
|
|
|
|
|
siemensPointEntity.setSiemensFieldUnit(point.getUnit());
|
|
|
|
|
|
|
|
list.add(siemensPointEntity);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (list.size() > 0)
|
|
|
|
|
|
|
|
siemensPointService.add(list, gatewaysMessage.getAdminIp(), deviceSiemensEntity.getDeviceConfigID());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//下发完成西门子设备后 下发对应设备的点位
|
|
|
|
|
|
|
|
public void addDeviceSiemensEntity(BeEquipments equipments) {
|
|
|
|
|
|
|
|
siemensPointService.login(equipments.getAdminIp(), equipments.getUsername(), equipments.getPassword());
|
|
|
|
|
|
|
|
/*下发好设备后获取设备列表找点位*/
|
|
|
|
|
|
|
|
List<DeviceSiemensEntity> siemensList = siemensPointService.getSiemensList(equipments.getAdminIp(),
|
|
|
|
|
|
|
|
equipments.getUsername(), equipments.getPassword());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (DeviceSiemensEntity deviceSiemensEntity : siemensList) {
|
|
|
|
|
|
|
|
//根据deviceId 和机台编码查询sql数据库点位信息
|
|
|
|
|
|
|
|
IoPoint bo = new IoPoint();
|
|
|
|
|
|
|
|
bo.setDeviceId(deviceSiemensEntity.getDeviceID());
|
|
|
|
|
|
|
|
bo.setEquipmentsId(equipments.getEquipmentsId());
|
|
|
|
|
|
|
|
//检索
|
|
|
|
|
|
|
|
List<IoPoint> points = ioPointService.list(ioPointService.buildQueryWrapper(bo));
|
|
|
|
|
|
|
|
List<SiemensPointEntity> list = new ArrayList<>();
|
|
|
|
|
|
|
|
for (IoPoint point : points) {
|
|
|
|
|
|
|
|
//新增点位
|
|
|
|
//新增点位
|
|
|
|
SiemensPointEntity siemensPointEntity = new SiemensPointEntity();
|
|
|
|
SiemensPointEntity siemensPointEntity = new SiemensPointEntity()
|
|
|
|
siemensPointEntity.setSiemensFieldName(point.getPointCode());
|
|
|
|
.setSiemensFieldName(point.getAttributeCode())
|
|
|
|
siemensPointEntity.setSiemensFieldAddress(point.getAddress());
|
|
|
|
.setSiemensFieldAddress(point.getAddress())
|
|
|
|
Integer dataType = AddressDataType.getGatewayDataTypeMap(point.getDataType());
|
|
|
|
.setSiemensFieldDataType(dataType)
|
|
|
|
siemensPointEntity.setSiemensFieldDataType(dataType);
|
|
|
|
.setSiemensFieldPrecision(point.getSiemensFieldPrecision())
|
|
|
|
siemensPointEntity.setSiemensFieldPrecision(point.getSiemensFieldPrecision());
|
|
|
|
.setSiemensFieldUnit(point.getUnit());
|
|
|
|
siemensPointEntity.setSiemensFieldUnit(point.getUnit());
|
|
|
|
|
|
|
|
list.add(siemensPointEntity);
|
|
|
|
list.add(siemensPointEntity);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (list.size() > 0)
|
|
|
|
if (list.size() > 0)
|
|
|
|
siemensPointService.add(list, equipments.getAdminIp(), deviceSiemensEntity.getDeviceConfigID());
|
|
|
|
siemensPointService.add(list, gatewayDO.getAdminIp(), deviceSiemensEntity.getDeviceConfigID());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//清除原本的Modbus设备数据
|
|
|
|
//清除原本的Modbus设备数据
|
|
|
|
public void deleteModbusEntity(BeEquipments equipments) {
|
|
|
|
// public void deleteModbusEntity(BeEquipments equipments) {
|
|
|
|
modbusPointService.login(equipments.getAdminIp(), equipments.getUsername(), equipments.getPassword());
|
|
|
|
// modbusPointService.login(equipments.getAdminIp(), equipments.getUsername(), equipments.getPassword());
|
|
|
|
List<DeviceModbusEntity> list = modbusPointService.getModbusList(equipments.getAdminIp(), equipments.getUsername(), equipments.getPassword());
|
|
|
|
// List<DeviceModbusEntity> list = modbusPointService.getModbusList(equipments.getAdminIp(), equipments.getUsername(), equipments.getPassword());
|
|
|
|
if (null != list && list.size() > 0) {
|
|
|
|
// if (null != list && list.size() > 0) {
|
|
|
|
//先清除点位数据
|
|
|
|
// //先清除点位数据
|
|
|
|
String[] deviceIds = new String[list.size()];
|
|
|
|
// String[] deviceIds = new String[list.size()];
|
|
|
|
for (int i = 0; i < list.size(); i++) {
|
|
|
|
// for (int i = 0; i < list.size(); i++) {
|
|
|
|
deviceIds[i] = list.get(i).getDeviceConfigID();
|
|
|
|
// deviceIds[i] = list.get(i).getDeviceConfigID();
|
|
|
|
//删除每个设备下的原有点位
|
|
|
|
// //删除每个设备下的原有点位
|
|
|
|
List<ModbusPointEntity> pointList = modbusPointService.getPointList(equipments.getAdminIp(),
|
|
|
|
// List<ModbusPointEntity> pointList = modbusPointService.getPointList(equipments.getAdminIp(),
|
|
|
|
equipments.getUsername(), equipments.getPassword(), list.get(i).getDeviceConfigID());
|
|
|
|
// equipments.getUsername(), equipments.getPassword(), list.get(i).getDeviceConfigID());
|
|
|
|
if (pointList != null && pointList.size() > 0) {
|
|
|
|
// if (pointList != null && pointList.size() > 0) {
|
|
|
|
String[] addressIds = new String[pointList.size()];
|
|
|
|
// String[] addressIds = new String[pointList.size()];
|
|
|
|
for (int j = 0; j < pointList.size(); j++) {
|
|
|
|
// for (int j = 0; j < pointList.size(); j++) {
|
|
|
|
addressIds[j] = pointList.get(j).getDeviceConfigContentID().toString();
|
|
|
|
// addressIds[j] = pointList.get(j).getDeviceConfigContentID().toString();
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
//删除点位数据
|
|
|
|
// //删除点位数据
|
|
|
|
modbusPointService.deletePoint(equipments.getAdminIp(), String.join(",", addressIds));
|
|
|
|
// modbusPointService.deletePoint(equipments.getAdminIp(), String.join(",", addressIds));
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
//再清除设备数据
|
|
|
|
// //再清除设备数据
|
|
|
|
modbusPointService.delete(equipments.getAdminIp(), String.join(",", deviceIds));
|
|
|
|
// modbusPointService.delete(equipments.getAdminIp(), String.join(",", deviceIds));
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
//清除原本的Modbus设备数据
|
|
|
|
//清除原本的Modbus设备数据
|
|
|
|
public void deleteModbusEntity(BeGatewaysMessage gatewaysMessage, String deviceId) {
|
|
|
|
public void deleteModbusEntity(GatewayDO gatewayDO, String deviceId) {
|
|
|
|
modbusPointService.login(gatewaysMessage.getAdminIp(), gatewaysMessage.getUsername(), gatewaysMessage.getPassword());
|
|
|
|
modbusPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
|
|
|
|
List<DeviceModbusEntity> list = modbusPointService.getModbusList(gatewaysMessage.getAdminIp(), gatewaysMessage.getUsername(), gatewaysMessage.getPassword(), deviceId);
|
|
|
|
List<DeviceModbusEntity> list = modbusPointService.getModbusList(gatewayDO.getAdminIp(),
|
|
|
|
|
|
|
|
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceId);
|
|
|
|
if (null != list && list.size() > 0) {
|
|
|
|
if (null != list && list.size() > 0) {
|
|
|
|
//先清除点位数据
|
|
|
|
//先清除点位数据
|
|
|
|
String[] deviceIds = new String[list.size()];
|
|
|
|
String[] deviceIds = new String[list.size()];
|
|
|
|
for (int i = 0; i < list.size(); i++) {
|
|
|
|
for (int i = 0; i < list.size(); i++) {
|
|
|
|
deviceIds[i] = list.get(i).getDeviceConfigID();
|
|
|
|
deviceIds[i] = list.get(i).getDeviceConfigID();
|
|
|
|
//删除每个设备下的原有点位
|
|
|
|
//删除每个设备下的原有点位
|
|
|
|
List<ModbusPointEntity> pointList = modbusPointService.getPointListAll(gatewaysMessage.getAdminIp(),
|
|
|
|
List<ModbusPointEntity> pointList = modbusPointService.getPointListAll(gatewayDO.getAdminIp(),
|
|
|
|
gatewaysMessage.getUsername(), gatewaysMessage.getPassword(), list.get(i).getDeviceConfigID());
|
|
|
|
gatewayDO.getUsername(), gatewayDO.getPassword(), list.get(i).getDeviceConfigID());
|
|
|
|
if (pointList != null && pointList.size() > 0) {
|
|
|
|
if (pointList != null && pointList.size() > 0) {
|
|
|
|
String[] addressIds = new String[pointList.size()];
|
|
|
|
String[] addressIds = new String[pointList.size()];
|
|
|
|
for (int j = 0; j < pointList.size(); j++) {
|
|
|
|
for (int j = 0; j < pointList.size(); j++) {
|
|
|
|
addressIds[j] = pointList.get(j).getDeviceConfigContentID();
|
|
|
|
addressIds[j] = pointList.get(j).getDeviceConfigContentID();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//删除点位数据
|
|
|
|
//删除点位数据
|
|
|
|
modbusPointService.deletePoint(gatewaysMessage.getAdminIp(), String.join(",", addressIds));
|
|
|
|
modbusPointService.deletePoint(gatewayDO.getAdminIp(), String.join(",", addressIds));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//再清除设备数据
|
|
|
|
//再清除设备数据
|
|
|
|
modbusPointService.delete(gatewaysMessage.getAdminIp(), String.join(",", deviceIds));
|
|
|
|
modbusPointService.delete(gatewayDO.getAdminIp(), String.join(",", deviceIds));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void addModbusEntity(BeEquipments equipments) {
|
|
|
|
public void addModbusEntity(GatewayDO gatewayDO) {
|
|
|
|
modbusPointService.login(equipments.getAdminIp(), equipments.getUsername(), equipments.getPassword());
|
|
|
|
modbusPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
|
|
|
|
BeEquipmentsModbus bo = new BeEquipmentsModbus();
|
|
|
|
List<DeviceDO> modbuses = deviceMapper.selectByGatewayId(gatewayDO.getId());
|
|
|
|
bo.setEquipmentsId(equipments.getEquipmentsId());
|
|
|
|
|
|
|
|
List<BeEquipmentsModbus> modbuses = beEquipmentsModbusService.list(beEquipmentsModbusService.buildQueryWrapper(bo));
|
|
|
|
|
|
|
|
List<DeviceModbusEntity> list = new ArrayList<>();
|
|
|
|
List<DeviceModbusEntity> list = new ArrayList<>();
|
|
|
|
if (modbuses != null && modbuses.size() > 0) {
|
|
|
|
if (modbuses != null && modbuses.size() > 0) {
|
|
|
|
for (BeEquipmentsModbus modbus : modbuses) {
|
|
|
|
for (DeviceDO modbus : modbuses) {
|
|
|
|
DeviceModbusEntity deviceModbusEntity = new DeviceModbusEntity();
|
|
|
|
DeviceModbusEntity deviceModbusEntity = initEntity(modbus);
|
|
|
|
deviceModbusEntity.setEquipmentsId(modbus.getEquipmentsId());
|
|
|
|
|
|
|
|
deviceModbusEntity.setDeviceId(modbus.getDeviceId());
|
|
|
|
|
|
|
|
deviceModbusEntity.setDeviceName(modbus.getDeviceName());
|
|
|
|
|
|
|
|
deviceModbusEntity.setModbusProtocol(modbus.getModbusProtocol());
|
|
|
|
|
|
|
|
deviceModbusEntity.setModbusPattern(modbus.getModbusPattern());
|
|
|
|
|
|
|
|
deviceModbusEntity.setPortName(modbus.getPortName());
|
|
|
|
|
|
|
|
deviceModbusEntity.setModbusConnectParam(modbus.getModbusConnectParam());
|
|
|
|
|
|
|
|
deviceModbusEntity.setReadCronType(modbus.getReadCronType());
|
|
|
|
|
|
|
|
deviceModbusEntity.setReadRepeatValue(modbus.getReadRepeatValue());
|
|
|
|
|
|
|
|
deviceModbusEntity.setReadRepeatUnit(modbus.getReadRepeatUnit());
|
|
|
|
|
|
|
|
deviceModbusEntity.setReadCron(modbus.getReadCron());
|
|
|
|
|
|
|
|
deviceModbusEntity.setWriteCronType(modbus.getWriteCronType());
|
|
|
|
|
|
|
|
deviceModbusEntity.setWriteRepeatValue(modbus.getWriteRepeatValue());
|
|
|
|
|
|
|
|
deviceModbusEntity.setWriteRepeatUnit(modbus.getWriteRepeatUnit());
|
|
|
|
|
|
|
|
deviceModbusEntity.setWriteCron(modbus.getWriteCron());
|
|
|
|
|
|
|
|
deviceModbusEntity.setLocalPersistent(modbus.getLocalPersistent());
|
|
|
|
|
|
|
|
deviceModbusEntity.setUploadRate(modbus.getUploadRate());
|
|
|
|
|
|
|
|
deviceModbusEntity.setRateCount(modbus.getRateCount());
|
|
|
|
|
|
|
|
deviceModbusEntity.setModbusReadAddrGap(modbus.getModbusReadAddrGap());
|
|
|
|
|
|
|
|
list.add(deviceModbusEntity);
|
|
|
|
list.add(deviceModbusEntity);
|
|
|
|
//mob 下发失败 {"code":500,"msg":"该串口已经配置"}
|
|
|
|
//mob 下发失败 {"code":500,"msg":"该串口已经配置"}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (list.size() > 0) modbusPointService.add(list, equipments.getAdminIp());
|
|
|
|
modbusPointService.add(list, gatewayDO.getAdminIp());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void addModbusEntity(BeGatewaysMessage gatewaysMessage, BeEquipmentsModbus modbus) {
|
|
|
|
private DeviceModbusEntity initEntity(DeviceDO modbus) {
|
|
|
|
DeviceModbusEntity deviceModbusEntity = new DeviceModbusEntity();
|
|
|
|
DeviceModbusEntity deviceModbusEntity = new DeviceModbusEntity();
|
|
|
|
deviceModbusEntity.setEquipmentsId(modbus.getEquipmentsId());
|
|
|
|
deviceModbusEntity.setEquipmentsId(modbus.getOrgId().toString());
|
|
|
|
deviceModbusEntity.setDeviceId(modbus.getDeviceId());
|
|
|
|
deviceModbusEntity.setDeviceId(modbus.getDeviceCode());
|
|
|
|
deviceModbusEntity.setDeviceName(modbus.getDeviceName());
|
|
|
|
deviceModbusEntity.setDeviceName(modbus.getDeviceName());
|
|
|
|
deviceModbusEntity.setModbusProtocol(modbus.getModbusProtocol());
|
|
|
|
deviceModbusEntity.setModbusProtocol(modbus.getModbusProtocol());
|
|
|
|
deviceModbusEntity.setModbusPattern(modbus.getModbusPattern());
|
|
|
|
deviceModbusEntity.setModbusPattern(modbus.getModbusPattern());
|
|
|
|
@ -316,56 +276,56 @@ public class TheGatewayServiceImpl {
|
|
|
|
deviceModbusEntity.setUploadRate(modbus.getUploadRate());
|
|
|
|
deviceModbusEntity.setUploadRate(modbus.getUploadRate());
|
|
|
|
deviceModbusEntity.setRateCount(modbus.getRateCount());
|
|
|
|
deviceModbusEntity.setRateCount(modbus.getRateCount());
|
|
|
|
deviceModbusEntity.setModbusReadAddrGap(modbus.getModbusReadAddrGap());
|
|
|
|
deviceModbusEntity.setModbusReadAddrGap(modbus.getModbusReadAddrGap());
|
|
|
|
|
|
|
|
return deviceModbusEntity;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void addModbusEntity(GatewayDO gatewayDO, DeviceDO modbus) {
|
|
|
|
|
|
|
|
DeviceModbusEntity deviceModbusEntity = initEntity(modbus);
|
|
|
|
//mob 下发失败 {"code":500,"msg":"该串口已经配置"}
|
|
|
|
//mob 下发失败 {"code":500,"msg":"该串口已经配置"}
|
|
|
|
modbusPointService.add(deviceModbusEntity, gatewaysMessage.getAdminIp());
|
|
|
|
modbusPointService.add(deviceModbusEntity, gatewayDO.getAdminIp());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void addDeviceModbusEntity(BeEquipments equipments) {
|
|
|
|
public void addDeviceModbusEntity(GatewayDO gatewayDO) {
|
|
|
|
modbusPointService.login(equipments.getAdminIp(), equipments.getUsername(), equipments.getPassword());
|
|
|
|
modbusPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
|
|
|
|
/*下发好设备后获取设备列表找点位*/
|
|
|
|
/*下发好设备后获取设备列表找点位*/
|
|
|
|
List<DeviceModbusEntity> modbusPointList = modbusPointService.getModbusList(equipments.getAdminIp(), equipments.getUsername(), equipments.getPassword());
|
|
|
|
List<DeviceModbusEntity> modbusPointList = modbusPointService.getModbusList(gatewayDO.getAdminIp(),
|
|
|
|
|
|
|
|
gatewayDO.getUsername(), gatewayDO.getPassword());
|
|
|
|
|
|
|
|
|
|
|
|
for (DeviceModbusEntity deviceModbusEntity : modbusPointList) {
|
|
|
|
for (DeviceModbusEntity deviceModbusEntity : modbusPointList) {
|
|
|
|
//根据deviceId 和机台编码查询sql数据库点位信息
|
|
|
|
//根据deviceId 和机台编码查询sql数据库点位信息
|
|
|
|
IoPoint bo = new IoPoint();
|
|
|
|
List<DeviceAttributeDO> points = deviceAttributeMapper.selectByDeviceId(1L);
|
|
|
|
bo.setDeviceId(deviceModbusEntity.getDeviceId());
|
|
|
|
getModbusPointEntityList(gatewayDO, deviceModbusEntity, points);
|
|
|
|
bo.setEquipmentsId(equipments.getEquipmentsId());
|
|
|
|
List<ModbusPointEntity> list = getModbusPointEntityList(gatewayDO, deviceModbusEntity, points);
|
|
|
|
List<IoPoint> points = ioPointService.list(ioPointService.buildQueryWrapper(bo));
|
|
|
|
//下发
|
|
|
|
List<ModbusPointEntity> list = new ArrayList<>();
|
|
|
|
|
|
|
|
for (IoPoint point : points) {
|
|
|
|
|
|
|
|
//新增点位
|
|
|
|
|
|
|
|
ModbusPointEntity modbusPointEntity = new ModbusPointEntity();
|
|
|
|
|
|
|
|
modbusPointEntity.setModbusSlaveID(point.getModbusSlaveId());
|
|
|
|
|
|
|
|
modbusPointEntity.setModbusFieldName(point.getPointName());
|
|
|
|
|
|
|
|
modbusPointEntity.setModbusFieldAddress(point.getModbusFieldAddress());
|
|
|
|
|
|
|
|
modbusPointEntity.setModbusAddressType(point.getModbusAddressType());
|
|
|
|
|
|
|
|
modbusPointEntity.setModbusFieldSize(point.getModbusFieldSize());
|
|
|
|
|
|
|
|
modbusPointEntity.setModbusFieldPrecision(point.getModbusFieldPrecision());
|
|
|
|
|
|
|
|
modbusPointEntity.setModbusFieldDataType(point.getDataType());
|
|
|
|
|
|
|
|
modbusPointEntity.setModbusFieldOrder(point.getModbusFieldOrder());
|
|
|
|
|
|
|
|
modbusPointEntity.setModbusFieldUnit(point.getUnit());
|
|
|
|
|
|
|
|
list.add(modbusPointEntity);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (list.size() > 0)
|
|
|
|
if (list.size() > 0)
|
|
|
|
modbusPointService.add(list, equipments.getAdminIp(), deviceModbusEntity.getDeviceConfigID());
|
|
|
|
modbusPointService.add(list, gatewayDO.getAdminIp(), deviceModbusEntity.getDeviceConfigID());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void addDeviceModbusEntity(BeGatewaysMessage gatewaysMessage,String equipmentsId, String deviceId) {
|
|
|
|
public void addDeviceModbusEntity(GatewayDO gatewayDO, DeviceDO deviceDO) {
|
|
|
|
modbusPointService.login(gatewaysMessage.getAdminIp(), gatewaysMessage.getUsername(), gatewaysMessage.getPassword());
|
|
|
|
modbusPointService.login(gatewayDO.getAdminIp(), gatewayDO.getUsername(), gatewayDO.getPassword());
|
|
|
|
/*下发好设备后获取设备列表找点位*/
|
|
|
|
/*下发好设备后获取设备列表找点位*/
|
|
|
|
List<DeviceModbusEntity> modbusPointList = modbusPointService.getModbusList(gatewaysMessage.getAdminIp(), gatewaysMessage.getUsername(), gatewaysMessage.getPassword(), deviceId);
|
|
|
|
List<DeviceModbusEntity> modbusPointList = modbusPointService.getModbusList(gatewayDO.getAdminIp(),
|
|
|
|
|
|
|
|
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceDO.getDeviceCode());
|
|
|
|
for (DeviceModbusEntity deviceModbusEntity : modbusPointList) {
|
|
|
|
for (DeviceModbusEntity deviceModbusEntity : modbusPointList) {
|
|
|
|
//根据deviceId 和机台编码查询sql数据库点位信息
|
|
|
|
//根据deviceId 和机台编码查询sql数据库点位信息
|
|
|
|
IoPoint bo = new IoPoint();
|
|
|
|
|
|
|
|
bo.setDeviceId(deviceModbusEntity.getDeviceId());
|
|
|
|
List<DeviceAttributeDO> points = deviceAttributeMapper.selectByDeviceId(deviceDO.getId());
|
|
|
|
bo.setEquipmentsId(equipmentsId);
|
|
|
|
List<ModbusPointEntity> list = getModbusPointEntityList(gatewayDO, deviceModbusEntity, points);
|
|
|
|
List<IoPoint> points = ioPointService.list(ioPointService.buildQueryWrapper(bo));
|
|
|
|
if (list.size() > 0)
|
|
|
|
|
|
|
|
modbusPointService.add(list, gatewayDO.getAdminIp(), deviceModbusEntity.getDeviceConfigID());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private List<ModbusPointEntity> getModbusPointEntityList(GatewayDO gatewayDO,
|
|
|
|
|
|
|
|
DeviceModbusEntity deviceModbusEntity,
|
|
|
|
|
|
|
|
List<DeviceAttributeDO> points) {
|
|
|
|
List<ModbusPointEntity> list = new ArrayList<>();
|
|
|
|
List<ModbusPointEntity> list = new ArrayList<>();
|
|
|
|
for (IoPoint point : points) {
|
|
|
|
for (DeviceAttributeDO point : points) {
|
|
|
|
//新增点位
|
|
|
|
//新增点位
|
|
|
|
ModbusPointEntity modbusPointEntity = new ModbusPointEntity();
|
|
|
|
ModbusPointEntity modbusPointEntity = new ModbusPointEntity();
|
|
|
|
modbusPointEntity.setModbusSlaveID(point.getModbusSlaveId());
|
|
|
|
modbusPointEntity.setModbusSlaveID(point.getModbusSlaveId());
|
|
|
|
modbusPointEntity.setModbusFieldName(point.getPointCode());
|
|
|
|
modbusPointEntity.setModbusFieldName(point.getAttributeCode());
|
|
|
|
modbusPointEntity.setModbusFieldAddress(point.getModbusFieldAddress());
|
|
|
|
modbusPointEntity.setModbusFieldAddress(point.getModbusFieldAddress());
|
|
|
|
modbusPointEntity.setModbusAddressType(point.getModbusAddressType());
|
|
|
|
modbusPointEntity.setModbusAddressType(point.getModbusAddressType());
|
|
|
|
modbusPointEntity.setModbusFieldSize(point.getModbusFieldSize());
|
|
|
|
modbusPointEntity.setModbusFieldSize(point.getModbusFieldSize());
|
|
|
|
@ -375,9 +335,7 @@ public class TheGatewayServiceImpl {
|
|
|
|
modbusPointEntity.setModbusFieldUnit(point.getUnit());
|
|
|
|
modbusPointEntity.setModbusFieldUnit(point.getUnit());
|
|
|
|
list.add(modbusPointEntity);
|
|
|
|
list.add(modbusPointEntity);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (list.size() > 0)
|
|
|
|
return list;
|
|
|
|
modbusPointService.add(list, gatewaysMessage.getAdminIp(), deviceModbusEntity.getDeviceConfigID());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
@ -388,30 +346,30 @@ public class TheGatewayServiceImpl {
|
|
|
|
* 4新增
|
|
|
|
* 4新增
|
|
|
|
* 5启用
|
|
|
|
* 5启用
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public void deleteMqttEntity(BeEquipments equipments) {
|
|
|
|
public void deleteMqttEntity(GatewayDO gatewayDO) {
|
|
|
|
//modbusPointService.login(equipments.getAdminIp(),equipments.getUsername(),equipments.getPassword());
|
|
|
|
modbusPointService.login(gatewayDO.getAdminIp(),gatewayDO.getUsername(),gatewayDO.getPassword());
|
|
|
|
List<MqttBrokerEntity> mqttBrokerEntity = mqttService.getMqttBrokerEntity(equipments.getAdminIp(),
|
|
|
|
List<MqttBrokerEntity> mqttBrokerEntity = gatewayMqttService.getMqttBrokerEntity(gatewayDO.getAdminIp(),
|
|
|
|
equipments.getUsername(), equipments.getPassword());
|
|
|
|
gatewayDO.getUsername(), gatewayDO.getPassword());
|
|
|
|
for (MqttBrokerEntity brokerEntity : mqttBrokerEntity) {
|
|
|
|
for (MqttBrokerEntity brokerEntity : mqttBrokerEntity) {
|
|
|
|
mqttService.delete(equipments.getAdminIp(), brokerEntity.getCloudConfigID());
|
|
|
|
gatewayMqttService.delete(gatewayDO.getAdminIp(), brokerEntity.getCloudConfigID());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***启用设备 */
|
|
|
|
/***启用设备 */
|
|
|
|
public void changeStatus(BeGatewaysMessage gatewaysMessage, String deviceId, String type) {
|
|
|
|
public void changeStatus(GatewayDO gatewayDO, String deviceCode, String type) {
|
|
|
|
List<String> deviceIds = new ArrayList<>();
|
|
|
|
List<String> deviceIds = new ArrayList<>();
|
|
|
|
if (type.equals("modbus")) {
|
|
|
|
if (type.equals("modbus")) {
|
|
|
|
/*下发好设备后获取设备列表找点位*/
|
|
|
|
/*下发好设备后获取设备列表找点位*/
|
|
|
|
List<DeviceModbusEntity> modbusPointList = modbusPointService.getModbusList(gatewaysMessage.getAdminIp(),
|
|
|
|
List<DeviceModbusEntity> modbusPointList = modbusPointService.getModbusList(gatewayDO.getAdminIp(),
|
|
|
|
gatewaysMessage.getUsername(), gatewaysMessage.getPassword(), deviceId);
|
|
|
|
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceCode);
|
|
|
|
for (DeviceModbusEntity entity : modbusPointList) {
|
|
|
|
for (DeviceModbusEntity entity : modbusPointList) {
|
|
|
|
deviceIds.add(entity.getDeviceConfigID());
|
|
|
|
deviceIds.add(entity.getDeviceConfigID());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (type.equals("siemens")) {
|
|
|
|
if (type.equals("siemens")) {
|
|
|
|
/*下发好设备后获取设备列表找点位*/
|
|
|
|
/*下发好设备后获取设备列表找点位*/
|
|
|
|
List<DeviceSiemensEntity> siemensList = siemensPointService.getSiemensList(gatewaysMessage.getAdminIp(),
|
|
|
|
List<DeviceSiemensEntity> siemensList = siemensPointService.getSiemensList(gatewayDO.getAdminIp(),
|
|
|
|
gatewaysMessage.getUsername(), gatewaysMessage.getPassword(), deviceId);
|
|
|
|
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceCode);
|
|
|
|
|
|
|
|
|
|
|
|
for (DeviceSiemensEntity entity : siemensList) {
|
|
|
|
for (DeviceSiemensEntity entity : siemensList) {
|
|
|
|
deviceIds.add(entity.getDeviceConfigID());
|
|
|
|
deviceIds.add(entity.getDeviceConfigID());
|
|
|
|
@ -420,17 +378,17 @@ public class TheGatewayServiceImpl {
|
|
|
|
ChangeStatus changeStatus = new ChangeStatus();
|
|
|
|
ChangeStatus changeStatus = new ChangeStatus();
|
|
|
|
changeStatus.setNewStatus("2");
|
|
|
|
changeStatus.setNewStatus("2");
|
|
|
|
changeStatus.setOldStatus("1");
|
|
|
|
changeStatus.setOldStatus("1");
|
|
|
|
siemensPointService.changeStatusDevice(deviceIds, changeStatus, gatewaysMessage.getAdminIp());
|
|
|
|
siemensPointService.changeStatusDevice(deviceIds, changeStatus, gatewayDO.getAdminIp());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***启用设备 */
|
|
|
|
/***启用设备 */
|
|
|
|
public void changeStatus(BeEquipments equipments) {
|
|
|
|
public void changeStatus(GatewayDO gatewayDO) {
|
|
|
|
/*下发好设备后获取设备列表找点位*/
|
|
|
|
/*下发好设备后获取设备列表找点位*/
|
|
|
|
List<DeviceModbusEntity> modbusPointList = modbusPointService.getModbusList(equipments.getAdminIp(),
|
|
|
|
List<DeviceModbusEntity> modbusPointList = modbusPointService.getModbusList(gatewayDO.getAdminIp(),
|
|
|
|
equipments.getUsername(), equipments.getPassword());
|
|
|
|
gatewayDO.getUsername(), gatewayDO.getPassword());
|
|
|
|
/*下发好设备后获取设备列表找点位*/
|
|
|
|
/*下发好设备后获取设备列表找点位*/
|
|
|
|
List<DeviceSiemensEntity> siemensList = siemensPointService.getSiemensList(equipments.getAdminIp(),
|
|
|
|
List<DeviceSiemensEntity> siemensList = siemensPointService.getSiemensList(gatewayDO.getAdminIp(),
|
|
|
|
equipments.getUsername(), equipments.getPassword());
|
|
|
|
gatewayDO.getUsername(), gatewayDO.getPassword());
|
|
|
|
List<String> deviceIds = new ArrayList<>();
|
|
|
|
List<String> deviceIds = new ArrayList<>();
|
|
|
|
for (DeviceModbusEntity entity : modbusPointList) {
|
|
|
|
for (DeviceModbusEntity entity : modbusPointList) {
|
|
|
|
deviceIds.add(entity.getDeviceConfigID());
|
|
|
|
deviceIds.add(entity.getDeviceConfigID());
|
|
|
|
@ -441,43 +399,39 @@ public class TheGatewayServiceImpl {
|
|
|
|
ChangeStatus changeStatus = new ChangeStatus();
|
|
|
|
ChangeStatus changeStatus = new ChangeStatus();
|
|
|
|
changeStatus.setNewStatus("2");
|
|
|
|
changeStatus.setNewStatus("2");
|
|
|
|
changeStatus.setOldStatus("1");
|
|
|
|
changeStatus.setOldStatus("1");
|
|
|
|
siemensPointService.changeStatusDevice(deviceIds, changeStatus, equipments.getAdminIp());
|
|
|
|
siemensPointService.changeStatusDevice(deviceIds, changeStatus, gatewayDO.getAdminIp());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public BeEquipments getEquipments(Integer gatewayMessageId) {
|
|
|
|
|
|
|
|
BeGatewaysMessage gatewaysMessage = gatewaysMessageService.getById(gatewayMessageId);
|
|
|
|
|
|
|
|
BeEquipments bo = new BeEquipments();
|
|
|
|
|
|
|
|
bo.setEquipmentsId(gatewaysMessage.getEquipmentId());
|
|
|
|
|
|
|
|
bo = equipmentsService.getOne(equipmentsService.buildQueryWrapper(bo));
|
|
|
|
|
|
|
|
return bo;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*检测下发数据和实际下发数量是否匹配*/
|
|
|
|
/*检测下发数据和实际下发数量是否匹配*/
|
|
|
|
public AjaxResult compare(String url, String username, String password, String deviceId, String equipmentId, String type) {
|
|
|
|
public CommonResult<String> compare(GatewayDO gatewayDO, DeviceDO deviceDO, String type) {
|
|
|
|
String deviceConfigID = null;
|
|
|
|
String deviceConfigID = null;
|
|
|
|
Integer pointList = 0;
|
|
|
|
Integer pointList = 0;
|
|
|
|
if ("m".equals(type)) {
|
|
|
|
if ("modbus".equals(type)) {
|
|
|
|
List<DeviceModbusEntity> modbusList = modbusPointService.getModbusList(url, username, password, deviceId);
|
|
|
|
List<DeviceModbusEntity> modbusList = modbusPointService.getModbusList(gatewayDO.getAdminIp(),
|
|
|
|
|
|
|
|
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceDO.getDeviceCode());
|
|
|
|
if (modbusList != null && modbusList.size() > 0) {
|
|
|
|
if (modbusList != null && modbusList.size() > 0) {
|
|
|
|
deviceConfigID = modbusList.get(0).getDeviceConfigID();
|
|
|
|
deviceConfigID = modbusList.get(0).getDeviceConfigID();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
pointList = modbusPointService.getPointListByCount(url, username, password, deviceConfigID);
|
|
|
|
pointList = modbusPointService.getPointListByCount(gatewayDO.getAdminIp(),
|
|
|
|
|
|
|
|
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceConfigID);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
List<DeviceSiemensEntity> siemensList = siemensPointService.getSiemensList(url, username, password, deviceId);
|
|
|
|
List<DeviceSiemensEntity> siemensList = siemensPointService.getSiemensList(gatewayDO.getAdminIp(),
|
|
|
|
|
|
|
|
gatewayDO.getUsername(), gatewayDO.getPassword(), deviceDO.getDeviceCode());
|
|
|
|
if (siemensList != null && siemensList.size() > 0) {
|
|
|
|
if (siemensList != null && siemensList.size() > 0) {
|
|
|
|
deviceConfigID = siemensList.get(0).getDeviceConfigID();
|
|
|
|
deviceConfigID = siemensList.get(0).getDeviceConfigID();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
pointList = siemensPointService.getPointListByCount(url, deviceConfigID, username, password);
|
|
|
|
pointList = siemensPointService.getPointListByCount(gatewayDO.getAdminIp(), deviceConfigID,
|
|
|
|
|
|
|
|
gatewayDO.getUsername(), gatewayDO.getPassword());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//根据deviceId 和机台编码查询sql数据库点位信息
|
|
|
|
//根据deviceId 和机台编码查询sql数据库点位信息
|
|
|
|
IoPoint bo = new IoPoint();
|
|
|
|
|
|
|
|
bo.setDeviceId(deviceId);
|
|
|
|
List<DeviceAttributeDO> points = deviceAttributeMapper.selectByDeviceId(deviceDO.getId());
|
|
|
|
bo.setEquipmentsId(equipmentId);
|
|
|
|
|
|
|
|
List<IoPoint> points = ioPointService.list(ioPointService.buildQueryWrapper(bo));
|
|
|
|
|
|
|
|
int size = points.size();
|
|
|
|
int size = points.size();
|
|
|
|
return size!=pointList?AjaxResult.error("下发失败!应下发" + points.size() + "个地址,实下发" + pointList + "个地址")
|
|
|
|
String str = "应下发" + points.size() + "个地址,实下发" + pointList + "个地址";
|
|
|
|
:AjaxResult.success("下发成功!应下发" + points.size() + "个地址,实下发" + pointList + "个地址");
|
|
|
|
return size!=pointList? CommonResult.error(500,"下发失败!"+str)
|
|
|
|
|
|
|
|
: CommonResult.success("下发成功!"+str);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**网关登录测试*/
|
|
|
|
/**网关登录测试*/
|
|
|
|
@ -537,13 +491,13 @@ public class TheGatewayServiceImpl {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void addVideo(String adminIp,String username,String password, Monitor monitor) {
|
|
|
|
// public void addVideo(String adminIp,String username,String password, Monitor monitor) {
|
|
|
|
videoService.login(adminIp,username,password);
|
|
|
|
// videoService.login(adminIp,username,password);
|
|
|
|
DeviceVideoEntity deviceVideoEntity = new DeviceVideoEntity();
|
|
|
|
// DeviceVideoEntity deviceVideoEntity = new DeviceVideoEntity();
|
|
|
|
deviceVideoEntity.setDeviceID(monitor.getMonitorCode());
|
|
|
|
// deviceVideoEntity.setDeviceID(monitor.getMonitorCode());
|
|
|
|
deviceVideoEntity.setDeviceName(monitor.getMonitorName());
|
|
|
|
// deviceVideoEntity.setDeviceName(monitor.getMonitorName());
|
|
|
|
deviceVideoEntity.setServerAddress(monitor.getServiceAddress());
|
|
|
|
// deviceVideoEntity.setServerAddress(monitor.getServiceAddress());
|
|
|
|
deviceVideoEntity.setVideoAddress(monitor.getVideoAddress());
|
|
|
|
// deviceVideoEntity.setVideoAddress(monitor.getVideoAddress());
|
|
|
|
videoService.add(deviceVideoEntity, adminIp);
|
|
|
|
// videoService.add(deviceVideoEntity, adminIp);
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|