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