水库基本信息
parent
51a0155568
commit
27e8981b9a
|
|
@ -23,8 +23,7 @@ public class OpenApiConfig {
|
|||
"/impactZoneInfo/**",
|
||||
"/auditProcess/**",
|
||||
"/warningRule/**",
|
||||
"/reservoirDemarcationInfo/**",
|
||||
"/safety/degradeScrapLedger/**"
|
||||
"/attResBuilding/**"
|
||||
};
|
||||
return GroupedOpenApi.builder()
|
||||
.group("ss")
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public class AttResBuildingController extends AbstractCommonFileController {
|
|||
return R.ok(result ? dto : null);
|
||||
}
|
||||
|
||||
@Operation(summary = "修改")
|
||||
@Operation(summary = "信息查询")
|
||||
@GetMapping("/info")
|
||||
public R<AttResBuilding> info() {
|
||||
List<AttResBuilding> list = attResBuildingService.list();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package com.gunshi.project.ss.model;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
|
@ -11,99 +10,194 @@ import java.io.Serializable;
|
|||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 描述: 水库基本信息表
|
||||
* author: xusan
|
||||
* date: 2024-07-08 17:34:26
|
||||
*/
|
||||
* 描述: 水库基本信息表
|
||||
* author: xusan
|
||||
* date: 2024-07-08 17:34:26
|
||||
*/
|
||||
@Schema(description="水库基本信息表")
|
||||
@Data
|
||||
@TableName("public.att_res_building")
|
||||
public class AttResBuilding implements Serializable {
|
||||
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 水库代码
|
||||
*/
|
||||
@Schema(description="水库代码")
|
||||
@TableId(value = "id", type = IdType.INPUT)
|
||||
private Integer id;
|
||||
|
||||
// 主坝字段 (prefix: main_) 挡水建筑物(大坝)
|
||||
private String mainType; // 主坝-坝型 建筑物型式
|
||||
private String mainFoundation; //主坝-地基特性
|
||||
private String mainBasicIntensityOfAnEarthQuake; //主坝-地震基本烈度
|
||||
private BigDecimal mainCrestElevation; // 主坝-坝顶高程(m)
|
||||
private BigDecimal mainCrestLength; // 主坝-坝顶长度(m)
|
||||
private BigDecimal mainCrestWidth; // 主坝-坝顶宽度(m)
|
||||
private BigDecimal mainMaxHeight; // 主坝-最大坝高(m)
|
||||
private BigDecimal mainEarthquakeAcceleration;// 主坝-地震峰值加速度
|
||||
private BigDecimal mainTopOfWaveBarrierElevation;// 主坝-防浪墙顶高程
|
||||
@Schema(description="主坝-坝型 建筑物型式")
|
||||
private String mainType;
|
||||
|
||||
@Schema(description="主坝-地基特性")
|
||||
private String mainFoundation;
|
||||
|
||||
@Schema(description="主坝-最大坝高(m)")
|
||||
private BigDecimal mainMaxHeight;
|
||||
|
||||
@Schema(description="主坝-坝顶高程(m)")
|
||||
private BigDecimal mainCrestElevation;
|
||||
|
||||
@Schema(description="主坝-心墙顶高程")
|
||||
private BigDecimal mainHeartWallCrestElevation;
|
||||
|
||||
@Schema(description="主坝-坝顶长度(m)")
|
||||
private BigDecimal mainCrestLength;
|
||||
|
||||
@Schema(description="主坝-坝顶宽度(m)")
|
||||
private BigDecimal mainCrestWidth;
|
||||
|
||||
@Schema(description="主坝-坝基防渗型式")
|
||||
private String mainFoundControlType;
|
||||
|
||||
@Schema(description="主坝-防浪墙顶高程")
|
||||
private BigDecimal mainTopOfWaveBarrierElevation;
|
||||
|
||||
// 副坝字段 (prefix: aux_)
|
||||
private String auxType; // 副坝-坝型
|
||||
private BigDecimal auxCrestElevation; // 副坝-坝顶高程(m)
|
||||
private BigDecimal auxCrestLength; // 副坝-坝顶长度(m)
|
||||
private BigDecimal auxCrestWidth; // 副坝-坝顶宽度(m)
|
||||
private BigDecimal auxMaxHeight; // 副坝-最大坝高(m)
|
||||
@Schema(description="副坝-坝型")
|
||||
private String auxType;
|
||||
|
||||
@Schema(description="副坝-地基特性")
|
||||
private String auxFoundation;
|
||||
|
||||
@Schema(description="副坝-最大坝高(m)")
|
||||
private BigDecimal auxMaxHeight;
|
||||
|
||||
@Schema(description="副坝-坝顶高程(m)")
|
||||
private BigDecimal auxCrestElevation;
|
||||
|
||||
@Schema(description="副坝-心墙顶高程")
|
||||
private BigDecimal auxHeartWallCrestElevation;
|
||||
|
||||
@Schema(description="副坝-坝顶长度(m)")
|
||||
private BigDecimal auxCrestLength;
|
||||
|
||||
@Schema(description="副坝-坝顶宽度(m)")
|
||||
private BigDecimal auxCrestWidth;
|
||||
|
||||
@Schema(description="副坝-坝基防渗型式")
|
||||
private String auxFoundControlType;
|
||||
|
||||
// 溢洪道字段 (prefix: spillway_) 泄水建筑物
|
||||
private String spillwayType; // 溢洪道-型式
|
||||
private String spillwayCrestType; // 溢洪道-堰顶型式
|
||||
private String spillwayFoundation; // 溢洪道-地基特性
|
||||
private BigDecimal spillwayCrestElevation; // 溢洪道-溢流堰顶高程(m)
|
||||
private BigDecimal spillwayNetWidth; // 溢洪道-溢流堰净宽(m)
|
||||
private String spillwayEnergyDissipation; // 溢洪道-消能型式
|
||||
private BigDecimal spillwayCheckFloodDischarge; // 溢洪道-校核洪水下泄流量(m³/s)
|
||||
private BigDecimal spillwayDesignFloodDischarge; // 溢洪道-设计洪水下泄流量(m³/s)
|
||||
private BigDecimal spillwayScouringDischarge; // 溢洪道-消能防冲下泄流量(m³/s)
|
||||
private BigDecimal spillwayMaxSingleWidthFlow;//溢洪道-最大单宽流量
|
||||
@Schema(description="溢洪道-型式")
|
||||
private String spillwayType;
|
||||
|
||||
@Schema(description="溢洪道-地基特性")
|
||||
private String spillwayFoundation;
|
||||
|
||||
// 灌溉发电洞字段 (prefix: irrigation_)
|
||||
private String irrigationType; // 灌溉发电洞-型式
|
||||
private String irrigationLiningType; // 灌溉发电洞-衬砌型式
|
||||
private String irrigationFoundation; // 灌溉发电洞-地基特性
|
||||
private BigDecimal irrigationInletElevation; // 灌溉发电洞-进口底板高程(m)
|
||||
private String irrigationCrossSection; // 灌溉发电洞-断面尺寸(m)
|
||||
private BigDecimal irrigationLength; // 灌溉发电洞-洞长(m)
|
||||
private BigDecimal irrigationDesignFlow; // 灌溉发电洞-设计流量(m³/s)
|
||||
private String irrigationGateType; // 灌溉发电洞-进口闸门型式
|
||||
private String irrigationHoistType; // 灌溉发电洞-进口启闭机型式
|
||||
@Schema(description="溢洪道-堰顶型式")
|
||||
private String spillwayCrestType;
|
||||
|
||||
// 放空洞字段 (prefix: emptying_)
|
||||
private String emptyingType; // 放空洞-型式
|
||||
private String emptyingLiningType; // 放空洞-衬砌型式
|
||||
private String emptyingFoundation; // 放空洞-地基特性
|
||||
private BigDecimal emptyingInletElevation; // 放空洞-进口底板高程(m)
|
||||
private String emptyingCrossSection; // 放空洞-断面尺寸(m)
|
||||
private BigDecimal emptyingLength; // 放空洞-洞长(m)
|
||||
private BigDecimal emptyingDesignFlow; // 放空洞-设计流量(m³/s)
|
||||
private String emptyingGateType; // 放空洞-进口闸门型式
|
||||
private String emptyingHoistType; // 放空洞-进口启闭机型式
|
||||
@Schema(description="溢洪道-进口底高程(m)")
|
||||
private BigDecimal spillwayInBottomElevation;
|
||||
|
||||
@Schema(description="溢洪道-底宽(m)")
|
||||
private BigDecimal spillwayBottomWidth;
|
||||
|
||||
@Schema(description="溢洪道-渠深(m)")
|
||||
private BigDecimal spillwayCanalDepth;
|
||||
|
||||
@Schema(description="溢洪道-最大泄量(1%)(m³/s)")
|
||||
private BigDecimal spillwayMaxDischarge;
|
||||
|
||||
@Schema(description="溢洪道-最大泄量(0.1%)(m³/s)")
|
||||
private BigDecimal spillwayZeroMaxDischarge;
|
||||
|
||||
@Schema(description="溢洪道-消能型式")
|
||||
private String spillwayEnergyDissipation;
|
||||
|
||||
// 主坝输水管字段 (prefix: mwater_)
|
||||
@Schema(description="主坝输水管-型式")
|
||||
private String mwaterType;
|
||||
|
||||
@Schema(description="主坝输水管-断面尺寸(m)")
|
||||
private String mwaterCrossSection;
|
||||
|
||||
@Schema(description="主坝输水管-进口底部高程(m)")
|
||||
private BigDecimal mwaterInletElevation;
|
||||
|
||||
@Schema(description="主坝输水管-长度(m)")
|
||||
private BigDecimal mwaterLength;
|
||||
|
||||
@Schema(description="主坝输水管-设计流量(m³/s)")
|
||||
private BigDecimal mwaterDesignFlow;
|
||||
|
||||
@Schema(description="主坝输水管-进水口型式")
|
||||
private String mwaterLiningType;
|
||||
|
||||
// 副坝输水管字段 (prefix: awater_)
|
||||
@Schema(description="副坝输水管-型式")
|
||||
private String awaterType;
|
||||
|
||||
@Schema(description="副坝输水管-地基特性")
|
||||
private String awaterFoundation;
|
||||
|
||||
@Schema(description="副坝输水管-断面尺寸(m)")
|
||||
private String awaterCrossSection;
|
||||
|
||||
@Schema(description="副坝输水管-进口底板高程(m)")
|
||||
private BigDecimal awaterInletElevation;
|
||||
|
||||
@Schema(description="副坝输水管-长度(m)")
|
||||
private BigDecimal awaterLength;
|
||||
|
||||
@Schema(description="副坝输水管-壁厚(m)")
|
||||
private BigDecimal awaterThick;
|
||||
|
||||
@Schema(description="副坝输水管-最大流量(m³/s)")
|
||||
private BigDecimal awaterMaxFlow;
|
||||
|
||||
@Schema(description="副坝输水管-进水口型式")
|
||||
private String awaterLiningType;
|
||||
|
||||
// 拦洪坝字段 (prefix: flood_control_)
|
||||
private String floodControlType; // 拦洪坝-坝型
|
||||
private BigDecimal floodControlCrestElevation; // 拦洪坝-坝顶高程(m)
|
||||
private BigDecimal floodControlCrestLength; // 拦洪坝-坝顶长度(m)
|
||||
private BigDecimal floodControlCrestWidth; // 拦洪坝-坝顶宽度(m)
|
||||
private BigDecimal floodControlMaxHeight; // 拦洪坝-最大坝高(m)
|
||||
@Schema(description="拦洪坝-坝型")
|
||||
private String floodControlType;
|
||||
|
||||
@Schema(description="拦洪坝-坝顶高程(m)")
|
||||
private BigDecimal floodControlCrestElevation;
|
||||
|
||||
@Schema(description="拦洪坝-坝顶长度(m)")
|
||||
private BigDecimal floodControlCrestLength;
|
||||
|
||||
@Schema(description="拦洪坝-坝顶宽度(m)")
|
||||
private BigDecimal floodControlCrestWidth;
|
||||
|
||||
@Schema(description="拦洪坝-最大坝高(m)")
|
||||
private BigDecimal floodControlMaxHeight;
|
||||
|
||||
// 防汛道路字段 (prefix: road_)
|
||||
private BigDecimal roadLength; // 防汛道路-防汛路长度(m)
|
||||
private BigDecimal roadWidth; // 防汛道路-路面宽度(m)
|
||||
@Schema(description="防汛道路-防汛路长度(m)")
|
||||
private BigDecimal roadLength;
|
||||
|
||||
//输水建筑物 (prefix: water_conveyance )
|
||||
private BigDecimal waterConveyanceFlow;//输水建筑物-设计流量
|
||||
private String waterConveyanceType;//输水建筑物-进水口形式
|
||||
private String waterConveyanceWaterIntakeType;//输水建筑物-取水方式
|
||||
private String waterConveyanceFoundation;//输水建筑物-地基特性
|
||||
private BigDecimal waterConveyanceInletBottomHigh;//输水建筑物-进口底槛高程
|
||||
private String waterConveyanceOrificeSize;//输水建筑物-孔口尺寸
|
||||
private String waterConveyanceGateType;//输水建筑物-闸门型式
|
||||
private Integer waterConveyanceHoistNum;//输水建筑物-启闭机型式容量及数量
|
||||
private String waterConveyanceTunnelType;//输水建筑物-引水隧洞型式
|
||||
private BigDecimal waterConveyanceLength;//输水建筑物-长度
|
||||
private String waterConveyanceLiningType;//输水建筑物-衬砌型式
|
||||
}
|
||||
@Schema(description="防汛道路-路面宽度(m)")
|
||||
private BigDecimal roadWidth;
|
||||
|
||||
//东输水隧洞 (prefix: water_conveyance )
|
||||
@Schema(description="东输水隧洞-进水口形式")
|
||||
private String waterConveyanceType;
|
||||
|
||||
@Schema(description="东输水隧洞-地基特性")
|
||||
private String waterConveyanceFoundation;
|
||||
|
||||
@Schema(description="东输水隧洞-断面尺寸(m)")
|
||||
private String waterConveyanceCrossSection;
|
||||
|
||||
@Schema(description="东输水隧洞-进口底板高程(m)")
|
||||
private BigDecimal waterConveyanceInletElevation;
|
||||
|
||||
@Schema(description="东输水隧洞-长度")
|
||||
private BigDecimal waterConveyanceLength;
|
||||
|
||||
@Schema(description="东输水隧洞-壁厚(m)")
|
||||
private BigDecimal waterConveyanceThick;
|
||||
|
||||
@Schema(description="东输水隧洞-最大流量(m³/s)")
|
||||
private BigDecimal waterConveyanceMaxFlow;
|
||||
|
||||
@Schema(description="东输水隧洞-进水口型式")
|
||||
private String waterConveyanceLiningType;
|
||||
}
|
||||
|
|
@ -54,7 +54,7 @@ public class WarningRuleInfoService extends ServiceImpl<WarningRuleInfoMapper,Wa
|
|||
}
|
||||
|
||||
public String publish(WarningRuleInfo warningRuleInfo) {
|
||||
warningRuleInfo.setStatus(2);
|
||||
warningRuleInfo.setStatus(1);
|
||||
Integer warningLevel = warningRuleInfo.getWarningLevel();
|
||||
LambdaQueryWrapper<AuditProcess> queryWrapper = Wrappers.lambdaQuery();
|
||||
queryWrapper.eq(AuditProcess::getWarningLevel,warningLevel);
|
||||
|
|
@ -68,6 +68,7 @@ public class WarningRuleInfoService extends ServiceImpl<WarningRuleInfoMapper,Wa
|
|||
warningRuleInfo.setFirstAuditUserId(auditProcess.getFirstAuditUserId());
|
||||
warningRuleInfo.setFirstAuditUserName(auditProcess.getFirstAuditUserName());
|
||||
this.updateById(warningRuleInfo);
|
||||
|
||||
objService.saveOrUpdateBatch(warningRuleInfo.getObjs());
|
||||
return "发布成功";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -76,8 +76,9 @@ public class WarningRuleTask {
|
|||
}).collect(Collectors.toList());
|
||||
|
||||
for (WarningRule warningRule : warningRules) {
|
||||
//获取预警类型
|
||||
String warningType = warningRule.getWarningType();
|
||||
//获取预警对象
|
||||
Integer warningObj = warningRule.getWarningObj();
|
||||
String relStcd = warningRule.getRelStcd();
|
||||
//获取预警的规则细节
|
||||
List<WarningCondition> conditions = warningRule.getConditions();
|
||||
|
||||
|
|
@ -87,7 +88,7 @@ public class WarningRuleTask {
|
|||
|
||||
// 为每个条件计算实际值并设置是否满足
|
||||
for (WarningCondition condition : conditions) {
|
||||
BigDecimal actualValue = calculateActualValue(condition, warningType);
|
||||
BigDecimal actualValue = calculateActualValue(condition, warningObj,relStcd);
|
||||
condition.setIsEnjoy(compareValue(actualValue, condition));
|
||||
}
|
||||
|
||||
|
|
@ -98,12 +99,8 @@ public class WarningRuleTask {
|
|||
if (isRuleSatisfied) {
|
||||
log.info("预警规则 {} 满足条件,触发预警", warningRule.getId());
|
||||
|
||||
// 生成规则信息
|
||||
String ruleInfo = generateRuleInfo(conditions);
|
||||
|
||||
WarningRuleInfo warningRuleInfo = new WarningRuleInfo();
|
||||
warningRuleInfo.setRuleId(warningRule.getId());
|
||||
warningRuleInfo.setConditions(conditions);
|
||||
warningRuleInfo.setCreateTime(LocalDateTime.now());
|
||||
warningRuleInfo.setStatus(0);
|
||||
warningRuleInfoService.save(warningRuleInfo);
|
||||
|
|
@ -182,23 +179,17 @@ public class WarningRuleTask {
|
|||
/**
|
||||
* 计算条件的实际值
|
||||
*/
|
||||
private BigDecimal calculateActualValue(WarningCondition condition, String warningType) {
|
||||
// String indicatorType = condition.getIndicatorType();
|
||||
// String stcd = condition.getStcd();
|
||||
String indicatorType = null;
|
||||
String stcd = null;
|
||||
private BigDecimal calculateActualValue(WarningCondition condition, Integer warningObj,String stcd) {
|
||||
Integer durationHours = condition.getDurationHours();
|
||||
|
||||
switch (indicatorType) {
|
||||
case "REAL_WATER_LEVEL":
|
||||
switch (warningObj) {
|
||||
case 1:
|
||||
return getRzByStcd(stcd);
|
||||
case "PEAK_FLOW":
|
||||
return getFloowMaxQ(durationHours);
|
||||
case "RAINFALL":
|
||||
case 2:
|
||||
return getRealRainFall(stcd, durationHours);
|
||||
case "WATER_STORAGE":
|
||||
// return getWaterStorage(condition.getYear());
|
||||
case "FORECAST_RAINFALL":
|
||||
case 9:
|
||||
return getFloowMaxQ(durationHours);
|
||||
case 8:
|
||||
return getForecastRainFall(stcd, durationHours);
|
||||
default:
|
||||
return BigDecimal.ZERO;
|
||||
|
|
|
|||
Loading…
Reference in New Issue