Commit 1b5378ed authored by zhoushiguang's avatar zhoushiguang

Merge remote-tracking branch 'origin/master'

parents 4bd88aed 82f19119
......@@ -21,6 +21,7 @@ import net.wanji.opt.servicev2.judgeanalysis.AnalysisProblemCrossDayService;
import net.wanji.opt.servicev2.judgeanalysis.AnalysisProblemGreenDayService;
import net.wanji.opt.synthesis.pojo.TrunkLineCrossProblemEntity;
import net.wanji.opt.vo2.CrossOptAnalysisVO;
import net.wanji.opt.vo2.JudTrunkLineCrossProblemEntityVO;
import net.wanji.opt.vo2.TrunkLineCrossProblemVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -173,11 +174,11 @@ public class AnalysisProblemGreenDayController {
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = GreenHighFrequencyProblemReasonResult.class),
})
public JsonViewObject getTrunkLineCrossProblem(Integer greenId, Integer status, String startTime ,String endTim) {
public JsonViewObject getTrunkLineCrossProblem(Integer greenId, Integer status, String startTime ,String endTime) {
JsonViewObject object = JsonViewObject.newInstance();
try {
List<JudTrunkLineCrossProblemEntityVO> judTrunkLineCrossProblemEntityVOS = analysisProblemCrossDayService.getTrunkLineCrossProblem(greenId,status,startTime,endTime);
object.success(judTrunkLineCrossProblemEntityVOS);
} catch (Exception e) {
log.error("获取干线路口状态失败: ", e);
return JsonViewObject.newInstance().fail("获取干线路口状态失败");
......
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import net.wanji.opt.entity.judgeanalysis.AnalysisProblemCrossDay;
import net.wanji.opt.entity.judgeanalysis.CrossPoint;
import net.wanji.opt.synthesis.pojo.CrossOptAnalysisEntity;
import net.wanji.opt.vo2.GreenwaveCrossResult;
import org.apache.ibatis.annotations.Param;
import java.util.List;
......@@ -111,5 +112,7 @@ public interface AnalysisProblemCrossDayMapper extends BaseMapper<AnalysisProble
* 获取路口优化数据
*/
List<CrossOptAnalysisEntity> getCrossOptAnalysis(@Param("greenId") String greenId,@Param("crossID") String crossID, @Param("startTime")String startTime,@Param("endTime")String endTime);
List<GreenwaveCrossResult> getTrunkLineCrossProblem(@Param("greenId") Integer greenId,@Param("status") Integer status,@Param("startTime") String startTime,@Param("endTime") String endTime);
}
......@@ -3,6 +3,7 @@ package net.wanji.opt.servicev2.judgeanalysis;
import com.baomidou.mybatisplus.extension.service.IService;
import net.wanji.opt.entity.judgeanalysis.AnalysisProblemCrossDay;
import net.wanji.opt.vo2.CrossOptAnalysisVO;
import net.wanji.opt.vo2.JudTrunkLineCrossProblemEntityVO;
import java.text.ParseException;
import java.util.List;
......@@ -74,4 +75,6 @@ public interface AnalysisProblemCrossDayService extends IService<AnalysisProblem
* @param date 日期
*/
CrossOptAnalysisVO getCrossOptAnalysis(String crossID, String startTime,String endTime);
List<JudTrunkLineCrossProblemEntityVO> getTrunkLineCrossProblem(Integer greenId, Integer status, String startTime, String endTime);
}
package net.wanji.opt.vo2;
import lombok.Data;
@Data
public class GreenwaveCrossResult {
// 字段映射 SQL 查询中的列
private Integer greenId;
private Integer dirCount; // count(*) AS dir_count
private String crossId; // b.cross_id
private Integer status; // status
private Integer dirType; // dir_type
private Integer inDir; // a.in_dir
private Integer outDir; // a.out_dir
private String name; // c.name
}
\ No newline at end of file
package net.wanji.opt.vo2;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class JudTrunkLineCrossProblemEntityVO {
@ApiModelProperty(value = "干线ID",example = "")
private Integer greenId;
@ApiModelProperty(value = "路口ID",example = "")
private String crossId;
@ApiModelProperty(value = "路口名称",example = "")
private String crossName;
@ApiModelProperty(value = "绿波正向方向:1~8",example = "5")
private Integer inDir;
@ApiModelProperty(value = "绿波反向方向:1~8",example = "1")
private Integer outDir;
@ApiModelProperty(value = "顺序",example = "1")
private Integer sort;
@ApiModelProperty(value = "正向绿波路段状态 1畅通 2缓行 3拥堵",example = "2")
private Integer statusL;
@ApiModelProperty(value = "正向绿波路段状态 1畅通 2缓行 3拥堵",example = "3")
private Integer statusR;
}
\ No newline at end of file
package net.wanji.opt.vo2.report;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class JudTrunkLineCrossProblemEntityDTO {
@ApiModelProperty(value = "干线ID",example = "")
private Integer greenId;
@ApiModelProperty(value = "路口ID",example = "")
private String crossId;
@ApiModelProperty(value = "路口名称",example = "")
private String crossName;
@ApiModelProperty(value = "绿波正向方向:1~8",example = "5")
private Integer inDir;
@ApiModelProperty(value = "绿波反向方向:1~8",example = "1")
private Integer outDir;
@ApiModelProperty(value = "顺序",example = "1")
private Integer sort;
@ApiModelProperty(value = "正向绿波路段状态 1畅通 2缓行 3拥堵",example = "2")
private Integer statusL;
@ApiModelProperty(value = "正向绿波路段状态 1畅通 2缓行 3拥堵",example = "3")
private Integer statusR;
private Integer count;
}
\ No newline at end of file
......@@ -365,6 +365,38 @@
and t.dt >= date_format(#{startTime},'%Y%m%d') and t.dt &lt;= date_format(#{endTime},'%Y%m%d')
group by status
</select>
<select id="getTrunkLineCrossProblem" resultType="net.wanji.opt.vo2.GreenwaveCrossResult">
SELECT
a.green_id,
count(*) AS dir_count,
b.cross_id,
status,
dir_type,
a.in_dir,
a.out_dir,
c.name
FROM
t_greenwave_cross a
LEFT JOIN t_base_cross_info AS c ON a.cross_id = c.id
LEFT JOIN t_cross_dir_data_hist b ON a.cross_id = b.cross_id
WHERE
1=1
<if test="greenId != null">
AND a.green_id = #{greenId}
</if>
<if test="startTime != null and endTime != null">
AND b.start_time BETWEEN #{startTime}
AND #{endTime}
</if>
<if test="status != null">
AND b.status = #{status}
</if>
AND ( a.in_dir = b.dir_type OR a.out_dir = b.dir_type )
GROUP BY
b.cross_id,
dir_type,
status
</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