🍄🟫默认第一个流水号从Min开始,而不是Min+1
This commit is contained in:
parent
c92881a1ef
commit
ba0e8e6c5a
@ -80,7 +80,7 @@ public class SysSerialService : IDynamicApiController, ITransient
|
||||
|
||||
var entity = input.Adapt<SysSerial>();
|
||||
entity.Expy = DateTime.Now;
|
||||
entity.Seq = 1;
|
||||
entity.Seq = entity.Min - 1;
|
||||
return await _sysSerialRep.InsertAsync(entity) ? entity.Id : default;
|
||||
}
|
||||
|
||||
@ -99,7 +99,17 @@ public class SysSerialService : IDynamicApiController, ITransient
|
||||
if (await _sysSerialRep.IsAnyAsync(u => u.Type == input.Type && u.TenantId == _userManager.TenantId && input.Id != seq.Id)) throw Oops.Oh(ErrorCodeEnum.D1006);
|
||||
|
||||
var entity = input.Adapt<SysSerial>();
|
||||
await _sysSerialRep.AsUpdateable(entity).IgnoreColumns(u => new { u.Expy, u.Seq }).ExecuteCommandAsync();
|
||||
// 原来的数据
|
||||
var original = await _sysSerialRep.GetFirstAsync(u => u.Id == input.Id);
|
||||
// 最小值发生变化,并且当最小值比当前流水号大时
|
||||
var seqChange = false;
|
||||
if (original.Min != entity.Min && entity.Min - 1 > original.Seq)
|
||||
{
|
||||
// 使下个流水号为更新后的最小值
|
||||
entity.Seq = entity.Min - 1;
|
||||
seqChange = true;
|
||||
}
|
||||
await _sysSerialRep.AsUpdateable(entity).IgnoreColumns(u => new { u.Expy }).IgnoreColumnsIF(seqChange == false, u => new { u.Seq }).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -178,7 +188,7 @@ public class SysSerialService : IDynamicApiController, ITransient
|
||||
return FormatSeqNo(new()
|
||||
{
|
||||
Formater = input.Formater,
|
||||
Seq = input.Seq,
|
||||
Seq = input.Seq + 1,
|
||||
Max = input.Max,
|
||||
}, DateTime.Now);
|
||||
}
|
||||
@ -262,7 +272,7 @@ public class SysSerialService : IDynamicApiController, ITransient
|
||||
if (nowDate.Date != seq.Expy.Date)
|
||||
{
|
||||
seq.Expy = nowDate.Date;
|
||||
seq.Seq = seq.Min;
|
||||
seq.Seq = seq.Min - 1;
|
||||
}
|
||||
break;
|
||||
|
||||
@ -270,7 +280,7 @@ public class SysSerialService : IDynamicApiController, ITransient
|
||||
if (nowDate.Month != seq.Expy.Month || nowDate.Year != seq.Expy.Year)
|
||||
{
|
||||
seq.Expy = nowDate.Date;
|
||||
seq.Seq = seq.Min;
|
||||
seq.Seq = seq.Min - 1;
|
||||
}
|
||||
break;
|
||||
|
||||
@ -278,7 +288,7 @@ public class SysSerialService : IDynamicApiController, ITransient
|
||||
if (nowDate.Year != seq.Expy.Year)
|
||||
{
|
||||
seq.Expy = nowDate.Date;
|
||||
seq.Seq = seq.Min;
|
||||
seq.Seq = seq.Min - 1;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user