方案管理服务
  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

根据子类型来查询和筛选方案列表

GET
/api/v2/scenario-manager/scenario/subtype
ScenarioManager
关键词:
方案、子类型
使用场景:
此接口用于根据子类型来查询方案列表,只要是子类型,也即ModelSubType字段满足条件的方案都会被返回。这种查询方式在目前项目中的使用需求较少,一般基于方案库的方案列表查询即可满足需求,参考接口/api/v1/scenario-manager/library/scenariolist。
相关背景:
方案的分类有多种模式,第一种是基于方案库进行分类,比如预报库、调度库等;第二种是基于方案组进行分类,比如预报方案组、调度方案组等;第三种是基于模型类型,也即ModelType字段进行分类,比如MIKE11模型、MIKE+模型等;第四种是利用子类型,也即ModelSubType字段进行分类,比如ManualSchedule(人工调度)、OptimizeSchedule(优化调度)等,所有这些分类方式都是为了服务于方案的管理。目前一般项目上只需要采用基于方案库的分类模式就可以满足使用需求。

请求参数

Authorization
在 Header 添加参数
Authorization
,其值为在 Bearer 之后拼接 Token
示例:
Authorization: Bearer ********************
Path 参数
version
string 
必需
Query 参数
subType
string 
可选
方案子类型,枚举参考enumSubType,目前已存在的定义包括ManualSchedule、EconomicSchedule、OptimizeSchedule、UnprocessedWater、DataAssimilation、EmerResponse、Forecast、EmerMnt、Scenario、Incident、ParaOptimi、SourceAnalysis、WQEvaluation、SpatialTime、Planning、OilSpill、Year、Month、TenDays、PumpShutdown、PipeBurst、Unknown,除此之外,也可以是完全自定义的
示例值:
Scenario

示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request GET 'http://10.174.150.25:32001/api/v2/scenario-manager/scenario/subtype?subType=Scenario'

返回响应

🟢200成功
text/plain
Success
Body
array of:
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": "4cff6ea5-2fab-4f0a-8ad3-2d2945c32eef",
            "scenarioCode": "scenariosimulation1800546",
            "scenarioName": "scenariosimulation1",
            "modelType": "MIKEPlusFloodModel",
            "modelSubType": "Scenario",
            "template": 0,
            "inheritedScenario": "35c2abfa-705c-4db3-8e92-4138f202bb67",
            "readOnly": 0,
            "enabled": 1,
            "relativeFolder": "scenariosimulation1800546",
            "projectFile": "Model_BYJC_YS.mupp",
            "currentTime": "2024-12-01T00:00:00",
            "startTime": "2024-12-01T00:00:00",
            "endTime": "2024-12-02T00:00:00",
            "createTime": "2024-12-05T15:24:04.5578",
            "autoCalculate": 0,
            "modified": 0,
            "checked": 0,
            "calculated": 0,
            "published": 0,
            "onlineFirst": 1,
            "autoAmend": 1,
            "state": null,
            "description": "scenariosimulationtest",
            "version": "fa43d45f-0b90-4e7e-be88-b9b751a5fef5",
            "tenantId": "3a1654c5-4f41-00be-3508-362dee00b7a6",
            "minIOPath": "modelconfiguration/modeltemplatefiles/scenariosimulation1800546.zip",
            "minIOBucket": "MIKEPlusFloodModel",
            "creatorName": "",
            "attributes": null,
            "name": "scenariosimulation1800546"
        },
        {
            "id": "73e849c9-4325-4026-98b6-6ec132414e8d",
            "scenarioCode": "scenariosimulation1864860",
            "scenarioName": "scenariosimulation1",
            "modelType": "MIKEPlusFloodModel",
            "modelSubType": "Scenario",
            "template": 0,
            "inheritedScenario": "35c2abfa-705c-4db3-8e92-4138f202bb67",
            "readOnly": 0,
            "enabled": 1,
            "relativeFolder": "scenariosimulation1864860",
            "projectFile": "Model_BYJC_YS.mupp",
            "currentTime": "2024-12-01T00:00:00",
            "startTime": "2024-12-01T00:00:00",
            "endTime": "2024-12-02T00:00:00",
            "createTime": "2024-12-05T15:26:44.7008",
            "autoCalculate": 0,
            "modified": 0,
            "checked": 0,
            "calculated": 0,
            "published": 0,
            "onlineFirst": 1,
            "autoAmend": 1,
            "state": null,
            "description": "scenariosimulationtest",
            "version": "61eaa911-13a5-475a-9cf5-da5fcb55e248",
            "tenantId": "3a1654c5-4f41-00be-3508-362dee00b7a6",
            "minIOPath": "modelconfiguration/modeltemplatefiles/scenariosimulation1864860.zip",
            "minIOBucket": "MIKEPlusFloodModel",
            "creatorName": "",
            "attributes": null,
            "name": "scenariosimulation1864860"
        }
    ],
    "status": true,
    "code": "000000",
    "message": null,
    "traceId": null
}
上一页
获取所有的模板方案列表
下一页
根据父方案ID获取其下子方案的列表
Built with