Commit e861bbf3 authored by fengyasheng's avatar fengyasheng

干线周报 5.1干线优化总体分析修改为所有干线总和

parent c1d94601
...@@ -54,7 +54,7 @@ public class GreenWaveOptimizeAnalysisController { ...@@ -54,7 +54,7 @@ public class GreenWaveOptimizeAnalysisController {
public JsonViewObject getTotalityData(Integer year,Integer week,@RequestParam(required = false) String ids) { public JsonViewObject getTotalityData(Integer year,Integer week,@RequestParam(required = false) String ids) {
JsonViewObject jsonViewObject = JsonViewObject.newInstance(); JsonViewObject jsonViewObject = JsonViewObject.newInstance();
try { try {
List<GreenWaveOptimizeAnalysisResultResponseDTO> totalityData = analysisGreenWaveOptimizeWeekService.getTotalityData(year, week, ids); GreenWaveOptimizeAnalysisResultResponseDTO totalityData = analysisGreenWaveOptimizeWeekService.getTotalityData(year, week, ids);
jsonViewObject.success(totalityData); jsonViewObject.success(totalityData);
} catch (Exception e) { } catch (Exception e) {
jsonViewObject.fail(I18nResourceBundle.getConstants("GET_FAILED_MSG")); jsonViewObject.fail(I18nResourceBundle.getConstants("GET_FAILED_MSG"));
......
...@@ -52,7 +52,7 @@ public interface AnalysisGreenWaveOptimizeWeekMapper extends BaseMapper<Analysis ...@@ -52,7 +52,7 @@ public interface AnalysisGreenWaveOptimizeWeekMapper extends BaseMapper<Analysis
*/ */
void insertBatch(List<AnalysisGreenWaveOptimizeWeek> list); void insertBatch(List<AnalysisGreenWaveOptimizeWeek> list);
List<GreenWaveOptimizeAnalysisDataDTO> getTotalityData(@Param("yearWeek") Integer yearWeek); GreenWaveOptimizeAnalysisDataDTO getTotalityData(@Param("yearWeek") Integer yearWeek,@Param("greenIdList") List<Integer> greenIdList);
List<AnalysisGreenWaveOptimizeWeekVO> selectListByYearWeek(@Param("yearWeek") Integer yearWeek); List<AnalysisGreenWaveOptimizeWeekVO> selectListByYearWeek(@Param("yearWeek") Integer yearWeek);
} }
......
...@@ -53,7 +53,7 @@ public interface AnalysisGreenWaveOptimizeWeekService extends IService<AnalysisG ...@@ -53,7 +53,7 @@ public interface AnalysisGreenWaveOptimizeWeekService extends IService<AnalysisG
*/ */
void removes(List<Long> ids); void removes(List<Long> ids);
List<GreenWaveOptimizeAnalysisResultResponseDTO> getTotalityData(Integer year, Integer week, String ids); GreenWaveOptimizeAnalysisResultResponseDTO getTotalityData(Integer year, Integer week, String ids);
List<ImportGreenReportAnalysisResponseVO> getProblemDetail(Integer year, Integer week, String ids); List<ImportGreenReportAnalysisResponseVO> getProblemDetail(Integer year, Integer week, String ids);
} }
...@@ -102,7 +102,7 @@ public class AnalysisGreenWaveOptimizeWeekServiceImpl extends ServiceImpl<Analys ...@@ -102,7 +102,7 @@ public class AnalysisGreenWaveOptimizeWeekServiceImpl extends ServiceImpl<Analys
private SimpleDateFormat format = new SimpleDateFormat("HH:mm"); private SimpleDateFormat format = new SimpleDateFormat("HH:mm");
@Override @Override
public List<GreenWaveOptimizeAnalysisResultResponseDTO> getTotalityData(Integer year, Integer week, String ids) { public GreenWaveOptimizeAnalysisResultResponseDTO getTotalityData(Integer year, Integer week, String ids) {
Integer yearWeek = Integer.valueOf(year + "" + week); Integer yearWeek = Integer.valueOf(year + "" + week);
Integer yearWeekLast = Integer.valueOf(year + "" + (week - 1)); Integer yearWeekLast = Integer.valueOf(year + "" + (week - 1));
List<Integer> greenIdList = new ArrayList<>(); List<Integer> greenIdList = new ArrayList<>();
...@@ -116,19 +116,12 @@ public class AnalysisGreenWaveOptimizeWeekServiceImpl extends ServiceImpl<Analys ...@@ -116,19 +116,12 @@ public class AnalysisGreenWaveOptimizeWeekServiceImpl extends ServiceImpl<Analys
.map(Integer::parseInt) // 转换为整数 .map(Integer::parseInt) // 转换为整数
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
List<GreenWaveOptimizeAnalysisDataDTO> greenWaveOptimizeAnalysisDataVOS = analysisGreenWaveOptimizeWeekMapper.getTotalityData(yearWeek); GreenWaveOptimizeAnalysisDataDTO greenWaveOptimizeAnalysisDataDTO = analysisGreenWaveOptimizeWeekMapper.getTotalityData(yearWeek, greenIdList);
List<GreenWaveOptimizeAnalysisResultResponseDTO> resultResponseDTOList = new ArrayList<>();
for (Integer greenId : greenIdList) {
GreenWaveOptimizeAnalysisResultResponseDTO optimizeAnalysisResultResponseDTO = new GreenWaveOptimizeAnalysisResultResponseDTO(); GreenWaveOptimizeAnalysisResultResponseDTO optimizeAnalysisResultResponseDTO = new GreenWaveOptimizeAnalysisResultResponseDTO();
GreenwaveInfoPO greenwaveInfoPO = greenwaveInfoMapper.selectById(greenId);
optimizeAnalysisResultResponseDTO.setGreenId(String.valueOf(greenId));
optimizeAnalysisResultResponseDTO.setGreenName(greenwaveInfoPO.getName());
List<GreenWaveOptimizeAnalysisDataVO> dataVOList = new ArrayList<>(); List<GreenWaveOptimizeAnalysisDataVO> dataVOList = new ArrayList<>();
List<String> timeString = new ArrayList<>(); List<String> timeString = new ArrayList<>();
List<GreenWaveOptimizeAnalysisDataDTO> dataDTOS = greenWaveOptimizeAnalysisDataVOS.stream().filter(x -> { if (ObjectUtils.isEmpty(greenWaveOptimizeAnalysisDataDTO)) {
return x.getGreenId() == greenId;
}).collect(Collectors.toList());
if (ObjectUtils.isEmpty(dataDTOS)) {
optimizeAnalysisResultResponseDTO.setWeekOptimizeCount("0次"); optimizeAnalysisResultResponseDTO.setWeekOptimizeCount("0次");
optimizeAnalysisResultResponseDTO.setWeekOptimizeDuration("0小时"); optimizeAnalysisResultResponseDTO.setWeekOptimizeDuration("0小时");
optimizeAnalysisResultResponseDTO.setWeekCapacitySituation("无变化"); optimizeAnalysisResultResponseDTO.setWeekCapacitySituation("无变化");
...@@ -138,9 +131,9 @@ public class AnalysisGreenWaveOptimizeWeekServiceImpl extends ServiceImpl<Analys ...@@ -138,9 +131,9 @@ public class AnalysisGreenWaveOptimizeWeekServiceImpl extends ServiceImpl<Analys
optimizeAnalysisResultResponseDTO.setWeekAvgSpeedSituation("无变化"); optimizeAnalysisResultResponseDTO.setWeekAvgSpeedSituation("无变化");
optimizeAnalysisResultResponseDTO.setWeekTotalitySituation("无变化"); optimizeAnalysisResultResponseDTO.setWeekTotalitySituation("无变化");
} else { } else {
optimizeAnalysisResultResponseDTO.setWeekOptimizeCount(String.valueOf(dataDTOS.get(0).getOptimizeCount()) + "次"); optimizeAnalysisResultResponseDTO.setWeekOptimizeCount(String.valueOf(greenWaveOptimizeAnalysisDataDTO.getOptimizeCount()) + "次");
optimizeAnalysisResultResponseDTO.setWeekOptimizeDuration(String.valueOf(dataDTOS.get(0).getOptimizeDuration() / 60 / 60) + "小时"); optimizeAnalysisResultResponseDTO.setWeekOptimizeDuration(String.valueOf(greenWaveOptimizeAnalysisDataDTO.getOptimizeDuration() / 60 / 60) + "小时");
GreenWaveOptimizeAnalysisDataDTO analysisDataDTO = dataDTOS.get(0); GreenWaveOptimizeAnalysisDataDTO analysisDataDTO = greenWaveOptimizeAnalysisDataDTO;
GreenWaveOptimizeAnalysisDataVO analysisDataVO = new GreenWaveOptimizeAnalysisDataVO(); GreenWaveOptimizeAnalysisDataVO analysisDataVO = new GreenWaveOptimizeAnalysisDataVO();
analysisDataVO.setCapacity(analysisDataDTO.getCapacity()); analysisDataVO.setCapacity(analysisDataDTO.getCapacity());
analysisDataVO.setStopTimes(analysisDataDTO.getStopTimes()); analysisDataVO.setStopTimes(analysisDataDTO.getStopTimes());
...@@ -238,9 +231,8 @@ public class AnalysisGreenWaveOptimizeWeekServiceImpl extends ServiceImpl<Analys ...@@ -238,9 +231,8 @@ public class AnalysisGreenWaveOptimizeWeekServiceImpl extends ServiceImpl<Analys
} }
optimizeAnalysisResultResponseDTO.setTimeList(timeString); optimizeAnalysisResultResponseDTO.setTimeList(timeString);
optimizeAnalysisResultResponseDTO.setDataList(dataVOList); optimizeAnalysisResultResponseDTO.setDataList(dataVOList);
resultResponseDTOList.add(optimizeAnalysisResultResponseDTO);
} return optimizeAnalysisResultResponseDTO;
return resultResponseDTOList;
} }
private GreenWaveOptimizeAnalysisDataVO getAnalysisDataLastVO(GreenWaveOptimizeAnalysisDataVO analysisDataLastVO) { private GreenWaveOptimizeAnalysisDataVO getAnalysisDataLastVO(GreenWaveOptimizeAnalysisDataVO analysisDataLastVO) {
......
...@@ -173,16 +173,15 @@ ...@@ -173,16 +173,15 @@
<select id="getTotalityData" <select id="getTotalityData"
resultType="net.wanji.opt.controllerv2.report.vo.GreenWaveOptimizeAnalysisDataDTO"> resultType="net.wanji.opt.controllerv2.report.vo.GreenWaveOptimizeAnalysisDataDTO">
SELECT SELECT
green_id,
COALESCE(sum( optimize_count ),0) AS optimize_count, COALESCE(sum( optimize_count ),0) AS optimize_count,
COALESCE(sum( optimize_duration ),0) AS optimize_duration, COALESCE(sum( optimize_duration ),0) AS optimize_duration,
COALESCE (avg( capacity ),0) AS capacity, COALESCE (avg( capacity ),0) AS capacity,
COALESCE(sum( stop_times ),0) AS stop_times, COALESCE(avg( stop_times ),0) AS stop_times,
COALESCE(avg( delay_time ),0) AS delay_time, COALESCE(avg( delay_time ),0) AS delay_time,
COALESCE(avg( travel_time ),0) AS travel_time, COALESCE(avg( travel_time ),0) AS travel_time,
COALESCE(avg( speed ),0) AS avg_speed, COALESCE(avg( speed ),0) AS avg_speed,
COALESCE (avg( last_week_capacity ),0) AS last_capacity, COALESCE (avg( last_week_capacity ),0) AS last_capacity,
COALESCE(sum( last_week_stop_times ),0) AS last_stop_times, COALESCE(avg( last_week_stop_times ),0) AS last_stop_times,
COALESCE(avg( last_week_delay_time ),0) AS last_delay_time, COALESCE(avg( last_week_delay_time ),0) AS last_delay_time,
COALESCE(avg( last_week_travel_time ),0) AS last_travel_time, COALESCE(avg( last_week_travel_time ),0) AS last_travel_time,
COALESCE(avg( last_week_speed ),0) AS last_avg_speed COALESCE(avg( last_week_speed ),0) AS last_avg_speed
...@@ -190,8 +189,12 @@ ...@@ -190,8 +189,12 @@
t_analysis_green_wave_optimize_week t_analysis_green_wave_optimize_week
WHERE WHERE
year_week = #{yearWeek} year_week = #{yearWeek}
GROUP BY <if test="greenIdList != null">
green_id and green_id in
<foreach collection="greenIdList" open="(" separator="," close=")" item="greenId">
#{greenId}
</foreach>
</if>
</select> </select>
<select id="selectListByYearWeek" resultType="net.wanji.opt.controllerv2.report.vo.AnalysisGreenWaveOptimizeWeekVO"> <select id="selectListByYearWeek" resultType="net.wanji.opt.controllerv2.report.vo.AnalysisGreenWaveOptimizeWeekVO">
SELECT SELECT
......
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