|
@@ -33,11 +33,11 @@ public class RadarStatusService {
|
|
private final Map<String, List<ecmParams>> ecmParamsList = new ConcurrentHashMap<>();
|
|
private final Map<String, List<ecmParams>> ecmParamsList = new ConcurrentHashMap<>();
|
|
private final Map<String, ecmStatus> ecmStatusList = new ConcurrentHashMap<>();
|
|
private final Map<String, ecmStatus> ecmStatusList = new ConcurrentHashMap<>();
|
|
|
|
|
|
- @Autowired
|
|
|
|
- public TestSubscriber subscriber;
|
|
|
|
|
|
|
|
- @Autowired
|
|
|
|
- public TestPublisher publisher;
|
|
|
|
|
|
+ public final TestSubscriber subscriber = new TestSubscriber();
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ public final TestPublisher publisher = new TestPublisher();
|
|
|
|
|
|
|
|
|
|
// 设置队列最大容量
|
|
// 设置队列最大容量
|
|
@@ -113,6 +113,19 @@ public class RadarStatusService {
|
|
|
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
|
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(subscriber.listener.isTeam==1&&subscriber.listener.isInit==1&&subscriber.listener.isCoopParamsInit==0){
|
|
|
|
+ //未初始化参数 发送请求
|
|
|
|
+ try {
|
|
|
|
+ publisher.publishMessage(
|
|
|
|
+ "5",
|
|
|
|
+ "101",
|
|
|
|
+ "这是分组参数初始化请求"
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -142,6 +155,22 @@ public class RadarStatusService {
|
|
MessageStatus m = new MessageStatus();
|
|
MessageStatus m = new MessageStatus();
|
|
messageStatusMap.put(platformId,m);
|
|
messageStatusMap.put(platformId,m);
|
|
ecmParamsList.put(platformId,new ArrayList<>());
|
|
ecmParamsList.put(platformId,new ArrayList<>());
|
|
|
|
+
|
|
|
|
+ sdrStatus s = new sdrStatus();
|
|
|
|
+ if(platformId.equals(subscriber.listener.realJamID)||platformId.equals(subscriber.listener.realRadarID)){
|
|
|
|
+ s.platformStatus = "离线";
|
|
|
|
+ s.serviceStatus = "无法提供";
|
|
|
|
+ s.jamingPolicy = "无";
|
|
|
|
+ s.investingPolicy = "无";
|
|
|
|
+ subscriber.listener.sdrStatueMap.put(platformId,s);
|
|
|
|
+ }
|
|
|
|
+ else{
|
|
|
|
+ s.platformStatus = "此设备并未采用半实物设备模拟";
|
|
|
|
+ s.serviceStatus = "此设备并未采用半实物设备模拟";
|
|
|
|
+ s.jamingPolicy = "此设备并未采用半实物设备模拟";
|
|
|
|
+ s.investingPolicy = "此设备并未采用半实物设备模拟";
|
|
|
|
+ subscriber.listener.sdrStatueMap.put(platformId,s);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
public List<Map<String, Object>> getRadarStatus(String platformId) {
|
|
public List<Map<String, Object>> getRadarStatus(String platformId) {
|
|
@@ -150,6 +179,13 @@ public class RadarStatusService {
|
|
return convertToKeyValueList(status);
|
|
return convertToKeyValueList(status);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public String getIsReal(String platformId) {
|
|
|
|
+ logger.info("获取平台 {} 的是否半实物", platformId);
|
|
|
|
+ Position p = subscriber.listener.positionMap.get(platformId);
|
|
|
|
+ String s = p.isReal.equals("2") ? "是" : "否";
|
|
|
|
+ return s;
|
|
|
|
+ }
|
|
|
|
+
|
|
public RadarStatus updateRadarStatus(String platformId, RadarStatus updatedStatus) {
|
|
public RadarStatus updateRadarStatus(String platformId, RadarStatus updatedStatus) {
|
|
if (updatedStatus == null) {
|
|
if (updatedStatus == null) {
|
|
logger.error("尝试更新空的雷达状态");
|
|
logger.error("尝试更新空的雷达状态");
|
|
@@ -360,13 +396,13 @@ public class RadarStatusService {
|
|
//获取消息数据 链路状态相关方法
|
|
//获取消息数据 链路状态相关方法
|
|
public MessageStatus getMsgStatusById(String PlatformID){
|
|
public MessageStatus getMsgStatusById(String PlatformID){
|
|
|
|
|
|
- return messageStatusMap.get(PlatformID);
|
|
|
|
|
|
+ return subscriber.listener.messageStatusMap.get(PlatformID);
|
|
}
|
|
}
|
|
|
|
|
|
public void setMsgStatusById(String PlatformID,MessageStatus m){
|
|
public void setMsgStatusById(String PlatformID,MessageStatus m){
|
|
// messageStatusMap.put(PlatformID,m);
|
|
// messageStatusMap.put(PlatformID,m);
|
|
subscriber.listener.messageStatusMap.put(PlatformID,m);
|
|
subscriber.listener.messageStatusMap.put(PlatformID,m);
|
|
- publisher.publishMessage("5","9",m.startUp+" "+m.quite+" "+m.mode);
|
|
|
|
|
|
+ publisher.publishMessage("5","9",PlatformID+" "+m.startUp+" "+m.quite+" "+m.mode);
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -454,6 +490,10 @@ public class RadarStatusService {
|
|
ecmParamsList.put(platformID,list);
|
|
ecmParamsList.put(platformID,list);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public sdrStatus getSdrStatusByID(String platformID){
|
|
|
|
+ return subscriber.listener.sdrStatueMap.get(platformID);
|
|
|
|
+ }
|
|
|
|
+
|
|
//编队成员方法
|
|
//编队成员方法
|
|
public List<String> getTeamMemberByID(String platformID) {
|
|
public List<String> getTeamMemberByID(String platformID) {
|
|
for(List<String> list : subscriber.listener.coopTeamMap.values()){
|
|
for(List<String> list : subscriber.listener.coopTeamMap.values()){
|
|
@@ -532,10 +572,10 @@ public class RadarStatusService {
|
|
private void checkTargets(){
|
|
private void checkTargets(){
|
|
platformTargetsMap.clear();
|
|
platformTargetsMap.clear();
|
|
//雷达循环
|
|
//雷达循环
|
|
- for(String missile : subscriber.listener.radarPositionMap.keySet()){
|
|
|
|
|
|
+ for(String radar : subscriber.listener.radarPositionMap.keySet()){
|
|
Queue<RadarTarget> queue = new ConcurrentLinkedQueue<>();
|
|
Queue<RadarTarget> queue = new ConcurrentLinkedQueue<>();
|
|
//侦察循环
|
|
//侦察循环
|
|
- for(String radar : subscriber.listener.positionMap.keySet()){
|
|
|
|
|
|
+ for(String missile : subscriber.listener.positionMap.keySet()){
|
|
//侦察
|
|
//侦察
|
|
Position thisMissile = subscriber.listener.positionMap.get(missile);
|
|
Position thisMissile = subscriber.listener.positionMap.get(missile);
|
|
//雷达
|
|
//雷达
|
|
@@ -562,7 +602,7 @@ public class RadarStatusService {
|
|
queue.add(target);
|
|
queue.add(target);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- platformTargetsMap.put(missile,queue);
|
|
|
|
|
|
+ platformTargetsMap.put(radar,queue);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|