Commit 7030a8b5 authored by zhoushiguang's avatar zhoushiguang

路口评价优化记录查询、研判优化记录查询分开

parent 39647f79
......@@ -42,6 +42,6 @@ public interface AiOptimizeStatisticMapper extends BaseMapper<AiOptimizeStatisti
*/
Integer addAiOptimizeStatistic(AiOptimizeStatistic aiOptimizeStatistic);
List<AiOptimizeStatistic> greenOptimizeByTimeTrend(String greenId, Integer startTime, Integer endTime);
//List<AiOptimizeStatistic> greenOptimizeByTimeTrend(String greenId, Integer startTime, Integer endTime);
}
......@@ -87,9 +87,9 @@ import java.util.Map;
@Override
public Map<String, Object> greenOptimizeByTimeTrend(String greenId, Integer startTime, Integer endTime) {
List<AiOptimizeStatistic> list=aiOptimizeStatisticMapper.greenOptimizeByTimeTrend(greenId,startTime,endTime);
//List<AiOptimizeStatistic> list=aiOptimizeStatisticMapper.greenOptimizeByTimeTrend(greenId,startTime,endTime);
JSONObject jsonObject = new JSONObject();
jsonObject.put("dataList",list);
//jsonObject.put("dataList",list);
return jsonObject;
}
}
......@@ -136,7 +136,7 @@
,#{type}
)
</insert>
<select id="greenOptimizeByTimeTrend" parameterType="map" resultMap="AiOptimizeStatisticMap">
<!--<select id="greenOptimizeByTimeTrend" parameterType="map" resultMap="AiOptimizeStatisticMap">
SELECT sum(optimize_count) as optimize_count
FROM t_ai_optimize_statistic t1
WHERE
......@@ -147,5 +147,5 @@
<if test="greenId!=null and greenId!=''">
AND t1.cross_id= #{greenId}
</if>
</select>
</select>-->
</mapper>
......@@ -58,4 +58,19 @@ public interface TEventOptimizeInfoMapper extends BaseMapper<TEventOptimizeInfo>
@Param("startTime") String startTime,
@Param("endTime") String endTime,
@Param("crossIds") List<String> crossIds);
/**
* 路口优化记录查询
* @param page
* @param startTime
* @param endTime
* @param crossId
* @param greenId
* @return
*/
Page<TEventOptimizeInfo> selectCrossOptimize(@Param("page") Page<TEventOptimizeInfo> page,
@Param("startTime") String startTime,
@Param("endTime") String endTime,
@Param("crossId") String crossId,
@Param("greenId") Integer greenId);
}
\ No newline at end of file
package net.wanji.opt.dao.mapper.judgeanalysis;
import net.wanji.opt.entity.eventoptimize.TEventOptimizeInfo;
import net.wanji.opt.entity.judgeanalysis.AiOptimizeStatistic;
import java.util.List;
import org.apache.ibatis.annotations.Param;
......@@ -42,6 +43,7 @@ public interface AiOptimizeStatisticMapper extends BaseMapper<AiOptimizeStatisti
*/
Integer addAiOptimizeStatistic(AiOptimizeStatistic aiOptimizeStatistic);
List<AiOptimizeStatistic> greenOptimizeByTimeTrend(String greenId, Integer startTime, Integer endTime);
// List<AiOptimizeStatistic> greenOptimizeByTimeTrend(String greenId, Integer startTime, Integer endTime);
List<TEventOptimizeInfo> greenOptimizeByTimeTrend(String greenId, Integer startTime, Integer endTime);
}
......@@ -39,4 +39,7 @@ public class TEventOptimizeInfoVO {
@ApiModelProperty(value = "干线ID")
private Integer greenId;
@ApiModelProperty(value = "时间数量")
private Integer eventNumber;
}
\ No newline at end of file
package net.wanji.opt.entity.report;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import net.wanji.common.framework.domain.TrackableEntity;
import java.util.Date;
import java.math.BigDecimal;
/**
* <p>
* 调控集锦
* </p>
*
* @Author fengyi
* @Date 2025-04-22
*/
@Data
@ApiModel(value="ReportHistory对象", description="调控集锦")
public class ReportHistory extends TrackableEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "报告名称")
private String name;
@ApiModelProperty(value = "文件地址")
private String fileUrl;
@ApiModelProperty(value = "插入时间")
private Date insertTime;
@ApiModelProperty(value = "修改时间")
private Date modifyTime;
}
......@@ -39,26 +39,33 @@ public class TEventOptimizeInfoServiceImpl extends ServiceImpl<TEventOptimizeInf
@Override
public Page<TEventOptimizeInfoVO> selectPageWithCrossIdAndGreenId(int currentPage, int pageSize, String startTime, String endTime, String crossId, Integer greenId) {
if(ObjectUtil.isNotEmpty(greenId)){
List<String> crossIds = tEventOptimizeInfoMapper.getCrossIdList(greenId);
if(ObjectUtil.isNotEmpty(greenId)) {
//研判分析-绿波干线问题优化记录仍从t_event_optimize_info表查询
Page<TEventOptimizeInfo> page = new Page<>(currentPage, pageSize);
Page<TEventOptimizeInfo> tEventOptimizeInfoPage = baseMapper.selectPageWithCrossIds(page, startTime, endTime, crossIds);
Page<TEventOptimizeInfo> tEventOptimizeInfoPage = baseMapper.selectPageWithCrossIdAndGreenId(page, startTime, endTime, crossId, greenId);
List<TEventOptimizeInfoVO> collect = tEventOptimizeInfoPage.getRecords().stream().map(x -> {
TEventOptimizeInfoVO tEventOptimizeInfoVO = new TEventOptimizeInfoVO();
BeanUtils.copyProperties(x, tEventOptimizeInfoVO);
tEventOptimizeInfoVO.setEventLabal(getEventLabel1(x.getEventType()));
tEventOptimizeInfoVO.setOptStatus(1);
tEventOptimizeInfoVO.setGreenId(greenId);
tEventOptimizeInfoVO.setEventLabal(getEventLabel(x.getEventType()));
return tEventOptimizeInfoVO;
}).collect(Collectors.toList());
List<TEventOptimizeInfoVO> list = new ArrayList<>();
Map<String,List<TEventOptimizeInfoVO>> groupByDate = collect.stream().collect(Collectors.groupingBy(o->o.getOptStartTime().toString()+"_"+o.getOptEndTime()));
groupByDate.forEach((k,v)->{
TEventOptimizeInfoVO vo = v.stream().distinct().findAny().get();
vo.setEventNumber(v.size());
list.add(vo);
});
Page<TEventOptimizeInfoVO> pageVO = new Page<>(currentPage, pageSize);
pageVO.setTotal(page.getTotal());
pageVO.setRecords(collect);
pageVO.setRecords(list);
return pageVO;
}else {
} else {
//路口优化记录从t_strategy_cross_result表查询【兼顾信号评价路口当日优化记录查询】
Page<TEventOptimizeInfo> page = new Page<>(currentPage, pageSize);
Page<TEventOptimizeInfo> tEventOptimizeInfoPage = baseMapper.selectPageWithCrossIdAndGreenId(page, startTime, endTime, crossId, greenId);
Page<TEventOptimizeInfo> tEventOptimizeInfoPage = baseMapper.selectCrossOptimize(page, startTime, endTime, crossId, greenId);
List<TEventOptimizeInfoVO> collect = tEventOptimizeInfoPage.getRecords().stream().map(x -> {
TEventOptimizeInfoVO tEventOptimizeInfoVO = new TEventOptimizeInfoVO();
BeanUtils.copyProperties(x, tEventOptimizeInfoVO);
......
package net.wanji.opt.servicev2.judgeanalysis.impl;
import com.alibaba.fastjson.JSONObject;
import net.wanji.opt.entity.eventoptimize.TEventOptimizeInfo;
import net.wanji.opt.entity.judgeanalysis.AiOptimizeStatistic;
import net.wanji.opt.dao.mapper.judgeanalysis.AiOptimizeStatisticMapper;
import net.wanji.opt.servicev2.judgeanalysis.AiOptimizeStatisticService;
......@@ -87,8 +88,9 @@ import java.util.Map;
@Override
public Map<String, Object> greenOptimizeByTimeTrend(String greenId, Integer startTime, Integer endTime) {
List<AiOptimizeStatistic> list=aiOptimizeStatisticMapper.greenOptimizeByTimeTrend(greenId,startTime,endTime);
List<TEventOptimizeInfo> list=aiOptimizeStatisticMapper.greenOptimizeByTimeTrend(greenId,startTime,endTime);
JSONObject jsonObject = new JSONObject();
jsonObject.put("optimizeCount",list.size());
jsonObject.put("dataList",list);
return jsonObject;
}
......
......@@ -36,7 +36,8 @@
</if>
ORDER BY happen_start_time desc
</select>
<select id="selectPageWithCrossIdAndGreenId" parameterType="map" resultType="net.wanji.opt.entity.eventoptimize.TEventOptimizeInfo">
<!-- 用于方案信号评价-路口优化记录查询(包含当日数据) -->
<select id="selectCrossOptimize" parameterType="map" resultType="net.wanji.opt.entity.eventoptimize.TEventOptimizeInfo">
SELECT
cross_id,
current_algo AS event_type,
......@@ -56,15 +57,16 @@
</if>
AND response_code = 200
</select>
<!-- <select id="selectPageWithCrossIdAndGreenId" parameterType="map" resultType="net.wanji.opt.entity.eventoptimize.TEventOptimizeInfo">-->
<!-- SELECT *-->
<!-- FROM t_event_optimize_info-->
<!-- WHERE (#{startTime} IS NULL OR happen_start_time >= #{startTime})-->
<!-- AND (#{endTime} IS NULL OR happen_end_time &lt;= #{endTime})-->
<!-- AND (#{crossId} IS NULL OR cross_id = #{crossId})-->
<!-- AND (#{greenId} IS NULL OR green_id = #{greenId})-->
<!-- AND opt_status != 0-->
<!-- </select>-->
<!-- 用于绿波干线研判-报警优化记录查询,t_event_optimize_info不包含当日数据 -->
<select id="selectPageWithCrossIdAndGreenId" parameterType="map" resultType="net.wanji.opt.entity.eventoptimize.TEventOptimizeInfo">
SELECT *
FROM t_event_optimize_info
WHERE (#{startTime} IS NULL OR happen_start_time >= #{startTime})
AND (#{endTime} IS NULL OR happen_end_time &lt;= #{endTime})
AND (#{crossId} IS NULL OR cross_id = #{crossId})
AND (#{greenId} IS NULL OR green_id = #{greenId})
AND opt_status != 0
</select>
<select id="getCrossOptimizeDistribute" parameterType="map" resultType="java.util.Map">
SELECT
......@@ -169,4 +171,24 @@
</if>
AND response_code = 200
</select>
<!-- 绿波干线优化记录查询 -->
<select id="selectPageWithGreenId" resultType="net.wanji.opt.entity.eventoptimize.TEventOptimizeInfo">
SELECT a.green_id,
a.type as event_type,
a.control_time AS opt_start_time,
a.control_duration AS opt_duration,
DATE_ADD( control_time, INTERVAL control_duration SECOND ) AS opt_end_time
FROM t_strategy_green_opt_hist a
WHERE
1=1
<if test="greenId != null" >
AND green_id = #{greenId}
</if>
<if test="startTime != null and endTime != null">
AND control_time >= #{startTime}
AND control_time &lt; #{endTime}
</if>
and control_method in (-1, 1)
</select>
</mapper>
\ No newline at end of file
......@@ -136,16 +136,35 @@
,#{type}
)
</insert>
<select id="greenOptimizeByTimeTrend" parameterType="map" resultMap="AiOptimizeStatisticMap">
SELECT sum(optimize_count) as optimize_count
FROM t_ai_optimize_statistic t1
WHERE
1=1
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND t1.statistic_time>=#{startTime} AND t1.statistic_time &lt;=#{endTime}
</if>
<!-- <select id="greenOptimizeByTimeTrend" parameterType="map" resultMap="AiOptimizeStatisticMap">-->
<!-- SELECT sum(optimize_count) as optimize_count-->
<!-- FROM t_ai_optimize_statistic t1-->
<!-- WHERE-->
<!-- 1=1-->
<!-- <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">-->
<!-- AND t1.statistic_time>=#{startTime} AND t1.statistic_time &lt;=#{endTime}-->
<!-- </if>-->
<!-- <if test="greenId!=null and greenId!=''">-->
<!-- AND t1.cross_id= #{greenId}-->
<!-- </if>-->
<!-- </select>-->
<select id="greenOptimizeByTimeTrend" parameterType="map" resultType="net.wanji.opt.entity.eventoptimize.TEventOptimizeInfo">
SELECT green_id,
control_time as opt_start_time,
DATE_ADD(control_time,INTERVAL control_duration SECOND) as opt_end_time,
control_duration as opt_duration
from t_strategy_green_opt_hist
where 1=1
<if test="greenId!=null and greenId!=''">
AND t1.cross_id= #{greenId}
AND green_id= #{greenId}
</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
and control_time >= DATE_FORMAT(STR_TO_DATE(#{startTime},'%Y%m%d'),'%Y%m%d000000')
and control_time &lt; DATE_FORMAT(STR_TO_DATE(#{endTime},'%Y%m%d'),'%Y%m%d235959')
</if>
and control_method=1
GROUP BY green_id, control_time, control_duration, control_method
order by control_time
</select>
</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