后道打标签优化以及标签追溯修改

This commit is contained in:
2025-07-04 20:40:27 +08:00
parent da78bc26a6
commit c477f01f23
5 changed files with 571 additions and 10 deletions

View File

@@ -1092,19 +1092,32 @@ namespace ZR.Service.Business
{
batchCode = DateTime.Now.ToString("yyMMdd") + "000";
}
// 提取箱流水号
int packageSort = 1;
QcBackendRecordLabelPrint labelPrintRecord = Context
.Queryable<QcBackendRecordLabelPrint>()
.Where(it => it.PartNumber == newLabelScran.PartNumber)
.Where(it => it.BatchCode.Contains(batchCode))
.Where(it => it.LabelType == 1)
.OrderByDescending(it => it.SerialNumber)
.First();
if (labelPrintRecord != null)
// 使用SqlSugar的事务处理
Context.Ado.BeginTran();
try
{
packageSort = labelPrintRecord.SerialNumber + 1 ?? 1;
// 查询最新流水号
QcBackendRecordLabelPrint labelPrintRecord = Context
.Queryable<QcBackendRecordLabelPrint>()
.Where(it => it.PartNumber == newLabelScran.PartNumber)
.Where(it => it.BatchCode.Contains(batchCode))
.Where(it => it.LabelType == 1)
.OrderByDescending(it => it.SerialNumber)
.First();
packageSort = labelPrintRecord?.SerialNumber + 1 ?? 1;
Context.Ado.CommitTran();
}
catch (Exception)
{
Context.Ado.RollbackTran();
throw;
}
// 提取产品描述
string checkPartnumber = newLabelScran.PartNumber;
// 使用正则表达式匹配并移除特殊后缀
@@ -1114,25 +1127,32 @@ namespace ZR.Service.Business
"",
RegexOptions.IgnoreCase
);
WmMaterial material = Context
.Queryable<WmMaterial>()
.Where(it => it.Partnumber == processedPartnumber)
.Where(it => it.Type == 1)
.Where(it => it.Status == 1)
.First();
if (material == null)
{
throw new Exception("生成打印后道外箱标签的信息:此零件号不在物料清单内!" + processedPartnumber);
}
// 生成工单号
string workOrder = $"{batchCode}_{packageSort}";
// 是否满箱 0-不满 1-满箱
int isFull = specialPrintType == 2 ? 0 : 1;
// 是否补打 0-非补打 1-补打
int isAgain = specialPrintType == 1 ? 1 : 0;
string newLabelCode =
$"Code=PGW{workOrder}^ItemNumber={newLabelScran.PartNumber}^Order=W{workOrder}^Qty={maxPackage}^LabelType=1^LabelBy=HD^Team={newLabelScran.Team}^IsFull={isFull}^IsAgain={isAgain}";
string newPackageCode = $"BOX:PGW{workOrder}{newLabelScran.Team}1";
QcBackEndPrintMqttEventDto mqttEventDto =
new()
{
@@ -1154,6 +1174,7 @@ namespace ZR.Service.Business
LabelType = 1,
CreatedTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
};
return mqttEventDto;
}