【列车获取公里标条件修改】

This commit is contained in:
weizhihong 2023-07-04 14:27:46 +08:00
parent b5e7def287
commit a5c2b0a202
4 changed files with 8 additions and 31 deletions

View File

@ -1,7 +1,6 @@
package club.joylink.xiannccda.ats.cache;
import club.joylink.xiannccda.dto.protos.DeviceInfoProto;
import club.joylink.xiannccda.dto.protos.DeviceInfoProto.Turnout;
import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto;
import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto.KilometerSystem;
import club.joylink.xiannccda.dto.protos.LayoutGraphicsProto.RelatedRef.DeviceType;
@ -10,7 +9,6 @@ import club.joylink.xiannccda.entity.PublishedGi;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.google.protobuf.GeneratedMessageV3.Builder;
import com.google.protobuf.InvalidProtocolBufferException;
import io.swagger.v3.oas.models.security.SecurityScheme.In;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -33,16 +31,6 @@ public class LineGraphicDataRepository {
private static final Map<Integer, Map<String, CoordinateConvertor>> lineCoordinateMain =
new HashMap<>();
/**
* 线路信息是否存在
*
* @param lineCode 线路信息
* @return 是否存在
*/
public static boolean lineDataExists(Integer lineCode) {
return lineGraphMap.containsKey(lineCode);
}
/**
* 缓存线路数据信息
*
@ -434,15 +422,6 @@ public class LineGraphicDataRepository {
}
}
/**
* 转换类型这里根据两个坐标系来定
*
* @return 类型字符串
*/
private String getConvertorKey() {
return generateConvertorKey(configType, convertorType);
}
/**
* 生成转换Key
*

View File

@ -18,9 +18,7 @@ import java.util.List;
import java.util.Objects;
import lombok.extern.slf4j.Slf4j;
/**
* 接收列车初始化消息就收转换线网的列车数据
*/
/** 接收列车初始化消息,就收转换线网的列车数据 */
@Slf4j
public class LineNetTrainInitConvertor extends DeviceStatusConvertor {
@ -56,6 +54,7 @@ public class LineNetTrainInitConvertor extends DeviceStatusConvertor {
LineGraphicDataRepository.getSectionDefaultKmCodeList(
response.getLineId(), trainCell.getDevName());
if (CollectionUtils.isNotEmpty(kmCodeList)) {
offset.setShow(true); // 是否显示
offset.setKilometerCode(kmCodeList.get(0));
}
}

View File

@ -42,17 +42,18 @@ public class LineNetTrainRecordConvertor extends DeviceStatusConvertor {
offset.setLineId(response.getLineId()); // 线路id
offset.setGroupId(response.getGroupId()); // 车组号
offset.setDir(response.getDirection().getValue()); // 初始设置无运行方向
offset.setShow(true); // 显示
offset.setShow(false);
// 获取到当前区段公里标
List<Long> kmCodeList =
LineGraphicDataRepository.getSectionDefaultKmCodeList(
response.getLineId(), response.getTrackName());
if (CollectionUtils.isNotEmpty(kmCodeList)) {
offset.setShow(true); // 如果公里标存在则
long kilometer;
if (offset.getDir() == 1) { // 下行取大值
kilometer = kmCodeList.stream().max(Long::compareTo).get();
} else if (offset.getDir() == 2) { // 上行取小值
kilometer = kmCodeList.stream().min(Long::compareTo).get();
} else if (offset.getDir() == 2) { // 上行取小值
kilometer = kmCodeList.stream().max(Long::compareTo).get();
} else { // 无方向获取第一个
kilometer = kmCodeList.get(0);
}

View File

@ -18,9 +18,7 @@ import java.util.List;
import java.util.Objects;
import lombok.extern.slf4j.Slf4j;
/**
* 列车信息更新时信息转换
*/
/** 列车信息更新时,信息转换 */
@Slf4j
public class LineNetTrainUpdateConvertor extends DeviceStatusConvertor {
@ -47,13 +45,13 @@ public class LineNetTrainUpdateConvertor extends DeviceStatusConvertor {
offset.setLineId(response.getLineId()); // 线路id
offset.setTrainIndex(response.getTrainIndex()); // 列车标示号全线唯一
offset.setGroupId(response.getGroupId()); // 车组号
offset.setShow(true); // 是否显示
// 获取到当前区段公里标
if (DeviceType.DEVICE_TYPE_TRACK.equals(response.getDevType())) {
List<Long> kmCodeList =
LineGraphicDataRepository.getSectionDefaultKmCodeList(
response.getLineId(), response.getDevName());
if (CollectionUtils.isNotEmpty(kmCodeList)) {
offset.setShow(true); // 是否显示
offset.setKilometerCode(kmCodeList.get(0));
}
}