312 lines
14 KiB
Transact-SQL
312 lines
14 KiB
Transact-SQL
/* ============================================================================
|
||
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
|