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

创建新的方案库

POST
/api/v2/scenario-manager/library/add
Library
关键词:
方案库、方案组、方案、模板方案
使用场景:
该接口一般在项目初始化的时候调用,用于创建项目将会涉及到的方案库。该接口通常不需要用户自行调用,因为当我们在DHI中国用户管理系统上创建项目租户的时候,会通过配置文件的形式上传项目所涉及到的方案库信息,在这个过程中,方案库会自动完成创建。如果后续有添加新方案库的需求,则可以通过该接口实现。
相关背景:
方案是对模型进行管理的基本单位,一个方案即代表一套模型,以及基于该模型所生成的所有相关数据;
方案库代表一类方案的集合,比如预报库、调度库等,便于对方案的分类管理;
方案组是方案与方案库之间的隐藏连接层,一般来说,一个方案库对应一个方案组,方案组下关联方案。
模板方案,对应一个基础模型,以及基于该模型导出的一系列基础数据;某个方案库下的方案创建时,将以该方案库所关联的模板方案为模板来进行创建,并可在此基础上进行模型设置和计算等操作。
输入:
输入需要新增的方案库的基本信息,包括库的名称、库的类型、业务类型、库所对应的方案组ID、是否只读、是否直接绑定模板方案、是否支持绑定多个启用的模板方案等信息。
其中库所对应的方案组ID,即Scenariogroup,如果是关联已经存在的方案组,则传该方案组的ID;如果是需要在创建方案库时进行自动创建的,则传空Guid即可,一般在项目初始化时属于后者。
是否直接绑定模板方案,即BindTemplate,如果为1,则表示该方案组下会有直接关联的模板方案,一旦关联上模板方案之后,通过/api/v1/scenario-manager/library/templatelist接口,传入该方案库的ID即可以查询到所关联的模板方案;如果为0,则表示该方案组下没有直接关联的模板方案,但是有间接关联的模板方案,而间接关联的模板方案,可以通过BindType和BindBusinessType所对应的方案库的ID,结合前面的接口来获取。
输出:
如果创建成功,将返回新创建的方案库的对象列表

请求参数

Authorization
在 Header 添加参数
Authorization
,其值为在 Bearer 之后拼接 Token
示例:
Authorization: Bearer ********************
Path 参数
version
string 
必需
Body 参数application/json
array of:
scenariogroup
string <uuid>
可选
方案库所关联的方案组ID,如果传空Guid,代表方案库所关联的方案组由系统自动创建
name
string  | null 
方案库的名称
可选
type
integer <int32>
可选
方案库的类型,枚举参考LibraryTypeEnum,目前已存在0-19种定义,包括0:未定义;1:自动预报库;2:人工预报库;3:预报库;4:调度库;5:经验库;6:情景模拟库;7:突发水污染事故库;8:在线水动力库(供水);9:水锤库(供水);10:管道充满度库;11:爆管库(供水);12:污染事故响应库;13:规划库;14:管道冲洗库(供水);15:污染事故库(供水);16:关阀库(供水);17:在线滚动预报库(污水厂);18:在线滚动优化库(污水厂);19:模拟实验室库(污水厂)
businessType
integer <int32>
可选
方案库的业务类型,枚举参考BusinessTypeEnum,目前已存在0-6种定义,包括0:未定义;1:水环境;2:内涝;3:供水;4:流域洪水;5:污水厂;6:排水
readonly
integer <int32>
可选
是否只读,0代表可读写,1代表只读
bindTemplate
integer <int32>
可选
是否直接绑定模板方案,1表示该方案库直接绑定一个模板方案,0表示不直接绑定,而是采用BindType和BindBusinessType所对应的那个方案库下的模板方案,属于间接绑定
bindType
integer <int32>
可选
当BindTemplate为0,此项表示该方案库采用的模板方案所对应的方案库的类型,枚举参考LibraryTypeEnum
bindBusinessType
integer <int32>
可选
当BindTemplate为0,此项表示该方案库采用的模板方案所对应的方案库的业务类型,枚举参考BusinessTypeEnum
enableMultiTemplate
integer <int32> | null 
可选
是否支持绑定多个启用的模板方案,0表示只能绑定单个启用的模板方案,1表示可以绑定多个启用的模板方案
description
string  | null 
方案库的描述信息
可选
示例
[
    {
        "scenariogroup": "00000000-0000-0000-0000-000000000000",
        "name": "调度库",
        "type": 4,
        "businessType": 2,
        "readonly": 0,
        "bindTemplate": 0,
        "bindType": 1,
        "bindBusinessType": 2,
        "enableMultiTemplate": 0,
        "description": "内涝调度方案库"
    }
]

