Commit 56c487f0 authored by wangyecheng's avatar wangyecheng

策略管理干线日计划保存

parent a9be34a2
......@@ -100,5 +100,9 @@ public interface StrategyPriorityMapper extends BaseMapper<StrategyPriorityDaily
List<String> getGreenstrategyNo(@Param("greenId") Integer greenId,@Param("type") Integer type);
List<StrategyFactoryEntity> getGreenPriorityConfigData(@Param("strategyNo") List<String> strategyNo, @Param("greenId") Integer greenId,@Param("type") Integer type);
List<StrategyPriorityDailyInfo> selectGreenPlanTable(Integer greenId);
void deleteGreenPlanConfig(Integer greenId);
}
......@@ -61,6 +61,11 @@ public class StrategyPriorityDailyInfo implements Serializable {
*/
@TableField(exist = false)
private Integer greenId;
/**
* 类型 1:路口 2干线
*/
@TableField(exist = false)
private Integer type;
......
......@@ -208,6 +208,9 @@ import java.util.stream.Collectors;
}
/*
* 策略管理日计划批量保存 干线跟路口
* */
@Override
@Transactional
public void savePlanConfig(List<StrategyPriorityGroup> dailyPlanDetails) throws JsonProcessingException {
......@@ -216,33 +219,70 @@ import java.util.stream.Collectors;
List<StrategyPriorityDailyInfo> savePlanList = new ArrayList<>();
ObjectMapper objectMapper = new ObjectMapper();
for (StrategyPriorityGroup group : dailyPlanDetails) {
//路口ID
List<String> crossList = group.getCrossIds();
//选中多个路口存多条数据
for (String crossId : crossList) {
StrategyPriorityDailyInfo strategyPriorityDailyInfo = new StrategyPriorityDailyInfo();
strategyPriorityDailyInfo.setCrossId(crossId);
//日计划编号
Integer dailyPlanId = group.getDailyPlanId();
strategyPriorityDailyInfo.setDailyPlanId(dailyPlanId);
//执行时间
String weekExecute = group.getWeekExecute();
strategyPriorityDailyInfo.setWeekExecute(weekExecute);
//先判断表里有没有数据,有的话删除t_strategy_priority_daily_info
List<StrategyPriorityDailyInfo> planConfig = strategyPriorityMapper.selectPlanTable(crossId);
if (planConfig.size() > 0) {
strategyPriorityMapper.deletePlanConfig(crossId);
//Type : 1;路口2:干线
Integer typePd=group.getType();
if (typePd==1) {
//路口ID
List<String> crossList = group.getCrossIds();
//选中多个路口存多条数据
for (String crossId : crossList) {
StrategyPriorityDailyInfo strategyPriorityDailyInfo = new StrategyPriorityDailyInfo();
strategyPriorityDailyInfo.setCrossId(crossId);
//1;路口2干线
Integer type = group.getType();
strategyPriorityDailyInfo.setType(type);
//日计划编号
Integer dailyPlanId = group.getDailyPlanId();
strategyPriorityDailyInfo.setDailyPlanId(dailyPlanId);
//执行时间
String weekExecute = group.getWeekExecute();
strategyPriorityDailyInfo.setWeekExecute(weekExecute);
//先判断表里有没有数据,有的话删除t_strategy_priority_daily_info
List<StrategyPriorityDailyInfo> planConfig = strategyPriorityMapper.selectPlanTable(crossId);
if (planConfig.size() > 0) {
strategyPriorityMapper.deletePlanConfig(crossId);
}
//取出日计划详情
List<StrategyPriorityPlanDetails> dailyPlanDetails1 = group.getDailyPlanDetails();
String dailyPlanDetailsJson = JSON.toJSONString(dailyPlanDetails1);
strategyPriorityDailyInfo.setDailyPlanDetails(dailyPlanDetailsJson);
savePlanList.add(strategyPriorityDailyInfo);
}
}else if(typePd==2){
//干线ID
List<Integer> greenIdList = group.getGreenIds();
//选中多个路口存多条数据
for (Integer greenId : greenIdList) {
StrategyPriorityDailyInfo strategyPriorityDailyInfo = new StrategyPriorityDailyInfo();
strategyPriorityDailyInfo.setGreenId(greenId);
//1;路口2干线
Integer type = group.getType();
strategyPriorityDailyInfo.setType(type);
//日计划编号
Integer dailyPlanId = group.getDailyPlanId();
strategyPriorityDailyInfo.setDailyPlanId(dailyPlanId);
//执行时间
String weekExecute = group.getWeekExecute();
strategyPriorityDailyInfo.setWeekExecute(weekExecute);
//先判断表里有没有数据,有的话删除t_strategy_priority_daily_info
List<StrategyPriorityDailyInfo> planConfig = strategyPriorityMapper.selectGreenPlanTable(greenId);
if (planConfig.size() > 0) {
strategyPriorityMapper.deleteGreenPlanConfig(greenId);
}
//取出日计划详情
List<StrategyPriorityPlanDetails> dailyPlanDetails1 = group.getDailyPlanDetails();
String dailyPlanDetailsJson = JSON.toJSONString(dailyPlanDetails1);
strategyPriorityDailyInfo.setDailyPlanDetails(dailyPlanDetailsJson);
//取出日计划详情
List<StrategyPriorityPlanDetails> dailyPlanDetails1 = group.getDailyPlanDetails();
String dailyPlanDetailsJson = JSON.toJSONString(dailyPlanDetails1);
strategyPriorityDailyInfo.setDailyPlanDetails(dailyPlanDetailsJson);
savePlanList.add(strategyPriorityDailyInfo);
savePlanList.add(strategyPriorityDailyInfo);
}
}
}
strategyPriorityMapper.savePlanConfig(savePlanList);
}catch (Exception e){
log.error("{} savePlanConfig", this.getClass().getSimpleName(), e);
throw e;
......
......@@ -254,10 +254,10 @@
<insert id="savePlanConfig" parameterType="java.util.List" >
INSERT INTO
t_strategy_priority_daily_info (daily_plan_id,week_execute,daily_plan_details,cross_id)
t_strategy_priority_daily_info (daily_plan_id,week_execute,daily_plan_details,cross_id,type,green_id)
VALUES
<foreach collection="savePlanList" item="item" separator=",">
(#{item.dailyPlanId},#{item.weekExecute},#{item.dailyPlanDetails},#{item.crossId})
(#{item.dailyPlanId},#{item.weekExecute},#{item.dailyPlanDetails},#{item.crossId},#{item.type},#{item.greenId})
</foreach>
</insert>
<select id="selectPlanTable" parameterType="map" resultType="net.wanji.opt.entity.strategy.StrategyPriorityDailyInfo">
......@@ -271,11 +271,27 @@
and cross_id = #{crossId}
</if>
</select>
<select id="selectGreenPlanTable" parameterType="map" resultType="net.wanji.opt.entity.strategy.StrategyPriorityDailyInfo">
select
id,daily_plan_id,cross_id
FROM
t_strategy_priority_daily_info
WHERE
1=1
<if test="greenId!=null and greenId!=''">
and green_id = #{greenId}
</if>
</select>
<delete id="deletePlanConfig">
DELETE
FROM t_strategy_priority_daily_info
WHERE cross_id =#{crossId}
</delete>
<delete id="deleteGreenPlanConfig">
DELETE
FROM t_strategy_priority_daily_info
WHERE green_id =#{greenId}
</delete>
<select id="getPlanConfigData" parameterType="map" resultType="net.wanji.opt.entity.strategy.StrategyPriorityDailyInfo">
SELECT
id,daily_plan_id,week_execute,daily_plan_details,cross_id
......
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