20260923165454

This commit is contained in:
oneao committed 2026-09-23 16:54:54 +08:00
1 parent 0abe3706c8
commit e6935b8fa4
173 files changed
+14975 -2295

No files matched your search

+311
View File
@@ -0,0 +1,311 @@
/* ============================================================================
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