方案管理服务
  1. ScenarioManager
方案管理服务
  • Library
    • 创建新的方案库
      POST
    • 删除方案库下过期的方案
      POST
    • 根据方案库ID列表删除方案库
      POST
    • 获取方案库中方案的过期时间配置
      GET
    • 更新方案库信息
      POST
    • 设置方案库中方案过期时间
      POST
    • 获取所有方案库列表
      GET
    • 根据类型查询方案库列表
      GET
    • 根据方案库类型和业务类型查询方案库
      GET
    • 根据方案库类型和业务类型查询对应方案库下启用的模板方案
      GET
    • 根据方案库查询其下的所有方案列表
      GET
    • 根据方案库查询其下最近一次计算完成的方案
      GET
    • 根据方案库,以及模板方案名称与模型类型,查询其下最近一次计算完成的方案
      GET
    • 根据方案库查询其下所绑定的模板方案列表
      GET
    • 启用方案库下面的某个模板方案
      POST
    • 删除方案库下过期的方案
      POST
    • 删除方案库下指定时间段内的方案
      POST
  • ScenarioGroup
    • 获取所有的根方案组
    • 根据父方案组查询其下所有的子方案组
    • 根据方案组查询其关联的方案列表
    • 创建一个新的根方案组
    • 创建一个新的方案组
    • 删除方案组,同时删除其下的方案
    • 基于分布式文件系统,删除方案组,同时删除其下的方案
    • 重命名方案组
  • ScenarioManager
    • 根据方案ID获取方案基本信息
      GET
    • 根据方案ID获取方案的主模型文件绝对路径
      GET
    • 根据方案ID获取方案文件夹的绝对路径
      GET
    • 获取所有的模板方案列表
      GET
    • 根据子类型来查询和筛选方案列表
      GET
    • 根据父方案ID获取其下子方案的列表
      GET
    • 根据方案ID查询其对应的模板方案
      GET
    • 创建一个新的模板方案
      POST
    • 基于分布式文件系统,创建模板方案
      POST
    • 创建一个新的方案
      POST
    • 基于分布式文件系统,创建一个新的方案
      POST
    • 更新方案基本信息
      POST
    • 根据方案ID删除方案
      POST
    • 基于分布式文件系统,删除方案
      POST
    • 重命名方案
      POST
    • 更新方案,同时更新其对应的模型文件
      POST
    • 设置方案库下一个用于默认展示的方案
      POST
  1. ScenarioManager

基于分布式文件系统,创建模板方案

POST
/api/v2/scenario-manager/scenario/dfs/create-template
ScenarioManager
关键词:
模板方案
使用场景:
在项目完成了方案库的初始化之后,可以用此接口来创建基础的模板方案。值得注意的是,此接口仅用于创建模板方案信息,完成完整的模板方案的创建过程需要执行以下接口:
1、模型配置服务:/api/v1/model-configuration/file-manager/upload-file接口用于上传基础模型文件(文件以文件块的形式上传);
2、模型配置服务:/api/v1/model-configuration/file-manager/merge-file接口用于合并上传的文件块;
3、模型配置服务:/api/v3/model-configuration/template/create-model-template接口用于构建模板模型文件;
4、模型配置服务:/api/v3/model-configuration/scenario/create-template-scenario接口用于创建模板方案,该方案所绑定的模板模型文件会被上传至分布式文件系统,且模板模型文件中的基础信息会被导出到数据库。
相关背景:
模板方案,对应一个基础模型,以及基于该模型导出的一系列基础数据,在方案管理服务升级之后,模型文件均不在本地存储,而是采用分布式文件系统存储,因此模板方案对应的模型文件会被上传至分布式文件系统,而对应的其他基础数据会被导出至数据库。
输入:
输入包括模型文件在分布式文件系统上的路径和桶、主模型文件相对于模型文件夹的路径、模型类型、所属方案组的ID、模板方案名称、子类型和描述等。
其中所属方案组的ID,可以通过方案库的Scenariogroup字段获取;
子类型SubType可自定义。

请求参数

