win代码上传
parent
6fc4de5e43
commit
074326ce6a
|
|
@ -103,9 +103,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'createTime',
|
field: 'createTime',
|
||||||
title: '记录开始时间',
|
title: '记录开始时间'
|
||||||
sortable: true,
|
},
|
||||||
},
|
|
||||||
{
|
{
|
||||||
field: 'updateTime',
|
field: 'updateTime',
|
||||||
title: '记录结束时间',
|
title: '记录结束时间',
|
||||||
|
|
|
||||||
|
|
@ -26,4 +26,6 @@ public class DataResponse implements Serializable {
|
||||||
|
|
||||||
private List<Integer> data;
|
private List<Integer> data;
|
||||||
|
|
||||||
|
private Long time;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,11 +22,9 @@ public class SocketUtil {
|
||||||
try {
|
try {
|
||||||
boolean connected = socket.isConnected();
|
boolean connected = socket.isConnected();
|
||||||
if (!connected) {
|
if (!connected) {
|
||||||
dataResponse.setStatus(0);
|
dataResponse.setStatus(0);
|
||||||
}else {
|
|
||||||
dataResponse.setStatus(1);
|
|
||||||
}
|
}
|
||||||
RadarStatusWebSocket.sendToAll(JSON.toJSONString(dataResponse));
|
dataResponse.setTime(System.currentTimeMillis());
|
||||||
InputStream inputStream = socket.getInputStream(); // 获取输入流
|
InputStream inputStream = socket.getInputStream(); // 获取输入流
|
||||||
int available = inputStream.available();
|
int available = inputStream.available();
|
||||||
byte[] buffer = new byte[available];
|
byte[] buffer = new byte[available];
|
||||||
|
|
@ -48,6 +46,11 @@ public class SocketUtil {
|
||||||
if (Objects.equals(radarId, decimal.get(0))) {
|
if (Objects.equals(radarId, decimal.get(0))) {
|
||||||
dataResponse.setData(decimal);
|
dataResponse.setData(decimal);
|
||||||
}
|
}
|
||||||
|
dataResponse.setStatus(1);
|
||||||
|
|
||||||
|
System.out.println("雷达ip " + radarIp+ radarId + radarLocation + "成功");
|
||||||
|
|
||||||
|
RadarStatusWebSocket.sendToAll(JSON.toJSONString(dataResponse));
|
||||||
return dataResponse;
|
return dataResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,7 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I
|
||||||
}
|
}
|
||||||
|
|
||||||
private void radarWebSocket(List<SysRadar> radarList) {
|
private void radarWebSocket(List<SysRadar> radarList) {
|
||||||
|
// System.out.println(" 雷达集合:::" + radarList);
|
||||||
for (SysRadar radar : radarList) {
|
for (SysRadar radar : radarList) {
|
||||||
try {
|
try {
|
||||||
Socket socket = new Socket(radar.getRadarIp(), 23);
|
Socket socket = new Socket(radar.getRadarIp(), 23);
|
||||||
|
|
@ -83,27 +84,33 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I
|
||||||
|
|
||||||
Map<String, List<PrimaryRadarData>> map = new HashMap<>();
|
Map<String, List<PrimaryRadarData>> map = new HashMap<>();
|
||||||
|
|
||||||
|
Map<String ,Long> timeMap = new HashMap();
|
||||||
|
|
||||||
while (StringUtils.equals("0", radarDelMap.get(radar.getId()))) {
|
while (StringUtils.equals("0", radarDelMap.get(radar.getId()))) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
// socket连接成功返回数据
|
// socket连接成功返回数据
|
||||||
DataResponse data = SocketUtil.getData(socket, radar.getRadarLocation(), radar.getRadarIp(), radar.getRadarId());
|
DataResponse data = SocketUtil.getData(socket, radar.getRadarLocation(), radar.getRadarIp(), radar.getRadarId());
|
||||||
long current = System.currentTimeMillis();
|
if (Objects.nonNull(data.getData())){
|
||||||
|
timeMap.put("noDataStart",System.currentTimeMillis());
|
||||||
|
}
|
||||||
// 没数据返回data.data == null
|
// 没数据返回data.data == null
|
||||||
|
long current = System.currentTimeMillis();
|
||||||
if (Objects.isNull(data.getData())) {
|
if (Objects.isNull(data.getData())) {
|
||||||
|
current = System.currentTimeMillis();
|
||||||
// 连续2秒没读到数据,结束
|
// 连续2秒没读到数据,结束
|
||||||
if (current - noDataStart >= 2000) {
|
if (current - noDataStart >= 2000) {
|
||||||
long dataNullTime = System.currentTimeMillis();
|
|
||||||
// todo:存数据
|
// todo:存数据
|
||||||
if (CollectionUtils.isNotEmpty(map.get(getMapKey(radar)))) {
|
if (CollectionUtils.isNotEmpty(map.get(getMapKey(radar)))) {
|
||||||
|
System.out.println("连续两秒没收到数据:开始存储........" + "开始时间为:" + timeMap.get("noDataStart") + "结束时间为:" + current);
|
||||||
if (readCount > 1) {
|
if (readCount > 1) {
|
||||||
saveData(radar, map, readCount, noDataEnd, dataNullTime);
|
saveData(radar, map, readCount, timeMap.get("noDataStart"), current);
|
||||||
|
timeMap.put("noDataStart",System.currentTimeMillis());
|
||||||
readCount = 1;
|
readCount = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
map.get(getMapKey(radar)).clear();
|
map.remove(getMapKey(radar));
|
||||||
noDataStart = current;
|
noDataStart = current;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -141,25 +148,35 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I
|
||||||
dataList.add(primaryRadarData);
|
dataList.add(primaryRadarData);
|
||||||
map.put(getMapKey(radar), dataList);
|
map.put(getMapKey(radar), dataList);
|
||||||
}
|
}
|
||||||
if (StringUtils.equals(modbusResponse.getTagId(), dataList.get(dataList.size() - 1).getTagId()) && Objects.equals(primaryRadarData.getRadarId(), dataList.get(dataList.size() - 1).getRadarId()) && Objects.equals(primaryRadarData.getRadarIp(), dataList.get(dataList.size() - 1).getRadarIp())) {
|
// if (StringUtils.equals(modbusResponse.getTagId(), dataList.get(dataList.size() - 1).getTagId()) && Objects.equals(primaryRadarData.getRadarId(), dataList.get(dataList.size() - 1).getRadarId()) && Objects.equals(primaryRadarData.getRadarIp(), dataList.get(dataList.size() - 1).getRadarIp())) {
|
||||||
if (current - start >= 20000) {
|
// if (current - start >= 20000) {
|
||||||
// todo:存数据
|
// // todo:存数据
|
||||||
|
//
|
||||||
if (readCount > 100) {
|
// System.out.println("连续二十秒秒没收到数据:开始存储........" + "开始时间为:" + start + "结束时间为:" + current);
|
||||||
saveData(radar, map, readCount, start, current);
|
// if (readCount > 100) {
|
||||||
readCount = 1;
|
// saveData(radar, map, readCount, start, current);
|
||||||
}
|
// readCount = 1;
|
||||||
start = System.currentTimeMillis();
|
// }
|
||||||
|
// start = System.currentTimeMillis();
|
||||||
}
|
//
|
||||||
dataList.clear();
|
// }
|
||||||
dataList.add(primaryRadarData);
|
// dataList.clear();
|
||||||
}
|
// dataList.add(primaryRadarData);
|
||||||
if (!StringUtils.equals(modbusResponse.getTagId(), dataList.get(dataList.size() - 1).getTagId()) && !StringUtils.equals("0", dataList.get(dataList.size() - 1).getTagId()) && Objects.equals(primaryRadarData.getRadarId(), dataList.get(dataList.size() - 1).getRadarId()) && Objects.equals(primaryRadarData.getRadarIp(), dataList.get(dataList.size() - 1).getRadarIp())) {
|
// }
|
||||||
|
if (!StringUtils.equals(modbusResponse.getTagId(), dataList.get(dataList.size() - 1).getTagId())
|
||||||
|
&& !StringUtils.equals("0", dataList.get(dataList.size() - 1).getTagId())
|
||||||
|
&& Objects.equals(primaryRadarData.getRadarId(), dataList.get(dataList.size() - 1).getRadarId())
|
||||||
|
&& Objects.equals(primaryRadarData.getRadarIp(), dataList.get(dataList.size() - 1).getRadarIp())) {
|
||||||
// todo:存数据
|
// todo:存数据
|
||||||
long currentTimeMillis = System.currentTimeMillis();
|
long currentTimeMillis = System.currentTimeMillis();
|
||||||
saveData(radar, map, readCount, start, currentTimeMillis);
|
Long dataStart = timeMap.get("noDataStart");
|
||||||
|
System.out.println("突然读到另一个标签:开始存储........"
|
||||||
|
+ "此次雷达id===="+primaryRadarData.getRadarId() + "上次雷达id===="+primaryRadarData.getRadarId()
|
||||||
|
+ "此次雷达ip为:====" + primaryRadarData.getRadarIp()+ "上次雷达ip为 =====" + dataList.get(dataList.size() - 1).getRadarIp() + dataStart + "结束时间为:" + currentTimeMillis);
|
||||||
|
saveData(radar, map, readCount, data.getTime()-1, currentTimeMillis);
|
||||||
dataList.clear();
|
dataList.clear();
|
||||||
|
timeMap.put("noDataStart",System.currentTimeMillis());
|
||||||
|
map.remove(getMapKey(radar));
|
||||||
dataList.add(primaryRadarData);
|
dataList.add(primaryRadarData);
|
||||||
readCount = 1;
|
readCount = 1;
|
||||||
}
|
}
|
||||||
|
|
@ -172,8 +189,13 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I
|
||||||
|
|
||||||
if (!Objects.equals(data.getData().get(0), dataList.get(dataList.size() - 1).getRadarId())) {
|
if (!Objects.equals(data.getData().get(0), dataList.get(dataList.size() - 1).getRadarId())) {
|
||||||
long end = System.currentTimeMillis();
|
long end = System.currentTimeMillis();
|
||||||
saveData(radar, map, readCount, start, end);
|
Long dataStart = timeMap.get("noDataStart");
|
||||||
|
|
||||||
|
System.out.println("突然读到另一个雷达id: " + "开始存储........" + "开始时间为:" + dataStart + "结束时间为:" + end);
|
||||||
|
saveData(radar, map, readCount, data.getTime(), end);
|
||||||
dataList.clear();
|
dataList.clear();
|
||||||
|
timeMap.put("noDataStart",System.currentTimeMillis());
|
||||||
|
map.remove(getMapKey(radar));
|
||||||
dataList.add(primaryRadarData);
|
dataList.add(primaryRadarData);
|
||||||
readCount = 1;
|
readCount = 1;
|
||||||
}
|
}
|
||||||
|
|
@ -181,17 +203,20 @@ public class RadarRealTimeDataServiceImpl implements RadarRealTimeDataService, I
|
||||||
}
|
}
|
||||||
consecutiveZeros = 0;
|
consecutiveZeros = 0;
|
||||||
} else {
|
} else {
|
||||||
|
Long dataStart = timeMap.get("noDataStart");
|
||||||
//连续10次读取标签号为0
|
//连续10次读取标签号为0
|
||||||
consecutiveZeros++;
|
consecutiveZeros++;
|
||||||
if (10 == consecutiveZeros) {
|
if (10 == consecutiveZeros) {
|
||||||
// todo:存数据
|
// todo:存数据
|
||||||
long nullTime = System.currentTimeMillis();
|
long nullTime = System.currentTimeMillis();
|
||||||
saveData(radar, map, readCount, start, noDataStart);
|
|
||||||
|
System.out.println("连续10次读取标签号为0:开始存储........" + "开始时间为:" + dataStart + "结束时间为:" + noDataStart);
|
||||||
|
saveData(radar, map, readCount, data.getTime(), noDataStart);
|
||||||
readCount = 1;
|
readCount = 1;
|
||||||
map.get(getMapKey(radar)).clear();
|
map.remove(getMapKey(radar));
|
||||||
|
timeMap.remove("noDataStart");
|
||||||
dataList.clear();
|
dataList.clear();
|
||||||
consecutiveZeros = 0;
|
consecutiveZeros = 0;
|
||||||
start = System.currentTimeMillis();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 没有配置过将铁包号置空
|
// 没有配置过将铁包号置空
|
||||||
|
|
|
||||||
|
|
@ -93,6 +93,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="createTime != null and updateTime != null">
|
<if test="createTime != null and updateTime != null">
|
||||||
AND DATE_FORMAT(update_time,'%Y-%m-%d') between DATE_FORMAT(#{createTime},'%Y-%m-%d') and DATE_FORMAT(#{updateTime},'%Y-%m-%d')
|
AND DATE_FORMAT(update_time,'%Y-%m-%d') between DATE_FORMAT(#{createTime},'%Y-%m-%d') and DATE_FORMAT(#{updateTime},'%Y-%m-%d')
|
||||||
</if>
|
</if>
|
||||||
|
order by id desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue