diff --git a/wwwroot/api/bid_task_tree.dspy b/wwwroot/api/bid_task_tree.dspy index c1c5952..06d9799 100644 --- a/wwwroot/api/bid_task_tree.dspy +++ b/wwwroot/api/bid_task_tree.dspy @@ -165,9 +165,14 @@ async with DBPools().sqlorContext(dbname) as sor: for t in role_tasks: key = (_params_of(t).get('analysis_dim') or '').strip() if not key: - # 无维度:人工定向修正/补录任务单独成组,其余归遗留全量解析 - blob = (getattr(t, 'title', '') or '') + (getattr(t, 'params', '') or '') - key = '__manual__' if ('修正' in blob or '补录' in blob) else '__legacy__' + p = _params_of(t) + # 无维度:人工定向修正/补录任务单独成组(排除系统 qc_redo 重做任务), + # 其余归遗留全量解析 + if not p.get('qc_redo') and ('修正' in (getattr(t, 'title', '') or '') + or '补录' in (getattr(t, 'title', '') or '')): + key = '__manual__' + else: + key = '__legacy__' groups.setdefault(key, []).append(t) for key in groups: groups[key].sort(key=lambda x: str(getattr(x, 'created_at', '') or '')) @@ -349,8 +354,12 @@ async with DBPools().sqlorContext(dbname) as sor: continue k = (_params_of2(t).get('analysis_dim') or '').strip() if not k: - blob = (getattr(t, 'title', '') or '') + (getattr(t, 'params', '') or '') - k = '__manual__' if ('修正' in blob or '补录' in blob) else '__legacy__' + p = _params_of2(t) + if not p.get('qc_redo') and ('修正' in (getattr(t, 'title', '') or '') + or '补录' in (getattr(t, 'title', '') or '')): + k = '__manual__' + else: + k = '__legacy__' if k == key: ts.append(t) ts.sort(key=lambda x: str(getattr(x, 'created_at', '') or ''))