win代码上传

detached
zouyiqing 2024-01-17 14:45:03 +08:00
parent 363f046374
commit d9010a27c1
5 changed files with 82 additions and 36 deletions

View File

@ -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));

View File

@ -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() {
}
}

View File

@ -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 {

View File

@ -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>

View File

@ -17,6 +17,6 @@ public class DataResponse {
/** /**
* *
*/ */
private String status; private String status = "0" ;
} }