电子看板修改

This commit is contained in:
cwchen 2025-05-20 16:54:56 +08:00
parent 381b89a261
commit 053555d8cb
4 changed files with 172 additions and 28 deletions

View File

@ -88,4 +88,22 @@ public interface DigitalSignageDao {
* @date 2025/5/20 10:08
*/
List<TowersInfo> getTowersPosition(QueryParamDto dto);
/**
* 查询索道口中转点索道终点数据
* @param vo
* @return List<CablewaTransPointVo>
* @author cwchen
* @date 2025/5/20 16:08
*/
List<DigitalSignageVo.CablewaTransPointVo> getCablewaTransPointVos(DigitalSignageVo.CablewaTransVo vo);
/**
* 基础浇筑-ABCD腿完成情况
* @param vo
* @return List<TowerPouringVo>
* @author cwchen
* @date 2025/5/20 16:46
*/
List<DigitalSignageVo.TowerPouringVo> getTowerPourings(DigitalSignageVo.TowerInfoVo vo);
}

View File

@ -1,10 +1,10 @@
package com.bonus.digitalSignage.backstage.entity.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @className:DigitalSignageVo
@ -19,41 +19,50 @@ public class DigitalSignageVo {
@Data
public static class TowerProgressNumVo {
/**
* 基础开挖
* 协调完成
*/
private int num1;
/**
* 开挖完成
* 基础开挖
*/
private int num2;
/**
* 浇筑完成
* 开挖完成
*/
private int num3;
/**
* 铁塔组立
* 基础浇筑
*/
private int num4;
/**
* 组塔完成
* 浇筑完成
*/
private int num5;
/**
* 架线完成
* 铁塔组立
*/
private int num6;
/**
* 附件安装
* 组塔完成
*/
private int num7;
/**
* 未开始
* 架线完成
*/
private int num8;
/**
* 索道运输
* 附件安装
*/
private int num9;
/**
* 未开始
*/
private int num10;
/**
* 索道运输
*/
private int num11;
}
@Data
@ -116,6 +125,8 @@ public class DigitalSignageVo {
@Data
public static class CablewaTransVo {
private Long id;
/**
* 索道所在杆塔位置
*/
@ -144,46 +155,123 @@ public class DigitalSignageVo {
* 百度地图-纬度
*/
private String baiduLat;
/**
* 索道宽度
*/
private String cablewayWidth;
private List<CablewaTransPointVo> cablewaTransPointVoList;
}
/**
* 索道运输-索道口中转口索道终点
* */
@Data
public static class CablewaTransPointVo {
/**
* 经度
*/
private String lng;
/**
* 纬度
*/
private String lat;
/**
* 排序
*/
private int sort;
}
@Data
public static class TowerInfoVo{
public static class TowerInfoVo {
private Long id;
/**杆塔名称*/
/**
* 杆塔名称
*/
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.不存在*/
/**
* 架线施工完成日期
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date time8;
/**
* 附件安装日期完成日期
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date time9;
/**
* 是否存在跨越 1.存在 0.不存在
*/
private int existSpan;
/**杆塔完成进度 1.基础开挖 2.基础开挖完成 3.基础浇筑完成 4.铁塔组立 5.铁塔组立完成 6.架线施工完成 7.附件安装完成*/
/**
* 杆塔完成进度 1.协调完成 2.基础开挖 3.基础开挖完成 4.基础浇筑 5.基础浇筑完成 6.铁塔组立 7.铁塔组立完成 8.架线施工完成 9.附件安装完成
*/
private int towerProgress;
/**
* 基础浇筑-ABCD腿 完成情况
* */
private List<TowerPouringVo> towerPouringVos;
}
@Data
public static class SpanInfoVo{
public static class TowerPouringVo {
/**A腿 B腿 C腿 D腿*/
private String leg;
/**完成情况 1.完成 0.未完成*/
private String finishStatus;
}
@Data
public static class SpanInfoVo {
private Long id;

View File

@ -8,6 +8,7 @@ import com.bonus.digitalSignage.backstage.entity.vo.TowersInfo;
import com.bonus.digitalSignage.backstage.service.DigitalSignageService;
import com.bonus.digitalSignage.utils.ServerResponse;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -73,7 +74,7 @@ public class DigitalSignageServiceImpl implements DigitalSignageService {
vo = Optional.ofNullable(dao.getTowerProgressNum(dto)).orElseGet(DigitalSignageVo.TowerProgressNumVo::new);
// 查询索道运输数量
int num = dao.getRopewayTransNum(dto);
vo.setNum9(num);
vo.setNum11(num);
} catch (Exception e) {
log.error(e.toString(),e);
}
@ -97,8 +98,20 @@ public class DigitalSignageServiceImpl implements DigitalSignageService {
try {
// 查询索道运输信息
List<DigitalSignageVo.CablewaTransVo> cablewaTransVos = Optional.ofNullable(dao.getCablewaTrans(dto)).orElseGet(ArrayList::new);
if(CollectionUtils.isEmpty(cablewaTransVos)){
for (DigitalSignageVo.CablewaTransVo vo : cablewaTransVos) {
List<DigitalSignageVo.CablewaTransPointVo> cablewaTransPointVos = Optional.ofNullable(dao.getCablewaTransPointVos(vo)).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) {

View File

@ -57,7 +57,9 @@
COUNT(IF(tower_progress = 5, 1, NULL)) AS num5,
COUNT(IF(tower_progress = 6, 1, NULL)) AS num6,
COUNT(IF(tower_progress = 7, 1, NULL)) AS num7,
COUNT(IF(tower_progress = 0, 1, NULL)) AS num8
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
FROM tb_tower WHERE pro_id = #{id} AND is_actvice = '1'
</select>
<!--查询索道运输数量-->
@ -97,7 +99,9 @@
tct.max_slope AS maxSlope,
tt.baidu_lon AS baiduLon,
tt.baidu_lat AS baiduLat,
tt.tower_name AS towerName
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'
@ -116,6 +120,8 @@
A.time5,
A.time6,
A.time7,
A.time8,
A.time9,
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
@ -134,7 +140,9 @@
MAX(CASE WHEN progress_type = 4 THEN create_time END) AS time4,
MAX(CASE WHEN progress_type = 5 THEN create_time END) AS time5,
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 = 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
FROM
tb_tower_progress ttp
GROUP BY
@ -176,4 +184,21 @@
WHERE tp.id = #{id} AND tp.is_active = '1'
ORDER BY tt.sort
</select>
<!--查询索道口、中转点、索道终点数据-->
<select id="getCablewaTransPointVos"
resultType="com.bonus.digitalSignage.backstage.entity.vo.DigitalSignageVo$CablewaTransPointVo">
SELECT lng,lat,sort
FROM tb_cablewa_trans_point
WHERE cablewa_trans_id = #{id}
ORDER BY sort
</select>
<!--基础浇筑-ABCD腿完成情况-->
<select id="getTowerPourings"
resultType="com.bonus.digitalSignage.backstage.entity.vo.DigitalSignageVo$TowerPouringVo">
SELECT leg,
finish_status AS finishStatus
FROM tb_tower_pouring
WHERE tower_id = #{id}
ORDER BY leg
</select>
</mapper>