Browse Source

是否baoyou

liangku_skuoptimazation
shanji 1 year ago
parent
commit
61859aef68
  1. 84
      BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
  2. 4
      BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs
  3. 6
      BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs
  4. 5
      BBWYB.Server.Model/Dto/Request/Optimization/BatchUpdateCompetitiveTenderQuotationRequest.cs
  5. 5
      BBWYB.Server.Model/Dto/Request/PurchaseScheme/BatchEditPurchaseSkuActualPriceRequest.cs
  6. 5
      BBWYB.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeRequest.cs
  7. 5
      BBWYB.Server.Model/Dto/Response/Optimization/MergePurchaseSchemeProductSkuResponse.cs
  8. 5
      BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeProductSkuResponse.cs

84
BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs

@ -219,7 +219,12 @@ namespace BBWYB.Server.Business
public void EditPurchaseSchemeV2(BatchCURDSchemeRequest batchCURDSchemeRequest, string userId) 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<PurchaseSchemeGroup> dbSchemeGroupList = null; List<PurchaseSchemeGroup> dbSchemeGroupList = null;
List<PurchaseScheme> dbPurchaseSchemeList = null; List<PurchaseScheme> dbPurchaseSchemeList = null;
@ -345,7 +350,7 @@ namespace BBWYB.Server.Business
} }
} }
var uInfo = userBusiness.GetisBargainTeamByUserId(userId); //var uInfo = userBusiness.GetisBargainTeamByUserId(userId);
if (uInfo.isBargainTeam) if (uInfo.isBargainTeam)
{ {
#region 检测是否存在被其他议价组分配的采购商 #region 检测是否存在被其他议价组分配的采购商
@ -479,7 +484,7 @@ namespace BBWYB.Server.Business
BelongBargainTeamId = uInfo.isBargainTeam ? uInfo.department.Id : string.Empty, BelongBargainTeamId = uInfo.isBargainTeam ? uInfo.department.Id : string.Empty,
BelongBargainTeamName = uInfo.isBargainTeam ? uInfo.department.DepartmentName : string.Empty, BelongBargainTeamName = uInfo.isBargainTeam ? uInfo.department.DepartmentName : string.Empty,
UpdateTeamId = uInfo.department.Id, UpdateTeamId = uInfo.department.Id,
UpdateUserId = userId, UpdateUserId = uInfo.user.Id,
IsBargainTeamUpdate = uInfo.isBargainTeam IsBargainTeamUpdate = uInfo.isBargainTeam
}; };
addPurchaseSchemeList.Add(ps); addPurchaseSchemeList.Add(ps);
@ -627,9 +632,10 @@ namespace BBWYB.Server.Business
.Set(ps => ps.Version, newVersion) .Set(ps => ps.Version, newVersion)
.Set(ps => ps.BelongBargainTeamId, belongBargainTeamId) .Set(ps => ps.BelongBargainTeamId, belongBargainTeamId)
.Set(ps => ps.BelongBargainTeamName, belongBargainTeamName) .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.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); updatePurchaseSchemeList.Add(psupdate);
#region 处理历史版本 #region 处理历史版本
@ -865,24 +871,24 @@ namespace BBWYB.Server.Business
}); });
foreach (var purchaser in dbPurchaserList) 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() 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, Id = pei.Id,
ExtendInfo = pei.ExtendInfo, ExtendInfo = pei.ExtendInfo,
Name = pei.Name, Name = pei.Name,
Type = pei.Type Type = pei.Type
}).ToList(); }).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 #endregion
@ -913,9 +919,10 @@ namespace BBWYB.Server.Business
schemeProduct.PurchaserTag = purchaser.Tag; 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); var pssStatistic = purchaseSkuStatisticList.FirstOrDefault(x => x.PurchaseSkuId == schemeProductSku.PurchaseSkuId);
schemeProductSku.PurchasedAmount = pssStatistic?.PurchasedAmount ?? 0M; schemeProductSku.PurchasedAmount = pssStatistic?.PurchasedAmount ?? 0M;
@ -1002,7 +1009,8 @@ namespace BBWYB.Server.Business
var purchaseSchemeList = GetPurchaseSchemeList(new QuerySchemeRequest() var purchaseSchemeList = GetPurchaseSchemeList(new QuerySchemeRequest()
{ {
IncludePurchaseSkuBasicInfo = request.IncludePurchaseSkuBasicInfo, IncludePurchaseSkuBasicInfo = request.IncludePurchaseSkuBasicInfo,
SchemeGroupIdList = groupIds SchemeGroupIdList = groupIds,
BargainTeamIdList = user.isBargainTeam ? new List<string>() { user.user.DepartmentId } : null,
}); });
foreach (var psg in purchaseSchemeGroupsList) foreach (var psg in purchaseSchemeGroupsList)
psg.PurchaseSchemeList = purchaseSchemeList.Where(ps => ps.SchemeGroupId == psg.Id).ToList(); psg.PurchaseSchemeList = purchaseSchemeList.Where(ps => ps.SchemeGroupId == psg.Id).ToList();
@ -1560,10 +1568,21 @@ namespace BBWYB.Server.Business
/// 批量修改采购配件实际单价 /// 批量修改采购配件实际单价
/// </summary> /// </summary>
/// <param name="request"></param> /// <param name="request"></param>
/// <param name="schemeIdList"></param>
/// <param name="userId"></param> /// <param name="userId"></param>
/// <exception cref="BusinessException"></exception> /// <exception cref="BusinessException"></exception>
public void BatchEditPurchaseSkuActualPrice(BatchEditPurchaseSkuActualPriceRequest request, List<long>? schemeIdList, string userId) public void BatchEditPurchaseSkuActualPrice(BatchEditPurchaseSkuActualPriceRequest request, string userId)
{
var user = userBusiness.GetisBargainTeamByUserId(userId);
BatchEditPurchaseSkuActualPrice(request, user);
}
/// <summary>
/// 批量修改采购配件实际单价
/// </summary>
/// <param name="request"></param>
/// <param name="uInfo"></param>
/// <exception cref="BusinessException"></exception>
public void BatchEditPurchaseSkuActualPrice(BatchEditPurchaseSkuActualPriceRequest request, (User user, Userdepartment department, bool isBargainTeam) uInfo)
{ {
if (request.ItemList == null || request.ItemList.Count() == 0) if (request.ItemList == null || request.ItemList.Count() == 0)
throw new BusinessException("缺少参数"); throw new BusinessException("缺少参数");
@ -1571,17 +1590,19 @@ namespace BBWYB.Server.Business
var purchseSkuIdList = request.ItemList.Select(x => x.PurchaseSkuId).Distinct().ToList(); var purchseSkuIdList = request.ItemList.Select(x => x.PurchaseSkuId).Distinct().ToList();
if (schemeIdList == null || schemeIdList.Count() == 0)
schemeIdList = fsql.Select<PurchaseSchemeProductSku>() var schemeRelationList = fsql.Select<PurchaseSchemeProductSku>()
.Where(pss => purchseSkuIdList.Contains(pss.PurchaseSkuId)) .Where(pss => purchseSkuIdList.Contains(pss.PurchaseSkuId))
.Distinct() .Distinct()
.ToList(pss => pss.SkuPurchaseSchemeId); .ToList(pss => new { pss.SkuPurchaseSchemeId, pss.PurchaseSkuId });
var schemeIdList = schemeRelationList.Select(x => x.SkuPurchaseSchemeId).Distinct().ToList();
var purchaseSchemeList = GetPurchaseSchemeList(new QuerySchemeRequest() var purchaseSchemeList = GetPurchaseSchemeList(new QuerySchemeRequest()
{ {
IncludePurchaseSkuBasicInfo = 1, IncludePurchaseSkuBasicInfo = 1,
IncludeSkuStatisticsInfo = 0, IncludeSkuStatisticsInfo = 0,
SchemeIdList = schemeIdList SchemeIdList = schemeIdList,
BargainTeamIdList = uInfo.isBargainTeam ? new List<string>() { uInfo.user.DepartmentId } : null,
}); });
if (purchaseSchemeList.Count() == 0) if (purchaseSchemeList.Count() == 0)
@ -1598,7 +1619,11 @@ namespace BBWYB.Server.Business
throw new BusinessException($"采购配件{pss.PurchaseSkuId}已失效"); throw new BusinessException($"采购配件{pss.PurchaseSkuId}已失效");
var requestSku = request.ItemList.FirstOrDefault(x => x.PurchaseSkuId == pss.PurchaseSkuId); //x.SkuId == pss.SkuId var requestSku = request.ItemList.FirstOrDefault(x => x.PurchaseSkuId == pss.PurchaseSkuId); //x.SkuId == pss.SkuId
if (requestSku != null) if (requestSku != null)
{
pss.ActualPrice = requestSku.ActualPrice; pss.ActualPrice = requestSku.ActualPrice;
if (requestSku.IsFreeFreight != null)
ps.IsFreeFreight = requestSku.IsFreeFreight;
}
} }
} }
} }
@ -1637,9 +1662,10 @@ namespace BBWYB.Server.Business
PurchaseSkuId = pss.PurchaseSkuId, PurchaseSkuId = pss.PurchaseSkuId,
PurchaseSkuSpecId = pss.PurchaseSkuSpecId PurchaseSkuSpecId = pss.PurchaseSkuSpecId
}).ToList() }).ToList()
}).ToList() }).ToList(),
IsFreeFreight = ps.IsFreeFreight
}).ToList() }).ToList()
}, userId); }, uInfo);
} }

