/// <summary> /// 运行-->结束 /// </summary> /// <param name="GroupBuyingSysNo"></param> public static void SetFinish(ProductGroupBuyingEntity groupBuyingItem) { //必须是Running if (groupBuyingItem.Status != "A") { throw new BusinessException("the current status not allow such opertion"); } else { //设置阶梯价格 SetStepPrice(groupBuyingItem); } groupBuyingItem = GroupBuyingDA.GetGroupBuyingItemBySysno(groupBuyingItem.SysNo); groupBuyingItem.Status = "F"; decimal gbCurentPrice = 0; List <ProductGroupBuying_SnapShotPriceEntity> snapShotList = GroupBuyingDA.GetSnapShotPriceList(groupBuyingItem.SysNo); using (TransactionScope ts = new TransactionScope()) { foreach (ProductGroupBuying_SnapShotPriceEntity snapShot in snapShotList) { ProductPriceInfoEntity itemPrice = GroupBuyingDA.LoadItemPrice(snapShot.ProductSysNo); gbCurentPrice = itemPrice.CurrentPrice; itemPrice.BasicPrice = snapShot.SnapshotBasicPrice; itemPrice.CurrentPrice = snapShot.SnapShotCurrentPrice; itemPrice.CashRebate = snapShot.SnapShotCashRebate; itemPrice.Point = snapShot.SnapShotPoint; itemPrice.MaxPerOrder = snapShot.SnapShotMaxPerOrder; //GroupBuyingDA.UpdateItemPrice(itemPrice); GroupBuyingDA.UpdateItemPrice(itemPrice, groupBuyingItem, groupBuyingItem.InDate, "IPPSystemAdmin", DateTime.Now, "团购调价就绪-->运行", "JobConsole", "GroupBuying"); GroupBuyingDA.UpdateProductEx(snapShot.ProductSysNo, string.Empty); //验证一个规则内差价是否小于0 if (snapShot != null && snapShot.ProductSysNo != 0) { CheckSaleRule(snapShot.ProductSysNo); } //decimal offset = 0; //decimal point = (itemPrice.Point - 0) / 10m; //offset = itemPrice.CurrentPrice - gbCurentPrice - point; //类型PriceLogType:记录为“限时促销调价”; //申请时间CreateDate:dbo.ProductGroupBuying .CreateTime; //生效时间UpdateDate: EndTime; //申请人CreateUser:dbo.ProductGroupBuying.Createusersysno对应的username; //审核人UpdateUser:dbo.ProductGroupBuying.Audituser; //商品原价OldPrice:GroupBuyingCurrentPrice; //调后价格NewPrice:SnapShotCurrentPrice; //调整幅度offset:调后价格减去商品原价; //返现金额CashRebate:SnapShotCashRebate; //2011-12-1 删除-该功能移入SP Rik.K.Li //GroupBuyingDA.InsertGroupBuyingProductPricechangeLog(itemPrice.ProductSysNo.ToString(), // snapShot.SnapShotCurrentPrice.ToString(), // gbCurentPrice.ToString(), // offset.ToString(), // itemPrice.UnitCost, // snapShot.SnapShotCashRebate, // snapShot.SnapShotPoint, // groupBuyingItem.InUser, // groupBuyingItem.InDate, // groupBuyingItem.AuditUser, // groupBuyingItem.EndDate, // "团购调价运行-->结束", // "JobConsole", // "GroupBuying"); } if (groupBuyingItem.SuccessDate != null) { groupBuyingItem.DealPrice = gbCurentPrice; } else { groupBuyingItem.DealPrice = 0; } GroupBuyingDA.UpdateProductGroupBuyingFinish(groupBuyingItem); SyncGroupBuyingStatus(groupBuyingItem); ts.Complete(); } }