Commit 12c6ac11 authored by hanbing's avatar hanbing

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

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