feat(event): 添加暂态事件数据分析功能并优化数据集排序
- 在CsEventPO中新增暂态事件相关字段:暂态事件落点、暂降源关系、瞬态有效值和电压变化 - 扩展DataGroupEventVO和EventDetailVO以支持事件落点、暂降原因、暂降类型等新属性 - 重构CsEquipmentDeliveryServiceImpl中的数据集添加逻辑,实现按序号排序的数据集管理 - 更新设备数据集结构,将原有数据类型调整为实时、历史、暂态、运行等分类 - 修改CsUpgradeLogsController将GET请求改为POST请求以支持请求体参数 - 在LineTargetServiceImpl中修复数据类型转换问题,确保toUpperCase调用正确 - 优化统计数据显示逻辑,在StatisticsDataDataServiceImpl中修复完整性计算公式 - 为EleEpdPqdMapper添加数据源注解以支持多数据库操作
This commit is contained in:
@@ -70,4 +70,16 @@ public class DataGroupEventVO {
|
||||
@ApiModelProperty("波形路径")
|
||||
private String wavePath;
|
||||
|
||||
@ApiModelProperty("事件落点")
|
||||
private String landPoint;
|
||||
|
||||
@ApiModelProperty("暂降原因")
|
||||
private String advanceReason;
|
||||
|
||||
@ApiModelProperty("暂降类型")
|
||||
private String advanceType;
|
||||
|
||||
@ApiModelProperty("暂降源与监测位置关系 0-未知、1-上游、2-下游")
|
||||
private String sagSource;
|
||||
|
||||
}
|
||||
|
||||
@@ -62,5 +62,8 @@ public class DeviceManagerVO {
|
||||
|
||||
@ApiModelProperty(value = "数据类型 rt:实时数据 history:历史数据")
|
||||
private String type;
|
||||
|
||||
@ApiModelProperty(value = "排序")
|
||||
private Integer sort;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,10 @@ import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
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 java.util.List;
|
||||
|
||||
@@ -45,7 +48,7 @@ public class CsUpgradeLogsController extends BaseController {
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.ADD)
|
||||
@GetMapping("/getByDevId")
|
||||
@PostMapping("/getByDevId")
|
||||
@ApiOperation("查询指定devId的所有升级日志")
|
||||
@ApiImplicitParam(name = "devId", value = "装置Id", required = true)
|
||||
public HttpResult<List<CsUpgradeLogs>> getByDevId(@RequestBody String devId) {
|
||||
|
||||
@@ -511,6 +511,7 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
|
||||
dataSetVO.setName(item.getAnotherName());
|
||||
dataSetVO.setType("rt");
|
||||
dataSetList.add(dataSetVO);
|
||||
dataSetVO.setSort(item.getIdx());
|
||||
deviceManagerVo.setDataLevel(item.getDataLevel());
|
||||
}
|
||||
} else {
|
||||
@@ -518,33 +519,39 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
|
||||
boolean isPortableDevice = DataParam.portableDevType.equals(csEquipmentDeliveryPo.getDevType());
|
||||
boolean isCLdDevice = DicDataEnum.DEV_CLD.getCode().equals(dictTreeFeignClient.queryById(csEquipmentDeliveryPo.getDevType()).getData().getCode());
|
||||
|
||||
addDataSet(dataSetList, item, "最新数据", "rt");
|
||||
addDataSet(dataSetList, item, "历史统计数据", "history");
|
||||
addDataSet(dataSetList, item, "历史趋势", "trenddata");
|
||||
addDataSet(dataSetList, item, "最新数据", "rt",0);
|
||||
if (item.getClDev() == 0 && item.getType() == 0) {
|
||||
//限制角色展示
|
||||
String role = RequestUtil.getUserRole();
|
||||
List<String> strings = JSONArray.parseArray(role, String.class);
|
||||
if (strings.contains(AppRoleEnum.ENGINEERING_USER.getCode()) || strings.contains(AppRoleEnum.OPERATION_MANAGER.getCode()) || strings.contains(AppRoleEnum.ROOT.getCode())) {
|
||||
addDataSet(dataSetList, item, "模块数据", "moduleData");
|
||||
addDataSet(dataSetList, item, "模块数据", "moduleData",3);
|
||||
}
|
||||
addDataSet(dataSetList, item, "历史数据", "trenddata",2);
|
||||
addDataSet(dataSetList, item, "暂态数据", "event",4);
|
||||
addDataSet(dataSetList, item, "运行数据", "devRunTrend",5);
|
||||
} else {
|
||||
addDataSet(dataSetList, item, "电度数据", "kilowattHour");
|
||||
addDataSet(dataSetList, item, "实时数据", "realtimedata",1);
|
||||
addDataSet(dataSetList, item, "历史数据", "trenddata",2);
|
||||
addDataSet(dataSetList, item, "暂态数据", "event",4);
|
||||
addDataSet(dataSetList, item, "运行数据", "devRunTrend",5);
|
||||
addDataSet(dataSetList, item, "电度数据", "kilowattHour",6);
|
||||
}
|
||||
if (isPortableDevice) {
|
||||
// 便携式设备特有的数据集
|
||||
addDataSet(dataSetList, item, "实时数据", "realtimedata");
|
||||
addDataSet(dataSetList, item, "暂态事件", "event");
|
||||
addDataSet(dataSetList, item, "测试项日志", "items");
|
||||
addDataSet(dataSetList, item, "测试项数据", "items",7);
|
||||
}
|
||||
if (isCLdDevice) {
|
||||
// 云前置数据集
|
||||
addDataSet(dataSetList, item, "实时数据", "realtimedata");
|
||||
addDataSet(dataSetList, item, "暂态事件", "event");
|
||||
}
|
||||
addDataSet(dataSetList, item, "运行趋势", "devRunTrend");
|
||||
// if (isCLdDevice) {
|
||||
// // 云前置数据集
|
||||
// addDataSet(dataSetList, item, "实时数据", "realtimedata");
|
||||
// addDataSet(dataSetList, item, "暂态数据", "event");
|
||||
// }
|
||||
|
||||
deviceManagerVo.setDataLevel(item.getDataLevel());
|
||||
}
|
||||
if (CollUtil.isNotEmpty(dataSetList)) {
|
||||
dataSetList.sort(Comparator.comparing(DeviceManagerVO.DataSetVO::getSort));
|
||||
}
|
||||
deviceManagerVo.setDataSetList(dataSetList);
|
||||
List<CsLinePO> csLinePOS = csLinePOService.findByNdid(csEquipmentDeliveryPo.getNdid());
|
||||
if (!csLinePOS.isEmpty()) {
|
||||
@@ -554,11 +561,12 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
|
||||
}
|
||||
}
|
||||
|
||||
private void addDataSet(List<DeviceManagerVO.DataSetVO> dataSetList, CsDataSet item, String name, String type) {
|
||||
private void addDataSet(List<DeviceManagerVO.DataSetVO> dataSetList, CsDataSet item, String name, String type, Integer sort) {
|
||||
DeviceManagerVO.DataSetVO dataSetVO = new DeviceManagerVO.DataSetVO();
|
||||
dataSetVO.setId(item.getId());
|
||||
dataSetVO.setName(name);
|
||||
dataSetVO.setType(type);
|
||||
dataSetVO.setSort(sort);
|
||||
dataSetList.add(dataSetVO);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user