コード例 #1
0
        private PdPrice SetPriceModel(decimal price, int priceSource, int sourceSysNo)
        {
            var model = new PdPrice();

            model.ProductSysNo = 1;
            model.Price        = price;
            model.PriceSource  = priceSource;
            model.SourceSysNo  = sourceSysNo;
            model.Status       = 1;
            return(model);
        }
コード例 #2
0
ファイル: FrmImportData.cs プロジェクト: KqSMea8/HS.Admin
        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);
        }
コード例 #3
0
ファイル: DesignFrame.cs プロジェクト: KqSMea8/HS.Admin
        public object GetProductDataBySysNo(int ProSysNo, int levelSysNo, string hostName)
        {
            CBPdProduct         product   = Hyt.BLL.Product.PdProductBo.Instance.GetProduct(ProSysNo);
            Origin              orgin     = Hyt.BLL.Basic.OriginBo.Instance.GetEntity(product.OriginSysNo);
            PdProductStatistics statisMod = Hyt.BLL.Product.PdProductStatisticsBo.Instance.Get(ProSysNo);

            PdPrice BaseCusPrice = new PdPrice();

            BaseCusPrice = product.PdPrice.Value.First(p => p.PriceSource == 0 && p.SourceSysNo == 0);
            PdPrice SaleCusPrice = new PdPrice();

            if (levelSysNo > 0)
            {
                SaleCusPrice = product.PdPrice.Value.First(p => p.PriceSource == 10 && p.SourceSysNo == levelSysNo);
            }
            else
            {
                SaleCusPrice = BaseCusPrice;
            }
            List <object> Statistics = new List <object>();

            Statistics.Add(new { type = "文字", text = "销量", valueText = statisMod.Sales });
            Statistics.Add(new { type = "文字", text = "积分", valueText = Convert.ToInt32(SaleCusPrice.Price) });
            Statistics.Add(new { type = "图文", text = "http://m.yoyo2o.com/theme/images/icon-momey.png", valueText = "分享赚" });
            var           article       = Hyt.BLL.Front.FeArticleBo.Instance.GetModel(75);
            List <object> ProductDetail = new List <object>();

            ProductDetail.Add(new { title = "图文详情", selected = true, content = (product.ProductDesc) });
            ProductDetail.Add(new { title = "购买须知", selected = false, content = (article != null ? article.Content : "") });



            if (product != null)
            {
                foreach (var img in product.PdProductImage.Value)
                {
                    img.ImageUrl = img.ImageUrl.Replace("{0}", "http://" + hostName + "/").Replace("{1}", "Base");
                }
                List <object> adImages = new List <object>();
                var           imgList  = product.PdProductImage.Value;
                foreach (var imgMod in imgList)
                {
                    adImages.Add(new
                    {
                        Id      = imgMod.SysNo,
                        Url     = imgMod.ImageUrl,
                        Content = "",
                        Type    = "",
                        LinkUrl = ""
                    });
                }
                return(new {
                    ProductName = product.ProductName,
                    OrginImage = orgin.Origin_Img.ToLower().IndexOf("http://") == -1 ? "http://" + hostName + "/" + orgin.Origin_Img : orgin.Origin_Img,
                    SalePrice = SaleCusPrice.Price,
                    BasePrice = BaseCusPrice.Price,
                    TipsData = (SaleCusPrice.Price != BaseCusPrice.Price ? (SaleCusPrice.Price / BaseCusPrice.Price * 10).ToString("0.0") + "折" : ""),
                    Statistics = Statistics,
                    ProductImages = adImages,
                    ProductDetail = ProductDetail
                });
            }
            return(new { });
        }
コード例 #4
0
        /// <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);
            }
        }
コード例 #5
0
        /// <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);
        }
コード例 #6
0
ファイル: PosServiceBo.cs プロジェクト: KqSMea8/HS.Admin
        /// <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);
            }
        }
コード例 #7
0
        /// <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);
            }
        }
コード例 #8
0
ファイル: IPdPriceDao.cs プロジェクト: KqSMea8/HS.Admin
 /// <summary>
 /// 创建商品价格信息
 /// </summary>
 /// <param name="model">价格信息</param>
 /// <returns>是否创建成功</returns>
 /// <remarks>2013-06-27 黄波 创建</remarks>
 public abstract int Create(PdPrice model);
コード例 #9
0
ファイル: IPdPriceDao.cs プロジェクト: KqSMea8/HS.Admin
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="model">更新的数据模型</param>
 /// <returns>返回受影响行</returns>
 /// <remarks>2013-06-17 杨晗 创建</remarks>
 public abstract int Update(PdPrice model);