电子看板-三跨数据接口

This commit is contained in:
cwchen 2025-04-25 09:32:09 +08:00
parent 70b8075fc6
commit 56f7c85d85
6 changed files with 145 additions and 0 deletions

View File

@ -48,4 +48,11 @@ public class DigitalSignageController {
public ServerResponse getThreeSpans(EncryptedReq<QueryParamDto> dto) {
return service.getThreeSpans(dto.getData());
}
@ApiOperation("电子看板-杆塔坐标点信息(索道运输、交叉跨越)")
@PostMapping(value = "getTowersInfo")
@DecryptAndVerify(decryptedClass = QueryParamDto.class)//加解密统一管理
public ServerResponse getTowersInfo(EncryptedReq<QueryParamDto> dto) {
return service.getTowersInfo(dto.getData());
}
}

View File

@ -51,4 +51,22 @@ public interface DigitalSignageDao {
* @date 2025/4/24 14:50
*/
List<DigitalSignageVo.ThreeSpanVo> getThreeSpans(QueryParamDto dto);
/**
* 查询索道运输信息
* @param dto
* @return Object
* @author cwchen
* @date 2025/4/24 17:02
*/
List<DigitalSignageVo.CablewaTransVo> getCablewaTrans(QueryParamDto dto);
/**
* 查询杆塔数据
* @param dto
* @return List<TowerInfoVo>
* @author cwchen
* @date 2025/4/25 9:11
*/
List<DigitalSignageVo.TowerInfoVo> getTowersInfo(QueryParamDto dto);
}

View File

@ -1,7 +1,10 @@
package com.bonus.digitalSignage.backstage.entity.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* @className:DigitalSignageVo
* @author:cwchen
@ -109,4 +112,69 @@ public class DigitalSignageVo {
private String highwayWidth;
}
@Data
public static class CablewaTransVo {
/**
* 索道所在杆塔位置
*/
private String towerName;
/**
* 索道长度km
*/
private String cablewayLength;
/**
* 最大载重(kg)
*/
private String maxHeight;
/**
* 安全距离(m)
*/
private String safetyDistance;
/**
* 最大坡度(°)
*/
private String maxSlope;
/**
* 百度地图经度
*/
private String baiduLon;
/**
* 百度地图-纬度
*/
private String baiduLat;
}
@Data
public static class TowerInfoVo{
/**杆塔名称*/
private String towerName;
/**百度经度*/
private String baiduLon;
/**百度纬度*/
private String baiduLat;
/**基础开挖完成日期*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date time1;
/**基础开挖完成日期*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date time2;
/**基础浇筑完成日期*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date time3;
/**铁塔组立完成日期*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date time4;
/**铁塔组立完成日期*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date time5;
/**架线施工完成日期*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date time6;
/**附件安装日期完成日期*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date time7;
/**是否存在跨越 1.存在 0.不存在*/
private int existSpan;
}
}

View File

@ -37,4 +37,13 @@ public interface DigitalSignageService {
* @date 2025/4/24 14:48
*/
ServerResponse getThreeSpans(QueryParamDto data);
/**
* 电子看板-杆塔坐标点信息索道运输交叉跨越
* @param data
* @return ServerResponse
* @author cwchen
* @date 2025/4/24 16:52
*/
ServerResponse getTowersInfo(QueryParamDto data);
}

View File

@ -89,4 +89,20 @@ public class DigitalSignageServiceImpl implements DigitalSignageService {
}
return ServerResponse.createSuccess(list);
}
@Override
public ServerResponse getTowersInfo(QueryParamDto dto) {
Map<String, Object> map = new HashMap<>();
try {
// 查询索道运输信息
List<DigitalSignageVo.CablewaTransVo> cablewaTransVos = Optional.ofNullable(dao.getCablewaTrans(dto)).orElseGet(ArrayList::new);
// 查询交叉跨越信息
// 查询杆塔数据
List<DigitalSignageVo.TowerInfoVo> towerInfoVos = Optional.ofNullable(dao.getTowersInfo(dto)).orElseGet(ArrayList::new);
map.put("cablewaTransVos", cablewaTransVos);
} catch (Exception e) {
log.error(e.toString(),e);
}
return ServerResponse.createSuccess(map);
}
}

View File

@ -82,4 +82,31 @@
LEFT JOIN tb_tower tt2 ON tts.tower_id = tt2.id
WHERE tts.pro_id = #{id} AND is_active = '1'
</select>
<!--查询索道运输信息-->
<select id="getCablewaTrans"
resultType="com.bonus.digitalSignage.backstage.entity.vo.DigitalSignageVo$CablewaTransVo">
SELECT tct.cableway_length AS cablewayLength,
tct.max_height AS maxHeight,
tct.safety_distance AS safetyDistance,
tct.max_slope AS maxSlope,
tt.baidu_lon AS baiduLon,
tt.baidu_lat AS baiduLat,
tt.tower_name AS towerName
FROM tb_cablewa_trans tct
LEFT JOIN tb_tower tt ON tct.tower_id = tt.id
WHERE tct.pro_id = #{id} AND tct.is_active = '1'
</select>
<!--查询杆塔数据-->
<select id="getTowersInfo"
resultType="com.bonus.digitalSignage.backstage.entity.vo.DigitalSignageVo$TowerInfoVo">
SELECT tt.tower_name AS towerName,
tt.baidu_lon AS baiduLon,
tt.baidu_lat AS baiduLat
FROM tb_tower tt
LEFT JOIN (
SELECT ttp.tower_id
FROM tb_tower_progress ttp
) A ON tt.id = A.tower_id
WHERE tt.pro_id = #{id}
</select>
</mapper>