增加固体饮料批号初版
This commit is contained in:
@@ -31,7 +31,12 @@ namespace FATrace.Model
|
||||
/// <summary>
|
||||
/// 批号
|
||||
/// </summary>
|
||||
public string Batch { get; set; }
|
||||
public string Batch { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 固体饮料批次
|
||||
/// </summary>
|
||||
public string SolidBeveBatch { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 重量(第三段解析后的实际数值,比如 802 -> 80.2)
|
||||
@@ -69,21 +74,28 @@ namespace FATrace.Model
|
||||
}
|
||||
|
||||
var parts = text.Split(',');
|
||||
if (parts.Length != 6)
|
||||
if (parts.Length != 7)
|
||||
{
|
||||
throw new ArgumentException($"二维码格式不正确,预期 6 段,实际为 {parts.Length} 段。内容:{text}", nameof(text));
|
||||
throw new ArgumentException($"二维码格式不正确,预期 7 段,实际为 {parts.Length} 段。内容:{text}", nameof(text));
|
||||
}
|
||||
|
||||
var weightIndex = 3;
|
||||
var shelfLifeIndex = 4;
|
||||
var rawSourceIndex = 5;
|
||||
var seqIndex = 6;
|
||||
|
||||
var model = new QRModel
|
||||
{
|
||||
RawText = text.Trim(),
|
||||
RawCode = parts[0].Trim(),
|
||||
Batch = parts[1].Trim(),
|
||||
RawSource = parts[4].Trim()
|
||||
RawSource = parts[rawSourceIndex].Trim()
|
||||
};
|
||||
|
||||
model.SolidBeveBatch = parts[2].Trim();
|
||||
|
||||
// 重量:3/4 位数字,末位为小数位,例如 802 -> 80.2
|
||||
var weightCode = parts[2].Trim();
|
||||
var weightCode = parts[weightIndex].Trim();
|
||||
if (!int.TryParse(weightCode, out var weightInt))
|
||||
{
|
||||
throw new ArgumentException($"重量段不是有效数字:{weightCode}", nameof(text));
|
||||
@@ -92,7 +104,7 @@ namespace FATrace.Model
|
||||
model.Weight = weightInt / 10m;
|
||||
|
||||
// 保质期(月)
|
||||
var shelfText = parts[3].Trim();
|
||||
var shelfText = parts[shelfLifeIndex].Trim();
|
||||
if (!int.TryParse(shelfText, out var shelfMonths) || shelfMonths < 0)
|
||||
{
|
||||
throw new ArgumentException($"保质期(月)不是有效数字:{shelfText}", nameof(text));
|
||||
@@ -100,7 +112,7 @@ namespace FATrace.Model
|
||||
model.ShelfLife = shelfMonths;
|
||||
|
||||
// 当日序号
|
||||
var seqText = parts[5].Trim();
|
||||
var seqText = parts[seqIndex].Trim();
|
||||
if (!int.TryParse(seqText, out var seq) || seq < 0)
|
||||
{
|
||||
throw new ArgumentException($"当日生产序号不是有效数字:{seqText}", nameof(text));
|
||||
|
||||
@@ -39,6 +39,12 @@ namespace FATrace.Model
|
||||
[Column(Name = "Batch", IsNullable = false, StringLength = 50)]
|
||||
public string? Batch { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 固体饮料批次
|
||||
/// </summary>
|
||||
[Column(Name = "SolidBeveBatch", StringLength = 50)]
|
||||
public string? SolidBeveBatch { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 保质期 年
|
||||
/// </summary>
|
||||
|
||||
@@ -50,6 +50,12 @@ namespace FATrace.Model
|
||||
[Column(Name = "Batch", IsNullable = false, StringLength = 50)]
|
||||
public string? Batch { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 固体饮料批次
|
||||
/// </summary>
|
||||
[Column(Name = "SolidBeveBatch", StringLength = 50)]
|
||||
public string? SolidBeveBatch { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 配料日期 当天日期
|
||||
/// 年,月,日
|
||||
|
||||
Reference in New Issue
Block a user