Commit 12c6ac11 authored by hanbing's avatar hanbing

[update] 信号优化,态势监测-绿波策略关系改为多对多

parent 2e71927b
......@@ -3,6 +3,7 @@ package net.wanji.opt.bo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author Kent HAN
......@@ -14,5 +15,5 @@ public class SaveGreenwaveStrategyBO {
@ApiModelProperty(value = "绿波ID")
private Integer greenwaveId;
@ApiModelProperty(value = "策略名称")
private String strategyName;
private List<String> strategyNames;
}
......@@ -27,4 +27,10 @@ public interface StrategyMapper {
List<String> selectAllNames();
StrategyPO selectByName(String strategyName);
List<StrategyPO> selectByGreenwaveId(Integer greenwaveId);
void deleteGreenwave(Integer greenwaveId);
void insertGreenwave(Integer greenwaveId, Integer strategyId);
}
......@@ -20,5 +20,4 @@ public interface GreenwaveInfoMapper {
GreenwaveInfoPO selectById(Integer id);
void updateStrategy(Integer greenwaveId, Integer strategyId);
}
......@@ -355,13 +355,15 @@ public class TrendServiceImpl implements TrendService {
res.setUncoordinatePhaseQueue((int)uncoordinatePhaseQueue);
double noparkPassRate = greenwaveRealtimePO.getNoparkPassRate();
res.setNoparkPassRate((int) (noparkPassRate * 100));
res.setTrvalTime(greenwaveRealtimePO.getTrvalTime());
// 获取策略信息
List<String> strategyList = strategyMapper.selectAllNames();
res.setStrategyList(strategyList);
Integer strategyId = greenwaveInfoPO.getStrategyId();
StrategyPO strategyPO = strategyMapper.selectById(strategyId);
res.setStrategy(strategyPO.getStrategyName());
List<StrategyPO> strategyPOList = strategyMapper.selectByGreenwaveId(greenwaveId);
List<String> collect = strategyPOList.stream()
.map(StrategyPO::getStrategyName)
.collect(Collectors.toList());
res.setStrategySelected(collect);
List<GreenwaveDetailVO.GreenwaveCross> greenwaveCrossList = buildGreenwaveCrossList(greenwaveId);
res.setGreenwaveCrossList(greenwaveCrossList);
......@@ -581,12 +583,15 @@ public class TrendServiceImpl implements TrendService {
@Transactional
public void saveGreenwaveStrategy(SaveGreenwaveStrategyBO saveGreenwaveStrategyBO) {
Integer greenwaveId = saveGreenwaveStrategyBO.getGreenwaveId();
String strategyName = saveGreenwaveStrategyBO.getStrategyName();
List<String> strategyNames = saveGreenwaveStrategyBO.getStrategyNames();
strategyMapper.deleteGreenwave(greenwaveId);
for (String strategyName : strategyNames) {
// 获取策略ID
StrategyPO strategyPO = strategyMapper.selectByName(strategyName);
Integer strategyId = strategyPO.getId();
// 更新绿波信息
greenwaveInfoMapper.updateStrategy(greenwaveId, strategyId);
// 更新绿波策略关系
strategyMapper.insertGreenwave(greenwaveId, strategyId);
}
}
private void setMetrics(GreenwaveCrossMetricsVO greenwaveCrossMetricsVO, RidInfoEntity ridInfoEntity,
......
......@@ -24,8 +24,8 @@ public class GreenwaveDetailVO {
@ApiModelProperty(value = "优化策略列表")
private List<String> strategyList;
@ApiModelProperty(value = "优化策略")
private String strategy;
@ApiModelProperty(value = "选中的优化策略")
private List<String> strategySelected;
@ApiModelProperty(value = "子区路口信息")
List<GreenwaveCross> greenwaveCrossList;
......
......@@ -7,6 +7,11 @@
values (#{strategyCode},#{strategyName},#{strategyTarget},#{strategyDetail})
</insert>
<insert id="insertGreenwave">
insert into t_greenwave_strategy(greenwave_id, strategy_id)
value (#{greenwaveId}, #{strategyId})
</insert>
<update id="updateOne">
update t_strategy_strategy
<set>
......@@ -38,6 +43,11 @@
</foreach>
</delete>
<delete id="deleteGreenwave">
delete from t_greenwave_strategy
where greenwave_id = ${greenwaveId}
</delete>
<select id="selectByStrategyNameAndTarget" resultType="net.wanji.opt.po.strategy.StrategyPO">
select
id,strategy_code,strategy_name,strategy_target,strategy_detail,gmt_create,gmt_modified
......@@ -74,4 +84,11 @@
where strategy_name = #{strategyName}
</select>
<select id="selectByGreenwaveId" resultType="net.wanji.opt.po.strategy.StrategyPO">
select t3.strategy_name as strategyName
from t_greenwave_info t1 join t_greenwave_strategy t2 join t_strategy_strategy t3
on t1.id = t2.greenwave_id and t3.id = t2.strategy_id
where t1.id = #{greenwaveId}
</select>
</mapper>
......@@ -2,12 +2,6 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="net.wanji.opt.dao.mapper.trend.GreenwaveInfoMapper">
<update id="updateStrategy">
update t_greenwave_info
set strategy_id = #{strategyId}
where id = #{greenwaveId}
</update>
<select id="listGreenwave" resultType="net.wanji.opt.vo.GreenwaveListVO">
select
t1.id, t1.name, t1.status as infoStatus, t2.status as realtimeStatus,
......@@ -35,7 +29,7 @@
<select id="selectById" resultType="net.wanji.databus.dao.entity.GreenwaveInfoPO">
select
id,strategy_id,name,length,width,dir,start_time,end_time,design_speed,design_cycly,section_id,status,wkt,gmt_create,gmt_modified
id,name,length,width,dir,start_time,end_time,design_speed,design_cycly,section_id,status,wkt,gmt_create,gmt_modified
from t_greenwave_info
where id = #{id}
</select>
......
......@@ -10,8 +10,6 @@ public class GreenwaveInfoPO {
/** 绿波ID */
@ApiModelProperty(name = "绿波ID",notes = "")
private Integer id ;
@ApiModelProperty(name = "策略ID",notes = "")
private Integer strategyId ;
/** 绿波名称 */
@ApiModelProperty(name = "绿波名称",notes = "")
private String name ;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment