Commit 682d24af authored by duanruiming's avatar duanruiming

[add] 信号机控制运行模式统计

parent b240af69
......@@ -206,6 +206,14 @@ public class SituationDetectionController extends BaseController {
return jsonViewObject.success(result);
}
@ApiOperation(value = "运行模式统计", notes = "运行模式统计")
@GetMapping("/countSignalControlInfos")
public JsonViewObject countSignalControlInfos() {
List<SignalOperationModeCountVO> result = situationDetectionService.countSignalControlInfos();
JsonViewObject jsonViewObject = JsonViewObject.newInstance();
return jsonViewObject.success(result);
}
@ApiOperation(value = "设备厂商", notes = "设备厂商")
@GetMapping("/signalManufacturerInfoCount")
public JsonViewObject signalManufacturerInfoCount() throws Exception {
......
......@@ -45,5 +45,7 @@ public interface SituationDetectionService {
List<SignalOperationModeVO> listSignalControlList(Integer operationMode);
List<SignalOperationModeCountVO> countSignalControlInfos();
List<SignalManufacturerCountInfoVO> signalManufacturerInfoCount() throws Exception;
}
......@@ -475,7 +475,7 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
for (TBaseCrossInfo tBaseCrossInfo : tBaseCrossInfos) {
if (StringUtils.equals(tBaseCrossInfo.getId(), tBaseAreaCross.getCrossId())) {
name = tBaseCrossInfo.getName();
break;
break;
}
}
for (CrossInfoOutVo crossInfoOutVo : crossInfoOutVoList) {
......@@ -633,6 +633,42 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
return signalOperationModeVOS;
}
@Override
public List<SignalOperationModeCountVO> countSignalControlInfos() {
int centerOptCount = 0;
int borderOptCount = 0;
int manualOptCount = 0;
int specialOptCount = 0;
List<SignalOperationModeVO> signalOperationModeVOS = listSignalControlList(null);
for (SignalOperationModeVO modeVO : signalOperationModeVOS) {
Integer type = modeVO.getType();
if (Objects.nonNull(type)) {
if (type == 5) {
centerOptCount++;
}
if (type == 6) { // todo 提供测试数据,边缘优化还没有
borderOptCount++;
}
if (type == 2 || type == 3 || type == 4) {
manualOptCount++;
}
if (type == 7) { // todo 提供测试数据, 特勤
specialOptCount++;
}
}
}
List<SignalOperationModeCountVO> resultList = new ArrayList<>();
List<Integer> typeArr = Arrays.asList(1, 2, 3, 4);
List<Integer> countArr = Arrays.asList(centerOptCount, borderOptCount, manualOptCount, specialOptCount);
for (int i = 0; i < 4; i++) {
SignalOperationModeCountVO vo = new SignalOperationModeCountVO();
vo.setType(typeArr.get(i));
vo.setCount(countArr.get(i));
resultList.add(vo);
}
return resultList;
}
@Override
public List<SignalManufacturerCountInfoVO> signalManufacturerInfoCount() throws Exception {
List<SignalManufacturerCountInfoVO> resultList = new ArrayList<>();
......
package net.wanji.web.vo.situationDetection;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author duanruiming
* @date 2023/02/09 11:11
*/
@Data
@ApiModel(value = "信号机运行模式统计实体")
public class SignalOperationModeCountVO {
@ApiModelProperty(value = "运行模式:1中心优化 2边缘优化 3手动控制 4特勤控制",notes = "")
private int type;
@ApiModelProperty(value = "数量",notes = "")
private int count;
}
......@@ -21,7 +21,7 @@ public class SignalOperationModeVO {
private String operationUser;
@ApiModelProperty(value = "开始时间",notes = "")
private String operationTime;
@ApiModelProperty(value = "控制类型",notes = "")
@ApiModelProperty(value = "控制类型:1时间表;2全红;3黄闪;4锁定;5中心优化;6MEC优化;7现场手动",notes = "")
private Integer type;
@ApiModelProperty(name = "开始日期", notes = "")
private Date startTime;
......
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