package org.sxkj.common.enums; import java.util.Arrays; import java.util.Optional; /** * 航线类型 * 0马上智飞 * 1自动举证和手动举证 * 2面状采集(老大屏使用)-- 对应生成正射tif * 3航线规划航点 * 4面状采集 -- 对应生成正射tif * 5倾斜采集 -- 对应生成倾斜实景 tiles * 6白膜采集 -- 对应生成白膜 tiles * 7倾斜采集(智能摆动拍摄) -- 对应生成倾斜实景 tiles * 8斜面航线 -- 对应生成倾斜实景 tiles * 9几何航线 -- 对应生成倾斜实景 tiles * 10圆面航线 -- 对应生成正射tif * * @author zhongrj * @date 2025-12-08 */ public enum WaylineTypeEnum { SVN(0, "马上智飞", 0), PROOF(1, "自动举证",2), PLANAR_COL_HIS(2, "面状采集", 9), ROUTE_PLAN(3, "航线规划航点", 3), PLANAR_COL(4, "正射举证", 10), TILT_COL(5, "倾斜采集", 1), ALB_COL(6, "白膜采集", 8), TILT_COL_SMART(7, "倾斜采集(智能摆动拍摄)", 4), TILT_WAY(8, "斜面航线", 5), GEO_WAY(9, "几何航线", 6), DISC_WAY(10, "圆面航线", 7), PROOF_MANUAL(11, "手动举证", 11); /** * 数据库存储字段的值 */ private Integer type; /** * 描述 */ private String name; /** * 前端入参 */ private Integer code; WaylineTypeEnum(Integer type, String name, Integer code) { this.type = type; this.name = name; this.code = code; } public Integer getType() { return type; } public String getName() { return name; } public Integer getCode() { return code; } /** * 根据类型获取对应的航线类型值 * @param code 类型 * 0:面状航线正射采集, * 1:面状航线倾斜采集 * 2:自动采集 * 3:白膜采集 * 4:面状航线-倾斜采集(智能摆动拍摄) * 5:斜面航线 * 6:几何线航线 * 7:圆形航线 * @return 航线类型值 */ public static String getWaylineTypeValue(int code) { Optional matchedEnum = Arrays.stream(WaylineTypeEnum.values()) .filter(e -> e.getCode() == code) .findFirst(); Integer type = matchedEnum.map(WaylineTypeEnum::getType) .orElse(0); return type.toString(); } }