✨ feat(file-check): 忽略无效扫码结果并完善汇报材料

This commit is contained in:
2026-10-22 16:41:57 +08:00
parent 07841fe4fe
commit 3238817185
10 changed files with 1776 additions and 328 deletions

View File

@@ -35,6 +35,35 @@ public sealed class DualScannerResultMergerTests
Assert.Contains("扫码枪2", result.RawMessage);
}
/// <summary>
/// 第一把扫码枪返回 noRead、第二把扫码枪返回有效条码时,应舍弃 noRead 并使用第二把扫码枪结果。
/// </summary>
[Fact]
public void Merge_ShouldUseSecondBarcode_WhenFirstScannerReturnsNoRead()
{
var first = new ScanOperationResult
{
IsSuccess = true,
DeviceConnected = true,
Barcode = "noRead",
RawMessage = "noRead"
};
var second = new ScanOperationResult
{
IsSuccess = true,
DeviceConnected = true,
Barcode = "PCB-SECOND",
RawMessage = "PCB-SECOND"
};
ScanOperationResult result = DualScannerResultMerger.Merge(first, second);
Assert.True(result.IsSuccess);
Assert.Equal("PCB-SECOND", result.Barcode);
Assert.Contains("使用扫码枪2", result.RawMessage);
Assert.DoesNotContain("使用扫码枪1", result.RawMessage);
}
/// <summary>
/// 两把扫码枪都成功但内容不一致时,应优先使用扫码枪1条码并保留不一致说明。
/// </summary>