4
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 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<BatchEditPurchaseSkuActualPriceRequest>(), noJoinCompetitiveTenderPurchaseSchemeIdList, userId); purchaseSchemeBusiness.BatchEditPurchaseSkuActualPrice(request.Map<BatchEditPurchaseSkuActualPriceRequest>(), uInfo);
if (noJoinCompetitiveTenderPurchaseSchemeList.Count() > 0) if (noJoinCompetitiveTenderPurchaseSchemeList.Count() > 0)
{ {

6
BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs

@ -140,6 +140,12 @@ namespace BBWYB.Server.Model
/// </summary> /// </summary>
[Column(DbType = "bit")] [Column(DbType = "bit")]
public bool? IsBargainTeamUpdate { get; set; } = false; public bool? IsBargainTeamUpdate { get; set; } = false;
/// <summary>
/// 是否包邮
/// </summary>
[Column(DbType = "bit")]
public bool? IsFreeFreight { get; set; } = false;
} }
} }

5
BBWYB.Server.Model/Dto/Request/Optimization/BatchUpdateCompetitiveTenderQuotationRequest.cs

@ -36,5 +36,10 @@
/// 实际单价 /// 实际单价
/// </summary> /// </summary>
public decimal? ActualPrice { get; set; } public decimal? ActualPrice { get; set; }
/// <summary>
/// 是否包邮
/// </summary>
public bool IsFreeFreight { get; set; }
} }
} }

