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