From ba0e8e6c5a92bf39ac0c6345102a4ac8bb719a8e Mon Sep 17 00:00:00 2001 From: KaneLeung Date: Mon, 29 Sep 2025 15:50:10 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=8D=84=E2=80=8D=F0=9F=9F=AB=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E7=AC=AC=E4=B8=80=E4=B8=AA=E6=B5=81=E6=B0=B4=E5=8F=B7?= =?UTF-8?q?=E4=BB=8EMin=E5=BC=80=E5=A7=8B=EF=BC=8C=E8=80=8C=E4=B8=8D?= =?UTF-8?q?=E6=98=AFMin+1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Serial/SysSerialService.cs | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/Admin.NET/Admin.NET.Core/Service/Serial/SysSerialService.cs b/Admin.NET/Admin.NET.Core/Service/Serial/SysSerialService.cs index 3ccae616..ca3d87b7 100644 --- a/Admin.NET/Admin.NET.Core/Service/Serial/SysSerialService.cs +++ b/Admin.NET/Admin.NET.Core/Service/Serial/SysSerialService.cs @@ -80,7 +80,7 @@ public class SysSerialService : IDynamicApiController, ITransient var entity = input.Adapt(); 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(); - 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(); } /// @@ -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; From 097030a30bc1b9ed0e3d92b485cd3b5feac055ce Mon Sep 17 00:00:00 2001 From: KaneLeung Date: Mon, 29 Sep 2025 16:00:34 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=8C=8A=E6=89=93=E5=BC=80=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E6=97=B6=E6=B8=85=E7=A9=BA=E9=A2=84=E8=A7=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Web/src/views/system/serial/component/editSerial.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/Web/src/views/system/serial/component/editSerial.vue b/Web/src/views/system/serial/component/editSerial.vue index dccf6f39..1e08f7cc 100644 --- a/Web/src/views/system/serial/component/editSerial.vue +++ b/Web/src/views/system/serial/component/editSerial.vue @@ -125,6 +125,7 @@ onMounted(async () => { const openDialog = async (row: any, typeData: any[]) => { state.ruleForm = JSON.parse(JSON.stringify(row)); state.ruleForm.formater ??= ''; + state.previewSeqNo = ''; state.typeData = typeData; state.showDialog = true; ruleFormRef.value?.resetFields();