| 123456789101112131415161718192021222324252627282930313233343536 |
- using System;
- using System.Text;
- using TeamAAS_VP.Core.RFID;
- namespace TeamAAS_VP.Core.Sfis
- {
- public static class SfisRfidMapper
- {
- public static SfisUnitContext FromRfidTag(RFIDTagData tag, SfisConfig config)
- {
- if (tag == null)
- throw new ArgumentNullException(nameof(tag));
- string raw = tag.ToASCIIString()?.Trim();
- if (string.IsNullOrWhiteSpace(raw) && tag.Data != null)
- raw = Encoding.ASCII.GetString(tag.Data).Trim('\0', ' ', '\r', '\n');
- if (string.IsNullOrWhiteSpace(raw))
- throw new ArgumentException("RFID 标签 ASCII/数据为空,无法作为 ISN");
- return new SfisUnitContext
- {
- Isn = raw,
- ReelIdSn = raw,
- MoNumber = config.DefaultMoNumber,
- PassType = config.InputDataPassType,
- AoiLocTag = config.InputDataAoiLocTag,
- TestPassed = true,
- TestRecords =
- {
- new SfisTestRecord { TestName = "RFID Read", Passed = true, Value = raw }
- }
- };
- }
- }
- }
|