fix(qc): 添加数据库锁并优化标签查询逻辑
在QcBackEndService中添加事务锁(DbLockType.Wait)防止并发问题 优化标签查询逻辑,添加Take(1)限制查询结果数量
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user