This commit is contained in:
zuohuaijun 2025-09-30 10:03:13 +08:00
commit b4ee6f7d53
2 changed files with 17 additions and 6 deletions

View File

@ -80,7 +80,7 @@ public class SysSerialService : IDynamicApiController, ITransient
var entity = input.Adapt<SysSerial>(); var entity = input.Adapt<SysSerial>();
entity.Expy = DateTime.Now; entity.Expy = DateTime.Now;
entity.Seq = 1; entity.Seq = entity.Min - 1;
return await _sysSerialRep.InsertAsync(entity) ? entity.Id : default; 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); 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>(); 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> /// <summary>
@ -178,7 +188,7 @@ public class SysSerialService : IDynamicApiController, ITransient
return FormatSeqNo(new() return FormatSeqNo(new()
{ {
Formater = input.Formater, Formater = input.Formater,
Seq = input.Seq, Seq = input.Seq + 1,
Max = input.Max, Max = input.Max,
}, DateTime.Now); }, DateTime.Now);
} }
@ -262,7 +272,7 @@ public class SysSerialService : IDynamicApiController, ITransient
if (nowDate.Date != seq.Expy.Date) if (nowDate.Date != seq.Expy.Date)
{ {
seq.Expy = nowDate.Date; seq.Expy = nowDate.Date;
seq.Seq = seq.Min; seq.Seq = seq.Min - 1;
} }
break; break;
@ -270,7 +280,7 @@ public class SysSerialService : IDynamicApiController, ITransient
if (nowDate.Month != seq.Expy.Month || nowDate.Year != seq.Expy.Year) if (nowDate.Month != seq.Expy.Month || nowDate.Year != seq.Expy.Year)
{ {
seq.Expy = nowDate.Date; seq.Expy = nowDate.Date;
seq.Seq = seq.Min; seq.Seq = seq.Min - 1;
} }
break; break;
@ -278,7 +288,7 @@ public class SysSerialService : IDynamicApiController, ITransient
if (nowDate.Year != seq.Expy.Year) if (nowDate.Year != seq.Expy.Year)
{ {
seq.Expy = nowDate.Date; seq.Expy = nowDate.Date;
seq.Seq = seq.Min; seq.Seq = seq.Min - 1;
} }
break; break;

View File

@ -125,6 +125,7 @@ onMounted(async () => {
const openDialog = async (row: any, typeData: any[]) => { const openDialog = async (row: any, typeData: any[]) => {
state.ruleForm = JSON.parse(JSON.stringify(row)); state.ruleForm = JSON.parse(JSON.stringify(row));
state.ruleForm.formater ??= ''; state.ruleForm.formater ??= '';
state.previewSeqNo = '';
state.typeData = typeData; state.typeData = typeData;
state.showDialog = true; state.showDialog = true;
ruleFormRef.value?.resetFields(); ruleFormRef.value?.resetFields();