/// <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);//高级毛利率下限
            }
        }