From 61859aef68c442ece814a21d6e51c7296981b527 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Fri, 22 Mar 2024 01:44:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=98=AF=E5=90=A6baoyou?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseScheme/PurchaseSchemeBusiness.cs | 84 ++++++++++++------- .../SkuOptimization/OptimizationBusiness.cs | 4 +- .../Db/PurchaseScheme/PurchaseScheme.cs | 6 ++ ...UpdateCompetitiveTenderQuotationRequest.cs | 5 ++ .../BatchEditPurchaseSkuActualPriceRequest.cs | 5 ++ .../InputPurchaseSchemeRequest.cs | 5 ++ .../MergePurchaseSchemeProductSkuResponse.cs | 5 ++ .../PurchaseSchemeProductSkuResponse.cs | 5 ++ 8 files changed, 88 insertions(+), 31 deletions(-) diff --git a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs index be6966c..ec8354b 100644 --- a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs +++ b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs @@ -219,7 +219,12 @@ namespace BBWYB.Server.Business public void EditPurchaseSchemeV2(BatchCURDSchemeRequest batchCURDSchemeRequest, string userId) { - //nLogManager.Default().Info($"EditPurchaseSchemeV2 {JsonConvert.SerializeObject(batchCURDSchemeRequest)}"); + var uInfo = userBusiness.GetisBargainTeamByUserId(userId); + EditPurchaseSchemeV2(batchCURDSchemeRequest, uInfo); + } + + public void EditPurchaseSchemeV2(BatchCURDSchemeRequest batchCURDSchemeRequest, (User user, Userdepartment department, bool isBargainTeam) uInfo) + { List dbSchemeGroupList = null; List dbPurchaseSchemeList = null; @@ -345,7 +350,7 @@ namespace BBWYB.Server.Business } } - var uInfo = userBusiness.GetisBargainTeamByUserId(userId); + //var uInfo = userBusiness.GetisBargainTeamByUserId(userId); if (uInfo.isBargainTeam) { #region 检测是否存在被其他议价组分配的采购商 @@ -479,7 +484,7 @@ namespace BBWYB.Server.Business BelongBargainTeamId = uInfo.isBargainTeam ? uInfo.department.Id : string.Empty, BelongBargainTeamName = uInfo.isBargainTeam ? uInfo.department.DepartmentName : string.Empty, UpdateTeamId = uInfo.department.Id, - UpdateUserId = userId, + UpdateUserId = uInfo.user.Id, IsBargainTeamUpdate = uInfo.isBargainTeam }; addPurchaseSchemeList.Add(ps); @@ -627,9 +632,10 @@ namespace BBWYB.Server.Business .Set(ps => ps.Version, newVersion) .Set(ps => ps.BelongBargainTeamId, belongBargainTeamId) .Set(ps => ps.BelongBargainTeamName, belongBargainTeamName) - .Set(ps => ps.UpdateUserId, userId) + .Set(ps => ps.UpdateUserId, uInfo.user.Id) .Set(ps => ps.UpdateTeamId, uInfo.department.Id) - .Set(ps => ps.IsBargainTeamUpdate, uInfo.isBargainTeam); + .Set(ps => ps.IsBargainTeamUpdate, uInfo.isBargainTeam) + .Set(ps => ps.IsFreeFreight, psReq.IsFreeFreight); updatePurchaseSchemeList.Add(psupdate); #region 处理历史版本 @@ -865,24 +871,24 @@ namespace BBWYB.Server.Business }); foreach (var purchaser in dbPurchaserList) { - purchaser.TagList = purchaserExtendInfoList.Where(pei => pei.PurchaserId == purchaser.Id && + purchaser.TagList = purchaserExtendInfoList.Where(pei => pei.PurchaserId == purchaser.Id && pei.Type == Enums.PurchaserBasicInfoType.标签).Select(pei => new PurchaserExtendedInfoResponse() - { - Id = pei.Id, - ExtendInfo = pei.ExtendInfo, - Name = pei.Name, - Type = pei.Type - }).ToList(); - - purchaser.CategoryList = purchaserExtendInfoList.Where(pei => pei.PurchaserId == purchaser.Id && - pei.Type == Enums.PurchaserBasicInfoType.主营类目) - .Select(pei => new PurchaserExtendedInfoResponse() { Id = pei.Id, ExtendInfo = pei.ExtendInfo, Name = pei.Name, Type = pei.Type }).ToList(); + + purchaser.CategoryList = purchaserExtendInfoList.Where(pei => pei.PurchaserId == purchaser.Id && + pei.Type == Enums.PurchaserBasicInfoType.主营类目) + .Select(pei => new PurchaserExtendedInfoResponse() + { + Id = pei.Id, + ExtendInfo = pei.ExtendInfo, + Name = pei.Name, + Type = pei.Type + }).ToList(); } #endregion @@ -913,9 +919,10 @@ namespace BBWYB.Server.Business schemeProduct.PurchaserTag = purchaser.Tag; } - if (request.IncludePurchaseSkuStatisticsInfo == 1) + foreach (var schemeProductSku in schemeProduct.PurchaseSchemeProductSkuList) { - foreach (var schemeProductSku in schemeProduct.PurchaseSchemeProductSkuList) + schemeProductSku.IsFreeFreight = scheme.IsFreeFreight; + if (request.IncludePurchaseSkuStatisticsInfo == 1) { var pssStatistic = purchaseSkuStatisticList.FirstOrDefault(x => x.PurchaseSkuId == schemeProductSku.PurchaseSkuId); schemeProductSku.PurchasedAmount = pssStatistic?.PurchasedAmount ?? 0M; @@ -1002,7 +1009,8 @@ namespace BBWYB.Server.Business var purchaseSchemeList = GetPurchaseSchemeList(new QuerySchemeRequest() { IncludePurchaseSkuBasicInfo = request.IncludePurchaseSkuBasicInfo, - SchemeGroupIdList = groupIds + SchemeGroupIdList = groupIds, + BargainTeamIdList = user.isBargainTeam ? new List() { user.user.DepartmentId } : null, }); foreach (var psg in purchaseSchemeGroupsList) psg.PurchaseSchemeList = purchaseSchemeList.Where(ps => ps.SchemeGroupId == psg.Id).ToList(); @@ -1560,10 +1568,21 @@ namespace BBWYB.Server.Business /// 批量修改采购配件实际单价 /// /// - /// /// /// - public void BatchEditPurchaseSkuActualPrice(BatchEditPurchaseSkuActualPriceRequest request, List? schemeIdList, string userId) + public void BatchEditPurchaseSkuActualPrice(BatchEditPurchaseSkuActualPriceRequest request, string userId) + { + var user = userBusiness.GetisBargainTeamByUserId(userId); + BatchEditPurchaseSkuActualPrice(request, user); + } + + /// + /// 批量修改采购配件实际单价 + /// + /// + /// + /// + public void BatchEditPurchaseSkuActualPrice(BatchEditPurchaseSkuActualPriceRequest request, (User user, Userdepartment department, bool isBargainTeam) uInfo) { if (request.ItemList == null || request.ItemList.Count() == 0) throw new BusinessException("缺少参数"); @@ -1571,17 +1590,19 @@ namespace BBWYB.Server.Business var purchseSkuIdList = request.ItemList.Select(x => x.PurchaseSkuId).Distinct().ToList(); - if (schemeIdList == null || schemeIdList.Count() == 0) - schemeIdList = fsql.Select() - .Where(pss => purchseSkuIdList.Contains(pss.PurchaseSkuId)) - .Distinct() - .ToList(pss => pss.SkuPurchaseSchemeId); + + var schemeRelationList = fsql.Select() + .Where(pss => purchseSkuIdList.Contains(pss.PurchaseSkuId)) + .Distinct() + .ToList(pss => new { pss.SkuPurchaseSchemeId, pss.PurchaseSkuId }); + var schemeIdList = schemeRelationList.Select(x => x.SkuPurchaseSchemeId).Distinct().ToList(); var purchaseSchemeList = GetPurchaseSchemeList(new QuerySchemeRequest() { IncludePurchaseSkuBasicInfo = 1, IncludeSkuStatisticsInfo = 0, - SchemeIdList = schemeIdList + SchemeIdList = schemeIdList, + BargainTeamIdList = uInfo.isBargainTeam ? new List() { uInfo.user.DepartmentId } : null, }); if (purchaseSchemeList.Count() == 0) @@ -1598,7 +1619,11 @@ namespace BBWYB.Server.Business throw new BusinessException($"采购配件{pss.PurchaseSkuId}已失效"); var requestSku = request.ItemList.FirstOrDefault(x => x.PurchaseSkuId == pss.PurchaseSkuId); //x.SkuId == pss.SkuId if (requestSku != null) + { pss.ActualPrice = requestSku.ActualPrice; + if (requestSku.IsFreeFreight != null) + ps.IsFreeFreight = requestSku.IsFreeFreight; + } } } } @@ -1637,9 +1662,10 @@ namespace BBWYB.Server.Business PurchaseSkuId = pss.PurchaseSkuId, PurchaseSkuSpecId = pss.PurchaseSkuSpecId }).ToList() - }).ToList() + }).ToList(), + IsFreeFreight = ps.IsFreeFreight }).ToList() - }, userId); + }, uInfo); } diff --git a/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs b/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs index 03718f8..d8d8941 100644 --- a/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs +++ b/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs @@ -360,9 +360,9 @@ namespace BBWYB.Server.Business //筛选出不在竞标任务中的采购方案 var noJoinCompetitiveTenderPurchaseSchemeList = relationPurchaseSchemeList.Where(ps => !competitiveTenderTaskList.Any(ct => ct.SchemeId == ps.Id)).ToList(); - var noJoinCompetitiveTenderPurchaseSchemeIdList = noJoinCompetitiveTenderPurchaseSchemeList.Select(x => x.Id).ToList(); + //var noJoinCompetitiveTenderPurchaseSchemeIdList = noJoinCompetitiveTenderPurchaseSchemeList.Select(x => x.Id).ToList(); //批量更新配件 - purchaseSchemeBusiness.BatchEditPurchaseSkuActualPrice(request.Map(), noJoinCompetitiveTenderPurchaseSchemeIdList, userId); + purchaseSchemeBusiness.BatchEditPurchaseSkuActualPrice(request.Map(), uInfo); if (noJoinCompetitiveTenderPurchaseSchemeList.Count() > 0) { diff --git a/BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs b/BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs index 7fc66b4..f3d62f2 100644 --- a/BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs +++ b/BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs @@ -140,6 +140,12 @@ namespace BBWYB.Server.Model /// [Column(DbType = "bit")] public bool? IsBargainTeamUpdate { get; set; } = false; + + /// + /// 是否包邮 + /// + [Column(DbType = "bit")] + public bool? IsFreeFreight { get; set; } = false; } } diff --git a/BBWYB.Server.Model/Dto/Request/Optimization/BatchUpdateCompetitiveTenderQuotationRequest.cs b/BBWYB.Server.Model/Dto/Request/Optimization/BatchUpdateCompetitiveTenderQuotationRequest.cs index c0df1a2..0e41e79 100644 --- a/BBWYB.Server.Model/Dto/Request/Optimization/BatchUpdateCompetitiveTenderQuotationRequest.cs +++ b/BBWYB.Server.Model/Dto/Request/Optimization/BatchUpdateCompetitiveTenderQuotationRequest.cs @@ -36,5 +36,10 @@ /// 实际单价 /// public decimal? ActualPrice { get; set; } + + /// + /// 是否包邮 + /// + public bool IsFreeFreight { get; set; } } } diff --git a/BBWYB.Server.Model/Dto/Request/PurchaseScheme/BatchEditPurchaseSkuActualPriceRequest.cs b/BBWYB.Server.Model/Dto/Request/PurchaseScheme/BatchEditPurchaseSkuActualPriceRequest.cs index fbd233a..61e9185 100644 --- a/BBWYB.Server.Model/Dto/Request/PurchaseScheme/BatchEditPurchaseSkuActualPriceRequest.cs +++ b/BBWYB.Server.Model/Dto/Request/PurchaseScheme/BatchEditPurchaseSkuActualPriceRequest.cs @@ -26,5 +26,10 @@ /// 实际单价 /// public decimal? ActualPrice { get; set; } + + /// + /// 是否包邮 + /// + public bool? IsFreeFreight { get; set; } } } diff --git a/BBWYB.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeRequest.cs b/BBWYB.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeRequest.cs index 25595ba..298bd48 100644 --- a/BBWYB.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeRequest.cs +++ b/BBWYB.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeRequest.cs @@ -23,6 +23,11 @@ namespace BBWYB.Server.Model.Dto public string ProductId { get; set; } public string SkuId { get; set; } + /// + /// 是否包邮 + /// + public bool? IsFreeFreight { get; set; } = false; + public List PurchaseSchemeProductList { get; set; } } } diff --git a/BBWYB.Server.Model/Dto/Response/Optimization/MergePurchaseSchemeProductSkuResponse.cs b/BBWYB.Server.Model/Dto/Response/Optimization/MergePurchaseSchemeProductSkuResponse.cs index f291ef0..609441b 100644 --- a/BBWYB.Server.Model/Dto/Response/Optimization/MergePurchaseSchemeProductSkuResponse.cs +++ b/BBWYB.Server.Model/Dto/Response/Optimization/MergePurchaseSchemeProductSkuResponse.cs @@ -87,5 +87,10 @@ /// 采购商品链接 /// public string PurchaseUrl { get; set; } + + /// + /// 是否包邮 + /// + public bool? IsFreeFreight { get; set; } = false; } } diff --git a/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeProductSkuResponse.cs b/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeProductSkuResponse.cs index b07adc3..ef8acd0 100644 --- a/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeProductSkuResponse.cs +++ b/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeProductSkuResponse.cs @@ -42,5 +42,10 @@ /// 采购件数,仅在查询条件IncludePurchaseSkuStatisticsInfo=1时具备该值 /// public int? PurchasedItemCount { get; set; } = 0; + + /// + /// 是否包邮,继承自采购方案 + /// + public bool? IsFreeFreight { get; set; } = false; } }