/// <summary> /// 添加b2b品牌 /// </summary> /// <param name="model">品牌实体信息</param> /// <returns>返回新建记录的sysno</returns> /// <remarks>2017-10-10 罗勤瑶 创建</remarks> public override int CreateToB2B(PdBrand model) { int id = ContextB2B.Insert <PdBrand>("pdbrand", model) .AutoMap(x => x.SysNo) .ExecuteReturnLastId <int>("Sysno"); return(id); }
/// <summary> /// 根据品牌ID更新品牌信息 /// </summary> /// <param name="model">品牌实体信息,不包括状态,排序</param> /// <returns>成功返回true,失败返回false</returns> /// <remarks>2013-06-25 唐永勤 创建</remarks> public override bool Update(PdBrand model) { int effect = Context.Update <PdBrand>("pdbrand", model) .AutoMap(x => x.SysNo, x => x.DisplayOrder, x => x.Status) .Where("sysno", model.SysNo) .Execute(); return(effect > 0); }
/// <summary> /// 获取指定名称的品牌信息 /// </summary> /// <param name="name">品牌名称</param> /// <returns>品牌实体信息</returns> /// <remarks>2015-09-10 王耀发 创建</remarks> public override PdBrand GetEntityByName(string Name) { PdBrand entity = Context.Select <PdBrand>("*") .From("PdBrand") .Where("Name = @Name") .Parameter("Name", Name) .QuerySingle(); return(entity); }
/// <summary> /// 获取指定编号的品牌信息 /// </summary> /// <param name="brandSysNo">品牌编号</param> /// <returns>品牌实体信息</returns> /// <remarks>2013-06-25 唐永勤 创建</remarks> public override PdBrand GetEntity(int brandSysNo) { PdBrand entity = Context.Select <PdBrand>("*") .From("PdBrand") .Where("sysno = @sysno") .Parameter("sysno", brandSysNo) .QuerySingle(); return(entity); }
/// <summary> /// 保存品牌信息,添加或修改 /// </summary> /// <param name="model">品牌实体数据</param> /// <returns>保存结果对象</returns> /// <remarks>2013-07-03 唐永勤 创建</remarks> public Result BrandSave(PdBrand model) { Result result = new Result(); if (string.IsNullOrEmpty(model.Name)) { result.StatusCode = -1; } else { //数据重复性检测 bool isExists = IPdBrandDao.Instance.IsExists(model.Name, model.SysNo); if (isExists) { result.StatusCode = -2; result.Message = "品牌名称已存在"; return(result); } //数据操作 if (model.SysNo > 0) { result.Status = IPdBrandDao.Instance.Update(model); } else { model.SysNo = IPdBrandDao.Instance.Create(model); if (model.SysNo > 0) { result.Status = true; } } if (result.Status) { result.StatusCode = 1; result.Message = "品牌信息保存成功"; } } return(result); }
/// <summary> /// 判断重复数据--品牌 /// </summary> /// <param name="name">品牌名称</param> /// <param name="brandSysNo">品牌编号</param> /// <returns>存在返回true,不存在返回flase</returns> /// <remarks>2013-07-03 唐永勤 创建</remarks> public override bool IsExists(string name, int brandSysNo) { bool result = false; PdBrand entity = Context.Select <PdBrand>("*") .From("PdBrand") .Where("name= @name") .Parameter("name", name) .QuerySingle(); if (entity != null && entity.SysNo > 0) { result = true; if (brandSysNo > 0) { if (brandSysNo == entity.SysNo) { result = false; } } } return(result); }
/// <summary> /// 入库个别商品信息 /// </summary> /// <param name="supplyCode">供应链代码</param> /// <param name="sysNos">商品系统编号,逗号分隔</param> /// <returns></returns> /// <remarks>2016-4-22 王耀发 创建</remarks> public override Result <string> StockInSupplyProduct(string sysNos) { var result = new Result <string>() { Status = false, StatusCode = -1, Message = "未知错误" }; lock (lockHelper)//防止多人同时操作造成产品重复添加 { try { //是否有仓库 WhWarehouse Warehouse = BLL.Warehouse.WhWarehouseBo.Instance.GetAllWarehouseList().FirstOrDefault(w => w.Supply == (int)Code && w.Status == (int)Model.WorkflowStatus.WarehouseStatus.仓库状态.启用); if (Warehouse == null) { result.Message = string.Format("尚未创建{0}专用仓库,如果已创建请更新后台缓存!", Code.ToString()); return(result); } string[] sysNoArray = sysNos.Split(','); int UserSysNo = AdminAuthenticationBo.Instance.Current.Base.SysNo; for (var i = 0; i < sysNoArray.Length; i++) { int SysNo = int.Parse(sysNoArray[i]); ScProduct Product = IScProductDao.Instance.GetScProductInfo(SysNo); //未入库的商品可入库 if (Product.ProductSysNo == 0) { using (var tran = new System.Transactions.TransactionScope()) { var jsonObject = JObject.Parse(Product.Receipt); //PdProductList PdData = new PdProductList(); string ErpCode = jsonObject["SkuId"].ToString(); string ProductName = jsonObject["Name"].ToString(); string EasName = jsonObject["Name"].ToString(); string DefaultImage = jsonObject["DefaultImage"].ToString(); string Remark = jsonObject["Remark"].ToString(); //商品类目 var CategoryName = jsonObject["CategoryName"].ToString(); PdCategorySql PdCmodel = new PdCategorySql(); PdCmodel.ParentSysNo = 0; PdCmodel.CategoryName = CategoryName; PdCmodel.Code = ""; PdCmodel.SeoTitle = CategoryName; PdCmodel.SeoKeyword = CategoryName; PdCmodel.SeoDescription = CategoryName; PdCmodel.TemplateSysNo = 0; PdCmodel.IsOnline = 1; PdCmodel.Status = 1; PdCmodel.CreatedBy = 1; PdCmodel.CreatedDate = DateTime.Now; PdCmodel.LastUpdateBy = 1; PdCmodel.LastUpdateDate = DateTime.Now; PdCategoryAssociation PdCAmodel = new PdCategoryAssociation(); PdCAmodel.IsMaster = 1; PdCAmodel.CreatedBy = 1; PdCAmodel.CreatedDate = DateTime.Now; PdCAmodel.LastUpdateBy = 1; PdCAmodel.LastUpdateDate = DateTime.Now; //品牌 //品牌 int BrandSysNo; var BrandName = jsonObject["BrandName"].ToString(); PdBrand pEnity = PdBrandBo.Instance.GetEntityByName(BrandName); //判断商品品牌是否存在 if (pEnity != null) { BrandSysNo = pEnity.SysNo; } else { var pmodel = new PdBrand(); pmodel.Name = BrandName; pmodel.Status = 1; BrandSysNo = IPdBrandDao.Instance.Create(pmodel); } string GrosWeight = jsonObject["Weight"].ToString(); string Price = jsonObject["Price"].ToString(); var prmodel = SetPriceModel(Decimal.Parse(Price), (int)Hyt.Model.WorkflowStatus.ProductStatus.产品价格来源.基础价格, 0); // new PdPrice(); var sprmodel = SetPriceModel(Decimal.Parse(Price), (int)Hyt.Model.WorkflowStatus.ProductStatus.产品价格来源.会员等级价, 1); // new PdPrice(); var sspmodel = SetPriceModel(Decimal.Parse(Price), (int)Hyt.Model.WorkflowStatus.ProductStatus.产品价格来源.门店销售价, 0); // new PdPrice(); //绑定原产地 var orginSysNo = 0; var orginName = "其他"; Origin Origin = BLL.Basic.OriginBo.Instance.GetEntityByName(orginName); orginSysNo = Origin != null ? Origin.SysNo : DataAccess.Basic.IOriginDao.Instance.Insert(new Origin() { Origin_Name = orginName, CreatedBy = UserSysNo, CreatedDate = DateTime.Now, LastUpdateBy = UserSysNo, LastUpdateDate = DateTime.Now }); var currentInfo = BLL.Authentication.AdminAuthenticationBo.Instance.Current; int agentSysNo = 1; int dealerSysNo = 0; if (currentInfo.Dealer != null) { dealerSysNo = currentInfo.Dealer.SysNo; agentSysNo = currentInfo.DealerCreatedBy; } int TradeMode = 0; switch (jsonObject["TradeMode"].ToString()) { case "3": TradeMode = (int)Model.WorkflowStatus.ProductStatus.商品类型.完税商品; break; case "2": TradeMode = (int)Model.WorkflowStatus.ProductStatus.商品类型.直邮商品; break; default: TradeMode = (int)Model.WorkflowStatus.ProductStatus.商品类型.普通商品; break; } //创建商品 var excellst = new List <PdProductList>(); var model = new PdProductList { ErpCode = ErpCode, //商品编号 ProductName = ProductName, //商品名称 EasName = EasName, //商品名称 BrandSysNo = BrandSysNo, //品牌 ProductType = TradeMode, //商品类型(模式) OriginSysNo = orginSysNo, //国家 Barcode = "", GrosWeight = Decimal.Parse(GrosWeight), //重量 Tax = "0", PriceRate = 0M, PriceValue = 0M, TradePrice = 0M, PdPrice = prmodel, PdSalePrice = sprmodel, PdStoreSalePrice = sspmodel, PdCategorySql = PdCmodel, PdCategoryAssociation = PdCAmodel, DealerSysNo = dealerSysNo, AgentSysNo = agentSysNo,//默认为总部代理商 CreatedBy = 1, CreatedDate = DateTime.Now, LastUpdateBy = 1, LastUpdateDate = DateTime.Now, SalesMeasurementUnit = "g", ProductDesc = System.Web.HttpUtility.UrlEncode(Remark, System.Text.Encoding.GetEncoding("UTF-8")).Replace("+", " ")//描述 }; excellst.Add(model); try { //新增商品 IPdProductDao.Instance.CreatePdProduct(excellst); //根据编号获取商品 PdProduct Entity = IPdProductDao.Instance.GetEntityByErpCode(ErpCode); if (Entity != null) { List <string> imageslist = new List <string>(); string images = jsonObject["ImageList"].ToString(); imageslist = JsonConvert.DeserializeObject <List <string> >(images); for (var j = 0; j < imageslist.Count; j++) { if (j < 5) { var productImage = new PdProductImage(); productImage.ProductSysNo = Entity.SysNo; productImage.DisplayOrder = j; productImage.ImageUrl = imageslist[j].ToString(); if (j == 0) { productImage.Status = (int)Hyt.Model.WorkflowStatus.ProductStatus.商品图片状态.显示; } else { productImage.Status = (int)Hyt.Model.WorkflowStatus.ProductStatus.商品图片状态.隐藏; } int res = IPdProductImageDao.Instance.Insert(productImage); } } //更新商品临时表的ProductSysNo ScProductBo.Instance.UpdateProductSysNo(SysNo, Entity.SysNo); //创建商品库存 ScProductBo.Instance.ProCreateSupplyStock((int)Code, Entity.SysNo, decimal.Parse(jsonObject["StockQuantity"].ToString()), UserSysNo); } else { result.Message = "获取商品数据错误"; result.Status = false; return(result); } } catch (Exception ex) { result.Message = string.Format("数据错误:{0}", ex.Message); result.Status = false; return(result); } tran.Complete(); } } result.Status = true; } } catch (Exception ex) { result.Message = ex.Message; result.Status = false; result.StatusCode = -2; } return(result); } }
private void AddBaseTaskObjectToList(List <BaseTask> listObject) { BaseTask bsAT = new BsArea(); BaseTask bsDP = new BsDeliveryPayment(); BaseTask bsPT = new BsPaymentType(); BaseTask bsCode = new BsCode(); BaseTask bsOrganization = new BsOrganization(); BaseTask bsOrganizationWarehouse = new BsOrganizationWarehouse(); BaseTask crCustomer = new CrCustomer(); BaseTask crCL = new CrCustomerLevel(); BaseTask crCQ = new CrCustomerQuestion(); BaseTask crRA = new CrReceiveAddress(); BaseTask dsMallType = new DsMallType(); BaseTask dsDealerLevel = new DsDealerLevel(); BaseTask feArticle = new FeArticle(); BaseTask feAC = new FeArticleCategory(); BaseTask feCS = new FeCommentSupport(); BaseTask fepc = new FeProductComment(); BaseTask fePCI = new FeProductCommentImage(); BaseTask fePCR = new FeProductCommentReply(); BaseTask feSearchKeyword = new FeSearchKeyword(); BaseTask feadvertgroup = new FeAdvertGroup(); BaseTask feadvertitem = new FeAdvertItem(); BaseTask feproductgroup = new FeProductGroup(); BaseTask feproductitem = new FeProductItem(); BaseTask fnIT = new FnInvoiceType(); BaseTask fninvoice = new FnInvoice(); BaseTask fnpv = new FnReceiptVoucher(); BaseTask fnReceiptVoucherItem = new FnReceiptVoucherItem(); BaseTask fnop = new FnOnlinePayment(); BaseTask fnPaymentVoucher = new FnPaymentVoucher(); BaseTask fnPaymentVoucherItem = new FnPaymentVoucherItem(); BaseTask lgDelivery = new LgDelivery(); BaseTask lgDI = new LgDeliveryItem(); BaseTask lgDS = new LgDeliveryScope(); BaseTask lgDT = new LgDeliveryType(); BaseTask lgDUC = new LgDeliveryUserCredit(); BaseTask lgPT = new LgPickupType(); BaseTask lgsettlement = new LgSettlement(); BaseTask lgSI = new LgSettlementItem(); BaseTask lgDeliveryPrintTemplate = new LgDeliveryPrintTemplate(); BaseTask pdAttribute = new PdAttribute(); BaseTask pdAG = new PdAttributeGroup(); BaseTask pdAGA = new PdAttributeGroupAssociation(); BaseTask pdAO = new PdAttributeOption(); BaseTask pdBrand = new PdBrand(); BaseTask pdCGA = new PdCatAttributeGroupAso(); BaseTask pdCategory = new PdCategory(); BaseTask pdCA = new PdCategoryAssociation(); BaseTask pdPrice = new PdPrice(); BaseTask pdProduct = new PdProduct(); BaseTask pdPA = new PdProductAssociation(); BaseTask pdProductAttribute = new PdProductAttribute(); BaseTask pdPI = new PdProductImage(); BaseTask pdTemplate = new PdTemplate(); BaseTask pdProductStatistics = new PdProductStatistics(); BaseTask soOrder = new SoOrder(); BaseTask soOrderItem = new SoOrderItem(); BaseTask soRA = new SoReceiveAddress(); BaseTask SyUG = new SyUserGroup(); BaseTask syGU = new SyGroupUser(); BaseTask syMenu = new SyMenu(); BaseTask syMenuPrivilege = new SyMenuPrivilege(); BaseTask syPrivilege = new SyPrivilege(); BaseTask syRole = new SyRole(); BaseTask syRoleMenu = new SyRoleMenu(); BaseTask syRolePrivilege = new SyRolePrivilege(); BaseTask syPermission = new SyPermission(); BaseTask syUser = new SyUser(); BaseTask syUW = new SyUserWarehouse(); BaseTask syMyMenu = new SyMyMenu(); BaseTask spcombo = new SpCombo(); BaseTask spComboItem = new SpComboItem(); BaseTask spcopon = new spcoupon(); BaseTask sqpromotion = new SPpromotion(); BaseTask spromotiongift = new SPpromotiongift(); BaseTask sppromotionoverlay = new SPpromotionoverlay(); BaseTask sppromotionrule = new SPpromotionrule(); BaseTask sppromotionrulecondition = new SPpromotionrulecondition(); BaseTask sppromotionrulekeyvalue = new SPpromotionrulekeyvalue(); BaseTask syTaskConfig = new SyTaskConfig(); BaseTask whStockOut = new WhStockOut(); BaseTask whStockOutItem = new WhstockOutItem(); BaseTask whwarehouse = new WhWarehouse(); BaseTask whwa = new WHwarehousearea(); BaseTask whwdy = new WHwarehouseDeliveryType(); BaseTask whWPT = new WhWarehousePickupType(); BaseTask whstockin = new WhStockIn(); BaseTask whstockinItem = new WHStockinItem(); BaseTask rcReturn = new RCReturn(); BaseTask rcReturnItem = new RcReturnItem(); listObject.Add(bsAT); listObject.Add(bsDP); listObject.Add(bsPT); listObject.Add(bsCode); listObject.Add(bsOrganization); listObject.Add(bsOrganizationWarehouse); listObject.Add(crCustomer); listObject.Add(crCL); listObject.Add(crCQ); listObject.Add(crRA); listObject.Add(dsMallType); listObject.Add(dsDealerLevel); listObject.Add(feArticle); listObject.Add(feAC); listObject.Add(feCS); listObject.Add(fePCI); listObject.Add(fePCR); listObject.Add(fepc); listObject.Add(feSearchKeyword); listObject.Add(feadvertgroup); listObject.Add(feadvertitem); listObject.Add(feproductgroup); listObject.Add(feproductitem); listObject.Add(fnIT); listObject.Add(fnpv); listObject.Add(fnReceiptVoucherItem); listObject.Add(fnop); listObject.Add(fninvoice); listObject.Add(fnPaymentVoucher); listObject.Add(fnPaymentVoucherItem); listObject.Add(lgDelivery); listObject.Add(lgDI); listObject.Add(lgDS); listObject.Add(lgDT); listObject.Add(lgPT); listObject.Add(lgsettlement); listObject.Add(lgSI); listObject.Add(lgDeliveryPrintTemplate); listObject.Add(pdAttribute); listObject.Add(pdAG); listObject.Add(pdAGA); listObject.Add(pdAO); listObject.Add(pdBrand); listObject.Add(pdCGA); listObject.Add(pdCategory); listObject.Add(pdCA); listObject.Add(pdPrice); listObject.Add(pdProduct); listObject.Add(pdPA); listObject.Add(pdProductAttribute); listObject.Add(pdTemplate); listObject.Add(pdProductStatistics); listObject.Add(soOrder); listObject.Add(soOrderItem); listObject.Add(spcombo); listObject.Add(spComboItem); listObject.Add(spcopon); listObject.Add(sqpromotion); listObject.Add(spromotiongift); //listObject.Add(sppromotionoverlay); listObject.Add(sppromotionrule); listObject.Add(sppromotionrulecondition); listObject.Add(sppromotionrulekeyvalue); listObject.Add(syGU); listObject.Add(syUW); listObject.Add(SyUG); listObject.Add(syMenu); listObject.Add(syUser); listObject.Add(syPermission); listObject.Add(syMenuPrivilege); listObject.Add(syPrivilege); listObject.Add(syRole); listObject.Add(syRoleMenu); listObject.Add(syRolePrivilege); listObject.Add(syMyMenu); listObject.Add(syTaskConfig); listObject.Add(whStockOut); listObject.Add(whStockOutItem); listObject.Add(whwarehouse); listObject.Add(whwa); listObject.Add(whwdy); listObject.Add(whWPT); listObject.Add(whstockin); listObject.Add(whstockinItem); listObject.Add(rcReturn); listObject.Add(rcReturnItem); listObject.Add(lgDUC); listObject.Add(pdPI); listObject.Add(soRA); }
/// <summary> /// 根据品牌编号更新品牌信息 /// </summary> /// <param name="model">品牌实体信息</param> /// <returns>成功返回true,失败返回false</returns> /// <remarks>2013-06-25 唐永勤 创建</remarks> public abstract bool Update(PdBrand model);
/// <summary> /// 添加b2b品牌 /// </summary> /// <param name="model">品牌实体信息</param> /// <returns>返回新建记录的sysno</returns> /// <remarks>2017-10-10 罗勤瑶 创建</remarks> public abstract int CreateToB2B(PdBrand model);
/// <summary> /// 添加品牌 /// </summary> /// <param name="model">品牌实体信息</param> /// <returns>返回新建记录的sysno</returns> /// <remarks>2013-06-25 唐永勤 创建</remarks> public abstract int Create(PdBrand model);
/// <summary> /// 商品入库到平台 /// </summary> /// <remarks> 2016-5-4 刘伟豪 实现 </remarks> public override Result <string> StockInSupplyProduct(string sysNos) { var result = new Result <string>() { Status = false, StatusCode = -1, Message = "未知错误" }; lock (lockHelper)//防止多人同时操作造成产品重复添加 { try { //是否有仓库 WhWarehouse Warehouse = BLL.Warehouse.WhWarehouseBo.Instance.GetAllWarehouseList().FirstOrDefault(w => w.Supply == (int)Code && w.Status == (int)Model.WorkflowStatus.WarehouseStatus.仓库状态.启用); if (Warehouse == null) { result.Message = string.Format("尚未创建{0}专用仓库,如果已创建请更新后台缓存!", Code.ToString()); return(result); } foreach (var c in sysNos.Split(',')) { int id = int.Parse(c); int UserSysNo = Hyt.BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base.SysNo; ScProduct Product = BLL.Supply.ScProductBo.Instance.GetScProductInfo(id); //未入库的商品可入库 if (Product.ProductSysNo == 0) { using (var tran = new System.Transactions.TransactionScope()) { var json = JObject.Parse(Product.Receipt); PdProduct PdData = new PdProduct(); //绑定品牌 var brandSysNo = 0; var brandName = json["ProClass"].ToString().Trim(); PdBrand PdBrand = BLL.Product.PdBrandBo.Instance.GetEntityByName(brandName); brandSysNo = PdBrand != null ? PdBrand.SysNo : DataAccess.Product.IPdBrandDao.Instance.Create(new PdBrand() { Name = brandName, DisplayOrder = 0, Status = (int)Model.WorkflowStatus.ProductStatus.品牌状态.启用 }); PdData.BrandSysNo = brandSysNo; //绑定原产地 var orginSysNo = 0; var orginName = "其他"; Origin Origin = BLL.Basic.OriginBo.Instance.GetEntityByName(orginName); orginSysNo = Origin != null ? Origin.SysNo : DataAccess.Basic.IOriginDao.Instance.Insert(new Origin() { Origin_Name = orginName, CreatedBy = UserSysNo, CreatedDate = DateTime.Now, LastUpdateBy = UserSysNo, LastUpdateDate = DateTime.Now }); PdData.OriginSysNo = orginSysNo; PdData.ErpCode = PdData.Barcode = Product.SKU; PdData.EasName = string.Format("({0}产品){1}", Code.ToString(), Product.ProductName); PdData.ProductName = PdData.SeoTitle = PdData.SeoKeyword = PdData.SeoDescription = Product.ProductName; PdData.ViewCount = PdData.DisplayOrder = 0; var weight = 0.00m; decimal.TryParse(json["ProWeight"].ToString(), out weight); PdData.GrosWeight = weight * 0.001m; PdData.NetWeight = 0.00m; PdData.SalesMeasurementUnit = "kg"; PdData.ValueUnit = "CNY"; PdData.VolumeUnit = "m"; PdData.Tax = PdData.Freight = PdData.VolumeValue = PdData.Rate = PdData.PriceRate = PdData.PriceValue = PdData.DealerPriceValue = PdData.TradePrice = 0.00m; PdData.CostPrice = Product.Price; PdData.FreightFlag = "Y"; PdData.AgentSysNo = 1; PdData.DealerSysNo = 0; //各状态 PdData.ProductType = (int)Model.WorkflowStatus.ProductStatus.商品类型.普通商品; PdData.CanFrontEndOrder = (int)Model.WorkflowStatus.ProductStatus.商品是否前台下单.是; PdData.IsFrontDisplay = (int)Model.WorkflowStatus.ProductStatus.前台显示.是; PdData.Status = (int)Model.WorkflowStatus.ProductStatus.商品状态.架; PdData.CreatedBy = PdData.LastUpdateBy = UserSysNo; PdData.CreatedDate = PdData.LastUpdateDate = PdData.Stamp = DateTime.Now; //创建商品 int productSysNo = BLL.Product.PdProductBo.Instance.CreateProduct(PdData); if (productSysNo > 0) { //创建商品基础价 PdPrice BasicModel = new PdPrice(); BasicModel.ProductSysNo = productSysNo; BasicModel.Price = Product.Price; BasicModel.PriceSource = (int)Model.WorkflowStatus.ProductStatus.产品价格来源.基础价格; BasicModel.SourceSysNo = 0; BasicModel.Status = (int)Model.WorkflowStatus.ProductStatus.产品价格状态.效; Hyt.BLL.Product.PdPriceBo.Instance.Create(BasicModel); //创建商品会员价 PdPrice SaleModel = new PdPrice(); SaleModel.ProductSysNo = productSysNo; SaleModel.Price = Product.Price; SaleModel.PriceSource = (int)Model.WorkflowStatus.ProductStatus.产品价格来源.会员等级价; SaleModel.SourceSysNo = 1; SaleModel.Status = (int)Model.WorkflowStatus.ProductStatus.产品价格状态.效; Hyt.BLL.Product.PdPriceBo.Instance.Create(SaleModel); //更新商品临时表的ProductSysNo Hyt.BLL.Supply.ScProductBo.Instance.UpdateProductSysNo(id, productSysNo); //创建商品库存 var stock = GetProSkuStock(Product.SKU); Hyt.BLL.Supply.ScProductBo.Instance.ProCreateSupplyStock((int)Code, productSysNo, stock, UserSysNo); } tran.Complete(); } } else { var PdData = BLL.Product.PdProductBo.Instance.GetProductNoCache(Product.ProductSysNo); var stock = GetProSkuStock(Product.SKU); Hyt.BLL.Supply.ScProductBo.Instance.ProCreateSupplyStock((int)Code, Product.ProductSysNo, stock, UserSysNo); } } result.Message = "入库成功!"; result.Status = true; result.StatusCode = 1; } catch (Exception ex) { result.Message = ex.Message; result.Status = false; result.StatusCode = -2; } return(result); } }
/// <summary> /// 二期基础数据 /// </summary> /// <param name="listObject"></param> private void AddBaseTaskObject2ToList1(List <BaseTask> listObject) { BaseTask bsAT = new BsArea(); BaseTask crCustomer = new CrCustomer(); BaseTask crCL = new CrCustomerLevel(); BaseTask crCQ = new CrCustomerQuestion(); BaseTask crRA = new CrReceiveAddress(); BaseTask feArticle = new FeArticle(); BaseTask feAC = new FeArticleCategory(); BaseTask feCS = new FeCommentSupport(); BaseTask fepc = new FeProductComment(); BaseTask fePCI = new FeProductCommentImage(); BaseTask fePCR = new FeProductCommentReply(); BaseTask lgDS = new LgDeliveryScope(); BaseTask lgDUC = new LgDeliveryUserCredit(); BaseTask pdAttribute = new PdAttribute(); BaseTask pdAG = new PdAttributeGroup(); BaseTask pdAGA = new PdAttributeGroupAssociation(); BaseTask pdAO = new PdAttributeOption(); BaseTask pdBrand = new PdBrand(); BaseTask pdCGA = new PdCatAttributeGroupAso(); BaseTask pdCategory = new PdCategory(); BaseTask pdCA = new PdCategoryAssociation(); BaseTask pdPrice = new PdPrice(); BaseTask pdProduct = new PdProduct(); BaseTask pdPA = new PdProductAssociation(); BaseTask pdProductAttribute = new PdProductAttribute(); //BaseTask pdPI = new PdProductImage(); BaseTask pdTemplate = new PdTemplate(); BaseTask soRA = new SoReceiveAddress(); BaseTask syUser = new SyUser(); BaseTask syUW = new SyUserWarehouse(); BaseTask whwarehouse = new WhWarehouse(); BaseTask whwa = new WHwarehousearea(); listObject.Add(bsAT); listObject.Add(crCustomer); listObject.Add(crCL); listObject.Add(crCQ); listObject.Add(crRA); listObject.Add(feArticle); listObject.Add(feAC); listObject.Add(feCS); listObject.Add(fepc); listObject.Add(fePCI); listObject.Add(fePCR); listObject.Add(lgDS); listObject.Add(lgDUC); listObject.Add(pdAttribute); listObject.Add(pdAG); listObject.Add(pdAGA); listObject.Add(pdAO); listObject.Add(pdBrand); listObject.Add(pdCGA); listObject.Add(pdCategory); listObject.Add(pdCA); listObject.Add(pdPrice); listObject.Add(pdProduct); listObject.Add(pdPA); listObject.Add(pdProductAttribute); listObject.Add(pdTemplate); //listObject.Add(pdPI); listObject.Add(soRA); listObject.Add(syUW); listObject.Add(syUser); listObject.Add(whwarehouse); listObject.Add(whwa); }
public override Result AddOrderTrade(int orderSysno) { Result result = new Result(); try { SoOrder order = BLL.Order.SoOrderBo.Instance.GetEntity(orderSysno); if (order == null) { result.Message = "该订单不存在"; return(result); } order.ReceiveAddress = BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo); order.OrderItemList = DataAccess.Order.ISoOrderItemDao.Instance.GetOrderItemsByOrderSysNo(order.SysNo); ParaVoucherFilter voucherFilter = new ParaVoucherFilter(); voucherFilter.SourceSysNo = order.SysNo; CBFnReceiptVoucher recVoucher = BLL.Finance.FinanceBo.Instance.GetReceiptVouchers(voucherFilter).Rows.FirstOrDefault(); recVoucher.VoucherItems = BLL.Finance.FnReceiptVoucherBo.Instance.GetReceiptVoucherItem(recVoucher.SysNo); // 收货人 区 市 省 BsArea receiverDistrict = BLL.Basic.BasicAreaBo.Instance.GetArea(order.ReceiveAddress.AreaSysNo); BsArea receiverCity = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverDistrict.ParentSysNo); BsArea receiverProvince = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverCity.ParentSysNo); // 发货人 市 CBWhWarehouse warehouse = BLL.Warehouse.WhWarehouseBo.Instance.GetWarehouse(order.DefaultWarehouseSysNo); BsArea shipperCity = BLL.Basic.BasicAreaBo.Instance.GetArea(warehouse.CitySysNo); DsDealer dealer = BLL.Distribution.DsDealerBo.Instance.GetDsDealer(order.DealerSysNo); LgDeliveryType deliveryType = BLL.Logistics.DeliveryTypeBo.Instance.GetDeliveryType(order.DeliveryTypeSysNo); EasycrossOrder newOrder = new EasycrossOrder(); newOrder.OrderHead = new OrderHead(); newOrder.OrderList = new List <OrderList>(); newOrder.OrderPaymentLogistics = new OrderPaymentLogistics(); newOrder.OrderHead.accessType = "1"; newOrder.OrderHead.agentCode = "4404580006"; newOrder.OrderHead.agentName = "珠海易跨境电子商务服务有限公司"; newOrder.OrderHead.appStatus = "2"; newOrder.OrderHead.appTime = DateTime.Now.ToString("yyyyMMddHHmmss"); newOrder.OrderHead.appUid = "1105910159"; newOrder.OrderHead.appUname = "东方口岸"; newOrder.OrderHead.batchNumbers = ""; newOrder.OrderHead.cbeCode = "D00236"; newOrder.OrderHead.cbeName = "珠海爱勤电子科技有限公司"; newOrder.OrderHead.charge = order.OrderAmount.ToString(); newOrder.OrderHead.consignee = order.ReceiveAddress.Name; newOrder.OrderHead.consigneeAddress = order.ReceiveAddress.StreetAddress; newOrder.OrderHead.consigneeCountry = ""; newOrder.OrderHead.consigneeTelephone = !string.IsNullOrWhiteSpace(order.ReceiveAddress.MobilePhoneNumber) ? order.ReceiveAddress.MobilePhoneNumber : order.ReceiveAddress.PhoneNumber; newOrder.OrderHead.currency = "142"; newOrder.OrderHead.customer = order.ReceiveAddress.Name; newOrder.OrderHead.customerId = order.ReceiveAddress.IDCardNo; newOrder.OrderHead.ecpCode = "W0098"; newOrder.OrderHead.ecpName = "珠海爱勤电子科技有限公司"; newOrder.OrderHead.freight = order.FreightAmount.ToString(); newOrder.OrderHead.goodsValue = order.ProductAmount.ToString(); newOrder.OrderHead.idType = "1"; newOrder.OrderHead.ieType = "I"; newOrder.OrderHead.modifyMark = "1"; newOrder.OrderHead.note = ""; newOrder.OrderHead.orderNo = order.SysNo.ToString(); newOrder.OrderHead.other = ""; newOrder.OrderHead.shipper = BLL.Stores.StoresBo.Instance.GetStoreById(0).ErpName; newOrder.OrderHead.shipperAddress = ""; newOrder.OrderHead.shipperCountry = "142"; newOrder.OrderHead.shipperTelephone = ""; newOrder.OrderHead.tax = order.TaxFee.ToString(); newOrder.OrderHead.totalLogisticsNo = ""; newOrder.OrderHead.tradeCountry = ""; newOrder.OrderHead.wrapType = ""; foreach (SoOrderItem item in order.OrderItemList) { PdProduct product = BLL.Product.PdProductBo.Instance.GetProduct(item.SysNo); PdProductStock productStock = BLL.Warehouse.PdProductStockBo.Instance.GetEntityByWP(order.DefaultWarehouseSysNo, item.ProductSysNo); string brandName = "无"; PdBrand brand = BLL.Product.PdBrandBo.Instance.GetEntity(product.BrandSysNo); if (brand != null) { brandName = brand.Name; } OrderList orderList = new OrderList(); orderList.barCode = ""; orderList.brand = brandName; orderList.codeTs = ""; orderList.country = ""; orderList.currency = "142"; orderList.describe = ""; orderList.discount = ""; orderList.giftFlag = ""; orderList.goodsModel = ""; orderList.goodsName = item.ProductName; orderList.goodsNo = productStock.ProductSku; orderList.itemNo = ""; orderList.note = ""; orderList.packNum = ""; orderList.price = item.SalesUnitPrice.ToString(); orderList.priceTotal = item.SalesAmount.ToString(); orderList.purposeCode = ""; orderList.quantity = item.Quantity.ToString(); orderList.shelfGoodsName = item.ProductName; orderList.taxCode = ""; orderList.unit = "007"; orderList.wasteMaterials = "1"; orderList.wrapType = ""; newOrder.OrderList.Add(orderList); } //newOrder.OrderPaymentLogistics.logisticsCode = ""; newOrder.OrderPaymentLogistics.logisticsName = deliveryType.DeliveryTypeName; //newOrder.OrderPaymentLogistics.logisticsNo = ""; //newOrder.OrderPaymentLogistics.paymentCode = ""; //newOrder.OrderPaymentLogistics.paymentName = ""; //newOrder.OrderPaymentLogistics.paymentNo = ""; //newOrder.OrderPaymentLogistics.paymentType = ""; //newOrder.OrderPaymentLogistics.trackNo = ""; XmlSerializerNamespaces xmlNs = new XmlSerializerNamespaces(); xmlNs.Add("nousexmlns", "http://www.chinaport.gov.cn/ecss"); string xmlData = this.XmlSerialize <EasycrossOrder>(newOrder, xmlNs); xmlData = xmlData.Replace(":nousexmlns", ""); xmlData = xmlData.Replace("encoding=\"utf-16\"", "encoding=\"utf-8\""); // 上传文件 FtpUtil ftp = new FtpUtil(FTPUri, FTPName, FTPPassword); string ftpResponse = ""; ftp.UploadFile(FTPUri, "Testfilename.xml", Encoding.UTF8.GetBytes(xmlData), out ftpResponse); } catch (Exception ex) { result.Message = "向" + this.Code + "物流推送订单报错:" + ex.StackTrace; return(result); } return(result); }
/// <summary> /// 入库个别商品信息 /// </summary> /// <param name="supplyCode">供应链代码</param> /// <param name="sysNos">商品系统编号,逗号分隔</param> /// <returns></returns> /// <remarks>2016-4-22 王耀发 创建</remarks> public override Result <string> StockInSupplyProduct(string sysNos) { var result = new Result <string>() { Status = false, StatusCode = -1, Message = "未知错误" }; lock (lockHelper)//防止多人同时操作造成产品重复添加 { try { //是否有仓库 WhWarehouse Warehouse = BLL.Warehouse.WhWarehouseBo.Instance.GetAllWarehouseList().FirstOrDefault(w => w.Supply == (int)Code && w.Status == (int)Model.WorkflowStatus.WarehouseStatus.仓库状态.启用); if (Warehouse == null) { result.Message = string.Format("尚未创建{0}专用仓库,如果已创建请更新后台缓存!", Code.ToString()); return(result); } string[] sysNoArray = sysNos.Split(','); int UserSysNo = AdminAuthenticationBo.Instance.Current.Base.SysNo; for (var i = 0; i < sysNoArray.Length; i++) { int SysNo = int.Parse(sysNoArray[i]); ScProduct Product = IScProductDao.Instance.GetScProductInfo(SysNo); //未入库的商品可入库 if (Product.ProductSysNo == 0) { using (var tran = new System.Transactions.TransactionScope()) { var jsonObject = JObject.Parse(Product.Receipt); PdProduct PdData = new PdProduct(); PdData.ErpCode = jsonObject["skuid"].ToString(); PdData.ProductName = jsonObject["goodsname"].ToString(); PdData.EasName = jsonObject["goodsname"].ToString(); if (jsonObject["barcode"] != null) { PdData.Barcode = jsonObject["barcode"].ToString(); } if (jsonObject["cess"] != null) { PdData.Tax = decimal.Parse(jsonObject["cess"].ToString()); } PdData.CanFrontEndOrder = 1; PdData.AgentSysNo = 1; PdData.DealerSysNo = 0; //默认品牌为其他 var brandSysNo = 0; var brandName = "其他"; PdBrand PdBrand = BLL.Product.PdBrandBo.Instance.GetEntityByName(brandName); brandSysNo = PdBrand != null ? PdBrand.SysNo : DataAccess.Product.IPdBrandDao.Instance.Create(new PdBrand() { Name = brandName, DisplayOrder = 0, Status = 1 }); PdData.BrandSysNo = brandSysNo; //绑定原产地 var orginSysNo = 0; var orginName = "其他"; Origin Origin = BLL.Basic.OriginBo.Instance.GetEntityByName(orginName); orginSysNo = Origin != null ? Origin.SysNo : DataAccess.Basic.IOriginDao.Instance.Insert(new Origin() { Origin_Name = orginName, CreatedBy = UserSysNo, CreatedDate = DateTime.Now, LastUpdateBy = UserSysNo, LastUpdateDate = DateTime.Now }); PdData.OriginSysNo = orginSysNo; PdData.CreatedBy = UserSysNo; PdData.CreatedDate = DateTime.Now; PdData.LastUpdateBy = UserSysNo; PdData.LastUpdateDate = DateTime.Now; //创建商品 int ProductSysNo = PdProductBo.Instance.CreateProduct(PdData); if (ProductSysNo > 0) { //创建商品基础价 PdPrice BasicModel = new PdPrice(); BasicModel.ProductSysNo = ProductSysNo; BasicModel.Price = decimal.Parse(jsonObject["price"].ToString()); BasicModel.PriceSource = 0; BasicModel.SourceSysNo = 0; BasicModel.Status = 1; PdPriceBo.Instance.Create(BasicModel); //创建商品会员价 PdPrice SaleModel = new PdPrice(); SaleModel.ProductSysNo = ProductSysNo; SaleModel.Price = decimal.Parse(jsonObject["price"].ToString()); SaleModel.PriceSource = 10; SaleModel.SourceSysNo = 1; SaleModel.Status = 1; PdPriceBo.Instance.Create(SaleModel); //更新商品临时表的ProductSysNo ScProductBo.Instance.UpdateProductSysNo(SysNo, ProductSysNo); //创建商品库存 ScProductBo.Instance.ProCreateSupplyStock((int)Code, ProductSysNo, decimal.Parse(jsonObject["number"].ToString()), UserSysNo); } tran.Complete(); } } result.Status = true; } } catch (Exception ex) { result.Message = ex.Message; result.Status = false; result.StatusCode = -2; } return(result); } }