Authorization
在 Header 添加参数
Authorization
,其值为在 Bearer 之后拼接 Token
示例:
Authorization: Bearer ********************
Path 参数
version
string 
必需
Body 参数application/json
minIOPath
string  | null 
可选
模型文件在分布式文件系统上的路径
minIOBucket
string  | null 
可选
模型文件在分布式文件系统上的桶
projectFile
string  | null 
可选
主模型文件相对于模型文件夹的路径
type
enum<integer> <int32>
可选
0-MIKE11Model(MIKE 11 model)
1-MIKEBASINModel(MIKE Basin model)
2-MIKE21Model(MIKE 21 model)
3-MIKE21FMModel(MIKE 21FM model)
4-MIKE3FMModel(MIKE 3FM model)
5-MIKEFloodModel(MIKE Flood model)
6-MIKESHEModel(MIKE SHE model)
7-MIKEUrbanCSModel(MIKE Urban CS model)
8-MIKEUrbanWDModel(MIKE Urban WD model)
9-HydroBasinModel(MIKE HYDRO Basin model)
10-InpWDModel(Inp model of WD)
11-XAJ11Model(Xin an jiang model)
12-FeflowModel(MIKE Feflow model)
13-WestModel(West model)
14-SWMMModel(SWMM model)
15-EFDCModel(EFDC model)
16-WaterForecastModel(Water forecast model of WD)
17-HydroBasinOptimModel(MIKE HYDRO Basin optimization model)
18-MIKEUrbanCSPlusModel(MIKE Urban Plus CS model)
19-MIKEUrbanWDPlusModel(MIKE Urban Plus WD model)
20-HammerModel(Hammer model of WD)
21-MIKEPlusFloodModel(MIKE Plus Flood model)
22-MIKEPlusWDModel(MIKE Plus WD model)
23-EPANET(Epanet Model)
99-Unknown(Unknown)
枚举值:
0123456789101112131415161718192021222399
groupId
string  | null 
可选
模板方案所处的方案组ID
newTemplateName
string  | null 
模板方案名称
可选
subType
string  | null 
可选
模板方案的子类型,枚举,目前已存在的定义包括ManualSchedule、EconomicSchedule、OptimizeSchedule、UnprocessedWater、DataAssimilation、EmerResponse、Forecast、EmerMnt、Scenario、Incident、ParaOptimi、SourceAnalysis、WQEvaluation、SpatialTime、Planning、OilSpill、Year、Month、TenDays、PumpShutdown、PipeBurst、Unknown,也可以自定义
description
string  | null 
模板方案描述
可选
attributes
string  | null 
可选
通常为json格式的,用户自定义的方案属性,用于扩展
示例
{
    "minIOPath": "modelconfiguration/modeltemplatefiles/BYJC_YS_8d08bc82-3b95-4712-84ae-0b9d2f198717.zip",
    "minIOBucket": "MIKEPlusFloodModel",
    "projectFile": "BYJC_YS.mupp",
    "type": 21,
    "groupId": "abfcfe31-2546-487a-9551-51c7183ff475",
    "newTemplateName": "大雨预演模板",
    "subType": "Schedule",
    "description": "用于大雨场景下的预演模板",
    "attributes": ""
}

示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request POST 'http://10.174.150.25:32001/api/v2/scenario-manager/scenario/dfs/create-template' \
--header 'Content-Type: application/json' \
--data-raw '{
    "minIOPath": "modelconfiguration/modeltemplatefiles/BYJC_YS_8d08bc82-3b95-4712-84ae-0b9d2f198717.zip",
    "minIOBucket": "MIKEPlusFloodModel",
    "projectFile": "BYJC_YS.mupp",
    "type": 21,
    "groupId": "abfcfe31-2546-487a-9551-51c7183ff475",
    "newTemplateName": "大雨预演模板",
    "subType": "Schedule",
    "description": "用于大雨场景下的预演模板",
    "attributes": ""
}'

返回响应

