Commit e861bbf3 authored by fengyasheng's avatar fengyasheng

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

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