/// <summary> /// 就绪-->运行 /// </summary> /// <param name="groupBuyingItem"></param> /// <returns></returns> private static bool SetRunning(ProductGroupBuyingEntity groupBuyingItem) { if (groupBuyingItem.Status != "P") { throw new BusinessException("不是就绪状态"); } using (TransactionScope ts = new TransactionScope()) { List <ProductPriceInfoEntity> priceInfoList = GroupBuyingDA.GetProductPriceInfoList(groupBuyingItem.ProductSysNo, groupBuyingItem.IsByGroup); groupBuyingItem.Status = "A"; if (groupBuyingItem.GroupBuyingTypeSysNo != 6) { #region 如果团购类型为抽奖(6),则不需下列操作 ProductGroupBuying_PriceEntity gbPrice = GroupBuyingDA.GetProductGroupBuying_PriceList(groupBuyingItem).OrderBy(e => e.SellCount).ToList()[0]; //设置原价 groupBuyingItem.OriginalPrice = GroupBuyingDA.GetOriginalPrice(groupBuyingItem.ProductSysNo, groupBuyingItem.IsByGroup); //设置团购为原始价格并记录团购最低阶价格 foreach (ProductPriceInfoEntity priceinfo in priceInfoList) { ProductGroupBuying_SnapShotPriceEntity snapShotPrice = new ProductGroupBuying_SnapShotPriceEntity(); snapShotPrice.SnapShotCashRebate = priceinfo.CashRebate; snapShotPrice.SnapShotCurrentPrice = priceinfo.CurrentPrice; snapShotPrice.SnapShotMaxPerOrder = priceinfo.MaxPerOrder; snapShotPrice.SnapShotPoint = priceinfo.Point; snapShotPrice.ProductSysNo = priceinfo.ProductSysNo; snapShotPrice.ProductGroupBuyingSysNo = groupBuyingItem.SysNo; snapShotPrice.SnapshotBasicPrice = priceinfo.BasicPrice; //插入快照价格 GroupBuyingDA.CreateSnapShotPrice(snapShotPrice); ProductPriceInfoEntity itemPrice = new ProductPriceInfoEntity(); itemPrice = GroupBuyingDA.LoadItemPrice(priceinfo.ProductSysNo); itemPrice.CashRebate = 0; itemPrice.BasicPrice = groupBuyingItem.OriginalPrice; itemPrice.CurrentPrice = gbPrice.GroupBuyingPrice; itemPrice.Point = 0; groupBuyingItem.BasicPrice = itemPrice.BasicPrice; //判断MaxPerOrder是否输入 if (groupBuyingItem.MaxPerOrder > 0) { itemPrice.MaxPerOrder = groupBuyingItem.MaxPerOrder; } //修改价格 //GroupBuyingDA.UpdateItemPrice(itemPrice); GroupBuyingDA.UpdateItemPrice(itemPrice, groupBuyingItem, groupBuyingItem.InDate, "IPPSystemAdmin", DateTime.Now, "团购调价就绪-->运行", "JobConsole", "GroupBuying"); //修改商品信息促销类型为团购“GB” GroupBuyingDA.UpdateProductEx(itemPrice.ProductSysNo, "GB"); //验证一个规则内差价是否小于0 if (groupBuyingItem.ProductSysNo != 0) { CheckSaleRule(groupBuyingItem.ProductSysNo); } //类型PriceLogType:记录为“限时促销调价”; //申请时间CreateDate:dbo.ProductGroupBuying .InDate; //生效时间UpdateDate:dbo.ProductGroupBuying .BeginDate; //申请人CreateUser:InUser; //审核人UpdateUser:dbo.ProductGroupBuying.Audituser; //商品原价OldPrice:SnapShotCurrentPrice; //调后价格NewPrice:GroupBuyingCurrentPrice; //调整幅度offset:调后价格减去商品原价减去积分 //返现金额CashRebate:GroupBuyingCashRebate; //积分Point: GroupBuyingPoint //2011-12-1 删除-该功能移入SP Rik.K.Li //decimal offset = 0; //decimal point = (0 - snapShotPrice.SnapShotPoint) / 10m; //offset = itemPrice.CurrentPrice - snapShotPrice.SnapShotCurrentPrice - point; //string userName = groupBuyingItem.InUser; //GroupBuyingDA.InsertGroupBuyingProductPricechangeLog(itemPrice.ProductSysNo.ToString(), // gbPrice.GroupBuyingPrice.ToString(), // snapShotPrice.SnapShotCurrentPrice.ToString(), // offset.ToString(), // itemPrice.UnitCost, // 0, // 0, // groupBuyingItem.InUser, // groupBuyingItem.InDate, // groupBuyingItem.AuditUser, // groupBuyingItem.BeginDate, // "团购调价就绪-->运行", // "JobConsole", // "GroupBuying"); } #endregion } GroupBuyingDA.UpdateProductGroupBuyingRun(groupBuyingItem); groupBuyingItem.Reasons = ""; SyncGroupBuyingStatus(groupBuyingItem); ts.Complete(); } return(true); }