电子看板接口修改

This commit is contained in:
cwchen 2025-06-10 15:25:44 +08:00
parent 88a83cd868
commit f4b5519c06
5 changed files with 140 additions and 27 deletions

View File

@ -91,12 +91,12 @@ public interface DigitalSignageDao {
/**
* 查询索道口中转点索道终点数据
* @param vo
* @param id
* @return List<CablewaTransPointVo>
* @author cwchen
* @date 2025/5/20 16:08
*/
List<DigitalSignageVo.CablewaTransPointVo> getCablewaTransPointVos(DigitalSignageVo.CablewaTransVo vo);
List<DigitalSignageVo.CablewaTransPointVo> getCablewaTransPointVos(Long id);
/**
* 基础浇筑-ABCD腿完成情况
@ -106,4 +106,22 @@ public interface DigitalSignageDao {
* @date 2025/5/20 16:46
*/
List<DigitalSignageVo.TowerPouringVo> getTowerPourings(DigitalSignageVo.TowerInfoVo vo);
/**
* 查询公路
* @param dto
* @return Object
* @author cwchen
* @date 2025/6/10 15:14
*/
List<DigitalSignageVo.HighwayVo> getHighways(QueryParamDto dto);
/**
* 查询千张场地
* @param dto
* @return Object
* @author cwchen
* @date 2025/6/10 15:14
*/
List<DigitalSignageVo.AThousandFieldsVo> getAThousandFieldsList(QueryParamDto dto);
}

View File

@ -48,21 +48,25 @@ public class DigitalSignageVo {
*/
private int num7;
/**
* 架线完成
* 架线施工
*/
private int num8;
/**
* 附件安装
* 架线施工完成
*/
private int num9;
/**
* 未开始
* 附件安装
*/
private int num10;
/**
* 索道运输
* 未开始
*/
private int num11;
/**
* 索道运输
*/
private int num12;
}
@Data
@ -163,6 +167,57 @@ public class DigitalSignageVo {
private List<CablewaTransPointVo> cablewaTransPointVoList;
}
@Data
public static class HighwayVo {
private Long id;
/**
* 索道所在杆塔位置
*/
private String towerName;
/**
* 长度km
*/
private String cablewayLength;
/**
* 百度地图经度
*/
private String baiduLon;
/**
* 百度地图-纬度
*/
private String baiduLat;
/**
* 宽度
*/
private String cablewayWidth;
private List<CablewaTransPointVo> cablewaTransPointVoList;
}
@Data
public static class AThousandFieldsVo {
private Long id;
/**名称*/
private String name;
/**
* 长度km
*/
private String cablewayLength;
/**
* 宽度
*/
private String cablewayWidth;
private List<CablewaTransPointVo> cablewaTransPointVoList;
}
/**
* 索道运输-索道口中转口索道终点
* */
@ -237,15 +292,20 @@ public class DigitalSignageVo {
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date time7;
/**
* 架线施工完成日期
* 架线施工日期
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date time8;
/**
* 附件安装日期完成日期
* 架线施工完成日期
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date time9;
/**
* 附件安装日期完成日期
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date time10;
/**
* 是否存在跨越 1.存在 0.不存在
@ -255,11 +315,6 @@ public class DigitalSignageVo {
* 杆塔完成进度 1.协调完成 2.基础开挖 3.基础开挖完成 4.基础浇筑 5.基础浇筑完成 6.铁塔组立 7.铁塔组立完成 8.架线施工完成 9.附件安装完成
*/
private int towerProgress;
/**
* 基础浇筑-ABCD腿 完成情况
* */
private List<TowerPouringVo> towerPouringVos;
}
@Data

View File

@ -24,5 +24,8 @@ public class ProTreeVo {
private String lat;
/**工程概况*/
private String projectOverview;
private List<ProTreeVo> children;
}

View File

