diff --git a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs index 8b5660e..ca7f558 100644 --- a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs +++ b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs @@ -1575,5 +1575,54 @@ namespace BBWYB.Server.Business }, userId); } + + public IList GetGoodsSourceTagsInfo(List requestList, string userId) + { + var uInfo = userBusiness.GetisBargainTeamByUserId(userId); + var list = new List(); + var purchaseSkuIdList = requestList.Select(x => x.PurchaseSkuId).ToList(); + var purchaserIdList = requestList.Select(x => x.PurchaserId).ToList(); + + #region 查询淘汰供应商 + + #endregion + + #region 查询采购过的sku + var purchasedSkuList = fsql.Select() + .InnerJoin((opi, opri, ps) => opi.OrderId == opri.OrderId && opi.PurchaseOrderId == opri.PurchaseOrderId) + .InnerJoin((opi, opri, ps) => opri.SchemeId == ps.Id) + .Where((opi, opri, ps) => opi.IsEnabled == true && + purchaseSkuIdList.Contains(opri.PurchaseSkuId)) + .GroupBy((opi, opri, ps) => new { opri.PurchaseSkuId, opri.SchemeId, ps.BelongBargainTeamId }) + .ToList(g => new + { + g.Key.PurchaseSkuId, + g.Key.SchemeId, + g.Key.BelongBargainTeamId + }); + + foreach (var purchasedSku in purchasedSkuList) + { + var goodsSourceTag = new GoodsSourceTagResponse() + { + PurchaseSku = purchasedSku.PurchaseSkuId, + GoodsSourceTagType = purchasedSku.BelongBargainTeamId != uInfo.user.DepartmentId ? + Enums.GoodsSourceTagType.其他组采购过该商品 : + Enums.GoodsSourceTagType.本组采购过该商品 + }; + list.Add(goodsSourceTag); + purchaseSkuIdList.Remove(purchasedSku.PurchaseSkuId); //排除采购过的sku + } + #endregion + + #region 查询添加为采购方案的sku + if (purchaseSkuIdList.Count() > 0) + { + + } + #endregion + + return list; + } } } diff --git a/BBWYB.Server.Model/Dto/Request/PurchaseScheme/QueryGoodsSourceTagRequest.cs b/BBWYB.Server.Model/Dto/Request/PurchaseScheme/QueryGoodsSourceTagRequest.cs new file mode 100644 index 0000000..fc39f0a --- /dev/null +++ b/BBWYB.Server.Model/Dto/Request/PurchaseScheme/QueryGoodsSourceTagRequest.cs @@ -0,0 +1,9 @@ +namespace BBWYB.Server.Model.Dto +{ + public class QueryGoodsSourceTagRequest + { + public string PurchaseSkuId { get; set; } + + public string PurchaserId { get; set; } + } +} diff --git a/BBWYB.Server.Model/Dto/Response/PurchaseScheme/GoodsSourceTagResponse.cs b/BBWYB.Server.Model/Dto/Response/PurchaseScheme/GoodsSourceTagResponse.cs new file mode 100644 index 0000000..6d73a97 --- /dev/null +++ b/BBWYB.Server.Model/Dto/Response/PurchaseScheme/GoodsSourceTagResponse.cs @@ -0,0 +1,9 @@ +namespace BBWYB.Server.Model.Dto +{ + public class GoodsSourceTagResponse + { + public string PurchaseSku { get; set; } + + public Enums.GoodsSourceTagType GoodsSourceTagType { get; set; } + } +} diff --git a/BBWYB.Server.Model/Enums.cs b/BBWYB.Server.Model/Enums.cs index 736bbb9..3ef2064 100644 --- a/BBWYB.Server.Model/Enums.cs +++ b/BBWYB.Server.Model/Enums.cs @@ -363,5 +363,23 @@ { 临时 = 0, 永久 = 1 } + + /// + /// 货源标记类型 + /// + /// 未采购 = 0,被淘汰的供应商 = 1,其他组采购过该商品 = 2,其他组添加过采购方案 = 3,其他组历史采购过该供应商的商品 = 4,本组采购过该商品 = 10,本组添加过采购方案 = 11,本组历史采购过该供应商的商品 = 12 + /// + /// + public enum GoodsSourceTagType + { + 未采购 = 0, + 被淘汰的供应商 = 1, + 其他组采购过该商品 = 2, + 其他组添加过采购方案 = 3, + 其他组历史采购过该供应商的商品 = 4, + 本组采购过该商品 = 10, + 本组添加过采购方案 = 11, + 本组历史采购过该供应商的商品 = 12 + } } }