From 9e48bbf9ac7963d637e799d13f99c550e807b14c Mon Sep 17 00:00:00 2001 From: hardstylewyl <827778732@qq.com> Date: Thu, 27 Mar 2025 18:04:47 +0800 Subject: [PATCH] =?UTF-8?q?change-validation:=E5=AE=8C=E6=95=B4=E9=A2=84?= =?UTF-8?q?=E8=AD=A6=E8=A7=84=E5=88=99=E9=A1=B9=E7=9B=AE=E7=BC=96=E8=BE=91?= =?UTF-8?q?=EF=BC=88=E5=85=A8=E9=87=8F=EF=BC=89=E9=AA=8C=E8=AF=81=20=20-?= =?UTF-8?q?=20=20=E5=90=8C=E4=B8=80=E4=B8=AA=E4=B8=BB=E4=BD=93=E4=B8=8B?= =?UTF-8?q?=E5=90=8C=E4=B8=80=E4=B8=AA=E6=A3=80=E6=9F=A5=E7=82=B9=EF=BC=8C?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=B1=BB=E5=9E=8B=E4=B8=8D=E5=85=81=E8=AE=B8?= =?UTF-8?q?=E5=87=BA=E7=8E=B0=E4=BA=A4=E9=9B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/Warning/CompleteWarningService.cs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/SJZY.Track.Application/Services/Warning/CompleteWarningService.cs b/src/SJZY.Track.Application/Services/Warning/CompleteWarningService.cs index 01de540d..52f4fc46 100644 --- a/src/SJZY.Track.Application/Services/Warning/CompleteWarningService.cs +++ b/src/SJZY.Track.Application/Services/Warning/CompleteWarningService.cs @@ -243,11 +243,21 @@ public class CompleteWarningService : ApplicationService } var bos = CompleteWarningRuleItemBO.From(input); - // 同一个主体下,规则项目的检查点不能重复 - var checkPointTrackStatusIds = bos.Select(x => x.CheckPointTrackStatusId).ToHashSet(); - if (checkPointTrackStatusIds.Count < bos.Count) + // 同一个主体下同一个检查点,订单类型不允许出现交集 + foreach (var group in bos.GroupBy(x=>x.CheckPointTrackStatusId)) { - throw new BusinessException(message: "完整预警规则项目检查点不能重复!"); + var allOrderTypes = new HashSet(); + var count = 0; + foreach (var orderTypes in group.Select(x => x.OrderTypes)) + { + allOrderTypes.UnionWith(orderTypes); + count += orderTypes.Count; + } + + if (allOrderTypes.Count < count) + { + throw new BusinessException(message: "同一个检查点下,订单类型不允许出现交集!"); + } } await _completeWarningHandler.HandleEditAsync(rule, bos);