Пример #1
0
        /// <summary>
        /// 插入Ocs分类
        /// </summary>
        /// <param name="SDto"></param>
        /// <returns></returns>
        public int AddOcsCategory(SWfsSortOcsCategory SDto)
        {
            int result = 0;

            result = DapperUtil.Insert <SWfsSortOcsCategory>(SDto, true);
            return(result);
        }
Пример #2
0
        /// <summary>
        /// 判断产品是否存在
        /// </summary>
        /// <param name="CategoryNo"></param>
        /// <param name="ProductNo"></param>
        /// <returns></returns>
        public bool IsExitProduct(string OCSCategoryNo, string ProductNo)
        {
            bool result = true;

            SWfsSortOcsCategory DTO = DapperUtil.Query <SWfsSortOcsCategory>("ComBeziWfs_SWfsSortProduct_IsRepeatCategoryNo", new
            {
                OcsCategoryNo = OCSCategoryNo,
                ProductNo     = ProductNo
            }).FirstOrDefault();

            if (DTO != null)
            {
                result = false;
            }
            return(result);
        }
Пример #3
0
        /// <summary>
        /// 查找子类别
        /// </summary>
        /// <param name="parentNo">父级NO</param>
        /// <returns></returns>
        public IList <OCSInfo> SelectCategoryByParentNo(string parentNo)
        {
            IList <OCSInfo> CategoryList = DapperUtil.Query <OCSInfo>("ComBeziWfs_WfsCategory_CategoryByParentNO", new { ParentNo = parentNo }).ToList();

            foreach (OCSInfo item in CategoryList)
            {
                //int ChildCount = DapperUtil.Query<int>("ComBeziWfs_WfsCategory_CategoryByIsParent", new { ParentNo = item.CategoryNo }).First();
                item.isParent = true;
                ProductRulesService prs         = new ProductRulesService();
                SWfsSortOcsCategory ocsCategory = prs.IsRuleCategory(item.CategoryNo);
                item.AutoLastFlag = ocsCategory != null?ocsCategory.AutoLastFlag:0;
                if (ocsCategory != null && ocsCategory.DateUpdate.ToString("yyyy-MM-dd") != "1900-01-01")
                {
                    item.SortUpdateDate  = ocsCategory.DateUpdate.ToString("yyyy-MM-dd");
                    item.IsUpdateDateOne = IsOne(ocsCategory.DateUpdate, System.DateTime.Now);
                }
            }
            return(CategoryList);
        }
