后道标签扫码零件号校验修正

This commit is contained in:
2025-05-30 14:17:51 +08:00
parent 85fa785c4f
commit f642214f66
2 changed files with 42 additions and 16 deletions

View File

@@ -671,9 +671,18 @@ namespace ZR.Service.Business
Context.Ado.BeginTran();
DateTime nowTime = DateTime.Now;
// 标签防错 (零件号)
string partNumber = DoAnalyzePartnumber(data.Label);
QcBackEndServiceWorkorder workorderInfo = Context
.Queryable<QcBackEndServiceWorkorder>()
.Where(it => it.WorkOrder == data.WorkOrder)
.First();
if(workorderInfo == null)
{
Context.Ado.RollbackTran();
return "工单号不存在!";
}
// 内外标签零件号不一致
if (!partNumber.Contains(data.PartNumber))
string partnumber = DoAnalyzePartnumber(data.Label);
if (!(workorderInfo.PartNumber == partnumber))
{
Context.Ado.RollbackTran();
return "箱标签零件号与工单零件号不一致!";
@@ -747,13 +756,22 @@ namespace ZR.Service.Business
{
Context.Ado.BeginTran();
DateTime nowTime = DateTime.Now;
// 标签防错 内标签零件号)
string partNumber = DoAnalyzePartnumber(data.Label);
// 内外标签零件号不一致
if (!partNumber.Contains(data.PartNumber))
// 标签防错 (零件号)
QcBackEndServiceWorkorder workorderInfo = Context
.Queryable<QcBackEndServiceWorkorder>()
.Where(it => it.WorkOrder == data.WorkOrder)
.First();
if (workorderInfo == null)
{
Context.Ado.RollbackTran();
return "内标签零件号与工单零件号不一致!";
return "工单号不存在!";
}
// 内外标签零件号不一致
string partnumber = DoAnalyzePartnumber(data.Label);
if (!(workorderInfo.PartNumber == partnumber))
{
Context.Ado.RollbackTran();
return "产品标签零件号与工单零件号不一致!";
}
bool hasAny = Context
.Queryable<QcBackEndRecordLabelScan>()
@@ -964,7 +982,7 @@ namespace ZR.Service.Business
_logger.LogInformation($"发送后道外箱标签打印成功:{topic}");
// 添加打印记录
await AddBackendLabelPrintRecordAsync(newLabelScran, mqttEventDto, maxPackage);
await AddBackendLabelPrintRecordAsync(mqttEventDto, maxPackage);
}
catch (JsonException ex)
{
@@ -982,7 +1000,6 @@ namespace ZR.Service.Business
/// 异步添加后道箱标签打印记录
/// </summary>
private async Task AddBackendLabelPrintRecordAsync(
QcBackEndRecordLabelScan newLabelScran,
QcBackEndPrintMqttEventDto labelScan,
int maxPackage
)
@@ -1004,7 +1021,8 @@ namespace ZR.Service.Business
int oldPackageLabelSort = 1;
QcBackendRecordLabelPrint lastPackagelabelInfo = Context
.Queryable<QcBackendRecordLabelPrint>()
.Where(it => it.WorkOrder == newLabelScran.WorkOrder)
.Where(it => it.PartNumber == labelScan.PartNumber)
.Where(it => it.BatchCode.Contains(batchCode))
.Where(it => it.LabelType == 1)
.OrderByDescending(it => it.SerialNumber)
.First();
@@ -1022,7 +1040,7 @@ namespace ZR.Service.Business
Id = SnowFlakeSingle.instance.NextId().ToString(),
MachineCode = labelScan.SiteNo ?? "未知站点",
LabelCode = labelCode,
WorkOrder = newLabelScran.WorkOrder ?? "未知工单",
WorkOrder = labelScan.WorkOrder ?? "未知工单",
PartNumber = labelScan.PartNumber ?? "未知零件号",
Description = description,
Team = labelScan.Team ?? "未知班组",

View File

@@ -633,12 +633,20 @@ namespace ZR.Service.Business
public string ScanInnerLabel(QcGp12LabelScanDto data)
{
DateTime nowTime = DateTime.Now;
// 标签防错 内标签零件号)
string partNumber = DoAnalyzePartnumber(data.Label);
// 内标签包含外标签
if (!partNumber.Contains(data.PartNumber))
// 标签防错 (零件号)
QcGp12ServiceWorkorder workorderInfo = Context
.Queryable<QcGp12ServiceWorkorder>()
.Where(it => it.WorkOrder == data.WorkOrder)
.First();
if (workorderInfo == null)
{
return "内标签零件号与外箱标签不一致!";
return "工单号不存在!";
}
// 内外标签零件号不一致
string partnumber = DoAnalyzePartnumber(data.Label);
if (!(workorderInfo.PartNumber == partnumber))
{
return "产品标签零件号与工单零件号不一致!";
}
bool hasAny = Context
.Queryable<QcGp12RecordLabelScan>()