diff --git a/src/main/java/com/bonus/digitalSignage/backstage/dao/DigitalSignageDao.java b/src/main/java/com/bonus/digitalSignage/backstage/dao/DigitalSignageDao.java index 69f29b0..e141ebf 100644 --- a/src/main/java/com/bonus/digitalSignage/backstage/dao/DigitalSignageDao.java +++ b/src/main/java/com/bonus/digitalSignage/backstage/dao/DigitalSignageDao.java @@ -91,12 +91,12 @@ public interface DigitalSignageDao { /** * 查询索道口、中转点、索道终点数据 - * @param vo + * @param id * @return List * @author cwchen * @date 2025/5/20 16:08 */ - List getCablewaTransPointVos(DigitalSignageVo.CablewaTransVo vo); + List getCablewaTransPointVos(Long id); /** * 基础浇筑-ABCD腿完成情况 @@ -106,4 +106,22 @@ public interface DigitalSignageDao { * @date 2025/5/20 16:46 */ List getTowerPourings(DigitalSignageVo.TowerInfoVo vo); + + /** + * 查询公路 + * @param dto + * @return Object + * @author cwchen + * @date 2025/6/10 15:14 + */ + List getHighways(QueryParamDto dto); + + /** + * 查询千张场地 + * @param dto + * @return Object + * @author cwchen + * @date 2025/6/10 15:14 + */ + List getAThousandFieldsList(QueryParamDto dto); } diff --git a/src/main/java/com/bonus/digitalSignage/backstage/entity/vo/DigitalSignageVo.java b/src/main/java/com/bonus/digitalSignage/backstage/entity/vo/DigitalSignageVo.java index 96642d8..7f6ec53 100644 --- a/src/main/java/com/bonus/digitalSignage/backstage/entity/vo/DigitalSignageVo.java +++ b/src/main/java/com/bonus/digitalSignage/backstage/entity/vo/DigitalSignageVo.java @@ -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 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 cablewaTransPointVoList; + } + + @Data + public static class AThousandFieldsVo { + + private Long id; + + /**名称*/ + private String name; + + /** + * 长度(km) + */ + private String cablewayLength; + + /** + * 宽度 + */ + private String cablewayWidth; + + private List 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 towerPouringVos; } @Data diff --git a/src/main/java/com/bonus/digitalSignage/backstage/entity/vo/ProTreeVo.java b/src/main/java/com/bonus/digitalSignage/backstage/entity/vo/ProTreeVo.java index 59ece34..1f68f54 100644 --- a/src/main/java/com/bonus/digitalSignage/backstage/entity/vo/ProTreeVo.java +++ b/src/main/java/com/bonus/digitalSignage/backstage/entity/vo/ProTreeVo.java @@ -24,5 +24,8 @@ public class ProTreeVo { private String lat; + /**工程概况*/ + private String projectOverview; + private List children; } diff --git a/src/main/java/com/bonus/digitalSignage/backstage/service/impl/DigitalSignageServiceImpl.java b/src/main/java/com/bonus/digitalSignage/backstage/service/impl/DigitalSignageServiceImpl.java index 0300258..d8d6099 100644 --- a/src/main/java/com/bonus/digitalSignage/backstage/service/impl/DigitalSignageServiceImpl.java +++ b/src/main/java/com/bonus/digitalSignage/backstage/service/impl/DigitalSignageServiceImpl.java @@ -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 cablewaTransVos = Optional.ofNullable(dao.getCablewaTrans(dto)).orElseGet(ArrayList::new); if(CollectionUtils.isNotEmpty(cablewaTransVos)){ for (DigitalSignageVo.CablewaTransVo vo : cablewaTransVos) { - List cablewaTransPointVos = Optional.ofNullable(dao.getCablewaTransPointVos(vo)).orElseGet(ArrayList::new); + List cablewaTransPointVos = Optional.ofNullable(dao.getCablewaTransPointVos(vo.getId())).orElseGet(ArrayList::new); vo.setCablewaTransPointVoList(cablewaTransPointVos); } } // 查询杆塔数据 List towerInfoVos = Optional.ofNullable(dao.getTowersInfo(dto)).orElseGet(ArrayList::new); - for (DigitalSignageVo.TowerInfoVo vo : towerInfoVos) { - if(vo.getTowerProgress() == 3){ - List towerPouringVos = Optional.ofNullable(dao.getTowerPourings(vo)).orElseGet(ArrayList::new); - vo.setTowerPouringVos(towerPouringVos); - } - } // 查询交叉跨越信息 List spanInfoVo = Optional.ofNullable(dao.getSpanInfoVos(dto)).orElseGet(ArrayList::new); for (DigitalSignageVo.SpanInfoVo vo : spanInfoVo) { Optional first = towerInfoVos.stream().filter(towerInfoVo -> towerInfoVo.getId().equals(vo.getId())).findFirst(); vo.setTowerInfoVo(first.get()); } + // 查询公路 + List highwayList = Optional.ofNullable(dao.getHighways(dto)).orElseGet(ArrayList::new); + for (DigitalSignageVo.HighwayVo highwayVo : highwayList) { + List pointVos = Optional.ofNullable(dao.getCablewaTransPointVos(highwayVo.getId())).orElseGet(ArrayList::new); + highwayVo.setCablewaTransPointVoList(pointVos); + } + // 查询千张场地 + List aThousandFieldsList = Optional.ofNullable(dao.getAThousandFieldsList(dto)).orElseGet(ArrayList::new); + for (DigitalSignageVo.HighwayVo highwayVo : highwayList) { + List 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); } diff --git a/src/main/resources/mappers/backstage/DigitalSignageMapper.xml b/src/main/resources/mappers/backstage/DigitalSignageMapper.xml index f779b47..7fb95c8 100644 --- a/src/main/resources/mappers/backstage/DigitalSignageMapper.xml +++ b/src/main/resources/mappers/backstage/DigitalSignageMapper.xml @@ -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 @@ -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' @@ -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 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' + + +