@ -74,7 +74,7 @@ public class DigitalSignageServiceImpl implements DigitalSignageService {
vo = Optional.ofNullable(dao.getTowerProgressNum(dto)).orElseGet(DigitalSignageVo.TowerProgressNumVo::new);
// 查询索道运输数量
int num = dao.getRopewayTransNum(dto);
vo.setNum11(num);
vo.setNum12(num);
} catch (Exception e) {
log.error(e.toString(),e);
}
@ -100,27 +100,35 @@ public class DigitalSignageServiceImpl implements DigitalSignageService {
List<DigitalSignageVo.CablewaTransVo> cablewaTransVos = Optional.ofNullable(dao.getCablewaTrans(dto)).orElseGet(ArrayList::new);
if(CollectionUtils.isNotEmpty(cablewaTransVos)){
for (DigitalSignageVo.CablewaTransVo vo : cablewaTransVos) {
List<DigitalSignageVo.CablewaTransPointVo> cablewaTransPointVos = Optional.ofNullable(dao.getCablewaTransPointVos(vo)).orElseGet(ArrayList::new);
List<DigitalSignageVo.CablewaTransPointVo> cablewaTransPointVos = Optional.ofNullable(dao.getCablewaTransPointVos(vo.getId())).orElseGet(ArrayList::new);
vo.setCablewaTransPointVoList(cablewaTransPointVos);
}
}
// 查询杆塔数据
List<DigitalSignageVo.TowerInfoVo> towerInfoVos = Optional.ofNullable(dao.getTowersInfo(dto)).orElseGet(ArrayList::new);
for (DigitalSignageVo.TowerInfoVo vo : towerInfoVos) {
if(vo.getTowerProgress() == 3){
List<DigitalSignageVo.TowerPouringVo> towerPouringVos = Optional.ofNullable(dao.getTowerPourings(vo)).orElseGet(ArrayList::new);
vo.setTowerPouringVos(towerPouringVos);
}
}
// 查询交叉跨越信息
List<DigitalSignageVo.SpanInfoVo> spanInfoVo = Optional.ofNullable(dao.getSpanInfoVos(dto)).orElseGet(ArrayList::new);
for (DigitalSignageVo.SpanInfoVo vo : spanInfoVo) {
Optional<DigitalSignageVo.TowerInfoVo> first = towerInfoVos.stream().filter(towerInfoVo -> towerInfoVo.getId().equals(vo.getId())).findFirst();
vo.setTowerInfoVo(first.get());
}
// 查询公路
List<DigitalSignageVo.HighwayVo> highwayList = Optional.ofNullable(dao.getHighways(dto)).orElseGet(ArrayList::new);
for (DigitalSignageVo.HighwayVo highwayVo : highwayList) {
List<DigitalSignageVo.CablewaTransPointVo> pointVos = Optional.ofNullable(dao.getCablewaTransPointVos(highwayVo.getId())).orElseGet(ArrayList::new);
highwayVo.setCablewaTransPointVoList(pointVos);
}
// 查询千张场地
List<DigitalSignageVo.AThousandFieldsVo> aThousandFieldsList = Optional.ofNullable(dao.getAThousandFieldsList(dto)).orElseGet(ArrayList::new);
for (DigitalSignageVo.HighwayVo highwayVo : highwayList) {
List<DigitalSignageVo.CablewaTransPointVo> pointVos = Optional.ofNullable(dao.getCablewaTransPointVos(highwayVo.getId())).orElseGet(ArrayList::new);
highwayVo.setCablewaTransPointVoList(pointVos);
}
map.put("cablewaTransVos", cablewaTransVos);
map.put("towerInfoVos", towerInfoVos);
map.put("spanInfoVos", spanInfoVo);
map.put("highwayList", highwayList);
map.put("aThousandFieldsList", aThousandFieldsList);
} catch (Exception e) {
log.error(e.toString(),e);
}

View File

@ -10,13 +10,15 @@
'全部工程' AS title,
null AS parentId,
null AS lon,
null AS lat
null AS lat,
'' AS projectOverview
UNION ALL
SELECT CONCAT('departId-',td.id) AS id,
td2.depart_name AS title,
'0' AS parentId,
null AS lon,
null AS lat
null AS lat,
'' AS projectOverview
FROM tb_project tp
LEFT JOIN tb_depart td ON tp.depart_id = td.id
LEFT JOIN tb_depart td2 ON td.parent_id = td2.id
@ -34,7 +36,8 @@
tp.pro_name AS title,
CONCAT('departId-',depart_id) AS parentId,
tp.lon AS lon,
tp.lat AS lat
tp.lat AS lat,
tp.project_overview AS projectOverview
FROM tb_project tp
<where>
<if test="level != '1' and departs != null and departs.size() > 0">
@ -59,7 +62,8 @@
COUNT(IF(tower_progress = 7, 1, NULL)) AS num7,
COUNT(IF(tower_progress = 8, 1, NULL)) AS num8,
COUNT(IF(tower_progress = 9, 1, NULL)) AS num9,
COUNT(IF(tower_progress = 0, 1, NULL)) AS num10
COUNT(IF(tower_progress = 10, 1, NULL)) AS num10,
COUNT(IF(tower_progress = 0, 1, NULL)) AS num11
FROM tb_tower WHERE pro_id = #{id} AND is_actvice = '1'
</select>
<!--查询索道运输数量-->
@ -104,7 +108,7 @@
tct.id
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'
WHERE tct.pro_id = #{id} AND tct.is_active = '1' AND (tct.source_type IS NULL OR tct.source_type = '1')
</select>
<!--查询杆塔数据-->
<select id="getTowersInfo"
@ -122,6 +126,7 @@
A.time7,
A.time8,
A.time9,
A.time10,
IF(B.tower_id IS NOT NULL OR B.tower_id IS NOT NULL, 1, 0) AS existSpan,
tt.tower_progress AS towerProgress
FROM tb_tower tt
@ -142,7 +147,8 @@
MAX(CASE WHEN progress_type = 6 THEN create_time END) AS time6,
MAX(CASE WHEN progress_type = 7 THEN create_time END) AS time7,
MAX(CASE WHEN progress_type = 8 THEN create_time END) AS time8,
MAX(CASE WHEN progress_type = 9 THEN create_time END) AS time9
MAX(CASE WHEN progress_type = 9 THEN create_time END) AS time9,
MAX(CASE WHEN progress_type = 10 THEN create_time END) AS time10
FROM
tb_tower_progress ttp
GROUP BY
@ -201,4 +207,27 @@
WHERE tower_id = #{id}
ORDER BY leg
</select>
<!--查询公路-->
<select id="getHighways"
resultType="com.bonus.digitalSignage.backstage.entity.vo.DigitalSignageVo$HighwayVo">
SELECT tct.cableway_length AS cablewayLength,
tt.baidu_lon AS baiduLon,
tt.baidu_lat AS baiduLat,
tt.tower_name AS towerName,
tct.cableway_length AS cablewayWidth,
tct.id
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' AND tct.source_type = '2'
</select>
<!--查询千张场地-->
<select id="getAThousandFieldsList"
resultType="com.bonus.digitalSignage.backstage.entity.vo.DigitalSignageVo$AThousandFieldsVo">
SELECT tct.cableway_length AS cablewayLength,
tct.cableway_length AS cablewayWidth,
tct.id,
tct.name
FROM tb_cablewa_trans tct
WHERE tct.pro_id = #{id} AND tct.is_active = '1' AND tct.source_type = '3'
</select>
</mapper>