5
BBWYB.Server.Model/Dto/Request/PurchaseScheme/BatchEditPurchaseSkuActualPriceRequest.cs

@ -26,5 +26,10 @@
/// 实际单价 /// 实际单价
/// </summary> /// </summary>
public decimal? ActualPrice { get; set; } public decimal? ActualPrice { get; set; }
/// <summary>
/// 是否包邮
/// </summary>
public bool? IsFreeFreight { get; set; }
} }
} }

5
BBWYB.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeRequest.cs

@ -23,6 +23,11 @@ namespace BBWYB.Server.Model.Dto
public string ProductId { get; set; } public string ProductId { get; set; }
public string SkuId { get; set; } public string SkuId { get; set; }
/// <summary>
/// 是否包邮
/// </summary>
public bool? IsFreeFreight { get; set; } = false;
public List<InputPurchaseSchemeProductRequest> PurchaseSchemeProductList { get; set; } public List<InputPurchaseSchemeProductRequest> PurchaseSchemeProductList { get; set; }
} }
} }

5
BBWYB.Server.Model/Dto/Response/Optimization/MergePurchaseSchemeProductSkuResponse.cs

@ -87,5 +87,10 @@
/// 采购商品链接 /// 采购商品链接
/// </summary> /// </summary>
public string PurchaseUrl { get; set; } public string PurchaseUrl { get; set; }
/// <summary>
/// 是否包邮
/// </summary>
public bool? IsFreeFreight { get; set; } = false;
} }
} }

5
BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeProductSkuResponse.cs

@ -42,5 +42,10 @@
/// 采购件数,仅在查询条件IncludePurchaseSkuStatisticsInfo=1时具备该值 /// 采购件数,仅在查询条件IncludePurchaseSkuStatisticsInfo=1时具备该值
/// </summary> /// </summary>
public int? PurchasedItemCount { get; set; } = 0; public int? PurchasedItemCount { get; set; } = 0;
/// <summary>
/// 是否包邮,继承自采购方案
/// </summary>
public bool? IsFreeFreight { get; set; } = false;
} }
} }

Loading…
Cancel
Save