Commit 65a55283 authored by hanbing's avatar hanbing

方案管理-运行计划,保存日计划

parent c2e56970
package net.wanji.web.mapper.scheme; package net.wanji.web.mapper.scheme;
import io.lettuce.core.dynamic.annotation.Param;
import net.wanji.web.po.scheme.CrossPlanPO;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
/** /**
...@@ -11,4 +13,7 @@ import org.springframework.stereotype.Repository; ...@@ -11,4 +13,7 @@ import org.springframework.stereotype.Repository;
@Repository @Repository
public interface CrossPlanMapper { public interface CrossPlanMapper {
void insertOne(@Param("crossPlanPO") CrossPlanPO crossPlanPO);
void deleteByCrossId(@Param("crossId") String crossId);
} }
...@@ -25,4 +25,10 @@ public interface CrossSchemeMapper { ...@@ -25,4 +25,10 @@ public interface CrossSchemeMapper {
@Param("phaseId") Integer phaseId); @Param("phaseId") Integer phaseId);
List<CrossSchemePO> selectByCrossId(@Param("crossId") String crossId); List<CrossSchemePO> selectByCrossId(@Param("crossId") String crossId);
Integer selectIdByCrossIdAndSchemeName(@Param("crossId") String crossId,
@Param("schemeName") String schemeName);
CrossSchemePO selectByCrossIdAndSchemeName(@Param("crossId") String crossId,
@Param("schemeName") String schemeName);
} }
package net.wanji.web.mapper.scheme; package net.wanji.web.mapper.scheme;
import io.lettuce.core.dynamic.annotation.Param;
import net.wanji.web.po.scheme.CrossSectionPO;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
/** /**
...@@ -11,4 +13,7 @@ import org.springframework.stereotype.Repository; ...@@ -11,4 +13,7 @@ import org.springframework.stereotype.Repository;
@Repository @Repository
public interface CrossSectionMapper { public interface CrossSectionMapper {
void insertOne(@Param("crossSectionPO") CrossSectionPO crossSectionPO);
void deleteByCrossId(@Param("crossId") String crossId);
} }
...@@ -2,8 +2,15 @@ package net.wanji.web.service.scheme.impl; ...@@ -2,8 +2,15 @@ package net.wanji.web.service.scheme.impl;
import net.wanji.web.common.exception.WeekException; import net.wanji.web.common.exception.WeekException;
import net.wanji.web.dto.RunningPlanDTO; import net.wanji.web.dto.RunningPlanDTO;
import net.wanji.web.mapper.scheme.CrossPlanMapper;
import net.wanji.web.mapper.scheme.CrossSchemeMapper;
import net.wanji.web.mapper.scheme.CrossSectionMapper;
import net.wanji.web.po.scheme.CrossPlanPO;
import net.wanji.web.po.scheme.CrossSchemePO;
import net.wanji.web.po.scheme.CrossSectionPO;
import net.wanji.web.service.scheme.RunningPlanService; import net.wanji.web.service.scheme.RunningPlanService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -14,8 +21,20 @@ import java.util.List; ...@@ -14,8 +21,20 @@ import java.util.List;
*/ */
@Service @Service
public class RunningPlanServiceImpl implements RunningPlanService { public class RunningPlanServiceImpl implements RunningPlanService {
private final CrossPlanMapper crossPlanMapper;
private final CrossSchemeMapper crossSchemeMapper;
private final CrossSectionMapper crossSectionMapper;
public RunningPlanServiceImpl(CrossPlanMapper crossPlanMapper, CrossSchemeMapper crossSchemeMapper, CrossSectionMapper crossSectionMapper) {
this.crossPlanMapper = crossPlanMapper;
this.crossSchemeMapper = crossSchemeMapper;
this.crossSectionMapper = crossSectionMapper;
}
@Override @Override
@Transactional
public void saveRunningPlan(RunningPlanDTO runningPlanDTO) { public void saveRunningPlan(RunningPlanDTO runningPlanDTO) {
String crossId = runningPlanDTO.getCrossId();
// 验证特殊日期 // 验证特殊日期
List<RunningPlanDTO.SchedulesPlanListElement> schedulesPlanList = runningPlanDTO.getSchedulesPlanList(); List<RunningPlanDTO.SchedulesPlanListElement> schedulesPlanList = runningPlanDTO.getSchedulesPlanList();
for (RunningPlanDTO.SchedulesPlanListElement schedulesPlan : schedulesPlanList) { for (RunningPlanDTO.SchedulesPlanListElement schedulesPlan : schedulesPlanList) {
...@@ -25,11 +44,38 @@ public class RunningPlanServiceImpl implements RunningPlanService { ...@@ -25,11 +44,38 @@ public class RunningPlanServiceImpl implements RunningPlanService {
throw new WeekException("不能同时有星期选择和日期选择"); throw new WeekException("不能同时有星期选择和日期选择");
} }
} }
// todo // 清空之前计划
crossPlanMapper.deleteByCrossId(crossId);
crossSectionMapper.deleteByCrossId(crossId);
// 保存计划数据 // 保存计划数据
// 更新计划表获取计划ID List<RunningPlanDTO.DailyPlanListElement> dailyPlanList = runningPlanDTO.getDailyPlanList();
// 根据路口ID和方案名获取方案ID for (RunningPlanDTO.DailyPlanListElement dailyPlan : dailyPlanList) {
// 更新时段表 // 更新计划表获取计划ID
CrossPlanPO crossPlanPO = new CrossPlanPO();
crossPlanPO.setPlanNo(dailyPlan.getPlanNo());
crossPlanPO.setName(dailyPlan.getName());
crossPlanPO.setCrossId(crossId);
crossPlanMapper.insertOne(crossPlanPO);
Integer crossPlanId = crossPlanPO.getId();
// 根据路口ID和方案名获取方案ID
String schemeName = dailyPlan.getSchemeName();
CrossSchemePO crossSchemePO = crossSchemeMapper.selectByCrossIdAndSchemeName(crossId, schemeName);
Integer schemeId = crossSchemePO.getId();
// 更新时段表
CrossSectionPO crossSectionPO = new CrossSectionPO();
String startTime = dailyPlan.getStartTime();
String endTime = dailyPlan.getEndTime();
String s = startTime + endTime;
String sectionNo = s.replaceAll(":", "");
crossSectionPO.setSectionNo(sectionNo);
crossSectionPO.setStartTime(startTime);
crossSectionPO.setEndTime(endTime);
crossSectionPO.setCrossId(crossId);
crossSectionPO.setPlanId(crossPlanId);
crossSectionPO.setControlMode(1); // todo 暂时只有定周期
crossSectionPO.setSchemeId(schemeId);
crossSectionMapper.insertOne(crossSectionPO);
}
// 保存调度数据 // 保存调度数据
// 更新调度表获取调度ID // 更新调度表获取调度ID
......
...@@ -12,5 +12,15 @@ ...@@ -12,5 +12,15 @@
<result property="gmtModified" column="gmt_modified"/> <result property="gmtModified" column="gmt_modified"/>
</resultMap> </resultMap>
<insert id="insertOne" keyProperty="id" useGeneratedKeys="true">
insert into t_base_cross_plan(plan_no,name,cross_id)
values (#{planNo},#{name},#{crossId})
</insert>
<delete id="deleteByCrossId">
DELETE FROM t_base_cross_plan
WHERE cross_id = #{corssId}
</delete>
</mapper> </mapper>
...@@ -48,5 +48,17 @@ ...@@ -48,5 +48,17 @@
where cross_id = #{crossId} where cross_id = #{crossId}
</select> </select>
<select id="selectIdByCrossIdAndSchemeName" resultType="java.lang.Integer">
select id from t_base_cross_scheme
where cross_id = #{crossId} and name = #{schemeName}
</select>
<select id="selectByCrossIdAndSchemeName" resultMap="BaseResultMap">
select
id,scheme_no,name,cross_id,cycle,coord_phase,offset,source,is_deleted,gmt_create,gmt_modified
from t_base_cross_scheme
where cross_id = #{crossId} and name = #{schemeName}
</select>
</mapper> </mapper>
...@@ -16,5 +16,15 @@ ...@@ -16,5 +16,15 @@
<result property="gmtModified" column="gmt_modified"/> <result property="gmtModified" column="gmt_modified"/>
</resultMap> </resultMap>
<insert id="insertOne" keyProperty="id" useGeneratedKeys="true">
insert into t_base_cross_section(section_no,start_time,end_time,cross_id,plan_id,control_mode,scheme_id)
values (#{sectionNo},#{startTime},#{endTime},#{crossId},#{planId},#{controlMode},#{schemeId})
</insert>
<delete id="deleteByCrossId">
DELETE FROM t_base_cross_section
WHERE cross_id = #{corssId}
</delete>
</mapper> </mapper>
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