示例代码

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/library/add' \
--header 'Content-Type: application/json' \
--data-raw '[
    {
        "scenariogroup": "00000000-0000-0000-0000-000000000000",
        "name": "调度库",
        "type": 4,
        "businessType": 2,
        "readonly": 0,
        "bindTemplate": 0,
        "bindType": 1,
        "bindBusinessType": 2,
        "enableMultiTemplate": 0,
        "description": "内涝调度方案库"
    }
]'

返回响应

🟢200成功
text/plain
Success
Body
array of:
id
string <uuid>
必需
方案库的ID,唯一性标识
tenantId
string  | null 
租户ID
可选
>= 0 字符<= 100 字符
scenariogroup
string <uuid>
必需
方案库所关联的方案组ID
name
string 
方案库的名称
必需
>= 0 字符<= 100 字符
type
integer <int32>
可选
方案库的类型,枚举参考LibraryTypeEnum,目前已存在0-19种定义,包括0:未定义;1:自动预报库;2:人工预报库;3:预报库;4:调度库;5:经验库;6:情景模拟库;7:突发水污染事故库;8:在线水动力库(供水);9:水锤库(供水);10:管道充满度库;11:爆管库(供水);12:污染事故响应库;13:规划库;14:管道冲洗库(供水);15:污染事故库(供水);16:关阀库(供水);17:在线滚动预报库(污水厂);18:在线滚动优化库(污水厂);19:模拟实验室库(污水厂)
businessType
integer <int32>
可选
方案库的业务类型,枚举参考BusinessTypeEnum,目前已存在0-6种定义,包括0:未定义;1:水环境;2:内涝;3:供水;4:流域洪水;5:污水厂;6:排水
readonly
integer <int32>
可选
是否只读,0代表可读写,1代表只读
bindTemplate
integer <int32>
可选
是否直接绑定模板方案,1表示该方案库直接绑定一个模板方案,0表示不直接绑定,而是采用BindType和BindBusinessType所对应的那个方案库下的模板方案,属于间接绑定
bindType
integer <int32>
可选
当BindTemplate为0,此项表示该方案库采用的模板方案所对应的方案库的类型,枚举参考LibraryTypeEnum
bindBusinessType
integer <int32>
可选
当BindTemplate为0,此项表示该方案库采用的模板方案所对应的方案库的业务类型,枚举参考BusinessTypeEnum
enableMultiTemplate
integer <int32> | null 
可选
是否支持绑定多个启用的模板方案,0表示只能绑定单个启用的模板方案,1表示可以绑定多个启用的模板方案
description
string  | null 
方案库的描述信息
可选
>= 0 字符<= 1000 字符
示例
{
    "data": [
        {
            "id": "56a81760-a573-4191-aabd-440faeb85496",
            "tenantId": "3a1654c5-4f41-00be-3508-362dee00b666",
            "scenariogroup": "5b39c2f3-b01c-409e-8a16-8292b57f28a6",
            "name": "调度库",
            "type": 4,
            "businessType": 2,
            "readonly": 0,
            "bindTemplate": 0,
            "bindType": 1,
            "bindBusinessType": 2,
            "enableMultiTemplate": 0,
            "description": "内涝调度方案库"
        }
    ],
    "status": true,
    "code": "000000",
    "message": null,
    "traceId": null
}
下一页
删除方案库下过期的方案
Built with