方案管理服务
  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/create-template
ScenarioManager
关键词:
模板方案
使用场景:
在项目初始化阶段,往往需要创建项目所需要的模板方案,此接口支持对基于本地文件系统进行存储的模板方案的创建。目前项目绝大部分采用的是升级后的存储方案,这种情况不能使用该接口,而是需要采用接口/api/v2/scenario-manager/scenario/dfs/create-template来代替。
相关背景:
方案管理服务的初期版本,模型文件是在本地进行存储和管理的,一个方案对应一个本地的模型文件夹。在服务升级之后,普通方案不再需要继续存储其对应的模型文件,而是仅存储模板方案对应的基础模型文件在分布式文件系统,普通方案仅存储部分有需要的文件(如模拟结果文件)到分布式文件系统,另外一部分与方案相关的数据,如结果数据会被保存在数据库。
输入:
输入包括模型文件在本地文件系统上的绝对路径、所属方案组的ID、模板方案名称、子类型和描述等,其中子类型SubType可自定义。

请求参数

Authorization
在 Header 添加参数
Authorization
,其值为在 Bearer 之后拼接 Token
示例:
Authorization: Bearer ********************
Path 参数
version
string 
必需
Body 参数application/json
modelFile
string  | null 
可选
本地文件系统中模型文件的绝对路径
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格式的,用户自定义的方案属性,用于扩展
示例
{
    "modelFile": "C:\\Work\\Projects\\Model_YS\\BYJC_YS.mupp",
    "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/create-template' \
--header 'Content-Type: application/json' \
--data-raw '{
    "modelFile": "C:\\Work\\Projects\\Model_YS\\BYJC_YS.mupp",
    "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 
可选
示例
{
    "status": false,
    "code": "E10001",
    "message": "模板方案名称不能为空",
    "traceId": null
}
上一页
根据方案ID查询其对应的模板方案
下一页
基于分布式文件系统,创建模板方案
Built with