public ActionResult GetSettleData() { SettleQueryFilter filter = BuildQueryFilterEntity <SettleQueryFilter>(); filter.MerchantSysNo = UserAuthHelper.GetCurrentUser().SellerSysNo; var result = SettleService.SettleQuery(filter); return(AjaxGridJson(result)); }
public ActionResult ViewCommissionItemDetail() { int sysno = 0; if (Request["sysno"] == null) { sysno = SettleService.GetNotSettleedSysNo(UserAuthHelper.GetCurrentUser().SellerSysNo); } else { sysno = int.Parse(Request["sysno"]); } decimal rentFee = 0; if (Request["RentFee"] != null) { rentFee = decimal.Parse(Request["RentFee"]); } List <CommissionItemInfo> commissionItems = null; commissionItems = SettleService.GetCommissionItem(sysno, UserAuthHelper.GetCurrentUser().SellerSysNo); //SAC:销售提成;SOC:订单提成;DEF:配送费用; List <CommissionItemInfo> commissionItems_SAC = new List <CommissionItemInfo>(); List <CommissionItemInfo> commissionItems_SOC = new List <CommissionItemInfo>(); List <CommissionItemInfo> commissionItems_DEF = new List <CommissionItemInfo>(); foreach (CommissionItemInfo item in commissionItems) { switch (item.CommissionType) { case CommissionType.SAC: #region 销售规则 if (!string.IsNullOrEmpty(item.SalesRuleXml) && item.SalesRuleEntity != null) { item.SalesRuleStr = string.Format("保底金额:{0}<br/>", item.SalesRuleEntity.MinCommissionAmt.ToString("f2")); for (int i = 0; i < item.SalesRuleEntity.Rules.Count; i++) { string startAmt = item.SalesRuleEntity.Rules[i].StartAmt.ToString("f2"); string endAmt = item.SalesRuleEntity.Rules[i].EndAmt.ToString("f2"); string percentage = (item.SalesRuleEntity.Rules[i].Percentage).ToString("f2") + "%"; if (item.SalesRuleEntity.Rules[i].StartAmt == 0.0m && item.SalesRuleEntity.Rules[i].EndAmt == 0.0m) { item.SalesRuleStr += string.Format("按销售总额的 {0} 收取佣金<br/>", percentage); break; } else if (item.SalesRuleEntity.Rules[i].StartAmt == 0.0m) { item.SalesRuleStr += string.Format("不超过 {0}元的部分,按销售总额的 {1} 收取佣金<br/>", endAmt, percentage); } else if (item.SalesRuleEntity.Rules[i].EndAmt == 0.0m) { item.SalesRuleStr += string.Format("超过 {0}元的部分,按销售总额的 {1} 收取佣金<br/>", startAmt, percentage); } else { item.SalesRuleStr += string.Format("超过 {0}元 至 {1}元的部分,按销售总额的 {2} 收取佣金<br/>", startAmt, endAmt, percentage); } } } #endregion commissionItems_SAC.Add(item); break; case CommissionType.SOC: item.SalesRuleStr = item.SalesRuleSOC.ToString("f2"); commissionItems_SOC.Add(item); break; case CommissionType.DEF: item.SalesRuleStr = item.SalesRuleDEF.ToString("f2"); commissionItems_DEF.Add(item); break; } } decimal SACSum = commissionItems_SAC.Sum(x => x.SalesCommissionFee); decimal SOCSum = commissionItems_SOC.Sum(x => x.OrderCommissionFee); decimal DEFSum = commissionItems_DEF.Sum(x => x.DeliveryFee); decimal SumAll = SACSum + SOCSum;// +DEFSum + rentFee; ViewBag.SAC = commissionItems_SAC; ViewBag.SOC = commissionItems_SOC; ViewBag.DEF = commissionItems_DEF; ViewBag.StatisticalInformation = string.Format("佣金信息汇总:销售提成 {0}元,订单提成 {1}元 总计:{2}元", SACSum.ToString("f2"), SOCSum.ToString("f2"), SumAll.ToString("f2")); ViewBag.CommissionMasterInfo = SettleService.GetCommissionMasterInfoBySysNo(sysno, UserAuthHelper.GetCurrentUser().SellerSysNo); ViewBag.VendorName = string.Format("{0} ({1})", UserAuthHelper.GetCurrentUser().SellerName, UserAuthHelper.GetCurrentUser().SellerSysNo); return(View()); }
public ActionResult ViewCommissionLogDetail() { string type = string.Empty; if (Request["type"] != null) { type = Request["type"].ToString(); } List <int> sysnoList = new List <int>(); if (Request["Data"] != null && Request["Data"].ToString() != "") { foreach (var item in Request["Data"].ToString().Split(',')) { sysnoList.Add(int.Parse(item)); } } string brandCategory = string.Empty; if (Request["brandCategory"] != null) { brandCategory = Request["brandCategory"].ToString(); } List <CommissionItemLogDetailInfo> data = SettleService.QueryCommissionLogDetail(UserAuthHelper.GetCurrentUser().SellerSysNo, type, sysnoList); if (string.IsNullOrEmpty(type) || data == null) { return(View()); } int soCount = (from x in data where x.ReferenceType.Trim().ToUpper() == OrdersType.SO group x by x.ReferenceSysNo into g select g).Count(); int rmaCount = (from x in data where x.ReferenceType.Trim().ToUpper() == OrdersType.RMA group x by x.ReferenceSysNo into g select g).Count(); FillDataSource(data); switch ((CommissionType)Enum.Parse(typeof(CommissionType), type.ToUpper())) { case CommissionType.SAC: { ViewBag.SACData = data; var totalAmtSO = data.FindAll(x => { return(x.ReferenceType.Trim().ToUpper() == OrdersType.SO); }).Sum(x => { return(x.Qty * x.Price); }); var totalAmtRMA = data.FindAll(x => { return(x.ReferenceType.Trim().ToUpper() == OrdersType.RMA); }).Sum(x => { return(x.Qty * x.Price); }); decimal totalPromotionDiscount = data.Where(x => x.PromotionDiscount.HasValue).Sum(x => x.PromotionDiscount.Value * x.Qty); totalPromotionDiscount = Math.Round(totalPromotionDiscount, 2); ViewBag.StatisticalInformation = string.Format("代理品类:{0},销售金额总计:{1}元", brandCategory, (totalAmtSO + totalAmtRMA + totalPromotionDiscount).ToString("f2")); break; } case CommissionType.SOC: { ViewBag.SOCData = data; ViewBag.StatisticalInformation = string.Format("代理品类:{0},销售订单数:{1};退货单数:{2}", brandCategory, soCount, rmaCount); break; } case CommissionType.DEF: { ViewBag.DEFData = data; ViewBag.StatisticalInformation = string.Format("代理品类:{0},销售订单数:{1};", brandCategory, soCount); break; } default: break; } return(View()); }
public void SetConfirm(Transaction transaction) { using (TransactionAccessClient _tran = new TransactionAccessClient(EndpointName.TransactionAccess)) { SettleService _settle = new SettleService(); WeeklySummaryCollection _weekco = new WeeklySummaryCollection(); //From Entity WeeklySummary _weekFrom = new WeeklySummary(); _weekFrom.ExchangeRate = transaction.ExchangeRate; _weekFrom.Period = transaction.Period; _weekFrom.Entity = transaction.FromEntity; _weekFrom.BaseTransaction = -(transaction.Amount); _weekFrom.BaseCurrency = transaction.FromCurrency; //To Entity WeeklySummary _weekTo = new WeeklySummary(); _weekTo.ExchangeRate = transaction.ExchangeRate; _weekTo.Period = transaction.Period; _weekTo.Entity = transaction.ToEntity; _weekTo.BaseTransaction = transaction.To_Amount; _weekTo.BaseCurrency = transaction.ToCurrency; _weekco.Add(_weekFrom); _weekco.Add(_weekTo); _settle.TransactionConfirm(_weekco); _tran.SetConfirm(transaction.ID, transaction.Updater.UserID, transaction.Period.ID); } }