コード例 #1
0
        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());
        }