コード例 #1
0
        /// <summary>
        /// 加载三级类通用关键字
        /// </summary>
        /// <returns></returns>
        //public virtual CommonKeyWords LoadCommonKeyWords(int sysNo)
        //{
        //    return keywordDA.LoadCommonKeyWords(sysNo);
        //}
        #endregion

        #region  级类属性关键字(PropertyKeywords)
        /// <summary>
        /// 获取三级类别下的属性列表
        /// </summary>
        /// <returns></returns>
        public virtual List <ECCentral.BizEntity.IM.CategoryProperty> GetPropertyByCategory(int sysNo)
        {
            //调用 IM的接口获取属性列表
            //IList<ECCentral.BizEntity.IM.CategoryProperty> list = ExternalDomainBroker.GetCategoryPropertyByCategorySysNo(sysNo);//ObjectFactory<ECCentral.Service.IBizInteract.IIMBizInteract>.Instance
            ECCentral.BizEntity.IM.CategorySetting list = ExternalDomainBroker.GetCategorySetting(sysNo);
            return(list.CategoryProperties.ToList());
        }
コード例 #2
0
        public virtual decimal GetCategoryMinGrossMarginRate(ProductInfo product)
        {
            CategorySetting setting = ExternalDomainBroker.GetCategorySetting(product.ProductBasicInfo.ProductCategoryInfo.SysNo.Value);

            return(setting.PrimaryMargin);
        }
コード例 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="product"></param>
        /// <param name="isPrimary">是否为初级毛利,否的话就是高级毛利</param>
        /// <returns></returns>
        public virtual decimal GetStockGrossMarginRate(ProductInfo product, bool isPrimary)
        {
            int             inStockDays = ExternalDomainBroker.GetInStockDaysByProductSysNo(product.SysNo);
            CategorySetting cateSetting = ExternalDomainBroker.GetCategorySetting(product.ProductBasicInfo.ProductCategoryInfo.SysNo.Value);
            MinMarginKPI    kpi         = new MinMarginKPI();

            if (cateSetting.CategoryMinMarginInfo != null && cateSetting.CategoryMinMarginInfo.Margin != null && cateSetting.CategoryMinMarginInfo.Margin.Count() > 0)
            {
                if (inStockDays >= 0 && inStockDays <= 30)
                {
                    kpi = cateSetting.CategoryMinMarginInfo.Margin[MinMarginDays.Thirty];
                }

                if (inStockDays >= 31 && inStockDays <= 60)
                {
                    kpi = cateSetting.CategoryMinMarginInfo.Margin[MinMarginDays.Sixty];
                }

                if (inStockDays >= 61 && inStockDays <= 90)
                {
                    kpi = cateSetting.CategoryMinMarginInfo.Margin[MinMarginDays.Ninety];
                }

                if (inStockDays >= 91 && inStockDays <= 120)
                {
                    kpi = cateSetting.CategoryMinMarginInfo.Margin[MinMarginDays.OneHundredAndTwenty];
                }

                if (inStockDays >= 120 && inStockDays <= 180)
                {
                    kpi = cateSetting.CategoryMinMarginInfo.Margin[MinMarginDays.OneHundredAndEighty];
                }

                if (inStockDays > 180)
                {
                    kpi = cateSetting.CategoryMinMarginInfo.Margin[MinMarginDays.Other];
                }
            }
            else
            {
                if (inStockDays >= 0 && inStockDays <= 30)
                {
                    kpi.MinMargin = 0.05m;
                    kpi.MaxMargin = 0.05m;
                }

                if (inStockDays >= 31 && inStockDays <= 180)
                {
                    kpi.MinMargin = 0.01m;
                    kpi.MaxMargin = 0.01m;
                }

                if (inStockDays > 180)
                {
                    kpi.MinMargin = -0.03m;
                    kpi.MaxMargin = -0.03m;
                }
            }
            if (isPrimary)
            {
                return(kpi.MinMargin);//初级毛利率下限
            }
            else
            {
                return(kpi.MaxMargin);//高级毛利率下限
            }
        }