Commit d1cee43b authored by hanbing's avatar hanbing

[add] 新信号评价-干线评价-底部曲线图

parent 7fea895d
package net.wanji.opt.bo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author Kent HAN
* @date 2023/6/9 13:52
*/
@Data
@ApiModel(value = "BottomCurveBO", description = "底部曲线图")
public class BottomCurveBO {
@ApiModelProperty(value = "路口ID")
private String crossId;
@ApiModelProperty(value = "范围 0路口 1进口道 2方向 3车道")
private Integer scope;
@ApiModelProperty(value = "范围列表")
List<String> scopeList;
@ApiModelProperty(value = "时间粒度(分钟)")
private Integer minutes;
@ApiModelProperty(value = "指标编号")
private String metricCode;
@ApiModelProperty(value = "开始时间 格式 yyyy-MM-dd HH:mm")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date startTime;
@ApiModelProperty(value = "结束时间 格式 yyyy-MM-dd HH:mm")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date endTime;
}
......@@ -5,14 +5,17 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.opt.bo.BottomCurveBO;
import net.wanji.opt.bo.BottomMenuBO;
import net.wanji.opt.service.impl.MainlineEvaluateServiceImpl;
import net.wanji.opt.vo.MainlineEvaluateBottomCurveVO;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.ws.rs.core.MediaType;
import java.text.ParseException;
import java.util.List;
@Api(value = "MainlineEvaluateController", description = "干线评价")
......@@ -38,4 +41,15 @@ public class MainlineEvaluateController {
return JsonViewObject.newInstance().success(res);
}
@ApiOperation(value = "底部曲线图", notes = "底部曲线图", response = JsonViewObject.class,
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@PostMapping(value = "/bottomCurve",
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = MainlineEvaluateBottomCurveVO.class),
})
public JsonViewObject bottomCurve(@RequestBody BottomCurveBO bo) throws ParseException {
List<MainlineEvaluateBottomCurveVO> res = mainlineEvaluateService.bottomCurve(bo);
return JsonViewObject.newInstance().success(res);
}
}
\ No newline at end of file
package net.wanji.opt.service;
import net.wanji.opt.bo.BottomCurveBO;
import net.wanji.opt.bo.BottomMenuBO;
import net.wanji.opt.vo.MainlineEvaluateBottomCurveVO;
import java.text.ParseException;
import java.util.List;
public interface MainlineEvaluateService {
List<String> bottomMenu(BottomMenuBO bo);
List<MainlineEvaluateBottomCurveVO> bottomCurve(BottomCurveBO bo) throws ParseException;
}
package net.wanji.opt.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author Kent HAN
* @date 2023/2/9 8:38
*/
@Data
@NoArgsConstructor
@ApiModel(value = "MainlineEvaluateBottomCurveVO", description = "底部曲线图")
public class MainlineEvaluateBottomCurveVO {
@ApiModelProperty(value = "时间")
private String metricTime;
@ApiModelProperty(value = "范围名称")
private String scopeName;
@ApiModelProperty(value = "数值")
private Integer value;
}
......@@ -152,6 +152,16 @@ public class BaseEnum {
}
return null;
}
public static Integer getCodeByName(String name) {
for (SignalDirectionEnum signalDirectionEnum : SignalDirectionEnum.values()) {
if (Objects.equals(signalDirectionEnum.getName(), name)) {
return signalDirectionEnum.getCode();
}
}
return null;
}
}
@Getter
......
......@@ -76,6 +76,15 @@ public class StrategyAndMetricsEnum {
}
return null;
}
public static Metrics getEnumByCode(String code) {
for (Metrics value : Metrics.values()) {
if (value.code.equals(code)) {
return value;
}
}
return null;
}
}
public static final Map<Strategy, List<Metrics>> STRATEGY_METRICS_MAP;
......
......@@ -100,4 +100,13 @@ public enum TurnConvertEnum {
return res;
}
public static String getCodeByDesc(String desc){
for (TurnConvertEnum e : TurnConvertEnum.values()) {
if(e.desc.equals(desc)){
return e.code;
}
}
return null;
}
}
......@@ -20,4 +20,6 @@ public interface CrossLaneDataHistMapper extends BaseMapper<CrossLaneDataHistPO>
void deleteBatch(@Param("list") Collection<String> crossIds);
List<MetricHistDTO> selectMetricHistDTO(String crossId, int startStamp, int endStamp);
List<CrossLaneDataHistPOExt> selectByCrossIdAndDir(String crossId, Integer dir, int endTimeStamp, int startTimeStamp);
List<CrossLaneDataHistPOExt> selectByCrossId(String crossId, int endTimeStamp, int startTimeStamp);
}
......@@ -74,4 +74,14 @@
AND batch_time <![CDATA[ >= ]]> #{startTimeStamp}
AND batch_time <![CDATA[ <= ]]> #{endTimeStamp};
</select>
<select id="selectByCrossId" resultType="net.wanji.databus.po.CrossLaneDataHistPOExt">
SELECT *
FROM t_base_lane_info
JOIN t_lane_data_hist ON t_base_lane_info.id = t_lane_data_hist.id
WHERE t_base_lane_info.cross_id = #{crossId}
AND t_base_lane_info.type = 2
AND batch_time <![CDATA[ >= ]]> #{startTimeStamp}
AND batch_time <![CDATA[ <= ]]> #{endTimeStamp};
</select>
</mapper>
\ No newline at end of file
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