/// <summary> /// 插入产品 /// </summary> /// <param name="ProductInfo"></param> /// <returns></returns> public int AddProductToSortSingle(SWfsSortProduct productInfo) { int result = 0; result = DapperUtil.Insert <SWfsSortProduct>(productInfo, true); return(result); }
//验证是否已经加入 public ActionResult AddProductAjax() { Parameters param = new Parameters(); param.productNO = Request.Form["productNo"]; if (string.IsNullOrEmpty(Request.Form["categoryNo"])) { return(Json(new { error = 1, msg = "商品分类不存在" })); } if (string.IsNullOrEmpty(param.productNO)) { return(Json(new { error = 1, msg = "商品编号不存在" })); } if (string.IsNullOrEmpty(Request.Form["categoryType"])) { return(Json(new { error = 1, msg = "请选择左侧的分类或则品牌" })); } ProductSortService tian = new ProductSortService(); List <SortProduct> searchProductList = tian.GetXMLProductByProductNo(param); SWfsSortProduct saveProductObj = tian.GetSortProductByProductNo(Request.Form["productNo"], Request.Form["categoryNo"]); if (saveProductObj != null) { if (searchProductList.Count(p => p.ProductNo == saveProductObj.ProductNo) > 0) { return(Json(new { error = 1, msg = "该商品已加入排序" })); } } ProductRulesService zhao = new ProductRulesService(); for (int i = 0; i < searchProductList.Count; i++) { zhao.AddProductToSort(Request.Form["categoryNo"].ToUpper(), "", Request.Form["categoryType"], searchProductList.ElementAt(i)); } return(Json(new { error = 0, msg = "加入成功" })); }
/// <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); }
public string SaveProductSort(PageDateInfo PageDateList) { PageDateList.CategoryNo = PageDateList.CategoryNo; ProductRulesService PsortService = new ProductRulesService(); string result = "0"; //没有执行规则 int sortInt = 0; if (PageDateList.ProductList != null) { sortInt = sortInt + PageDateList.ProductList.Count(); } if (PageDateList.RuleList != null) { for (int i = 0; i < PageDateList.RuleList.Count(); i++) { if (PageDateList.RuleList[i].ProductList != null) { sortInt = sortInt + PageDateList.RuleList[i].ProductList.Count(); } if (PageDateList.RuleList[i].RuleList != null) { for (int k = 0; k < PageDateList.RuleList[i].RuleList.Count(); k++) { if (PageDateList.RuleList[i].RuleList[k].ProductList != null) { sortInt = sortInt + PageDateList.RuleList[i].RuleList[k].ProductList.Count(); } } } } } if (PageDateList.IsRule == "0") { PsortService.DelSortRuleByCategoryNo(PageDateList.CategoryNo); PsortService.DelProductByCategoryNo(PageDateList.CategoryNo); PsortService.UpdateCateogryTime(PageDateList.CategoryNo, PageDateList.IsLast); if (PageDateList.ProductList != null) { for (int i = 0; i < PageDateList.ProductList.Count(); i++) { SWfsSortProduct pdto = new SWfsSortProduct(); pdto.Sort = sortInt; pdto.RuleId = -1; pdto.ProductNo = PageDateList.ProductList[i].ProductNo; pdto.DateCreate = DateTime.Now; pdto.OcsCategoryNo = PageDateList.CategoryNo;// PageDateList.productlist[i].ocscategoryno; PsortService.AddProductToSortSingle(pdto); sortInt = sortInt - 1; } } } else { PsortService.DelSortRuleByCategoryNo(PageDateList.CategoryNo); PsortService.DelProductByCategoryNo(PageDateList.CategoryNo); PsortService.UpdateCateogryTime(PageDateList.CategoryNo, PageDateList.IsLast); string parentid = "0"; if (PageDateList.RuleList != null) { for (int i = 0; i < PageDateList.RuleList.Count(); i++) { SWfsSortRule pruledto = new SWfsSortRule(); pruledto.OcsCategoryNo = PageDateList.CategoryNo; pruledto.ParentId = 0; pruledto.RuleObjectName = PageDateList.RuleList[i].RuleName; pruledto.RuleObjectNo = PageDateList.RuleList[i].RuleNo; pruledto.RuleType = Convert.ToInt16(PageDateList.RuleList[i].RuleType); pruledto.Sort = PageDateList.RuleList.Count() - i; parentid = PsortService.AddRuleToSort(pruledto); if (PageDateList.RuleList[i].RuleList != null) { for (int j = 0; j < PageDateList.RuleList[i].RuleList.Count(); j++) { SWfsSortRule ruledto = new SWfsSortRule(); ruledto.OcsCategoryNo = PageDateList.CategoryNo;// PageDateList.categoryno; ruledto.ParentId = Convert.ToInt32(parentid); ruledto.RuleObjectName = PageDateList.RuleList[i].RuleList[j].RuleName; ruledto.RuleObjectNo = PageDateList.RuleList[i].RuleList[j].RuleNo; ruledto.RuleType = Convert.ToInt16(PageDateList.RuleList[i].RuleList[j].RuleType); ruledto.Sort = PageDateList.RuleList[i].RuleList.Count() - j; string ruleid = PsortService.AddRuleToSort(ruledto); if (PageDateList.RuleList[i].RuleList[j].ProductList != null) { for (int k = 0; k < PageDateList.RuleList[i].RuleList[j].ProductList.Count(); k++) { SWfsSortProduct ptdto = new SWfsSortProduct(); ptdto.Sort = sortInt; ptdto.RuleId = Convert.ToInt32(ruleid); ptdto.ProductNo = PageDateList.RuleList[i].RuleList[j].ProductList[k].ProductNo; ptdto.DateCreate = DateTime.Now; ptdto.OcsCategoryNo = PageDateList.CategoryNo;// PageDateList.rulelist[i].rulelist[k].productlist[k].ocscategoryno; PsortService.AddProductToSortSingle(ptdto); sortInt = sortInt - 1; } } } } if (PageDateList.RuleList[i].ProductList != null) { for (int l = 0; l < PageDateList.RuleList[i].ProductList.Count(); l++) { SWfsSortProduct podto = new SWfsSortProduct(); podto.Sort = sortInt; podto.RuleId = Convert.ToInt32(parentid); podto.ProductNo = PageDateList.RuleList[i].ProductList[l].ProductNo; podto.OcsCategoryNo = PageDateList.CategoryNo;// PageDateList.rulelist[i].productlist[l].ocscategoryno; podto.DateCreate = DateTime.Now; PsortService.AddProductToSortSingle(podto); sortInt = sortInt - 1; } } if (PageDateList.ProductList != null) { for (int m = 0; m < PageDateList.ProductList.Count(); m++) { SWfsSortProduct dto = new SWfsSortProduct(); dto.Sort = sortInt; dto.RuleId = 0; dto.ProductNo = PageDateList.ProductList[m].ProductNo; dto.OcsCategoryNo = PageDateList.CategoryNo;// PageDateList.productlist[m].ocscategoryno; dto.DateCreate = DateTime.Now; PsortService.AddProductToSortSingle(dto); sortInt = sortInt - 1; } } } } } return(result); }