Commit 9ab2c2da authored by zhoushiguang's avatar zhoushiguang

bug修改

parent 676f09a3
...@@ -2,6 +2,7 @@ package net.wanji.opt.task; ...@@ -2,6 +2,7 @@ package net.wanji.opt.task;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.Constants;
import net.wanji.common.gts.Tools; import net.wanji.common.gts.Tools;
import net.wanji.common.utils.tool.DateUtil; import net.wanji.common.utils.tool.DateUtil;
import net.wanji.common.utils.tool.LocalDateTimeUtil; import net.wanji.common.utils.tool.LocalDateTimeUtil;
...@@ -87,12 +88,15 @@ public class ReportGreenAndCrossOptimizeStatisticTask { ...@@ -87,12 +88,15 @@ public class ReportGreenAndCrossOptimizeStatisticTask {
long st = System.currentTimeMillis(); long st = System.currentTimeMillis();
try { try {
List<AnalysisGreenWaveOptimizeWeek> durationList = new ArrayList<>();
List<StrategyGreenOptHistDTO> list = strategyGreenOptHistMapper.findGreenWaveOptHist(); List<StrategyGreenOptHistDTO> list = strategyGreenOptHistMapper.findGreenWaveOptHist();
Map<Integer, List<StrategyGreenOptHistDTO>> groupByGreenId = list.stream().collect(Collectors.groupingBy(o -> o.getGreenId())); //按干线+天分组
Map<String, List<StrategyGreenOptHistDTO>> groupByGreenId = list.stream().collect(Collectors.groupingBy(o -> o.getGreenId()+"_"+DateUtil.format(o.getControlTime(), Constants.DATE_FORMAT.E_DATE_FORMAT_DAY)));
for (Map.Entry<Integer, List<StrategyGreenOptHistDTO>> entry : groupByGreenId.entrySet()) { for (Map.Entry<String, List<StrategyGreenOptHistDTO>> entry : groupByGreenId.entrySet()) {
long et1 = System.currentTimeMillis();
List<AnalysisGreenWaveOptimizeWeek> durationList = new ArrayList<>();
List<StrategyGreenOptHistDTO> value = entry.getValue(); List<StrategyGreenOptHistDTO> value = entry.getValue();
value = value.stream().sorted(Comparator.comparing(StrategyGreenOptHistDTO::getControlTime)).collect(Collectors.toList()); value = value.stream().sorted(Comparator.comparing(StrategyGreenOptHistDTO::getControlTime)).collect(Collectors.toList());
...@@ -170,12 +174,16 @@ public class ReportGreenAndCrossOptimizeStatisticTask { ...@@ -170,12 +174,16 @@ public class ReportGreenAndCrossOptimizeStatisticTask {
durationList.add(data); durationList.add(data);
i++; i++;
} }
if (!durationList.isEmpty()) {
analysisGreenWaveOptimizeWeekMapper.insertBatch(durationList);
durationList.clear();
log.info("计算干线周报-干线优化批入库耗时:{}ms,size:{} ,starDate:{}", System.currentTimeMillis() - et1, durationList.size(), entry.getKey());
}
} }
if (!durationList.isEmpty()) {
analysisGreenWaveOptimizeWeekMapper.insertBatch(durationList);
}
long et = System.currentTimeMillis(); long et = System.currentTimeMillis();
log.info("批量保存干线优化数据据耗时:{}ms,size:{}", et - st, durationList.size());
log.info("计算干线周报-干线优化数据总耗时:{}ms,size:{}", et - st);
} catch (Exception e) { } catch (Exception e) {
log.error("", e); log.error("", e);
......
package net.wanji.opt.task;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import io.swagger.annotations.ResponseHeader;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.rest.JsonViewObject;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
* </p>
*
* @author fengyi
* @version 1.0
* @Date 2023-04-08
*/
@RestController
@Slf4j
@RequestMapping("/taskTest")
@Api(value = "TaskControllerTest", description = "", tags = "定时任务测试")
public class TaskControllerTest {
@Resource
AnalysisGreenCongestionPeriodWeekTask analysisGreenCongestionPeriodWeekTask;
@Resource
AnalysisProblemAndStrategyDayTask analysisProblemAndStrategyDayTask;
@Resource
AnalysisProblemCrossDayTask analysisProblemCrossDayTask;
@Resource
AnalysisProblemCrossDirHourTask analysisProblemCrossDirHourTask;
@Resource
AnalysisProblemDayTask analysisProblemDayTask;
@Resource
AnalysisProblemHourTask analysisProblemHourTask;
@Resource
GreenWaveWeekDataTask greenWaveWeekDataTask;
@Resource
ReportGreenAndCrossOptimizeStatisticTask reportGreenAndCrossOptimizeStatisticTask;
@GetMapping("/request")
public JsonViewObject list(int type) {
try {
JsonViewObject jsonViewObject = JsonViewObject.newInstance();
if (type == 1) {
//TODO 待验证
analysisGreenCongestionPeriodWeekTask.task();
}
if (type == 2) {
analysisGreenCongestionPeriodWeekTask.taskDay();
}
if (type == 3) {
analysisGreenCongestionPeriodWeekTask.insertCrossSlowRunEventData();
}
//============================================================//
if (type == 5) {
analysisProblemAndStrategyDayTask.taskCross();
}
if (type == 6) {
analysisProblemAndStrategyDayTask.taskGreen();;
}
//================================================//
if (type == 7) {
analysisProblemCrossDayTask.executeGreenCrossHourTask();;
}
if (type == 8) {
analysisProblemCrossDayTask.executeWeeklyTask();
}
//=================================================
if (type == 9) {
//TODO 异常
analysisProblemCrossDirHourTask.executeCrossOverFlowTask();
}
if (type == 10) {
analysisProblemDayTask.task();
}
if (type == 11) {
analysisProblemHourTask.task();
}
if (type == 12) {
greenWaveWeekDataTask.executeWeeklyTask();
}
if (type == 13) {
reportGreenAndCrossOptimizeStatisticTask.optimizeDurationCal();
}
if (type == 14) {
reportGreenAndCrossOptimizeStatisticTask.optimizeGreenWaveDurationCal();
}
return jsonViewObject.success();
} catch (Exception e) {
log.error("", e);
return JsonViewObject.newInstance().fail("请求失败");
}
}
}
...@@ -297,8 +297,8 @@ ...@@ -297,8 +297,8 @@
#{entity.greenId} #{entity.greenId}
,#{entity.roadDirection} ,#{entity.roadDirection}
,#{entity.weekDay} ,#{entity.weekDay}
,to_timestamp(#{entity.optimizeStartTime}, 'YYYY-MM-DD HH24:MI:SS') ,#{entity.optimizeStartTime}
,to_timestamp(#{entity.optimizeEndTime}, 'YYYY-MM-DD HH24:MI:SS') ,#{entity.optimizeEndTime}
,#{entity.stragetyId} ,#{entity.stragetyId}
,#{entity.optimizeCount} ,#{entity.optimizeCount}
,#{entity.optimizeDuration} ,#{entity.optimizeDuration}
...@@ -308,9 +308,9 @@ ...@@ -308,9 +308,9 @@
,#{entity.travelTime} ,#{entity.travelTime}
,#{entity.speed} ,#{entity.speed}
,#{entity.yearWeek} ,#{entity.yearWeek}
,to_timestamp(#{entity.weekStartTime}, 'YYYY-MM-DD HH24:MI:SS') ,#{entity.weekStartTime}
,#{entity.weekEndTime} ,#{entity.weekEndTime}
,to_timestamp(#{entity.insertTime}, 'YYYY-MM-DD HH24:MI:SS') ,#{entity.insertTime}
,#{entity.congestIndex} ,#{entity.congestIndex}
,#{entity.lastWeekCongestIndex} ,#{entity.lastWeekCongestIndex}
,#{entity.lastWeekCapacity} ,#{entity.lastWeekCapacity}
...@@ -329,7 +329,6 @@ ...@@ -329,7 +329,6 @@
capacity = excluded.capacity, capacity = excluded.capacity,
stop_times = excluded.stop_times, stop_times = excluded.stop_times,
delay_time = excluded.delay_time, delay_time = excluded.delay_time,
delay_time = excluded.delay_time,
travel_time = excluded.travel_time, travel_time = excluded.travel_time,
speed = excluded.speed, speed = excluded.speed,
year_week = excluded.year_week, year_week = excluded.year_week,
......
...@@ -296,8 +296,8 @@ ...@@ -296,8 +296,8 @@
( (
#{entity.crossId} #{entity.crossId}
,#{entity.weekDay} ,#{entity.weekDay}
,to_timestamp(#{entity.optimizeStartTime},'YYYY-MM-DD HH24:00:00') ,#{entity.optimizeStartTime}
,to_timestamp(#{entity.optimizeEndTime},'YYYY-MM-DD HH24:00:00') ,#{entity.optimizeEndTime}
,#{entity.stragetyId} ,#{entity.stragetyId}
,#{entity.optimizeCount} ,#{entity.optimizeCount}
,#{entity.optimizeDuration} ,#{entity.optimizeDuration}
...@@ -306,9 +306,9 @@ ...@@ -306,9 +306,9 @@
,#{entity.delayTime} ,#{entity.delayTime}
,#{entity.maxQueueLength} ,#{entity.maxQueueLength}
,#{entity.yearWeek} ,#{entity.yearWeek}
,to_timestamp(#{entity.weekStartTime},'YYYY-MM-DD HH24:00:00') ,#{entity.weekStartTime}
,to_timestamp(#{entity.weekEndTime},'YYYY-MM-DD HH24:00:00') ,#{entity.weekEndTime}
,to_timestamp(#{entity.insertTime},'YYYY-MM-DD HH24:00:00') ,#{entity.insertTime}
,#{entity.lastWeekCapacity} ,#{entity.lastWeekCapacity}
,#{entity.lastWeekStopTimes} ,#{entity.lastWeekStopTimes}
,#{entity.lastWeekDelayTime} ,#{entity.lastWeekDelayTime}
......
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