Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
M
model_analysis
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
David Yang
model_analysis
Commits
a2314f0c
Commit
a2314f0c
authored
Sep 14, 2026
by
drigle
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
docs: sync model monitor subject definitions
parent
87f2ef5a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
148 additions
and
113 deletions
+148
-113
subjectsDefinition.md
src/services/subjectsDefinition.md
+148
-113
No files found.
src/services/subjectsDefinition.md
View file @
a2314f0c
...
@@ -36,118 +36,7 @@ type Record = {
...
@@ -36,118 +36,7 @@ type Record = {
-
多值字段保存数组。
-
多值字段保存数组。
-
Select 选项必须来自 Subject 字段的
`settings.options`
。
-
Select 选项必须来自 Subject 字段的
`settings.options`
。
## 2. 固定 Subject
## 动态模型数据 Subject
### 2.1 `model_monitor_group`
| 标签 | 别名 | 类型 | 多值 | 必填 | 说明 |
| --- | --- | --- | --- | --- | --- |
| 分组名称 |
`group_name`
| text | 否 | 是 | 模型分组显示名称 |
| 父分组 ID |
`parent_group_id`
| text | 否 | 否 | 空值表示一级分组 |
| 创建人 ID |
`created_by_user_id`
| text | 否 | 否 | 仅保存用户 ID |
| 创建人名称 |
`created_by_user_name`
| text | 否 | 否 | 冗余展示字段 |
### 2.2 `model_monitor_model`
| 标签 | 别名 | 类型 | 多值 | 必填 | 说明 |
| --- | --- | --- | --- | --- | --- |
| 来源模型 ID |
`source_model_id`
| text | 否 | 是 |
`ANALYZE_MXVIEW_INFO.ID`
,与
`model_code`
组成同步唯一键 |
| 模型编码 |
`model_code`
| text | 否 | 是 |
`MODEL_NAME`
,与来源模型 ID 组成同步唯一键 |
| 模型名称 |
`model_name`
| text | 否 | 是 | 外部模型显示名称,本地不可编辑 |
| 来源模型数据更新时间 |
`source_model_updated_at`
| date | 否 | 否 |
`MODEL_DATA_UPDATE_TIME`
转 ISO 8601 |
| 模型状态 |
`model_state`
| text | 否 | 否 |
`MODEL_STATE`
|
| 模型应用状态 |
`model_apply_state`
| text | 否 | 否 |
`MODEL_APPLY_STATE`
|
| 模型风险等级 |
`model_risk_level`
| text | 否 | 否 |
`MODEL_RISK_LEVEL`
|
| 模型业务类型 |
`model_business_type`
| text | 否 | 否 |
`MODEL_BUSINESS_TYPE`
|
| 模型业务类型名称 |
`model_business_type_name`
| text | 否 | 否 |
`MODEL_BUSINESS_TYPE_NAME`
|
| 模型说明 |
`description`
| long_text | 否 | 否 | 本地归档说明 |
| 所属分组 ID |
`group_id`
| text | 否 | 否 | 关联模型分组 ID |
| 所属分组名称 |
`group_name`
| text | 否 | 否 | 冗余展示字段 |
| 模型标签 |
`tags`
| text | 是 | 否 | 本地检索标签 |
| 数据对象 |
`data_subject_name`
| text | 否 | 是 | 自动创建的动态 Subject 名称 |
| 最近同步状态 |
`last_sync_status`
| select | 否 | 否 |
`syncing/success/partial/failed`
|
| 最近同步时间 |
`last_synced_at`
| date | 否 | 否 | ISO 8601 |
| 创建人 ID |
`created_by_user_id`
| text | 否 | 否 | 首次同步用户 ID |
| 创建人名称 |
`created_by_user_name`
| text | 否 | 否 | 首次同步用户名称 |
### 2.3 `model_monitor_batch`
| 标签 | 别名 | 类型 | 多值 | 必填 | 说明 |
| --- | --- | --- | --- | --- | --- |
| 模型 ID |
`model_id`
| text | 否 | 是 | 仅保存模型 Record ID |
| 模型编码 |
`model_code`
| text | 否 | 是 | 冗余展示字段 |
| 模型名称 |
`model_name`
| text | 否 | 是 | 冗余展示字段 |
| 批次编码 |
`batch_code`
| text | 否 | 是 | 直接保存
`MODEL_RUN_BATCH_ID`
,来源批次唯一键 |
| 批次名称 |
`batch_name`
| text | 否 | 是 | 外部批次显示名称 |
| 来源跑批时间 |
`source_batch_date`
| date | 否 | 否 |
`MODEL_RUN_BATCH_DATE`
转 ISO 8601 |
| 来源数据表 |
`source_data_table_name`
| text | 否 | 是 |
`MODEL_DATA_TABLE_NAME`
,只允许白名单标识符 |
| 来源备注 |
`source_remark`
| long_text | 否 | 否 |
`REMARK`
|
| 来源未检查数量 |
`source_unchecked_count`
| number | 否 | 否 |
`UNCHECKED_CNT`
|
| 来源未提交数量 |
`source_unsubmitted_count`
| number | 否 | 否 |
`UNSUBMITTED_CNT`
|
| 来源已复核数量 |
`source_reviewed_count`
| number | 否 | 否 |
`REVIEWED_CNT`
|
| 数据对象 |
`data_subject_name`
| text | 否 | 是 | 当前模型动态 Subject |
| 字段快照 |
`column_schema`
| object | 是 | 否 | 当前批次最近同步的
`{name,label,type}`
列表 |
| 隐藏记录 ID |
`hidden_record_ids`
| text | 是 | 否 | 批次级手动隐藏的稳定 Record name |
| 同步状态 |
`sync_status`
| select | 否 | 是 |
`syncing/success/partial/failed`
|
| 源数据数量 |
`source_row_count`
| number | 否 | 否 |
`MODEL_DATA_CNT`
与实际读取数量校验后的行数 |
| 本地数据数量 |
`total_record_count`
| number | 否 | 否 | 本次导入后保存成功的总数 |
| 新增数量 |
`inserted_count`
| number | 否 | 否 | 本次同步新增数 |
| 更新数量 |
`updated_count`
| number | 否 | 否 | 兼容字段,一次性同步固定为 0 |
| 失败数量 |
`failed_count`
| number | 否 | 否 | 最近同步失败数 |
| 同步开始时间 |
`sync_started_at`
| date | 否 | 否 | 用于前端防重和超时判断 |
| 同步完成时间 |
`synced_at`
| date | 否 | 否 | ISO 8601 |
| 同步人 ID |
`synced_by_id`
| text | 否 | 否 | 最近同步用户 ID |
| 同步人名称 |
`synced_by_name`
| text | 否 | 否 | 最近同步用户名称 |
| 错误摘要 |
`error_message`
| long_text | 否 | 否 | 失败或部分成功原因 |
### 2.4 `model_monitor_forward_record`
| 标签 | 别名 | 类型 | 多值 | 必填 |
| --- | --- | --- | --- | --- |
| 模型 ID |
`model_id`
| text | 否 | 是 |
| 模型名称 |
`model_name`
| text | 否 | 否 |
| 批次 ID |
`batch_id`
| text | 否 | 是 |
| 批次编码 |
`batch_code`
| text | 否 | 否 |
| 批次名称 |
`batch_name`
| text | 否 | 否 |
| 数据对象 |
`data_subject_name`
| text | 否 | 是 |
| 下发记录 ID |
`selected_record_ids`
| text | 是 | 是 |
| 接收人 ID |
`recipient_ids`
| text | 是 | 否 |
| 接收人名称 |
`recipient_names`
| text | 是 | 否 |
| 不下发记录 ID |
`excluded_record_ids`
| text | 是 | 否 |
| 转发说明 |
`note`
| long_text | 否 | 是 |
| 填写状态 |
`editor_status`
| select | 否 | 是 |
| 完成人 ID/名称 |
`completed_by_id`
/
`completed_by_name`
| text | 否 | 否 |
| 完成时间 |
`completed_at`
| date | 否 | 否 |
| 一级审批状态 |
`approval_status`
| select | 否 | 是 |
| 终审状态 |
`final_approval_status`
| select | 否 | 是 |
| 一级审批人 ID/名称 |
`first_approver`
/
`first_approver_name`
| text | 否 | 是/否 |
| 终审人 ID/名称 |
`final_approver`
/
`final_approver_name`
| text | 否 | 是/否 |
| 发起人 ID/名称 |
`initiator_id`
/
`initiator_name`
| text | 否 | 否 |
状态选项由字段
`settings.options`
提供:填写状态为
`editing/completed`
,审批状态为
`pending/approved/rejected`
。任一审批环节驳回后将
`editor_status`
重置为
`editing`
;接收人重新完成填写时,两级审批状态均重置为
`pending`
。
### 2.5 `model_monitor_forward_item`
| 标签 | 别名 | 类型 | 多值 | 必填 |
| --- | --- | --- | --- | --- |
| 转发批次 ID |
`forward_record_id`
| text | 否 | 是 |
| 转发批次名称 |
`forward_record_title`
| text | 否 | 否 |
| 模型 ID/名称 |
`model_id`
/
`model_name`
| text | 否 | 是/否 |
| 批次 ID/名称 |
`batch_id`
/
`batch_name`
| text | 否 | 是/否 |
| 数据对象 |
`data_subject_name`
| text | 否 | 是 |
| 源记录 ID/标题 |
`source_record_id`
/
`source_record_title`
| text | 否 | 是/否 |
| 是否属实 |
`truth_status`
| select | 否 | 否 |
| 整改方案 |
`rectification_plan`
| long_text | 否 | 否 |
| 预计整改完成时间 |
`expected_rectification_completed_at`
| date | 否 | 否 |
| 填写人 ID/名称 |
`filled_by_id`
/
`filled_by_name`
| text | 否 | 否 |
| 填写时间 |
`filled_at`
| date | 否 | 否 |
| 备注 |
`remark`
| long_text | 否 | 否 |
`truth_status`
选项必须来自
`settings.options`
,当前值为
`truthful/untruthful`
。
上述三个回填字段在 Subject 层保持可选,以允许转发发起时先创建空白明细并分次保存。未填写时不向
`metadata`
写入这三个字段,不使用空字符串占位;前端界面仍标记为必填,并在“完成填写”时校验三项均已填写。
## 3. 动态模型数据 Subject
每个模型首次同步时按
`ANALYZE_MXVIEW_INFO.MODEL_NAME + ID`
自动创建稳定的
`model_monitor_data_<stable_id>`
普通动态数据 Subject,后续批次继续使用同一 Subject。
每个模型首次同步时按
`ANALYZE_MXVIEW_INFO.MODEL_NAME + ID`
自动创建稳定的
`model_monitor_data_<stable_id>`
普通动态数据 Subject,后续批次继续使用同一 Subject。
...
@@ -167,7 +56,7 @@ type Record = {
...
@@ -167,7 +56,7 @@ type Record = {
结果行不配置业务主键。数据 Record
`name`
由
`MODEL_RUN_BATCH_ID + source_row_number`
生成稳定哈希,只执行一次性新增,不查询或更新已有结果行。
结果行不配置业务主键。数据 Record
`name`
由
`MODEL_RUN_BATCH_ID + source_row_number`
生成稳定哈希,只执行一次性新增,不查询或更新已有结果行。
##
4.
当前约束
## 当前约束
-
模型和批次不提供删除。
-
模型和批次不提供删除。
-
模型仅由同步自动创建,来源模型 ID、模型编码和名称不可本地修改。
-
模型仅由同步自动创建,来源模型 ID、模型编码和名称不可本地修改。
...
@@ -175,3 +64,149 @@ type Record = {
...
@@ -175,3 +64,149 @@ type Record = {
-
固定 Subject 在开发阶段由前端检查并创建为普通对象;正式环境应由部署流程预建。
-
固定 Subject 在开发阶段由前端检查并创建为普通对象;正式环境应由部署流程预建。
-
已存在的 Subject 自动补充新字段时先按可选字段添加,以兼容历史 Record;新同步数据仍由 service 层执行必填校验。
-
已存在的 Subject 自动补充新字段时先按可选字段添加,以兼容历史 Record;新同步数据仍由 service 层执行必填校验。
-
Subject/Record 写入失败必须明确报错,不得回退 localStorage。
-
Subject/Record 写入失败必须明确报错,不得回退 localStorage。
## 2. Subject Definitions
<!-- SUBJECT_SCHEMA_SYNC:START -->
> 同步根对象:`model_monitor_group`、`model_monitor_model`、`model_monitor_batch`、`model_monitor_forward_record`、`model_monitor_forward_item`
> 当前依赖闭包:5 个 Subject。
### `model_monitor_group`:模型分组
-
类型:
`normal`
-
字段数量:4
-
说明:模型分组自动配置
| 字段标签 | 字段别名 | 字段类型 | 多值 | 必填 | 主键 | 关联/配置 |
| --- | --- | --- | --- | --- | --- | --- |
| 分组名称 |
`group_name`
| text | 否 | 是 | 否 | |
| 父分组 ID |
`parent_group_id`
| text | 否 | 否 | 否 | |
| 创建人 ID |
`created_by_user_id`
| text | 否 | 否 | 否 | |
| 创建人名称 |
`created_by_user_name`
| text | 否 | 否 | 否 | |
### `model_monitor_model`:模型主档
-
类型:
`normal`
-
字段数量:19
-
说明:模型主档自动配置
| 字段标签 | 字段别名 | 字段类型 | 多值 | 必填 | 主键 | 关联/配置 |
| --- | --- | --- | --- | --- | --- | --- |
| 模型编码 |
`model_code`
| text | 否 | 是 | 否 | |
| 模型名称 |
`model_name`
| text | 否 | 是 | 否 | |
| 模型说明 |
`description`
| long_text | 否 | 否 | 否 | |
| 所属分组 ID |
`group_id`
| text | 否 | 否 | 否 | |
| 所属分组名称 |
`group_name`
| text | 否 | 否 | 否 | |
| 模型标签 |
`tags`
| text | 是 | 否 | 否 | |
| 数据对象 |
`data_subject_name`
| text | 否 | 是 | 否 | |
| 组合主键字段 |
`primary_key_fields`
| text | 是 | 是 | 否 | |
| 最近同步状态 |
`last_sync_status`
| select | 否 | 否 | 否 | options: syncing, success, partial, failed |
| 最近同步时间 |
`last_synced_at`
| date | 否 | 否 | 否 | |
| 创建人 ID |
`created_by_user_id`
| text | 否 | 否 | 否 | |
| 创建人名称 |
`created_by_user_name`
| text | 否 | 否 | 否 | |
| 来源模型 ID |
`source_model_id`
| text | 否 | 否 | 否 | |
| 来源模型数据更新时间 |
`source_model_updated_at`
| date | 否 | 否 | 否 | |
| 模型状态 |
`model_state`
| text | 否 | 否 | 否 | |
| 模型应用状态 |
`model_apply_state`
| text | 否 | 否 | 否 | |
| 模型风险等级 |
`model_risk_level`
| text | 否 | 否 | 否 | |
| 模型业务类型 |
`model_business_type`
| text | 否 | 否 | 否 | |
| 模型业务类型名称 |
`model_business_type_name`
| text | 否 | 否 | 否 | |
### `model_monitor_batch`:模型批次
-
类型:
`normal`
-
字段数量:25
-
说明:模型批次自动配置
| 字段标签 | 字段别名 | 字段类型 | 多值 | 必填 | 主键 | 关联/配置 |
| --- | --- | --- | --- | --- | --- | --- |
| 模型 ID |
`model_id`
| text | 否 | 是 | 否 | |
| 模型编码 |
`model_code`
| text | 否 | 是 | 否 | |
| 模型名称 |
`model_name`
| text | 否 | 是 | 否 | |
| 批次编码 |
`batch_code`
| text | 否 | 是 | 否 | |
| 批次名称 |
`batch_name`
| text | 否 | 是 | 否 | |
| 数据对象 |
`data_subject_name`
| text | 否 | 是 | 否 | |
| 字段快照 |
`column_schema`
| object | 否 | 否 | 否 | |
| 隐藏记录 ID |
`hidden_record_ids`
| text | 是 | 否 | 否 | |
| 同步状态 |
`sync_status`
| select | 否 | 是 | 否 | options: syncing, success, partial, failed |
| 源数据数量 |
`source_row_count`
| number | 否 | 否 | 否 | |
| 本地数据数量 |
`total_record_count`
| number | 否 | 否 | 否 | |
| 新增数量 |
`inserted_count`
| number | 否 | 否 | 否 | |
| 更新数量 |
`updated_count`
| number | 否 | 否 | 否 | |
| 失败数量 |
`failed_count`
| number | 否 | 否 | 否 | |
| 同步开始时间 |
`sync_started_at`
| date | 否 | 否 | 否 | |
| 同步完成时间 |
`synced_at`
| date | 否 | 否 | 否 | |
| 同步人 ID |
`synced_by_id`
| text | 否 | 否 | 否 | |
| 同步人名称 |
`synced_by_name`
| text | 否 | 否 | 否 | |
| 错误摘要 |
`error_message`
| long_text | 否 | 否 | 否 | |
| 来源跑批时间 |
`source_batch_date`
| date | 否 | 否 | 否 | |
| 来源数据表 |
`source_data_table_name`
| text | 否 | 否 | 否 | |
| 来源备注 |
`source_remark`
| long_text | 否 | 否 | 否 | |
| 来源未检查数量 |
`source_unchecked_count`
| number | 否 | 否 | 否 | |
| 来源未提交数量 |
`source_unsubmitted_count`
| number | 否 | 否 | 否 | |
| 来源已复核数量 |
`source_reviewed_count`
| number | 否 | 否 | 否 | |
### `model_monitor_forward_record`:模型转发审批记录
-
类型:
`normal`
-
字段数量:23
-
说明:模型转发审批记录自动配置
| 字段标签 | 字段别名 | 字段类型 | 多值 | 必填 | 主键 | 关联/配置 |
| --- | --- | --- | --- | --- | --- | --- |
| 模型 ID |
`model_id`
| text | 否 | 是 | 否 | |
| 模型名称 |
`model_name`
| text | 否 | 否 | 否 | |
| 批次 ID |
`batch_id`
| text | 否 | 是 | 否 | |
| 批次编码 |
`batch_code`
| text | 否 | 否 | 否 | |
| 批次名称 |
`batch_name`
| text | 否 | 否 | 否 | |
| 数据对象 |
`data_subject_name`
| text | 否 | 是 | 否 | |
| 下发记录 ID |
`selected_record_ids`
| text | 是 | 是 | 否 | |
| 接收人 ID |
`recipient_ids`
| text | 是 | 否 | 否 | |
| 接收人名称 |
`recipient_names`
| text | 是 | 否 | 否 | |
| 不下发记录 ID |
`excluded_record_ids`
| text | 是 | 否 | 否 | |
| 转发说明 |
`note`
| long_text | 否 | 是 | 否 | |
| 填写状态 |
`editor_status`
| select | 否 | 是 | 否 | options: editing, completed |
| 完成人 ID |
`completed_by_id`
| text | 否 | 否 | 否 | |
| 完成人名称 |
`completed_by_name`
| text | 否 | 否 | 否 | |
| 完成时间 |
`completed_at`
| date | 否 | 否 | 否 | |
| 一级审批状态 |
`approval_status`
| select | 否 | 是 | 否 | options: pending, approved, rejected |
| 终审状态 |
`final_approval_status`
| select | 否 | 是 | 否 | options: pending, approved, rejected |
| 一级审批人 |
`first_approver`
| text | 否 | 是 | 否 | |
| 一级审批人名称 |
`first_approver_name`
| text | 否 | 否 | 否 | |
| 终审人 |
`final_approver`
| text | 否 | 是 | 否 | |
| 终审人名称 |
`final_approver_name`
| text | 否 | 否 | 否 | |
| 发起人 ID |
`initiator_id`
| text | 否 | 否 | 否 | |
| 发起人名称 |
`initiator_name`
| text | 否 | 否 | 否 | |
### `model_monitor_forward_item`:模型转发回填明细
-
类型:
`normal`
-
字段数量:16
-
说明:模型转发回填明细自动配置
| 字段标签 | 字段别名 | 字段类型 | 多值 | 必填 | 主键 | 关联/配置 |
| --- | --- | --- | --- | --- | --- | --- |
| 转发批次 ID |
`forward_record_id`
| text | 否 | 是 | 否 | |
| 转发批次名称 |
`forward_record_title`
| text | 否 | 否 | 否 | |
| 模型 ID |
`model_id`
| text | 否 | 是 | 否 | |
| 模型名称 |
`model_name`
| text | 否 | 否 | 否 | |
| 批次 ID |
`batch_id`
| text | 否 | 是 | 否 | |
| 批次名称 |
`batch_name`
| text | 否 | 否 | 否 | |
| 数据对象 |
`data_subject_name`
| text | 否 | 是 | 否 | |
| 源记录 ID |
`source_record_id`
| text | 否 | 是 | 否 | |
| 源记录标题 |
`source_record_title`
| text | 否 | 否 | 否 | |
| 是否属实 |
`truth_status`
| select | 否 | 否 | 否 | options: truthful, untruthful |
| 整改方案 |
`rectification_plan`
| long_text | 否 | 否 | 否 | |
| 预计整改完成时间 |
`expected_rectification_completed_at`
| date | 否 | 否 | 否 | |
| 填写人 ID |
`filled_by_id`
| text | 否 | 否 | 否 | |
| 填写人名称 |
`filled_by_name`
| text | 否 | 否 | 否 | |
| 填写时间 |
`filled_at`
| date | 否 | 否 | 否 | |
| 备注 |
`remark`
| long_text | 否 | 否 | 否 | |
### 关联对象与子对象定义
依赖字段通过
`settings.subject`
指向的对象会递归纳入本节;
`form`
资源不属于 Subject 依赖。
<!-- SUBJECT_SCHEMA_SYNC:END -->
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment