From 15decbcd19f18dddb93ab0a4619bbba84af6c231 Mon Sep 17 00:00:00 2001
From: shanji <18996038927@163.com>
Date: Tue, 20 Jun 2023 14:23:10 +0800
Subject: [PATCH] =?UTF-8?q?=E5=85=B3=E8=81=94=E8=AE=A2=E5=8D=95=E5=A2=9E?=
=?UTF-8?q?=E5=8A=A0=E6=97=A5=E5=BF=97=E5=92=8C=E9=AA=8C=E8=AF=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../PurchaseOrder/PurchaseOrderBusiness.cs | 13 +++++++++++++
.../AssociationPurchaseOrderRequest.cs | 2 +-
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
index 854f071..a588427 100644
--- a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
+++ b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
@@ -499,6 +499,7 @@ namespace BBWYB.Server.Business
///
public void AssociatePurchaseOrder(AssociationOrderRequest request)
{
+ nLogManager.Default().Info($"AssociatePurchaseOrder {JsonConvert.SerializeObject(request)}");
var dbOrder = fsql.Select(request.OrderId).ToOne();
if (dbOrder == null)
throw new BusinessException("订单不存在");
@@ -517,6 +518,18 @@ namespace BBWYB.Server.Business
if (request.AssociationPurchaseOrderList.Any(x => dbInvalidPurchaseOrderIdList.Contains(x.PurchaseOrderId)))
throw new BusinessException("关联采购单时不能包含历史采购单");
+ #region 数据验证
+ var validation_groups_pid = request.AssociationPurchaseOrderList.GroupBy(po => po.PurchaseOrderId);
+ if (validation_groups_pid.Any(x => x.Count() > 1))
+ throw new BusinessException("不允许包含重复的采购单");
+
+ foreach (var apo in request.AssociationPurchaseOrderList)
+ {
+ if (Math.Abs(apo.PurchaseAmount - apo.AssocationOrderCostDetailList.Sum(aocd => aocd.SkuAmount)) > 1)
+ throw new BusinessException($"采购单{apo.PurchaseOrderId}的采购货款与明细采购货款总和误差不能超过1");
+ }
+ #endregion
+
#region 读取采购单中的采购账号/采购方案
IList purchaseAccountIdList = request.AssociationPurchaseOrderList.Select(x => string.IsNullOrEmpty(x.PurchaseAccountId) ?
x.PurchaseAccountName :
diff --git a/BBWYB.Server.Model/Dto/Request/PurchaseOrder/AssociationPurchaseOrderRequest.cs b/BBWYB.Server.Model/Dto/Request/PurchaseOrder/AssociationPurchaseOrderRequest.cs
index a20a837..0589da8 100644
--- a/BBWYB.Server.Model/Dto/Request/PurchaseOrder/AssociationPurchaseOrderRequest.cs
+++ b/BBWYB.Server.Model/Dto/Request/PurchaseOrder/AssociationPurchaseOrderRequest.cs
@@ -35,7 +35,7 @@
public string PurchaserName { get; set; }
///
- /// 采购金额
+ /// 采购金额(货款)
///
public decimal PurchaseAmount { get; set; }