Files
workspace/code/fms/sql/fms_module_query_v2.sql
T
2026-09-23 16:54:54 +08:00

312 lines
14 KiB
Transact-SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* ============================================================================
fms_module_query_v2.sql —— 查询配置结构升级(schemaVersion 1 → 2)
背景:查询体验重构后,query JSON 从
{ schemaVersion: 1, groups: [...], quick: [...] }
升级为
{ schemaVersion: 2, defaultViewCode, views, keywordSearch, quickFilters,
filterGroups, queryFields }
(工作队列页签 + 关键词搜索 + 快捷筛选 + 更多筛选分组 + 字段级查询元数据)。
本脚本对线上**已存在**的 query 配置行做幂等 UPDATE;重建库时由各
fms_module_*.sql 种子脚本直接写入新结构,无需执行本文件。
执行方式见 fms-api/tools/migration/README.md(RunSqlFile,先 --dry-run)。
日期预设语义值 { "preset": ... } 由前端 resolveDatePreset() 解析为具体区间,
取值:today / this_week / this_month / recent_3_months。
============================================================================ */
update dbo.s_module_schema
set b_schema_json = N'{
"schemaVersion": 2,
"defaultViewCode": "all",
"views": [
{ "code": "all", "label": "全部", "order": 10 },
{ "code": "enabled", "label": "启用", "order": 20, "showCount": true,
"conditions": [ { "field": "b_canuse", "operator": "eq", "value": 1 } ] },
{ "code": "disabled", "label": "停用", "order": 30, "showCount": true,
"conditions": [ { "field": "b_canuse", "operator": "eq", "value": 0 } ] },
{ "code": "recent", "label": "近三个月变更", "order": 40,
"conditions": [ { "field": "b_updated_at", "operator": "between", "value": { "preset": "recent_3_months" } } ] }
],
"keywordSearch": {
"placeholder": "搜索账号、姓名",
"trigger": "enter_or_debounce",
"fields": ["b_id", "b_name"]
},
"quickFilters": [
{ "field": "b_updated_at", "order": 10 },
{ "field": "b_canuse", "order": 20 }
],
"filterGroups": [
{ "code": "basic", "label": "基础信息", "order": 10, "fields": ["b_id", "b_name", "b_dept_id"] }
],
"queryFields": {
"b_id": { "component": "input", "operator": "like" },
"b_name": { "component": "input", "operator": "like" },
"b_dept_id": { "component": "select", "operator": "eq" },
"b_canuse": { "component": "checkbox", "operator": "eq" },
"b_updated_at": { "component": "datetime", "operator": "between" }
}
}'
where b_module_id = 'v_b_user' and b_schema_type = 'query';
GO
update dbo.s_module_schema
set b_schema_json = N'{
"schemaVersion": 2,
"defaultViewCode": "all",
"views": [
{ "code": "all", "label": "全部", "order": 10 },
{ "code": "today", "label": "今天", "order": 20, "showCount": true,
"conditions": [ { "field": "b_occurdatetime", "operator": "between", "value": { "preset": "today" } } ] },
{ "code": "this_week", "label": "本周", "order": 30,
"conditions": [ { "field": "b_occurdatetime", "operator": "between", "value": { "preset": "this_week" } } ] },
{ "code": "failed", "label": "登录失败", "order": 40, "showCount": true,
"conditions": [ { "field": "v_login_result", "operator": "eq", "value": "失败" } ] }
],
"keywordSearch": {
"placeholder": "搜索账号、IP、归属地",
"trigger": "enter_or_debounce",
"fields": ["v_user_name", "b_ip", "b_ip_location"]
},
"quickFilters": [
{ "field": "b_occurdatetime", "order": 10 },
{ "field": "v_login_result", "order": 20 }
],
"filterGroups": [
{ "code": "basic", "label": "基础信息", "order": 10, "fields": ["v_user_name", "b_ip", "b_ip_location"] },
{ "code": "device", "label": "终端环境", "order": 20, "fields": ["b_browser", "b_os", "b_device_type", "b_login_type"] }
],
"queryFields": {
"b_occurdatetime": { "component": "datetime", "operator": "between" },
"v_user_name": { "component": "input", "operator": "like" },
"v_login_result": { "component": "select", "operator": "eq", "options": [{ "label": "成功", "value": "成功" }, { "label": "失败", "value": "失败" }] },
"b_login_type": { "component": "input", "operator": "like" },
"b_ip": { "component": "input", "operator": "like" },
"b_ip_location": { "component": "input", "operator": "like" },
"b_browser": { "component": "input", "operator": "like" },
"b_os": { "component": "input", "operator": "like" },
"b_device_type": { "component": "input", "operator": "like" }
}
}'
where b_module_id = 'v_s_log_login' and b_schema_type = 'query';
GO
update dbo.s_module_schema
set b_schema_json = N'{
"schemaVersion": 2,
"defaultViewCode": "all",
"views": [
{ "code": "all", "label": "全部", "order": 10 },
{ "code": "today", "label": "今天", "order": 20, "showCount": true,
"conditions": [ { "field": "b_occurdatetime", "operator": "between", "value": { "preset": "today" } } ] },
{ "code": "this_week", "label": "本周", "order": 30,
"conditions": [ { "field": "b_occurdatetime", "operator": "between", "value": { "preset": "this_week" } } ] },
{ "code": "this_month", "label": "本月", "order": 40,
"conditions": [ { "field": "b_occurdatetime", "operator": "between", "value": { "preset": "this_month" } } ] }
],
"keywordSearch": {
"placeholder": "搜索操作人、模块、业务单号",
"trigger": "enter_or_debounce",
"fields": ["b_operator_name", "b_module_id", "b_business_no"]
},
"quickFilters": [
{ "field": "b_occurdatetime", "order": 10 },
{ "field": "b_operation", "order": 20 }
],
"filterGroups": [
{ "code": "basic", "label": "基础信息", "order": 10, "fields": ["b_operator_name", "b_module_id", "b_operation", "b_business_no"] },
{ "code": "trace", "label": "追踪", "order": 20, "fields": ["b_event_code", "b_trace_id", "b_data_id"] }
],
"queryFields": {
"b_occurdatetime": { "component": "datetime", "operator": "between" },
"b_operator_name": { "component": "input", "operator": "like" },
"b_module_id": { "component": "input", "operator": "like" },
"b_operation": { "component": "input", "operator": "like" },
"b_business_no": { "component": "input", "operator": "like" },
"b_event_code": { "component": "input", "operator": "like" },
"b_trace_id": { "component": "input", "operator": "like" },
"b_data_id": { "component": "input", "operator": "like" }
}
}'
where b_module_id = 'v_s_log_audit' and b_schema_type = 'query';
GO
update dbo.s_module_schema
set b_schema_json = N'{
"schemaVersion": 2,
"defaultViewCode": "all",
"views": [
{ "code": "all", "label": "全部", "order": 10 },
{ "code": "today", "label": "今天", "order": 20,
"conditions": [ { "field": "b_occurdatetime", "operator": "between", "value": { "preset": "today" } } ] },
{ "code": "error", "label": "有错误", "order": 30, "showCount": true,
"conditions": [ { "field": "b_error_code", "operator": "is_not_null" } ] }
],
"keywordSearch": {
"placeholder": "搜索分类、错误码、追踪号",
"trigger": "enter_or_debounce",
"fields": ["b_logcategory", "b_error_code", "b_trace_id"]
},
"quickFilters": [
{ "field": "b_occurdatetime", "order": 10 },
{ "field": "b_loglevel", "order": 20 }
],
"filterGroups": [
{ "code": "basic", "label": "基础信息", "order": 10, "fields": ["b_logcategory", "b_operation", "b_module_id", "v_user_name"] },
{ "code": "error", "label": "错误排查", "order": 20, "fields": ["b_error_code", "b_error_message", "b_trace_id"] }
],
"queryFields": {
"b_occurdatetime": { "component": "datetime", "operator": "between" },
"b_loglevel": { "component": "input", "operator": "eq" },
"b_logcategory": { "component": "input", "operator": "like" },
"b_operation": { "component": "input", "operator": "like" },
"b_module_id": { "component": "input", "operator": "like" },
"v_user_name": { "component": "input", "operator": "like" },
"b_error_code": { "component": "input", "operator": "like" },
"b_error_message": { "component": "input", "operator": "like" },
"b_trace_id": { "component": "input", "operator": "like" }
}
}'
where b_module_id = 'v_s_log_technical' and b_schema_type = 'query';
GO
update dbo.s_module_schema
set b_schema_json = N'{
"schemaVersion": 2,
"defaultViewCode": "all",
"views": [
{ "code": "all", "label": "全部", "order": 10 },
{ "code": "recent_published", "label": "近三个月发布", "order": 20,
"conditions": [ { "field": "v_published_at", "operator": "between", "value": { "preset": "recent_3_months" } } ] },
{ "code": "unpublished", "label": "未发布", "order": 30,
"conditions": [ { "field": "v_published_at", "operator": "is_null" } ] }
],
"keywordSearch": {
"placeholder": "搜索流程名称、编码",
"trigger": "enter_or_debounce",
"fields": ["b_name", "b_id"]
},
"quickFilters": [
{ "field": "v_published_at", "order": 10 },
{ "field": "v_canuse_name", "order": 20 }
],
"filterGroups": [
{ "code": "basic", "label": "基础信息", "order": 10, "fields": ["b_name", "b_id", "v_canuse_name"] },
{ "code": "time", "label": "发布时间", "order": 20, "fields": ["v_published_at", "v_published_by"] }
],
"queryFields": {
"b_name": { "component": "input", "operator": "like" },
"b_id": { "component": "input", "operator": "like" },
"v_canuse_name": { "component": "select", "operator": "eq" },
"v_published_at": { "component": "datetime", "operator": "between" },
"v_published_by": { "component": "input", "operator": "like" }
}
}'
where b_module_id = 'v_wf_definition' and b_schema_type = 'query';
GO
update dbo.s_module_schema
set b_schema_json = N'{
"schemaVersion": 2,
"defaultViewCode": "all",
"views": [
{ "code": "all", "label": "全部", "order": 10 },
{ "code": "unpublished", "label": "未发布", "order": 20,
"conditions": [ { "field": "b_published_at", "operator": "is_null" } ] }
],
"keywordSearch": {
"placeholder": "搜索流程名称、定义编码",
"trigger": "enter_or_debounce",
"fields": ["v_definition_name", "b_definition_id"]
},
"quickFilters": [
{ "field": "b_published_at", "order": 10 },
{ "field": "v_status_name", "order": 20 }
],
"filterGroups": [
{ "code": "basic", "label": "基础信息", "order": 10, "fields": ["v_definition_name", "b_definition_id", "v_status_name", "v_node_count"] },
{ "code": "time", "label": "发布时间", "order": 20, "fields": ["b_published_at", "b_published_by"] }
],
"queryFields": {
"b_definition_id": { "component": "input", "operator": "eq" },
"v_definition_name": { "component": "input", "operator": "like" },
"v_status_name": { "component": "select", "operator": "eq" },
"b_published_at": { "component": "datetime", "operator": "between" },
"b_published_by": { "component": "input", "operator": "like" }
}
}'
where b_module_id = 'v_wf_version' and b_schema_type = 'query';
GO
update dbo.s_module_schema
set b_schema_json = N'{
"schemaVersion": 2,
"defaultViewCode": "all",
"views": [
{ "code": "all", "label": "全部", "order": 10 }
],
"keywordSearch": {
"placeholder": "搜索模块、流程版本",
"trigger": "enter_or_debounce",
"fields": ["v_module_name", "v_version_name", "b_module_id"]
},
"quickFilters": [
{ "field": "v_event_name", "order": 10 },
{ "field": "v_canuse_name", "order": 20 }
],
"filterGroups": [
{ "code": "basic", "label": "基础信息", "order": 10, "fields": ["b_module_id", "v_module_name", "v_event_name", "v_version_name"] },
{ "code": "state", "label": "状态", "order": 20, "fields": ["v_canuse_name", "b_priority", "b_effective_from", "b_effective_to"] }
],
"queryFields": {
"b_module_id": { "component": "input", "operator": "eq" },
"v_module_name": { "component": "input", "operator": "like" },
"v_event_name": { "component": "select", "operator": "eq" },
"v_version_name": { "component": "input", "operator": "like" },
"v_canuse_name": { "component": "select", "operator": "eq" },
"b_priority": { "component": "number", "operator": "eq" },
"b_effective_from": { "component": "datetime", "operator": "between" },
"b_effective_to": { "component": "datetime", "operator": "between" }
}
}'
where b_module_id = 'v_wf_binding' and b_schema_type = 'query';
GO
update dbo.s_module_schema
set b_schema_json = N'{
"schemaVersion": 2,
"defaultViewCode": "all",
"views": [
{ "code": "all", "label": "全部", "order": 10 },
{ "code": "running", "label": "进行中", "order": 20, "showCount": true,
"conditions": [ { "field": "b_completed_at", "operator": "is_null" } ] },
{ "code": "today", "label": "今天发起", "order": 30,
"conditions": [ { "field": "b_started_at", "operator": "between", "value": { "preset": "today" } } ] }
],
"keywordSearch": {
"placeholder": "搜索业务单号、发起人",
"trigger": "enter_or_debounce",
"fields": ["b_business_no", "v_initiator_name", "b_module_id"]
},
"quickFilters": [
{ "field": "b_started_at", "order": 10 },
{ "field": "v_status_name", "order": 20 }
],
"filterGroups": [
{ "code": "basic", "label": "基础信息", "order": 10, "fields": ["b_business_no", "b_module_id", "b_definition_id", "v_initiator_name"] },
{ "code": "state", "label": "状态与耗时", "order": 20, "fields": ["v_status_name", "v_pending_task_count", "v_duration_minutes"] },
{ "code": "time", "label": "时间", "order": 30, "fields": ["b_started_at", "b_completed_at"] }
],
"queryFields": {
"b_business_no": { "component": "input", "operator": "like" },
"v_initiator_name": { "component": "input", "operator": "like" },
"v_status_name": { "component": "select", "operator": "eq" },
"b_started_at": { "component": "datetime", "operator": "between" },
"b_completed_at": { "component": "datetime", "operator": "between" }
}
}'
where b_module_id = 'v_wf_instance' and b_schema_type = 'query';
GO