/* ============================================================================ 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