feat: 增强差旅报销审核流程与票据智能推理
优化本体解析和编排器的差旅场景处理能力,完善报销单草稿 保存和费用明细同步逻辑,前端报销创建页面增加行程推理和 票据审核交互,新增助手会话快照工具函数,补充单元测试。
This commit is contained in:
@@ -5,6 +5,8 @@ import {
|
||||
buildLocalExtractionProgressMessages,
|
||||
buildLocalIntentPreview,
|
||||
inferLocalFlowCandidates,
|
||||
shouldRequestExpenseIntentConfirmation,
|
||||
shouldRequestExpenseSceneSelection,
|
||||
summarizeSemanticIntentDetail
|
||||
} from '../src/utils/reimbursementTextInference.js'
|
||||
|
||||
@@ -40,3 +42,32 @@ test('semantic intent detail includes recognized expense type', () => {
|
||||
'已识别为报销场景,当前目标是草稿生成,费用类型为交通费'
|
||||
)
|
||||
})
|
||||
|
||||
test('ambiguous expense prompt waits for scene selection before extraction preview', () => {
|
||||
const ambiguousMessage = '业务发生时间:2026-02-20 至 2026-02-23,去上海支持上海电力部署项目,申请报销'
|
||||
|
||||
assert.equal(shouldRequestExpenseSceneSelection(ambiguousMessage), true)
|
||||
assert.match(buildLocalIntentPreview(ambiguousMessage), /需要先由用户选择场景/)
|
||||
assert.doesNotMatch(buildLocalIntentPreview(ambiguousMessage), /草稿生成/)
|
||||
})
|
||||
|
||||
test('clear expense type does not request scene selection', () => {
|
||||
const travelMessage = '业务发生时间:2026-02-20 至 2026-02-23,去上海出差支持上海电力部署项目,申请差旅报销'
|
||||
|
||||
assert.equal(shouldRequestExpenseSceneSelection(travelMessage), false)
|
||||
assert.match(buildLocalIntentPreview(travelMessage), /差旅费/)
|
||||
})
|
||||
|
||||
test('business activity without expense intent asks for reimbursement confirmation first', () => {
|
||||
const businessMessage = '去上海电力支撑项目部署'
|
||||
|
||||
assert.equal(shouldRequestExpenseIntentConfirmation(businessMessage), true)
|
||||
assert.match(buildLocalIntentPreview(businessMessage), /是否发起报销尚不明确/)
|
||||
assert.equal(shouldRequestExpenseSceneSelection(businessMessage), false)
|
||||
})
|
||||
|
||||
test('explicit technical operation does not ask for reimbursement confirmation', () => {
|
||||
const operationMessage = '去上海电力支撑项目部署,帮我整理服务器部署步骤'
|
||||
|
||||
assert.equal(shouldRequestExpenseIntentConfirmation(operationMessage), false)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user