Пример #4
0
        //根据搜索条件生成搜索参数
        private Parameters CreateParam(int pageIndex, int pageSize)
        {
            Parameters p = new Parameters();

            if (Request.QueryString["childCategoryNO"] != null && Request.QueryString["childCategoryNO"] != "0")
            {
                p.categoryNO      = Request.QueryString["childCategoryNO"].ToUpper();
                p.OCSCategoryName = Server.UrlDecode(Request.QueryString["childCategoryname"]);
                //p.OCSCategoryName = Request.QueryString["childCategoryname"];
            }
            p.start = ((pageIndex - 1) * pageSize + 1) + "";
            p.end   = (pageIndex * pageSize) + "";
            if (!string.IsNullOrEmpty(Request.QueryString["ProductNo"]))
            {
                p.productNO = Request.QueryString["ProductNo"];
            }
            if (!string.IsNullOrEmpty(Request.QueryString["brandNO"]) && Request.QueryString["brandNO"] != "0")
            {
                p.brandNO   = Request.QueryString["brandNO"].ToUpper();
                p.BrandName = Server.UrlDecode(Request.QueryString["brandName"]);
                //p.BrandName = Request.QueryString["brandName"];
            }
            if (!string.IsNullOrEmpty(Request.QueryString["colorId"]) && Request.QueryString["colorId"] != "0")
            {
                p.colorId   = Request.QueryString["colorId"].ToUpper();
                p.ColorName = Server.UrlDecode(Request.QueryString["colorName"]);
                //p.ColorName = Request.QueryString["colorName"];
            }
            if (!string.IsNullOrEmpty(Request.QueryString["ProductName"]))
            {
                p.productName = Server.UrlEncode(Request.QueryString["ProductName"]);
                //p.productName = Server.UrlDecode(Request.QueryString["ProductName"]);
                //p.productName = Url.Encode(Request.QueryString["ProductName"]);
            }
            if (Request.QueryString["shelfType"] == "0")
            {
                p.shelfType = "0";
                if (Request.QueryString["categoryType"] == "1")
                {
                    ProductRulesService prs         = new ProductRulesService();
                    SWfsSortOcsCategory ocsCategory = prs.IsRuleCategory(Request.QueryString["categoryno"]);//用分类的ID查询
                    if (ocsCategory != null && ocsCategory.DateUpdate.ToString("yyyy-MM-dd") != "1900-01-01")
                    {
                        p.shelfDate = ocsCategory.DateUpdate.ToString("yyyy-MM-dd HH:mm:ss") + "~" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                    }
                }
                else if (Request.QueryString["categoryType"] == "2")
                {
                    ProductRulesService prs         = new ProductRulesService();
                    SWfsSortOcsCategory ocsCategory = prs.IsRuleCategory(Request.QueryString["BrandNO"]);//用品牌ID查询
                    if (ocsCategory != null && ocsCategory.DateUpdate.ToString("yyyy-MM-dd") != "1900-01-01")
                    {
                        p.shelfDate = ocsCategory.DateUpdate.ToString("yyyy-MM-dd HH:mm:ss") + "~" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                    }
                }
            }
            else if (Request.QueryString["shelfType"] == "1")
            {
                if (!string.IsNullOrEmpty(Request.QueryString["shelfDateStart"]) && !string.IsNullOrEmpty(Request.QueryString["shelfDateEnd"]))
                {
                    p.shelfType      = "1";
                    p.shelfDate      = Request.QueryString["shelfDateStart"] + "~" + Request.QueryString["shelfDateEnd"];
                    p.StartShelfDate = Request.QueryString["shelfDateStart"];
                    p.EndShelfDate   = Request.QueryString["shelfDateEnd"];
                }
            }
            if (!string.IsNullOrWhiteSpace(Request.QueryString["postArea"]))
            {
                p.postArea = Request.QueryString["postArea"];
            }
            if (!string.IsNullOrEmpty(Request.QueryString["MinPrice"]))
            {
                p.price      = Request.QueryString["MinPrice"] + "~" + (string.IsNullOrEmpty(Request.QueryString["MaxPrice"]) ? "10000000" : Request.QueryString["MaxPrice"]);
                p.StartPrice = Request.QueryString["MinPrice"];
                p.EndPrice   = string.IsNullOrEmpty(Request.QueryString["MaxPrice"]) ? "10000000" : Request.QueryString["MaxPrice"];
            }
            else if (!string.IsNullOrEmpty(Request.QueryString["MaxPrice"]))
            {
                p.price      = "0" + "~" + Request.QueryString["MaxPrice"];
                p.StartPrice = "0";
                p.EndPrice   = Request.QueryString["MaxPrice"];
            }
            if (!string.IsNullOrEmpty(Request.QueryString["MinStock"]))
            {
                p.stock      = Request.QueryString["MinStock"] + "~" + (string.IsNullOrEmpty(Request.QueryString["MaxStock"]) ? "100000" : Request.QueryString["MaxStock"]);
                p.StartStock = Request.QueryString["MinStock"];
                p.EndStock   = string.IsNullOrEmpty(Request.QueryString["MaxStock"]) ? "100000" : Request.QueryString["MaxStock"];
            }
            else if (!string.IsNullOrEmpty(Request.QueryString["MaxStock"]))
            {
                p.stock      = "0" + "~" + Request.QueryString["MaxStock"];
                p.StartStock = "0";
                p.EndStock   = Request.QueryString["MaxStock"];
            }
            if (Server.UrlDecode(Request.QueryString["MinDiscountRate"]) != null && Server.UrlDecode(Request.QueryString["MinDiscountRate"]) != "")
            {
                p.discountRate      = Request.QueryString["MinDiscountRate"] + "~" + (string.IsNullOrEmpty(Request.QueryString["MaxDiscountRate"]) ? "100000" : Request.QueryString["MaxDiscountRate"]);
                p.StartDiscountRate = Request.QueryString["MinDiscountRate"];
                p.EndDiscountRate   = string.IsNullOrEmpty(Request.QueryString["MaxDiscountRate"]) ? "100000" : Request.QueryString["MaxDiscountRate"];
            }
            else if (Server.UrlDecode(Request.QueryString["MaxDiscountRate"]) != null && Server.UrlDecode(Request.QueryString["MaxDiscountRate"]) != "")
            {
                p.discountRate      = "0" + "~" + Request.QueryString["MaxDiscountRate"];
                p.StartDiscountRate = "0";
                p.EndDiscountRate   = Request.QueryString["MaxDiscountRate"];
            }
            if (!string.IsNullOrEmpty(Request.QueryString["MinHot"]) && !string.IsNullOrEmpty(Request.QueryString["MaxHot"]))
            {
                if (Request.QueryString["HotType"] == "0")
                {
                    p.hot = Request.QueryString["MinHot"] + "~" + Request.QueryString["MaxHot"];
                }
                else if (Request.QueryString["HotType"] == "1")
                {
                    p.sevenHot = Request.QueryString["MinHot"] + "~" + Request.QueryString["MaxHot"];
                }
            }

            return(p);
        }
