win代码上传
parent
363f046374
commit
d9010a27c1
|
|
@ -1,6 +1,7 @@
|
||||||
package com.ruoyi.web.controller.system;
|
package com.ruoyi.web.controller.system;
|
||||||
|
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.entity.DataResponse;
|
||||||
import com.ruoyi.common.core.domain.entity.PrimaryRadarData;
|
import com.ruoyi.common.core.domain.entity.PrimaryRadarData;
|
||||||
import com.ruoyi.common.core.domain.entity.SysIdentifier;
|
import com.ruoyi.common.core.domain.entity.SysIdentifier;
|
||||||
import com.ruoyi.common.core.domain.entity.SysRadar;
|
import com.ruoyi.common.core.domain.entity.SysRadar;
|
||||||
|
|
@ -34,13 +35,12 @@ import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 雷达状态
|
* 雷达状态
|
||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
*/
|
*/
|
||||||
@Controller
|
@Controller
|
||||||
@RequestMapping("/system/radarStatus")
|
@RequestMapping("/system/radarStatus")
|
||||||
public class RadarStatusController
|
public class RadarStatusController {
|
||||||
{
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(RadarStatusController.class);
|
private static final Logger log = LoggerFactory.getLogger(RadarStatusController.class);
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|
@ -59,15 +59,13 @@ public class RadarStatusController
|
||||||
* 按钮页
|
* 按钮页
|
||||||
*/
|
*/
|
||||||
@GetMapping()
|
@GetMapping()
|
||||||
public String button()
|
public String button() {
|
||||||
{
|
|
||||||
return prefix + "/radarStatus";
|
return prefix + "/radarStatus";
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/list")
|
@PostMapping("/list")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public TableDataInfo list(SysRadar sysRadar)
|
public TableDataInfo list(SysRadar sysRadar) {
|
||||||
{
|
|
||||||
TableDataInfo rspData = new TableDataInfo();
|
TableDataInfo rspData = new TableDataInfo();
|
||||||
List<SysRadar> radarList = service.selectRadarList(sysRadar);
|
List<SysRadar> radarList = service.selectRadarList(sysRadar);
|
||||||
// 异步连接硬件
|
// 异步连接硬件
|
||||||
|
|
@ -80,39 +78,49 @@ public class RadarStatusController
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
for (SysRadar radar : radarList) {
|
for (SysRadar radar : radarList) {
|
||||||
// ModbusResponse modbusResponse = new ModbusResponse();
|
// ModbusResponse modbusResponse = new ModbusResponse();
|
||||||
ModbusMaster master = ModbusUtils.getSlave(radar.getRadarIp(), 23);
|
ModbusMaster master = ModbusUtils.getSlave(radar.getRadarIp(), 23);
|
||||||
System.out.println(radar.getRadarIp());
|
DataResponse dataResponse = new DataResponse();
|
||||||
ModbusResponse modbusResponse = ModbusUtils.holdingRegister();
|
dataResponse.setRadarIp(radar.getRadarIp());
|
||||||
connectionStatus.connected= true;
|
System.out.println(radar.getRadarIp());
|
||||||
|
ModbusResponse modbusResponse = ModbusUtils.holdingRegister();
|
||||||
|
if (modbusResponse == null){
|
||||||
|
dataResponse.setStatus("0");
|
||||||
|
}
|
||||||
System.out.println(modbusResponse);
|
System.out.println(modbusResponse);
|
||||||
String tag = modbusResponse.getTagId();
|
String tag = modbusResponse.getTagId();
|
||||||
PrimaryRadarData primaryRadarData = new PrimaryRadarData();
|
PrimaryRadarData primaryRadarData = new PrimaryRadarData();
|
||||||
SysIdentifier sysIdentifier = new SysIdentifier();
|
SysIdentifier sysIdentifier = new SysIdentifier();
|
||||||
BeanUtils.copyProperties(modbusResponse,primaryRadarData);
|
BeanUtils.copyProperties(modbusResponse, primaryRadarData);
|
||||||
if (!"0".equals(modbusResponse.getTagId())) {
|
if (!"0".equals(modbusResponse.getTagId())) {
|
||||||
sysIdentifier = identifierService.selectIdentifierByTag(tag);
|
sysIdentifier = identifierService.selectIdentifierByTag(tag);
|
||||||
primaryRadarData.setLadleNumber(sysIdentifier.getLadleNumber());
|
primaryRadarData.setLadleNumber(sysIdentifier.getLadleNumber());
|
||||||
primaryRadarData.setRadarLocation(radar.getRadarLocation());
|
primaryRadarData.setRadarLocation(radar.getRadarLocation());
|
||||||
primaryRadarData.setRadarIp(radar.getRadarIp());
|
primaryRadarData.setRadarIp(radar.getRadarIp());
|
||||||
}else {
|
} else {
|
||||||
primaryRadarData.setLadleNumber(null);
|
primaryRadarData.setLadleNumber(null);
|
||||||
primaryRadarData.setRadarLocation(null);
|
primaryRadarData.setRadarLocation(null);
|
||||||
primaryRadarData.setRadarIp(radar.getRadarIp());
|
primaryRadarData.setRadarIp(radar.getRadarIp());
|
||||||
|
}
|
||||||
|
dataResponse.setRadarLocation(primaryRadarData.getRadarLocation());
|
||||||
|
String ip = Inet4Address.getLocalHost().getHostAddress();
|
||||||
|
if (modbusResponse.getValue4() != null && !"0".equals(modbusResponse.getValue4())) {
|
||||||
|
primaryRadarDataService.insertPrimaryRadarData(primaryRadarData);
|
||||||
|
dataResponse.setStatus("1");
|
||||||
|
dataResponse.setRadarLocation(primaryRadarData.getRadarLocation());
|
||||||
|
} else {
|
||||||
|
dataResponse.setStatus("0");
|
||||||
|
}
|
||||||
|
RadarStatusWebSocket.sendToAll(dataResponse.toString());
|
||||||
}
|
}
|
||||||
String ip = Inet4Address.getLocalHost().getHostAddress();
|
} catch (Exception e) {
|
||||||
if (modbusResponse.getValue4()!=null && !"0".equals(modbusResponse.getValue4())) {
|
|
||||||
primaryRadarDataService.insertPrimaryRadarData(primaryRadarData);
|
|
||||||
}
|
|
||||||
RadarStatusWebSocket.sendToAll(modbusResponse.toString());
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
if (e.equals("java.net.SocketTimeoutException: connect timed out")) {
|
if (e.equals("java.net.SocketTimeoutException: connect timed out")) {
|
||||||
System.err.println("从串口读取失败:" + "连接超时");
|
System.err.println("从串口读取失败:" + "连接超时");
|
||||||
}
|
}
|
||||||
|
// RadarStatusWebSocket.sendToAll(dataResponse.toString());
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
timer.scheduleAtFixedRate(task, 1, 1000);
|
timer.scheduleAtFixedRate(task, 1, 1000);
|
||||||
|
|
@ -120,16 +128,14 @@ public class RadarStatusController
|
||||||
return responses;
|
return responses;
|
||||||
});
|
});
|
||||||
PageDomain pageDomain = TableSupport.buildPageRequest();
|
PageDomain pageDomain = TableSupport.buildPageRequest();
|
||||||
if (null == pageDomain.getPageNum() || null == pageDomain.getPageSize())
|
if (null == pageDomain.getPageNum() || null == pageDomain.getPageSize()) {
|
||||||
{
|
|
||||||
rspData.setRows(radarList);
|
rspData.setRows(radarList);
|
||||||
rspData.setTotal(radarList.size());
|
rspData.setTotal(radarList.size());
|
||||||
return rspData;
|
return rspData;
|
||||||
}
|
}
|
||||||
Integer pageNum = (pageDomain.getPageNum() - 1) * 10;
|
Integer pageNum = (pageDomain.getPageNum() - 1) * 10;
|
||||||
Integer pageSize = pageDomain.getPageNum() * 10;
|
Integer pageSize = pageDomain.getPageNum() * 10;
|
||||||
if (pageSize > radarList.size())
|
if (pageSize > radarList.size()) {
|
||||||
{
|
|
||||||
pageSize = radarList.size();
|
pageSize = radarList.size();
|
||||||
}
|
}
|
||||||
rspData.setRows(radarList.subList(pageNum, pageSize));
|
rspData.setRows(radarList.subList(pageNum, pageSize));
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
package com.ruoyi.web.core.config;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
|
import com.fasterxml.jackson.databind.json.JsonMapper;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
|
||||||
|
import javax.websocket.EncodeException;
|
||||||
|
import javax.websocket.Encoder;
|
||||||
|
import javax.websocket.EndpointConfig;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author YUSHENGDADA
|
||||||
|
* @title: BaseModelEncoder
|
||||||
|
* @projectName v2_lab
|
||||||
|
* @description: 实体编码器
|
||||||
|
* @date 2022/8/22 0022下午 14:15
|
||||||
|
*/
|
||||||
|
public class BaseModelEncoder implements Encoder.Text<TableDataInfo> {
|
||||||
|
@Override
|
||||||
|
public String encode(TableDataInfo baseResponseMessage) throws EncodeException {
|
||||||
|
try {
|
||||||
|
JsonMapper jsonMapper = new JsonMapper();
|
||||||
|
return jsonMapper.writeValueAsString(baseResponseMessage);
|
||||||
|
|
||||||
|
} catch (JsonProcessingException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init(EndpointConfig endpointConfig) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void destroy() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -12,7 +12,7 @@ import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@ServerEndpoint(value="/websocket",configurator = WebSocketConfig.class)
|
@ServerEndpoint(value="/websocket",configurator = WebSocketConfig.class,encoders = {BaseModelEncoder.class})
|
||||||
@Component
|
@Component
|
||||||
public class RadarStatusWebSocket {
|
public class RadarStatusWebSocket {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
<ul class="list-group list-group-striped">
|
<ul class="list-group list-group-striped">
|
||||||
<li class="list-group-item"><i class="fa fa-user"></i>
|
<li class="list-group-item"><i class="fa fa-user"></i>
|
||||||
<b class="font-noraml">工厂名称:</b>
|
<b class="font-noraml">工厂名称:</b>
|
||||||
<p class="pull-right">[[${user.loginName}]]</p>
|
<p class="pull-right">[[${user.userName}]]</p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,6 @@ public class DataResponse {
|
||||||
/**
|
/**
|
||||||
* 雷达连接状态
|
* 雷达连接状态
|
||||||
*/
|
*/
|
||||||
private String status;
|
private String status = "0" ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue