win代码上传

detached
zouyiqing 2024-01-08 16:02:21 +08:00
parent f20a2f1d40
commit 531f9bf5c9
1 changed files with 45 additions and 29 deletions

View File

@ -18,9 +18,12 @@ import com.ruoyi.common.utils.modbus.ModbusUtils;
import com.ruoyi.framework.web.domain.server.Sys;
import com.ruoyi.system.service.ISysRadarService;
import com.ruoyi.system.service.PrimaryRadarDataService;
import com.ruoyi.system.service.impl.IdentifierStatusServiceImpl;
import com.serotonin.modbus4j.ModbusMaster;
import com.serotonin.modbus4j.exception.ErrorResponseException;
import com.serotonin.modbus4j.exception.ModbusTransportException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
@ -29,10 +32,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.*;
import java.util.concurrent.CompletableFuture;
/**
@ -44,6 +44,7 @@ import java.util.concurrent.CompletableFuture;
@RequestMapping("/system/radarStatus")
public class RadarStatusController
{
private static final Logger log = LoggerFactory.getLogger(RadarStatusController.class);
@Autowired
private ISysRadarService service;
@ -72,35 +73,50 @@ public class RadarStatusController
// 异步连接硬件
CompletableFuture<List<ModbusResponse>> listCompletableFuture = CompletableFuture.supplyAsync(() -> {
List<ModbusResponse> responses = new ArrayList<>();
for (SysRadar radar : radarList) {
ModbusResponse modbusResponse = new ModbusResponse();
while (true) {
ModbusMaster master = ModbusUtils.getSlave(radar.getRadarIp(), 23);
try {
modbusResponse = ModbusUtils.holdingRegister();
System.out.println(modbusResponse);
} catch (ModbusTransportException e) {
throw new RuntimeException(e);
} catch (ErrorResponseException e) {
throw new RuntimeException(e);
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {try {
for (SysRadar radar : radarList) {
ModbusResponse modbusResponse = new ModbusResponse();
ModbusMaster master = ModbusUtils.getSlave(radar.getRadarIp(), 23);
System.out.println(radar.getRadarIp());
try {
modbusResponse = ModbusUtils.holdingRegister();
System.out.println(modbusResponse);
} catch (ModbusTransportException e) {
throw new RuntimeException(e);
} catch (ErrorResponseException e) {
throw new RuntimeException(e);
}
}
} catch (Exception e) {
System.err.println("从串口读取失败:" + e.getMessage());
}
}
}
};
timer.scheduleAtFixedRate(task, 1, 40);
return responses;
});
try {
Thread.sleep(1000); // 睡眠1秒钟
} catch (InterruptedException e) {
e.printStackTrace();
}
listCompletableFuture.thenAccept(modbusResponses -> {
for (ModbusResponse modbusResponse : modbusResponses) {
System.out.println(modbusResponse);
PrimaryRadarData primaryRadarData = new PrimaryRadarData();
BeanUtils.copyProperties(modbusResponse, primaryRadarData);
primaryRadarDataService.insertPrimaryRadarData(primaryRadarData);
}
});
// try {
// Thread.sleep(1000); // 睡眠1秒钟
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// listCompletableFuture.thenAccept(modbusResponses -> {
// for (ModbusResponse modbusResponse : modbusResponses) {
// System.out.println(modbusResponse);
//
// PrimaryRadarData primaryRadarData = new PrimaryRadarData();
// BeanUtils.copyProperties(modbusResponse, primaryRadarData);
// primaryRadarDataService.insertPrimaryRadarData(primaryRadarData);
// }
// });
PageDomain pageDomain = TableSupport.buildPageRequest();
if (null == pageDomain.getPageNum() || null == pageDomain.getPageSize())
{