hotfix(dc/tool-c): Fix compute formula validation and binning NaN serialization

Critical fixes:
1. Compute column: Add Chinese comma support in formula validation
   - Problem: Formula with Chinese comma failed validation
   - Fix: Add Chinese comma character to allowed_chars regex
   - Example: Support formulas like 'col1(kg)+ col2,col3'

2. Binning operation: Fix NaN serialization error
   - Problem: 'Out of range float values are not JSON compliant: nan'
   - Fix: Enhanced NaN/inf handling in binning endpoint
   - Added np.inf/-np.inf replacement before JSON serialization
   - Added manual JSON serialization with NaN->null conversion

3. Enhanced all operation endpoints for consistency
   - Updated conditional, dropna endpoints with same NaN/inf handling
   - Ensures all operations return JSON-compliant data

Modified files:
- extraction_service/operations/compute.py: Add Chinese comma to regex
- extraction_service/main.py: Enhanced NaN handling in binning/conditional/dropna

Status: Hotfix complete, ready for testing
This commit is contained in:
2025-12-09 08:45:27 +08:00
parent 91cab452d1
commit 75ceeb0653
79 changed files with 111 additions and 14 deletions

View File

@@ -530,3 +530,4 @@ df['creatinine'] = pd.to_numeric(df['creatinine'], errors='coerce')

View File

@@ -368,3 +368,4 @@ npm run dev
**修复完成时间**: 2025-12-08 当前时间
**状态**: ✅ 已完成,待测试验证

View File

@@ -945,3 +945,4 @@ export const aiController = new AIController();

View File

@@ -1279,3 +1279,4 @@ npm install react-markdown

View File

@@ -602,3 +602,4 @@ import { logger } from '../../../../common/logging/index.js';

View File

@@ -405,3 +405,4 @@ import { ChatContainer } from '@/shared/components/Chat';

View File

@@ -315,3 +315,4 @@ const initialMessages = defaultMessages.length > 0 ? defaultMessages : [{

View File

@@ -603,3 +603,4 @@ http://localhost:5173/data-cleaning/tool-c

View File

@@ -391,3 +391,4 @@ Docs: docs/03-业务模块/DC-数据清洗整理/06-开发记录/DC模块重建

View File

@@ -264,3 +264,4 @@ ConflictDetectionService // 冲突检测(字段级对比)

View File

@@ -428,3 +428,4 @@ Tool B后端代码**100%复用**了平台通用能力层,无任何重复开发

View File

@@ -205,3 +205,4 @@ $ node scripts/check-dc-tables.mjs

View File

@@ -438,3 +438,4 @@ ${fields.map((f, i) => `${i + 1}. ${f.name}${f.desc}`).join('\n')}