public MessageModel <string> Post([FromBody] PdProduct model) { PdProductService.AddEntity(model); return(new MessageModel <string> { success = true, msg = "添加成功" }); }
public MessageModel <PdProduct> Get(int id) { PdProduct model = PdProductService.FindSingle(f => f.Id == id); bool flag = model == null; return(new MessageModel <PdProduct> { success = !flag, msg = !flag ? "查询成功" : $"没有id为{id}的数据", model = !flag ? model : new PdProduct() }); }
/// <summary> /// 计算税费 /// </summary> /// <param name="shoppingCart"></param> /// <param name="warehouseSysNo"></param> /// <returns></returns> /// <remarks>2016-01-25 王耀发 创建</remarks> private CrShoppingCart CalculateTaxFee(CrShoppingCart shoppingCart, int?warehouseSysNo) { decimal TaxFee = 0; if (warehouseSysNo != null && warehouseSysNo != 0) { //获得对应仓库明细 WhWarehouse wdata = Hyt.BLL.Warehouse.WhWarehouseBo.GetEntity((int)warehouseSysNo); //订单税费 王耀发 2016-1-13 创建 if (shoppingCart.ShoppingCartGroups != null) { foreach (var item in shoppingCart.ShoppingCartGroups) { foreach (var productItem in item.ShoppingCartItems) { //如果对应仓库类型为保税和直邮,计算税费 王耀发 2016-1-13 创建 if (wdata.WarehouseType == (int)Hyt.Model.WorkflowStatus.WarehouseStatus.仓库类型.保税 || wdata.WarehouseType == (int)Hyt.Model.WorkflowStatus.WarehouseStatus.仓库类型.直邮) { PdProduct Product = PdProductBo.Instance.GetProductBySysNo(productItem.ProductSysNo); if (Product != null) { if (Product.Tax != 0) { var SalesAmount = productItem.SalesUnitPrice * productItem.Quantity - productItem.DiscountAmount; //2016-4-22 王耀发 修改 TaxFee += (SalesAmount * (Product.Tax / 100)); } } } } //2016-4-22 王耀发 修改 if (TaxFee != 0) { TaxFee += (shoppingCart.FreightAmount * Convert.ToDecimal(0.119)); } } } } shoppingCart.TaxFee = TaxFee; return(shoppingCart); }
/// <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> /// <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); }
/// <summary> /// 从POS系统获取更新商品价格 /// </summary> /// <returns></returns> /// <remarks>2016-05-19 陈海裕 创建</remarks> public Result UpdateProductPricesFormPOS() { lock (lockObject) { Result result = new Result(); string ErrorProduct = ""; try { IList <Grand.Platform.Api.Contract.Model.BranchPrice> branchPrices = null; using (var service = new Pisen.Framework.Service.Proxy.ServiceProxy <IPosService>()) { var response = service.Channel.GetBranchPriceList(); branchPrices = response.BranchPrices; } if (branchPrices != null) { List <int> sysNoList = new List <int>(); foreach (var item in branchPrices) { ErrorProduct = "ERPCODE:" + item.item_no; List <Model.PdPrice> tempList = new List <Model.PdPrice>(); Model.PdPrice price = null; //price.ProductSysNo = Convert.ToInt32(item.item_no); if (item.base_price1 != 0) { price = new Model.PdPrice(); price.Price = item.base_price1; price.SourceSysNo = 0; tempList.Add(price); } if (item.base_price2 != 0) { price = new Model.PdPrice(); price.Price = item.base_price2; price.SourceSysNo = 1; tempList.Add(price); } if (item.base_price3 != 0) { price = new Model.PdPrice(); price.Price = item.base_price3; price.SourceSysNo = 6; tempList.Add(price); } if (item.base_price4 != 0) { price = new Model.PdPrice(); price.Price = item.base_price4; price.SourceSysNo = 7; tempList.Add(price); } if (item.base_price5 != 0) { price = new Model.PdPrice(); price.Price = item.base_price5; price.SourceSysNo = 8; tempList.Add(price); } if (item.base_price6 != 0) { price = new Model.PdPrice(); price.Price = item.base_price6; price.SourceSysNo = 9; tempList.Add(price); } if (tempList.Count > 0) { PdProduct tempProduct = BLL.Product.PdProductBo.Instance.GetProductByErpCode(item.item_no); if (tempProduct == null) { continue; } IList <PdPrice> tempPriceList = BLL.Product.PdPriceBo.Instance.GetProductPrice(tempProduct.SysNo); PdPrice proPrice = new PdPrice(); foreach (var pri in tempList) { proPrice = (PdPrice)tempPriceList.Where(p => p.SourceSysNo == pri.SourceSysNo).FirstOrDefault(); if ((proPrice.Price != pri.Price) && !sysNoList.Contains(tempProduct.SysNo)) { sysNoList.Add(tempProduct.SysNo); proPrice.Price = pri.Price; BLL.Product.PdPriceBo.Instance.Update(proPrice); } } } } // 更新索引 for (int i = 0; i < sysNoList.Count; i++) { //缓存清理 Hyt.BLL.Cache.DeleteCache.ProductInfo(sysNoList[i]); //更新索引 BLL.Web.ProductIndexBo.Instance.UpdateProductIndex(sysNoList[i]); } } BLL.Log.SysLog.Instance.Info(Model.WorkflowStatus.LogStatus.系统日志来源.后台, "从Pos系统获取更新商品价格成功", Model.WorkflowStatus.LogStatus.系统日志目标类型.商品基本信息, 0); result.Status = true; } catch (Exception ex) { BLL.Log.SysLog.Instance.Error(Model.WorkflowStatus.LogStatus.系统日志来源.后台, "从Pos系统获取更新商品价格异常:UpdateProductPricesFormPOS;" + ErrorProduct, ex); } return(result); } }
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> /// 导入excel /// </summary> /// <param name="stream">导入的excel stream format</param> /// <param name="operatorSysno">操作人员编号</param> /// <returns>封装的泛型result对象</returns> /// <remarks>2015-09-10 王耀发 创建</remarks> public Result ImportExcelGaoJie(Stream stream, int operatorSysno) { DataTable dt = null; var cols = DicColsMappingGaoJie.Select(p => p.Value).ToArray(); try { dt = ExcelUtil.ImportExcel(stream, cols); } catch (Exception ex) { //exception happened,some not caughted return(new Result { Message = string.Format("数据导入错误,请选择正确的excel文件"), Status = false }); } if (dt == null) { //not all the cols mapped return(new Result { Message = string.Format("请选择正确的excel文件!"), Status = false }); } var excellst = new List <LgGaoJieGoodsInfo>(); var lstToInsert = new List <LgGaoJieGoodsInfo>(); var lstToUpdate = new List <LgGaoJieGoodsInfo>(); for (var i = 0; i < dt.Rows.Count; i++) { int excelRow = i; for (var j = 0; j < dt.Columns.Count; j++) { //HS编码、条形码可以为空 if (j != 6 && j != 7) { if ((dt.Rows[i][j] == null || string.IsNullOrEmpty(dt.Rows[i][j].ToString()))) { return(new Result { Message = string.Format("excel表第{0}行数据不能有空值", (excelRow + 1)), Status = false }); } } } //商品编号 var ErpCode = dt.Rows[i][DicColsMappingGaoJie["ErpCode"]].ToString().Trim(); PdProduct pEntity = PdProductBo.Instance.GetProductByErpCode(ErpCode); if (pEntity == null) { return(new Result { Message = string.Format("excel表第{0}行商品编号不存在", (excelRow + 1)), Status = false }); } //物品名称 var goods_name = dt.Rows[i][DicColsMappingGaoJie["goods_name"]].ToString().Trim(); //税号 var goods_ptcode = dt.Rows[i][DicColsMappingGaoJie["goods_ptcode"]].ToString().Trim(); //品牌 var brand = dt.Rows[i][DicColsMappingGaoJie["brand"]].ToString().Trim(); //规格型号 var goods_spec = dt.Rows[i][DicColsMappingGaoJie["goods_spec"]].ToString().Trim(); //原产国代码 var ycg_code = dt.Rows[i][DicColsMappingGaoJie["ycg_code"]].ToString().Trim(); //HS编码 var hs_code = dt.Rows[i][DicColsMappingGaoJie["hs_code"]].ToString().Trim(); //条形码 var goods_barcode = dt.Rows[i][DicColsMappingGaoJie["goods_barcode"]].ToString().Trim(); var model = new LgGaoJieGoodsInfo { ProductSysNo = pEntity.SysNo, goods_name = goods_name, goods_ptcode = goods_ptcode, brand = brand, goods_spec = goods_spec, hs_code = hs_code, ycg_code = ycg_code, goods_barcode = goods_barcode, CreatedBy = operatorSysno, CreatedDate = DateTime.Now, LastUpdateBy = operatorSysno, LastUpdateDate = DateTime.Now }; excellst.Add(model); } var lstExisted = DataAccess.Logistics.ILogisticsDao.Instance.GetAllGaoJieGoodsInfo(); foreach (var excelModel in excellst) { if (lstExisted.Any(e => e.ProductSysNo == excelModel.ProductSysNo)) { lstToUpdate.Add(excelModel); } else //insert { lstToInsert.Add(excelModel); } } try { DataAccess.Logistics.ILogisticsDao.Instance.CreateExcelGaoJieGoodsInfo(lstToInsert); DataAccess.Logistics.ILogisticsDao.Instance.UpdateExcelGaoJieGoodsInfo(lstToUpdate); } catch (Exception ex) { SysLog.Instance.WriteLog(LogStatus.SysLogLevel.Error, LogStatus.系统日志来源.后台, "导入高捷商品备案信息", LogStatus.系统日志目标类型.商品基本信息, 0, ex, null, operatorSysno); return(new Result { Message = string.Format("数据更新错误:{0}", ex.Message), Status = false }); } var msg = lstToInsert.Count > 0 ? string.Format("成功导入{0}条数据!", lstToInsert.Count) : ""; msg += lstToUpdate.Count > 0 ? string.Format("成功修改{0}条数据!", lstToUpdate.Count) : ""; return(new Result { Message = msg, Status = true }); }
public Result ImportSpecialPriceExcel(System.IO.Stream stream, int operatorSysno) { var result = new Result(); DataTable dt = null; var cols = DisColsMapping.Select(p => p.Value).ToArray(); var existlst = new List <PdProduct>(); try { dt = ExcelUtil.ImportExcel(stream, cols); } catch (System.Exception ex) { //exception happened,some not caughted result.Message = string.Format("数据导入错误,请选择正确的excel文件"); result.Status = false; return(result); } if (dt == null) { //not all the cols mapped result.Message = string.Format("请选择正确的excel文件!"); result.Status = false; return(result); } string msg = ""; var excellst = new List <PdProductList>(); var lstToInsert = new List <PdProductList>(); var lstToUpdate = new List <PdProductList>(); List <PdProduct> productList = Hyt.BLL.Product.PdProductBo.Instance.GetAllProductDataBase(); List <DsSpecialPrice> specProductList = DsSpecialPriceBo.Instance.GetAllProductDsSpecialPrice(); IList <DsDealer> dealerList = DsDealerBo.Instance.GetAllDealerList(); for (var i = 0; i < dt.Rows.Count; i++) { int excelRow = i + 2; for (var j = 0; j < dt.Columns.Count; j++) { if ((dt.Rows[i][j] == null || string.IsNullOrEmpty(dt.Rows[i][j].ToString().Trim()))) { result.Message = string.Format("excel表第{0}行第{1}列数据不能有空值", excelRow, (j + 1)); result.Status = false; return(result); } } //商品编号 var ErpCode = dt.Rows[i][DisColsMapping["ErpCode"]].ToString().Trim(); //条形码. var Barcode = dt.Rows[i][DisColsMapping["Barcode"]].ToString().Trim(); var DsDealerName = dt.Rows[i][DisColsMapping["DsDealerName"]].ToString().Trim(); var DsUserPrice = dt.Rows[i][DisColsMapping["DsUserPrice"]].ToString().Trim(); var ShopPrice = dt.Rows[i][DisColsMapping["ShopPrice"]].ToString().Trim(); var WholesalePrice = dt.Rows[i][DisColsMapping["WholesalePrice"]].ToString().Trim(); PdProduct tempProduct = productList.Find(p => p.ErpCode == ErpCode); List <DsDealer> tempDealer = dealerList.Where(p => p.DealerName == DsDealerName).ToList(); if (tempProduct != null && tempDealer.Count > 0 && !string.IsNullOrEmpty(DsUserPrice) && !string.IsNullOrEmpty(ShopPrice)) { DsSpecialPrice tempSpecialMod = specProductList.Find(p => p.DealerSysNo == tempDealer[0].SysNo && p.ProductSysNo == tempProduct.SysNo); DsSpecialPrice specialMod; try { specialMod = new DsSpecialPrice() { ProductSysNo = tempProduct.SysNo, DealerSysNo = tempDealer[0].SysNo, CreatedBy = 1, CreatedDate = System.DateTime.Now, LastUpdateBy = 1, LastUpdateDate = System.DateTime.Now, Price = decimal.Parse(DsUserPrice), ShopPrice = decimal.Parse(ShopPrice), WholesalePrice = decimal.Parse(WholesalePrice), Status = 1 }; } catch (System.Exception e) { if (!string.IsNullOrEmpty(msg)) { msg += ","; } msg += "商品编码:" + Barcode + "出现异常-" + e.Message; continue; } if (tempSpecialMod == null) { DsSpecialPriceBo.Instance.Create(specialMod); } else { specialMod.SysNo = tempSpecialMod.SysNo; DsSpecialPriceBo.Instance.Update(specialMod); } } else { if (!string.IsNullOrEmpty(msg)) { msg += ","; } if (tempProduct == null) { msg += "商品编码:" + Barcode + "出现异常-档案中无当前编码商品"; } if (tempDealer.Count == 0) { msg += "商品编码:" + Barcode + "出现异常-无指定分销商存在"; } if (string.IsNullOrEmpty(DsUserPrice)) { msg += "商品编码:" + Barcode + "出现异常-分销商会员价格不能为空"; } if (string.IsNullOrEmpty(ShopPrice)) { msg += "商品编码:" + Barcode + "出现异常-分销商线下门店价格不能为空"; } } } if (string.IsNullOrEmpty(msg)) { result.Message = "操作成功"; } else { result.Message = "操作成功-其中有部分商品有异常" + msg; } result.Status = true; 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); } }
/// <summary> /// 导入excel /// </summary> /// <param name="stream">导入的excel stream format</param> /// <param name="operatorSysno">操作人员编号</param> /// <returns>封装的泛型result对象</returns> /// <remarks>2015-09-10 王耀发 创建</remarks> public Result ImportExcelNS(Stream stream, int operatorSysno) { DataTable dt = null; var cols = DicColsMappingNS.Select(p => p.Value).ToArray(); try { dt = ExcelUtil.ImportExcel(stream, cols); } catch (Exception ex) { //exception happened,some not caughted return(new Result { Message = string.Format("数据导入错误,请选择正确的excel文件"), Status = false }); } if (dt == null) { //not all the cols mapped return(new Result { Message = string.Format("请选择正确的excel文件!"), Status = false }); } var excellst = new List <IcpGZNanShaGoodsInfo>(); var lstToInsert = new List <IcpGZNanShaGoodsInfo>(); var lstToUpdate = new List <IcpGZNanShaGoodsInfo>(); for (var i = 0; i < dt.Rows.Count; i++) { int excelRow = i; for (var j = 0; j < dt.Columns.Count; j++) { // if (j <= 8) { if ((dt.Rows[i][j] == null || string.IsNullOrEmpty(dt.Rows[i][j].ToString()))) { return(new Result { Message = string.Format("excel表第{0}行第{1}列数据不能有空值", (excelRow + 1), (j + 1)), Status = false }); } } } //商品编号 var ErpCode = dt.Rows[i][DicColsMappingNS["ErpCode"]].ToString().Trim(); PdProduct pEntity = PdProductBo.Instance.GetProductByErpCode(ErpCode); if (pEntity == null) { return(new Result { Message = string.Format("excel表第{0}行商品编号不存在", (excelRow + 1)), Status = false }); } //商品货号 var Gcode = dt.Rows[i][DicColsMappingNS["Gcode"]].ToString().Trim(); //商品名称 var Gname = dt.Rows[i][DicColsMappingNS["Gname"]].ToString().Trim(); //规格型号 var Spec = dt.Rows[i][DicColsMappingNS["Spec"]].ToString().Trim(); //HS编码 var HSCode = dt.Rows[i][DicColsMappingNS["HSCode"]].ToString().Trim(); //计量单位(最小) var Unit = dt.Rows[i][DicColsMappingNS["Unit"]].ToString().Trim(); //品牌 var Brand = dt.Rows[i][DicColsMappingNS["Brand"]].ToString().Trim(); //原产国/地区 var AssemCountry = dt.Rows[i][DicColsMappingNS["AssemCountry"]].ToString().Trim(); //销售网址 var SellWebSite = dt.Rows[i][DicColsMappingNS["SellWebSite"]].ToString().Trim(); //商品条形码 var GoodsBarcode = dt.Rows[i][DicColsMappingNS["GoodsBarcode"]].ToString().Trim(); //商品描述 var GoodsDesc = dt.Rows[i][DicColsMappingNS["GoodsDesc"]].ToString().Trim(); //生产企业名称 var ComName = dt.Rows[i][DicColsMappingNS["ComName"]].ToString().Trim(); //成分 var Ingredient = dt.Rows[i][DicColsMappingNS["Ingredient"]].ToString().Trim(); //超范围使用食品添加剂 var Additiveflag = dt.Rows[i][DicColsMappingNS["Additiveflag"]].ToString().Trim(); //含有毒害物质 var Poisonflag = dt.Rows[i][DicColsMappingNS["Poisonflag"]].ToString().Trim(); //备注 var Remark = dt.Rows[i][DicColsMappingNS["Remark"]].ToString().Trim(); var model = new IcpGZNanShaGoodsInfo { ProductSysNo = pEntity.SysNo, Gcode = Gcode, Gname = Gname, Spec = Spec, HSCode = HSCode, Unit = Unit, Brand = Brand, AssemCountry = AssemCountry, SellWebSite = SellWebSite, GoodsBarcode = GoodsBarcode, GoodsDesc = GoodsDesc, ComName = ComName, Ingredient = Ingredient, Additiveflag = Additiveflag, Poisonflag = Poisonflag, Remark = Remark, CreatedBy = operatorSysno, CreatedDate = DateTime.Now, LastUpdateBy = operatorSysno, LastUpdateDate = DateTime.Now }; excellst.Add(model); } var lstExisted = DataAccess.Icp.IcpDao.Instance.GetAllGZNanShaGoodsInfo(); foreach (var excelModel in excellst) { if (lstExisted.Any(e => e.ProductSysNo == excelModel.ProductSysNo)) { lstToUpdate.Add(excelModel); } else //insert { lstToInsert.Add(excelModel); } } try { DataAccess.Icp.IcpDao.Instance.CreateExcelGZNanShaGoodsInfo(lstToInsert); DataAccess.Icp.IcpDao.Instance.UpdateExcelGZNanShaGoodsInfo(lstToUpdate); } catch (Exception ex) { SysLog.Instance.WriteLog(LogStatus.SysLogLevel.Error, LogStatus.系统日志来源.后台, "导入高捷商品备案信息", LogStatus.系统日志目标类型.商品基本信息, 0, ex, null, operatorSysno); return(new Result { Message = string.Format("数据更新错误:{0}", ex.Message), Status = false }); } var msg = lstToInsert.Count > 0 ? string.Format("成功导入{0}条数据!", lstToInsert.Count) : ""; msg += lstToUpdate.Count > 0 ? string.Format("成功修改{0}条数据!", lstToUpdate.Count) : ""; return(new Result { Message = msg, Status = true }); }
/// <summary> /// 创建商品信息 /// </summary> /// <param name="model">商品信息</param> /// <returns>是否创建成功</returns> /// <remarks>2016-04-25 王耀发 创建</remarks> public abstract int CreateProduct(PdProduct model);
/// <summary> /// 更新商品信息 /// </summary> /// <param name="model">商品信息</param> /// <returns>是否创建成功</returns> /// <remarks>2013-06-25 黄波 创建</remarks> public abstract bool Update(PdProduct model);
/// <summary> /// 同步创建商品信息到B2B平台 /// </summary> /// <param name="model">商品信息</param> /// <returns>是否创建成功</returns> /// <remarks> /// 2017-10-11 罗勤瑶 创建 /// </remarks> public abstract int CreateToB2B(PdProduct model);