/// <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); }
/// <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); }
/// <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); }
//根据搜索条件生成搜索参数 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); }
/// <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); }