🟢200成功
text/plain
Success
Body
Scenario
id
string <uuid>
必需
方案ID,唯一性标识
scenarioCode
string 
必需
方案代码,创建方案时自动生成
>= 0 字符<= 100 字符
scenarioName
string  | null 
方案名称
可选
>= 0 字符<= 200 字符
modelType
string  | null 
可选
方案对应的模型类型,枚举参考ModelTypeEnum,目前已存在的定义包括MIKE11Model、MIKEBASINModel、MIKE21Model、MIKE21FMModel、MIKE3FMModel、MIKEFloodModel、MIKESHEModel、MIKEUrbanCSModel、MIKEUrbanWDModel、HydroBasinModel、InpWDModel、XAJ11Model、FeflowModel、WestModel、SWMMModel、EFDCModel、WaterForecastModel、HydroBasinOptimModel、MIKEUrbanCSPlusModel、MIKEUrbanWDPlusModel、HammerModel、MIKEPlusFloodModel、MIKEPlusWDModel、EPANET、Unknown
>= 0 字符<= 100 字符
modelSubType
string  | null 
可选
方案子类型,枚举参考enumSubType,目前已存在的定义包括ManualSchedule、EconomicSchedule、OptimizeSchedule、UnprocessedWater、DataAssimilation、EmerResponse、Forecast、EmerMnt、Scenario、Incident、ParaOptimi、SourceAnalysis、WQEvaluation、SpatialTime、Planning、OilSpill、Year、Month、TenDays、PumpShutdown、PipeBurst、Unknown,如果以上枚举项都不符合,也可以完全自定义
>= 0 字符<= 200 字符
template
integer <int32>
可选
是否是模板方案,1表示模板方案,0表示非模板方案
inheritedScenario
string <uuid>
可选
父方案ID,如果方案是基于模板方案生成的,那它的父方案就是模板方案;如果方案是基于某个普通方案派生而来的,那它的父方案就是这个普通方案
readOnly
integer <int32>
可选
是否只读,1表示只读,0表示可读写
enabled
integer <int32>
可选
(模板方案)是否启用,1表示启用,0表示不启用
relativeFolder
string  | null 
可选
方案模型文件夹相对路径,但由于目前方案采用的是分布式文件系统,不在本地保存,因此该字段已无实际意义
>= 0 字符<= 1000 字符
projectFile
string  | null 
可选
模型文件名称,比如针对MIKE11模型,就是指模型文件夹中.sim11模型文件的名称
>= 0 字符<= 200 字符
currentTime
string <date-time>
可选
模型预报时刻,针对预报方案而言,预报时刻之前就是模型前算期,预报时刻之后就是预报期
startTime
string <date-time>
模型开始时刻
可选
endTime
string <date-time>
模型结束时刻
可选
createTime
string <date-time>
方案创建时刻
可选
autoCalculate
integer <int32>
可选
是否自动计算,但由于目前方案基于方案库进行管理,因此该字段已无实际意义
modified
integer <int32>
可选
方案是否修改过,1表示修改过,0表示没有修改过
checked
integer <int32>
可选
方案是否被选中,1表示被选中,0表示未被选中
calculated
integer <int32>
可选
方案是否计算完成,1表示计算完成,0表示未计算完成
published
integer <int32>
可选
方案是否已经发布,1表示已发布,0表示未发布
onlineFirst
integer <int32>
可选
是否优先使用在线数据,目前数据接入均已自动化,因此该字段已无实际意义
autoAmend
integer <int32>
可选
是否自动修正数据,目前数据接入均已自动化,因此该字段已无实际意义
state
string  | null 
方案的状态
可选
>= 0 字符<= 200 字符
description
string  | null 
方案的描述
可选
>= 0 字符<= 2000 字符
version
string <uuid>
方案版本信息
可选
tenantId
string  | null 
租户ID
可选
minIOPath
string  | null 
可选
部分方案文件,比如模板方案的模型文件等需要上传到分布式文件系统去保存,这个字段代表方案文件在分布式文件系统上的存储路径
>= 0 字符<= 1000 字符
minIOBucket
string  | null 
可选
方案文件在分布式文件系统上的存储桶
>= 0 字符<= 200 字符
creatorName
string  | null 
创建方案的用户账号
可选
attributes
string  | null 
方案自定义列
可选
name
string  | null 
可选
示例
{
    "data": {
        "id": "f379f17f-50ac-4697-b42e-37d14121c08c",
        "scenarioCode": "DYYYMB337357",
        "scenarioName": "大雨预演模板",
        "modelType": "MIKEPlusFloodModel",
        "modelSubType": "Schedule",
        "template": 1,
        "inheritedScenario": "00000000-0000-0000-0000-000000000000",
        "readOnly": 0,
        "enabled": 1,
        "relativeFolder": "DYYYMB337357",
        "projectFile": "BYJC_YS.mupp",
        "currentTime": "2025-03-14T09:17:39.9078",
        "startTime": "2025-03-14T09:17:39.9078",
        "endTime": "2025-03-14T09:17:39.9078",
        "createTime": "2025-03-14T09:17:39.9151",
        "autoCalculate": 0,
        "modified": 0,
        "checked": 0,
        "calculated": 0,
        "published": 0,
        "onlineFirst": 1,
        "autoAmend": 1,
        "state": null,
        "description": "用于大雨场景下的预演模板",
        "version": "7ddc9f12-145a-4369-b5b1-06a406d69a65",
        "tenantId": "3a1654c5-4f41-00be-3508-362dee00b666",
        "minIOPath": "modelconfiguration/modeltemplatefiles/BYJC_YS_8d08bc82-3b95-4712-84ae-0b9d2f198717.zip",
        "minIOBucket": "MIKEPlusFloodModel",
        "creatorName": "",
        "attributes": "",
        "name": "DYYYMB337357"
    },
    "status": true,
    "code": "000000",
    "message": null,
    "traceId": null
}
上一页
创建一个新的模板方案
下一页
创建一个新的方案
Built with