/// <summary> /// Step 2. 在商务报表中查找符合条件的"抵消前期暂估" /// </summary> /// <param name="buyModel"></param> /// <param name="mappingModelList"></param> private static void Step2_PromotionDiXiaoQianQiZanGu(BuyModel buyModel, List <MappingModel> mappingModelList) { //在商务报表中查找货号 var mappingModelList_Buy = mappingModelList.Where(v => v.ProductNo.Equals(buyModel.ProductNo) && v.MaiMai == 2).ToList(); var mappingModelList_Sell = mappingModelList.Where(v => v.ProductNo.Equals(buyModel.ProductNo) && v.MaiMai == 1 && v.FaPiaoShiJian != DateTime.MinValue && !string.IsNullOrEmpty(v.FaPiaoHaoMa)).ToList(); var buyTotalCount = mappingModelList_Buy.Sum(v => v.KaiChuShouDaoFaPiaoDunShu); var sellTotalCount = mappingModelList_Sell.Sum(v => v.KaiChuShouDaoFaPiaoDunShu); if (buyTotalCount == sellTotalCount) { buyModel.SetSellMode(BuyModelSaleMode.DiXiaoQianQiZanGu); buyModel.RelativeBusinessIds.AddRange(mappingModelList_Buy.Select(v => v.Id)); buyModel.RelativeBusinessIds.AddRange(mappingModelList_Sell.Select(v => v.Id)); buyModel.RelativeBusinessIds.RemoveAll(v => v == buyModel.Id); } }