fix(qc): 添加数据库锁并优化标签查询逻辑

在QcBackEndService中添加事务锁(DbLockType.Wait)防止并发问题
优化标签查询逻辑,添加Take(1)限制查询结果数量
This commit is contained in:
赵正易 2025-08-31 10:06:04 +08:00
parent e5c52d436b
commit a06cf98732

View File

@ -701,9 +701,12 @@ namespace ZR.Service.Business
int oldPackageLabelSort = 1;
QcBackEndRecordLabelScan lastPackagelabelInfo = Context
.Queryable<QcBackEndRecordLabelScan>()
// TODO 加锁
.TranLock(DbLockType.Wait)
.Where(it => it.WorkOrder == data.WorkOrder)
.Where(it => it.LabelType == 1)
.OrderByDescending(it => it.LabelSort)
.Take(1)
.First();
if (lastPackagelabelInfo == null)
{
@ -818,9 +821,12 @@ namespace ZR.Service.Business
int oldInnerLabelSort = 0;
QcBackEndRecordLabelScan labelScan = Context
.Queryable<QcBackEndRecordLabelScan>()
// TODO 加锁
.TranLock(DbLockType.Wait)
.Where(it => it.WorkOrder == data.WorkOrder)
.Where(it => it.LabelType == 2)
.OrderByDescending(it => it.LabelSort)
.Take(1)
.First();
if (labelScan != null)
{