Commit 2368b703 authored by zhoushiguang's avatar zhoushiguang

路口周报-补充优化部分字段

parent 4d2c8fcd
......@@ -131,4 +131,10 @@ public class AnalysisReportCrossOptimizeDetail implements Serializable {
*/
private Integer problemCount;
private Integer lastWeekOptimizeCount;
private Integer lastWeekOptimizeDuration;
private Integer lastWeekProblemCount;
}
......@@ -19,11 +19,13 @@ import net.wanji.opt.dao.mapper.HoloEventMapper;
import net.wanji.opt.dao.mapper.StrategyCrossResultMapper;
import net.wanji.opt.dao.mapper.StrategyGreenOptHistMapper;
import net.wanji.opt.dao.mapper.evaluation.EventInfoMapper;
import net.wanji.opt.dao.mapper.judgeanalysis.AiOptimizeStatisticMapper;
import net.wanji.opt.dao.mapper.report.AnalysisGreenWaveOptimizeWeekMapper;
import net.wanji.opt.dao.mapper.report.AnalysisReportCrossOptimizeDetailMapper;
import net.wanji.opt.dto.report.GreenHistIndexDTO;
import net.wanji.opt.dto.report.StrategyGreenOptHistDTO;
import net.wanji.opt.entity.evaluation.EventInfo;
import net.wanji.opt.entity.judgeanalysis.AiOptimizeStatistic;
import net.wanji.opt.entity.report.AnalysisGreenWaveOptimizeWeek;
import net.wanji.opt.entity.report.AnalysisReportCrossOptimizeDetail;
import net.wanji.opt.po.base.CrossLaneDataHistPoExtend;
......@@ -84,6 +86,8 @@ public class ReportGreenAndCrossOptimizeStatisticTask {
AnalysisReportCrossOptimizeDetailMapper analysisReportCrossOptimizeDetailMapper;
@Resource
HoloEventMapper holoEventMapper;
@Resource
AiOptimizeStatisticMapper aiOptimizeStatisticMapper;
/**
......@@ -204,8 +208,8 @@ public class ReportGreenAndCrossOptimizeStatisticTask {
Date nowDate = cn.hutool.core.date.DateUtil.date();
Date beginOfDay = cn.hutool.core.date.DateUtil.beginOfDay(nowDate);//.lastWeek();//
// beginOfDay = cn.hutool.core.date.DateUtil.lastWeek();
// beginOfDay = cn.hutool.core.date.DateUtil.beginOfWeek(beginOfDay);
beginOfDay = cn.hutool.core.date.DateUtil.lastWeek();
beginOfDay = cn.hutool.core.date.DateUtil.beginOfWeek(beginOfDay);
Date endOfDay = cn.hutool.core.date.DateUtil.endOfDay(nowDate);//DateUtil.endOfDay(DateUtil.date());
......@@ -246,7 +250,7 @@ public class ReportGreenAndCrossOptimizeStatisticTask {
}
}
long et1 = System.currentTimeMillis();
log.info("查询策略优化记录耗时:{}ms,参数:{}", et1 - st1,queryWrapper.toString());
log.info("查询策略优化记录耗时:{}ms,参数:{}", et1 - st1, queryWrapper.toString());
//==========================================================================================================//
List<AnalysisReportCrossOptimizeDetail> optimizeList = new ArrayList<>();
......@@ -256,14 +260,14 @@ public class ReportGreenAndCrossOptimizeStatisticTask {
String crossId = sps[0];
String strategy = sps[1];
String eventType = null;
if (Objects.equals("1",strategy)) {
eventType = "701";
}else if (Objects.equals("2",strategy)) {
eventType = "702";
}else if (Objects.equals("3",strategy)) {
eventType = "703";
}else if (Objects.equals("4",strategy)) {
eventType = "704";
if (Objects.equals("1", strategy)) {
eventType = "701";
} else if (Objects.equals("2", strategy)) {
eventType = "702";
} else if (Objects.equals("3", strategy)) {
eventType = "703";
} else if (Objects.equals("4", strategy)) {
eventType = "704";
}
List<StrategyCrossResultEntity> value = entry.getValue();
......@@ -312,7 +316,7 @@ public class ReportGreenAndCrossOptimizeStatisticTask {
detail.setYearWeek(Integer.parseInt(issueTime.getYear() + "" + issueTime.getWeekOfWeekyear()));
detail.setWeekDay(issueTime.getDayOfWeek() + 1);
detail.setWeekStartTime(cn.hutool.core.date.DateUtil.beginOfWeek(minTime.getIssueTime()).toLocalDateTime());
;
detail.setWeekEndTime(cn.hutool.core.date.DateUtil.endOfWeek(minTime.getIssueTime()).toLocalDateTime());
detail.setOptimizeCount((int) count);
detail.setOptimizeDuration(duration);
......@@ -342,14 +346,32 @@ public class ReportGreenAndCrossOptimizeStatisticTask {
//===========================================================================//
params.clear();
params.put("crossId", crossId);
params.put("dt",DateUtil.formatDate(minTime.getIssueTime(),"yyyyMMdd"));
params.put("eventType",eventType);
params.put("dt", DateUtil.formatDate(minTime.getIssueTime(), "yyyyMMdd"));
params.put("eventType", eventType);
EventStatisticPo countPo = holoEventMapper.findCrossEventCount(params);
if (countPo != null) {
detail.setProblemCount(countPo.getEventCount());
}
params.put("dt", DateUtil.formatDate(lastWeekDateStartTime.toDate(), "yyyyMMdd"));
//===========================================================================//
EventStatisticPo lastCountPo = holoEventMapper.findCrossEventCount(params);
if (lastCountPo != null) {
detail.setLastWeekOptimizeCount(lastCountPo.getEventCount());
}
//===========================================================================//
AiOptimizeStatistic param = new AiOptimizeStatistic();
param.setCrossId(crossId);
param.setStatisticTime(Integer.valueOf( DateUtil.formatDate(lastWeekDateStartTime.toDate(), "yyyyMMdd")));
param.setStrategy(Integer.valueOf(strategy));
List<AiOptimizeStatistic> lastOptList = aiOptimizeStatisticMapper.findAiOptimizeStatisticByCondition(param);
if (!lastOptList.isEmpty()) {
detail.setLastWeekOptimizeDuration(lastOptList.get(0).getOptimizeDuration());
detail.setLastWeekOptimizeCount(lastOptList.get(0).getOptimizeCount());
}
//===========================================================================//
optimizeList.add(detail);
if (optimizeList.size() % 100 == 0) {
analysisReportCrossOptimizeDetailMapper.insertBatch(optimizeList);
optimizeList.clear();
......
......@@ -5,7 +5,7 @@
<!-- 通用设置 -->
<!-- 通用查询列 -->
<sql id="Base_Column_List">
cross_id, strategy, optimize_count, optimize_duration, statistic_time, gmt_create, gmt_modified, type
cross_id, strategy, optimize_count, optimize_duration, statistic_time, type
</sql>
<!-- 通用条件列 -->
......
......@@ -263,7 +263,7 @@
)
</insert>
<!-- 批量插入 -->
<insert id="insertBatch" parameterType="net.wanji.opt.entity.report.AnalysisGreenWaveOptimizeWeek">
<insert id="insertBatch" parameterType="net.wanji.opt.entity.report.AnalysisReportCrossOptimizeDetail">
INSERT INTO t_analysis_report_cross_optimize_detail (
cross_id,
week_day,
......@@ -287,7 +287,10 @@
last_week_speed,
last_week_congest_index,
dirs,
problem_count
problem_count,
last_week_optimize_count,
last_week_optimize_duration,
last_week_problem_count
) VALUES
<foreach collection="list" item="entity" separator=",">
(
......@@ -314,6 +317,9 @@
,#{entity.lastWeekCongestIndex}
,#{entity.dirs}
,#{entity.problemCount}
,#{entity.lastWeekOptimizeCount}
,#{entity.lastWeekOptimizeDuration}
,#{entity.lastWeekProblemCount}
)
</foreach>
ON DUPLICATE KEY UPDATE
......@@ -339,6 +345,9 @@
last_week_speed = VALUES(last_week_speed),
last_week_congest_index = VALUES(last_week_congest_index),
dirs = VALUES(dirs),
problem_count = VALUES(problem_count)
problem_count = VALUES(problem_count),
last_week_optimize_count = VALUES(last_week_optimize_count),
last_week_optimize_duration = VALUES(last_week_optimize_duration),
last_week_problem_count = VALUES(last_week_problem_count)
</insert>
</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