Пример #5
0
        /// <summary>
        /// 产品加入排序池的运算方法
        /// </summary>
        /// <param name="OcsCategoryNo">OCS分类编号</param>
        /// <param name="ProductNo">产品编号</param>
        /// <returns>0为失败,1为成功</returns>
        public int AddProductToSort(string OcsCategoryNo, string OcsCategoryName, string CateGoryType, SortProduct Product)
        {
            int result = 0;

            if (IsExitProduct(OcsCategoryNo, Product.ProductNo))  //判断产品是否存在
            {
                #region
                SWfsSortOcsCategory CateDtos = IsRuleCategory(OcsCategoryNo);
                //该系列没有加入排序
                if (CateDtos == null)
                {
                    //添加ocs分类
                    SWfsSortOcsCategory SDto = new SWfsSortOcsCategory
                    {
                        IsApplyRule  = false,
                        CategoryName = OcsCategoryName,
                        CategoryNo   = OcsCategoryNo,
                        AutoLastFlag = 0,
                        DateUpdate   = Convert.ToDateTime("1900-01-01"),
                        DateCreate   = DateTime.Now,
                        CategoryType = Convert.ToInt16(CateGoryType)
                    };
                    AddOcsCategory(SDto);
                    SWfsSortProduct pDto = new SWfsSortProduct()
                    {
                        OcsCategoryNo = OcsCategoryNo,
                        ProductNo     = Product.ProductNo,
                        Sort          = 1,
                        RuleId        = 0,
                        DateCreate    = DateTime.Now
                    };
                    AddProductToSortSingle(pDto);
                    result = 1;
                }
                //该分类已经加入排序
                else
                {
                    //已经执行规则
                    if (CateDtos.IsApplyRule)
                    {
                        List <SWfsSortRule> NDto        = GetRuleByCategoryNo(OcsCategoryNo);           //查找分类下的规则
                        SWfsSortRule        RuleDto     = GetSmallRuleFromListByProduct(NDto, Product); //查找分类最小规则
                        SWfsSortProduct     NproductDto = new SWfsSortProduct();
                        int RuleId = 0;

                        if (RuleDto == null || RuleDto.RuleId + "" == "")
                        {
                            NproductDto = GetMinProductByCategory(OcsCategoryNo);//查询未匹配上的最小产品
                            RuleId      = -1;
                        }
                        else
                        {
                            NproductDto = GetRuleMinProduct(RuleDto.RuleId + "", OcsCategoryNo);//根据最小规则查找最小产品
                            RuleId      = RuleDto.RuleId;
                        }

                        int             SortId = NproductDto.Sort;
                        SWfsSortProduct pDto   = new SWfsSortProduct()
                        {
                            OcsCategoryNo = OcsCategoryNo,
                            ProductNo     = Product.ProductNo,
                            Sort          = SortId,
                            RuleId        = RuleId,
                            DateCreate    = DateTime.Now
                        };
                        AddProductToSortSingle(pDto);
                    }
                    //未执行规则
                    else
                    {
                        SWfsSortProduct NDto   = GetCategoryMaxProduct(OcsCategoryNo);
                        int             sortId = NDto.Sort + 1;
                        SWfsSortProduct pDto   = new SWfsSortProduct()
                        {
                            OcsCategoryNo = OcsCategoryNo,
                            ProductNo     = Product.ProductNo,
                            Sort          = sortId,
                            RuleId        = 0,
                            DateCreate    = DateTime.Now
                        };
                        AddProductToSortSingle(pDto);
                    }
                    result = 1;
                }
                #endregion
            }
            return(result);
        }