feat(iit): Implement real-time quality control system
Summary: - Add 4 new database tables: iit_field_metadata, iit_qc_logs, iit_record_summary, iit_qc_project_stats - Implement pg-boss debounce mechanism in WebhookController - Refactor QC Worker for dual output: QC logs + record summary - Enhance HardRuleEngine to support form-based rule filtering - Create QcService for QC data queries - Optimize ChatService with new intents: query_enrollment, query_qc_status - Add admin batch operations: one-click full QC + one-click full summary - Create IIT Admin management module: project config, QC rules, user mapping Status: Code complete, pending end-to-end testing Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
32
backend/src/modules/admin/iit-projects/iitQcRuleRoutes.ts
Normal file
32
backend/src/modules/admin/iit-projects/iitQcRuleRoutes.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
/**
|
||||
* IIT 质控规则管理路由
|
||||
*/
|
||||
|
||||
import { FastifyInstance } from 'fastify';
|
||||
import * as controller from './iitQcRuleController.js';
|
||||
|
||||
export async function iitQcRuleRoutes(fastify: FastifyInstance) {
|
||||
// 获取项目的所有质控规则
|
||||
fastify.get('/:projectId/rules', controller.listRules);
|
||||
|
||||
// 获取规则统计
|
||||
fastify.get('/:projectId/rules/stats', controller.getRuleStats);
|
||||
|
||||
// 获取单条规则
|
||||
fastify.get('/:projectId/rules/:ruleId', controller.getRule);
|
||||
|
||||
// 添加规则
|
||||
fastify.post('/:projectId/rules', controller.addRule);
|
||||
|
||||
// 更新规则
|
||||
fastify.put('/:projectId/rules/:ruleId', controller.updateRule);
|
||||
|
||||
// 删除规则
|
||||
fastify.delete('/:projectId/rules/:ruleId', controller.deleteRule);
|
||||
|
||||
// 批量导入规则
|
||||
fastify.post('/:projectId/rules/import', controller.importRules);
|
||||
|
||||
// 测试规则逻辑(不需要项目 ID)
|
||||
fastify.post('/rules/test', controller.testRule);
|
||||
}
|
||||
Reference in New Issue
Block a user